diff --git a/.gitignore b/.gitignore
index 09c2947..3a88766 100644
--- a/.gitignore
+++ b/.gitignore
@@ -265,9 +265,6 @@
 /tools/metrics/actions/actions.old.xml
 /tools/metrics/histograms/histograms.before.pretty-print.xml
 /tools/page_cycler/acid3
-/tools/perf/data
-/tools/perf/internal
-/tools/perf/results.html
 /tools/swarming_client
 /tools/tryserver
 /tools/win/link_limiter/build
diff --git a/DEPS b/DEPS
index 8b4202b..83d68b1b 100644
--- a/DEPS
+++ b/DEPS
@@ -105,7 +105,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '56a426a516d02fd7b7f671dcc9b924e1d69434b3',
+  'skia_revision': '5551a94b9e0fc822cda36d3bb5b70a97d2be4c17',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
@@ -289,7 +289,7 @@
   },
 
   'src/ios/third_party/material_components_ios/src': {
-      'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '943615c5feec4fcb51efe6aaad3c2226aa3e283f',
+      'url': Var('chromium_git') + '/external/github.com/material-components/material-components-ios.git' + '@' + '89ba326620341ca7950621cf24da78864d6ee895',
       'condition': 'checkout_ios',
   },
 
@@ -412,7 +412,7 @@
       'packages': [
           {
        'package': 'chromium/third_party/android_tools_bundletool',
-       'version': 'version:0.4.2-cr0',
+       'version': 'version:0.5.0-cr0',
    },
       ],
       'condition': 'checkout_android',
@@ -540,7 +540,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '3973c26575e2a3322156571ef00fb083e0a3723b',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'ca73efa2232f3c15776631f847311a5f8fa4db06',
       'condition': 'checkout_linux',
   },
 
@@ -913,7 +913,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' +  'f37ffaf9b1a14565b1b68a375beac233a170a457',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' +  '2af75f76f0e691ddc7cad7f8bbcf2608b3866ba6',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + 'ac0d98b5cee6c024b0cffeb4f8f45b6fc5ccdb78',
@@ -1035,7 +1035,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'a5c263cc63ffc2cc189b5214074c8792067c1853',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '58c79f66dd3afef0ec2d77053e44f26b998b84b1',
+    Var('webrtc_git') + '/src.git' + '@' + '895617fa9bc36c240b37d47402cdb341ecadf994',
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
diff --git a/WATCHLISTS b/WATCHLISTS
index abe561d..8d66323 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -1599,8 +1599,7 @@
     },
     'virtual_reality': {
       # Includes VR, AR, and XR.
-      'filepath': 'vr_shell/'\
-                  '|/vr/'\
+      'filepath': '/vr/'\
                   '|/xr'\
                   '|third_party/arcore'\
                   '|third_party/gvr'\
@@ -2037,7 +2036,7 @@
                         'cywang@chromium.org',
                         'vovoy@chromium.org'],
     'crostini': ['crostini-ui@chromium.org'],
-    'custom_tabs': ['lizeb+watch-custom-tabs@chromium.org'],    
+    'custom_tabs': ['lizeb+watch-custom-tabs@chromium.org'],
     'dbus': ['hashimoto+watch@chromium.org'],
     'deep_memory_profiler': ['dmikurube@chromium.org'],
     'device_bluetooth': ['mattreynolds+watch@chromium.org',
diff --git a/android_webview/browser/aw_permission_manager.cc b/android_webview/browser/aw_permission_manager.cc
index 60ffcde..f1f222e 100644
--- a/android_webview/browser/aw_permission_manager.cc
+++ b/android_webview/browser/aw_permission_manager.cc
@@ -12,6 +12,7 @@
 #include "base/callback.h"
 #include "base/containers/hash_tables.h"
 #include "base/logging.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/render_process_host.h"
@@ -220,10 +221,7 @@
 };
 
 AwPermissionManager::AwPermissionManager()
-  : content::PermissionManager(),
-    result_cache_(new LastRequestResultCache),
-    weak_ptr_factory_(this) {
-}
+    : result_cache_(new LastRequestResultCache), weak_ptr_factory_(this) {}
 
 AwPermissionManager::~AwPermissionManager() {
   CancelPermissionRequests();
@@ -250,7 +248,7 @@
         callback) {
   if (permissions.empty()) {
     callback.Run(std::vector<PermissionStatus>());
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   const GURL& embedding_origin = LastCommittedOrigin(render_frame_host);
@@ -352,7 +350,7 @@
   // If delegate resolve the permission synchronously, all requests could be
   // already resolved here.
   if (!pending_requests_.Lookup(request_id))
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
 
   // If requests are resolved without calling delegate functions, e.g.
   // PermissionType::MIDI is permitted within the previous for-loop, all
@@ -362,7 +360,7 @@
     std::vector<PermissionStatus> results = pending_request_raw->results;
     pending_requests_.Remove(request_id);
     callback.Run(results);
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   return request_id;
@@ -453,7 +451,7 @@
     const GURL& requesting_origin,
     const GURL& embedding_origin,
     const base::Callback<void(PermissionStatus)>& callback) {
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 void AwPermissionManager::UnsubscribePermissionStatusChange(
diff --git a/android_webview/browser/aw_resource_context.cc b/android_webview/browser/aw_resource_context.cc
index 65682f54..56c29cb0 100644
--- a/android_webview/browser/aw_resource_context.cc
+++ b/android_webview/browser/aw_resource_context.cc
@@ -40,11 +40,6 @@
   return iter != extra_headers_.end() ? iter->second : std::string();
 }
 
-net::HostResolver* AwResourceContext::GetHostResolver() {
-  DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  return getter_->GetURLRequestContext()->host_resolver();
-}
-
 net::URLRequestContext* AwResourceContext::GetRequestContext() {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   return getter_->GetURLRequestContext();
diff --git a/android_webview/browser/aw_resource_context.h b/android_webview/browser/aw_resource_context.h
index 5763b17..fa60478 100644
--- a/android_webview/browser/aw_resource_context.h
+++ b/android_webview/browser/aw_resource_context.h
@@ -29,7 +29,6 @@
   std::string GetExtraHeaders(const GURL& url);
 
   // content::ResourceContext implementation.
-  net::HostResolver* GetHostResolver() override;
   net::URLRequestContext* GetRequestContext() override;
 
  private:
diff --git a/android_webview/java/src/org/chromium/android_webview/AndroidProtocolHandler.java b/android_webview/java/src/org/chromium/android_webview/AndroidProtocolHandler.java
index 7805a34..890ff7e 100644
--- a/android_webview/java/src/org/chromium/android_webview/AndroidProtocolHandler.java
+++ b/android_webview/java/src/org/chromium/android_webview/AndroidProtocolHandler.java
@@ -17,6 +17,7 @@
 import java.io.InputStream;
 import java.net.URLConnection;
 import java.util.List;
+import java.util.zip.GZIPInputStream;
 
 /**
  * Implements the Java side of Android URL protocol jobs.
@@ -43,9 +44,22 @@
         if (uri == null) {
             return null;
         }
+        InputStream stream = openByScheme(uri);
+        if (stream != null && uri.getLastPathSegment().endsWith(".svgz")) {
+            try {
+                stream = new GZIPInputStream(stream);
+            } catch (IOException e) {
+                Log.e(TAG, "Error decompressing " + uri + " - " + e.getMessage());
+                return null;
+            }
+        }
+        return stream;
+    }
+
+    private static InputStream openByScheme(Uri uri) {
         try {
-            String path = uri.getPath();
             if (uri.getScheme().equals(FILE_SCHEME)) {
+                String path = uri.getPath();
                 if (path.startsWith(nativeGetAndroidAssetPath())) {
                     return openAsset(uri);
                 } else if (path.startsWith(nativeGetAndroidResourcePath())) {
@@ -55,7 +69,7 @@
                 return openContent(uri);
             }
         } catch (Exception ex) {
-            Log.e(TAG, "Error opening inputstream: " + url);
+            Log.e(TAG, "Error opening inputstream: " + uri);
         }
         return null;
     }
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index 778e2ee1..7fccd378 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -1062,9 +1062,11 @@
         }
 
         public WindowAndroidWrapper(WindowAndroid windowAndroid) {
-            mWindowAndroid = windowAndroid;
-            mCleanupReference =
-                    new CleanupReference(this, new DestroyRunnable(windowAndroid));
+            try (ScopedSysTraceEvent e =
+                            ScopedSysTraceEvent.scoped("WindowAndroidWrapper.constructor")) {
+                mWindowAndroid = windowAndroid;
+                mCleanupReference = new CleanupReference(this, new DestroyRunnable(windowAndroid));
+            }
         }
 
         public WindowAndroid getWindowAndroid() {
@@ -1080,15 +1082,21 @@
         WindowAndroidWrapper wrapper = sContextWindowMap.get(context);
         if (wrapper != null) return wrapper;
 
-        boolean contextWrapsActivity = activityFromContext(context) != null;
-        if (contextWrapsActivity) {
-            final boolean listenToActivityState = false;
-            wrapper = new WindowAndroidWrapper(
-                    new ActivityWindowAndroid(context, listenToActivityState));
-        } else {
-            wrapper = new WindowAndroidWrapper(new WindowAndroid(context));
+        try (ScopedSysTraceEvent e = ScopedSysTraceEvent.scoped("AwContents.getWindowAndroid")) {
+            boolean contextWrapsActivity = activityFromContext(context) != null;
+            if (contextWrapsActivity) {
+                ActivityWindowAndroid activityWindow;
+                try (ScopedSysTraceEvent e2 =
+                                ScopedSysTraceEvent.scoped("AwContents.createActivityWindow")) {
+                    final boolean listenToActivityState = false;
+                    activityWindow = new ActivityWindowAndroid(context, listenToActivityState);
+                }
+                wrapper = new WindowAndroidWrapper(activityWindow);
+            } else {
+                wrapper = new WindowAndroidWrapper(new WindowAndroid(context));
+            }
+            sContextWindowMap.put(context, wrapper);
         }
-        sContextWindowMap.put(context, wrapper);
         return wrapper;
     }
 
@@ -1426,7 +1434,9 @@
     }
 
     public static Activity activityFromContext(Context context) {
-        return WindowAndroid.activityFromContext(context);
+        try (ScopedSysTraceEvent e = ScopedSysTraceEvent.scoped("AwContents.activityFromContext")) {
+            return WindowAndroid.activityFromContext(context);
+        }
     }
     /**
      * Disables contents of JS-to-Java bridge objects to be inspectable using
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidProtocolHandlerTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidProtocolHandlerTest.java
new file mode 100644
index 0000000..8aa45e2
--- /dev/null
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidProtocolHandlerTest.java
@@ -0,0 +1,68 @@
+// 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.
+
+package org.chromium.android_webview.test;
+
+import android.support.test.filters.SmallTest;
+
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.android_webview.AndroidProtocolHandler;
+import org.chromium.base.test.util.Feature;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Test AndroidProtocolHandler.
+ */
+@RunWith(AwJUnit4ClassRunner.class)
+public class AndroidProtocolHandlerTest {
+    @Rule
+    public AwActivityTestRule mActivityTestRule = new AwActivityTestRule();
+
+    // star.svg and star.svgz contain the same data. AndroidProtocolHandler should decompress the
+    // svgz automatically. Load both from assets and assert that they're equal.
+    @Test
+    @SmallTest
+    @Feature({"AndroidWebView"})
+    public void testSvgzAsset() throws IOException {
+        InputStream svgStream = null;
+        InputStream svgzStream = null;
+        try {
+            svgStream = assertOpen("file:///android_asset/star.svg");
+            byte[] expectedData = readFully(svgStream);
+
+            svgzStream = assertOpen("file:///android_asset/star.svgz");
+            byte[] actualData = readFully(svgzStream);
+
+            Assert.assertArrayEquals(
+                    "Decompressed star.svgz doesn't match star.svg", expectedData, actualData);
+        } finally {
+            if (svgStream != null) svgStream.close();
+            if (svgzStream != null) svgzStream.close();
+        }
+    }
+
+    private InputStream assertOpen(String url) {
+        InputStream stream = AndroidProtocolHandler.open(url);
+        Assert.assertNotNull("Failed top open \"" + url + "\"", stream);
+        return stream;
+    }
+
+    private byte[] readFully(InputStream stream) throws IOException {
+        ByteArrayOutputStream data = new ByteArrayOutputStream();
+        byte[] buf = new byte[4096];
+        for (;;) {
+            int len = stream.read(buf);
+            if (len < 1) break;
+            data.write(buf, 0, len);
+        }
+        return data.toByteArray();
+    }
+}
diff --git a/android_webview/test/BUILD.gn b/android_webview/test/BUILD.gn
index ff24abb..0a85b14 100644
--- a/android_webview/test/BUILD.gn
+++ b/android_webview/test/BUILD.gn
@@ -88,6 +88,8 @@
     "shell/assets/full_screen_video_test_not_preloaded.html",
     "shell/assets/key-system-test.html",
     "shell/assets/platform-media-codec-test.html",
+    "shell/assets/star.svg",
+    "shell/assets/star.svgz",
     "shell/assets/video.3gp",
     "shell/assets/video.webm",
     "shell/assets/visual_state_during_fullscreen_test.html",
@@ -151,6 +153,7 @@
   ]
   java_files = [
     "../javatests/src/org/chromium/android_webview/test/AcceptLanguageTest.java",
+    "../javatests/src/org/chromium/android_webview/test/AndroidProtocolHandlerTest.java",
     "../javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java",
     "../javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java",
     "../javatests/src/org/chromium/android_webview/test/ArchiveTest.java",
diff --git a/android_webview/test/shell/assets/star.svg b/android_webview/test/shell/assets/star.svg
new file mode 100644
index 0000000..2ee7a720
--- /dev/null
+++ b/android_webview/test/shell/assets/star.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   width="100mm"
+   height="100mm"
+   viewBox="0 0 100 100"
+   version="1.1"
+   id="svg8">
+  <defs
+     id="defs2" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0,-197)"
+     id="layer1">
+    <path
+       id="path3703"
+       d="M 50.000001,197 59.567086,223.90301 85.35534,211.64466 73.096987,237.43292 100,247 73.096986,256.56709 85.355338,282.35534 59.567084,270.09699 49.999999,297 40.432914,270.09699 14.64466,282.35534 26.903013,256.56708 0,247 26.903014,237.43291 14.644662,211.64466 40.432916,223.90301 Z"
+       style="fill:#ff5555;stroke-width:0.21590135" />
+  </g>
+</svg>
diff --git a/android_webview/test/shell/assets/star.svgz b/android_webview/test/shell/assets/star.svgz
new file mode 100644
index 0000000..f130c98
--- /dev/null
+++ b/android_webview/test/shell/assets/star.svgz
Binary files differ
diff --git a/ash/app_list/BUILD.gn b/ash/app_list/BUILD.gn
index 51be4a9..cad105a 100644
--- a/ash/app_list/BUILD.gn
+++ b/ash/app_list/BUILD.gn
@@ -40,8 +40,6 @@
     "views/apps_grid_view.cc",
     "views/apps_grid_view.h",
     "views/apps_grid_view_folder_delegate.h",
-    "views/assistant_container_view.cc",
-    "views/assistant_container_view.h",
     "views/contents_view.cc",
     "views/contents_view.h",
     "views/expand_arrow_view.cc",
diff --git a/ash/app_list/views/assistant_container_view.cc b/ash/app_list/views/assistant_container_view.cc
deleted file mode 100644
index aba5993..0000000
--- a/ash/app_list/views/assistant_container_view.cc
+++ /dev/null
@@ -1,28 +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/app_list/views/assistant_container_view.h"
-
-#include "ash/app_list/views/app_list_view.h"
-#include "ash/app_list/views/contents_view.h"
-#include "ash/public/cpp/app_list/app_list_constants.h"
-
-namespace app_list {
-
-AssistantContainerView::AssistantContainerView(ContentsView* contents_view)
-    : contents_view_(contents_view) {}
-
-gfx::Size AssistantContainerView::CalculatePreferredSize() const {
-  if (!GetWidget()) {
-    return gfx::Size();
-  }
-  return gfx::Size(contents_view_->GetDisplayWidth(),
-                   contents_view_->GetDisplayHeight());
-}
-
-bool AssistantContainerView::ShouldShowSearchBox() const {
-  return false;
-}
-
-}  // namespace app_list
diff --git a/ash/app_list/views/assistant_container_view.h b/ash/app_list/views/assistant_container_view.h
deleted file mode 100644
index 8d9491e8..0000000
--- a/ash/app_list/views/assistant_container_view.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (c) 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef ASH_APP_LIST_VIEWS_ASSISTANT_CONTAINER_VIEW_H_
-#define ASH_APP_LIST_VIEWS_ASSISTANT_CONTAINER_VIEW_H_
-
-#include "ash/app_list/views/horizontal_page.h"
-#include "base/macros.h"
-
-namespace app_list {
-
-class ContentsView;
-
-class APP_LIST_EXPORT AssistantContainerView : public HorizontalPage {
- public:
-  explicit AssistantContainerView(ContentsView* contents_view);
-  ~AssistantContainerView() override = default;
-
-  // Overridden from views::View.
-  gfx::Size CalculatePreferredSize() const override;
-
-  // Overridden from HorizontalPage.
-  bool ShouldShowSearchBox() const override;
-
- private:
-  ContentsView* const contents_view_;  // Not owned.
-
-  DISALLOW_COPY_AND_ASSIGN(AssistantContainerView);
-};
-
-}  // namespace app_list
-
-#endif  // ASH_APP_LIST_VIEWS_ASSISTANT_CONTAINER_VIEW_H_
diff --git a/ash/app_list/views/horizontal_page_container.cc b/ash/app_list/views/horizontal_page_container.cc
index ac104c6..9bb226c5c 100644
--- a/ash/app_list/views/horizontal_page_container.cc
+++ b/ash/app_list/views/horizontal_page_container.cc
@@ -7,13 +7,11 @@
 #include "ash/app_list/pagination_controller.h"
 #include "ash/app_list/views/app_list_view.h"
 #include "ash/app_list/views/apps_container_view.h"
-#include "ash/app_list/views/assistant_container_view.h"
 #include "ash/app_list/views/contents_view.h"
 #include "ash/app_list/views/search_box_view.h"
 #include "ash/app_list/views/search_result_page_view.h"
 #include "ash/public/cpp/app_list/app_list_constants.h"
 #include "base/strings/utf_string_conversions.h"
-#include "chromeos/chromeos_switches.h"
 #include "ui/chromeos/search_box/search_box_constants.h"
 #include "ui/views/controls/label.h"
 
@@ -29,11 +27,6 @@
       &pagination_model_, PaginationController::SCROLL_AXIS_HORIZONTAL));
 
   // Add horizontal pages.
-  if (chromeos::switches::IsAssistantEnabled()) {
-    assistant_container_view_ = new AssistantContainerView(contents_view_);
-    AddHorizontalPage(assistant_container_view_);
-  }
-
   apps_container_view_ = new AppsContainerView(contents_view_, model);
   AddHorizontalPage(apps_container_view_);
   pagination_model_.SetTotalPages(horizontal_pages_.size());
diff --git a/ash/app_list/views/horizontal_page_container.h b/ash/app_list/views/horizontal_page_container.h
index 62d6cbd..e88ae41 100644
--- a/ash/app_list/views/horizontal_page_container.h
+++ b/ash/app_list/views/horizontal_page_container.h
@@ -17,7 +17,6 @@
 namespace app_list {
 
 class AppsContainerView;
-class AssistantContainerView;
 class PaginationController;
 class HorizontalPage;
 
@@ -81,9 +80,6 @@
   // Owned by view hierarchy:
   AppsContainerView* apps_container_view_ = nullptr;
 
-  // Owned by view hierarchy:
-  AssistantContainerView* assistant_container_view_ = nullptr;
-
   // The child page views. Owned by the views hierarchy.
   std::vector<HorizontalPage*> horizontal_pages_;
 
diff --git a/ash/assistant/assistant_controller.cc b/ash/assistant/assistant_controller.cc
index bf4380b..6b9641e9 100644
--- a/ash/assistant/assistant_controller.cc
+++ b/ash/assistant/assistant_controller.cc
@@ -25,31 +25,14 @@
       assistant_notification_controller_(
           std::make_unique<AssistantNotificationController>(this)),
       assistant_screen_context_controller_(
-          std::make_unique<AssistantScreenContextController>()),
+          std::make_unique<AssistantScreenContextController>(this)),
       assistant_ui_controller_(std::make_unique<AssistantUiController>(this)),
       weak_factory_(this) {
-  // Note that the sub-controllers have a circular dependency.
-  // TODO(dmblack): Remove this circular dependency.
-  assistant_interaction_controller_->SetAssistantUiController(
-      assistant_ui_controller_.get());
-  assistant_screen_context_controller_->SetAssistantInteractionController(
-      assistant_interaction_controller_.get());
-  assistant_screen_context_controller_->SetAssistantUiController(
-      assistant_ui_controller_.get());
-  assistant_ui_controller_->SetAssistantInteractionController(
-      assistant_interaction_controller_.get());
-  assistant_ui_controller_->SetAssistantScreenContextController(
-      assistant_screen_context_controller_.get());
+  NotifyConstructed();
 }
 
 AssistantController::~AssistantController() {
-  // Explicitly clean up the circular dependency in the sub-controllers.
-  assistant_interaction_controller_->SetAssistantUiController(nullptr);
-  assistant_screen_context_controller_->SetAssistantInteractionController(
-      nullptr);
-  assistant_screen_context_controller_->SetAssistantUiController(nullptr);
-  assistant_ui_controller_->SetAssistantInteractionController(nullptr);
-  assistant_ui_controller_->SetAssistantScreenContextController(nullptr);
+  NotifyDestroying();
 }
 
 void AssistantController::BindRequest(
@@ -166,13 +149,30 @@
 
 void AssistantController::OpenUrl(const GURL& url) {
   if (assistant::util::IsDeepLinkUrl(url)) {
-    for (AssistantControllerObserver& observer : observers_)
-      observer.OnDeepLinkReceived(url);
+    NotifyDeepLinkReceived(url);
     return;
   }
 
   Shell::Get()->new_window_controller()->NewTabWithUrl(url);
+  NotifyUrlOpened(url);
+}
 
+void AssistantController::NotifyConstructed() {
+  for (AssistantControllerObserver& observer : observers_)
+    observer.OnAssistantControllerConstructed();
+}
+
+void AssistantController::NotifyDestroying() {
+  for (AssistantControllerObserver& observer : observers_)
+    observer.OnAssistantControllerDestroying();
+}
+
+void AssistantController::NotifyDeepLinkReceived(const GURL& deep_link) {
+  for (AssistantControllerObserver& observer : observers_)
+    observer.OnDeepLinkReceived(deep_link);
+}
+
+void AssistantController::NotifyUrlOpened(const GURL& url) {
   for (AssistantControllerObserver& observer : observers_)
     observer.OnUrlOpened(url);
 }
diff --git a/ash/assistant/assistant_controller.h b/ash/assistant/assistant_controller.h
index c540337..8aa8d03 100644
--- a/ash/assistant/assistant_controller.h
+++ b/ash/assistant/assistant_controller.h
@@ -114,6 +114,11 @@
   base::WeakPtr<AssistantController> GetWeakPtr();
 
  private:
+  void NotifyConstructed();
+  void NotifyDestroying();
+  void NotifyDeepLinkReceived(const GURL& deep_link);
+  void NotifyUrlOpened(const GURL& url);
+
   // The observer list should be initialized early so that sub-controllers may
   // register as observers during their construction.
   base::ObserverList<AssistantControllerObserver> observers_;
diff --git a/ash/assistant/assistant_controller_observer.h b/ash/assistant/assistant_controller_observer.h
index cdcb2fc2..ad123fe4 100644
--- a/ash/assistant/assistant_controller_observer.h
+++ b/ash/assistant/assistant_controller_observer.h
@@ -13,6 +13,12 @@
 
 class AssistantControllerObserver {
  public:
+  // Invoked when the AssistantController has been fully constructed.
+  virtual void OnAssistantControllerConstructed() {}
+
+  // Invoked when the AssistantController is starting to be destroyed.
+  virtual void OnAssistantControllerDestroying() {}
+
   // Invoked when Assistant has received the specified |deep_link|.
   virtual void OnDeepLinkReceived(const GURL& deep_link) {}
 
diff --git a/ash/assistant/assistant_interaction_controller.cc b/ash/assistant/assistant_interaction_controller.cc
index 2f75bd58..6cf034f 100644
--- a/ash/assistant/assistant_interaction_controller.cc
+++ b/ash/assistant/assistant_interaction_controller.cc
@@ -20,11 +20,13 @@
     : assistant_controller_(assistant_controller),
       assistant_interaction_subscriber_binding_(this) {
   AddModelObserver(this);
+  assistant_controller_->AddObserver(this);
   Shell::Get()->highlighter_controller()->AddObserver(this);
 }
 
 AssistantInteractionController::~AssistantInteractionController() {
   Shell::Get()->highlighter_controller()->RemoveObserver(this);
+  assistant_controller_->RemoveObserver(this);
   RemoveModelObserver(this);
 }
 
@@ -38,17 +40,6 @@
   assistant_->AddAssistantInteractionSubscriber(std::move(ptr));
 }
 
-void AssistantInteractionController::SetAssistantUiController(
-    AssistantUiController* assistant_ui_controller) {
-  if (assistant_ui_controller_)
-    assistant_ui_controller_->RemoveModelObserver(this);
-
-  assistant_ui_controller_ = assistant_ui_controller;
-
-  if (assistant_ui_controller_)
-    assistant_ui_controller_->AddModelObserver(this);
-}
-
 void AssistantInteractionController::AddModelObserver(
     AssistantInteractionModelObserver* observer) {
   assistant_interaction_model_.AddObserver(observer);
@@ -59,6 +50,14 @@
   assistant_interaction_model_.RemoveObserver(observer);
 }
 
+void AssistantInteractionController::OnAssistantControllerConstructed() {
+  assistant_controller_->ui_controller()->AddModelObserver(this);
+}
+
+void AssistantInteractionController::OnAssistantControllerDestroying() {
+  assistant_controller_->ui_controller()->RemoveModelObserver(this);
+}
+
 void AssistantInteractionController::OnCommittedQueryChanged(
     const AssistantQuery& committed_query) {
   // We clear the interaction when a query is committed, but need to retain
diff --git a/ash/assistant/assistant_interaction_controller.h b/ash/assistant/assistant_interaction_controller.h
index f1d3517..4d9e1623 100644
--- a/ash/assistant/assistant_interaction_controller.h
+++ b/ash/assistant/assistant_interaction_controller.h
@@ -9,6 +9,7 @@
 #include <string>
 #include <vector>
 
+#include "ash/assistant/assistant_controller_observer.h"
 #include "ash/assistant/model/assistant_interaction_model.h"
 #include "ash/assistant/model/assistant_interaction_model_observer.h"
 #include "ash/assistant/model/assistant_ui_model_observer.h"
@@ -22,10 +23,10 @@
 
 class AssistantController;
 class AssistantInteractionModelObserver;
-class AssistantUiController;
 
 class AssistantInteractionController
     : public chromeos::assistant::mojom::AssistantInteractionSubscriber,
+      public AssistantControllerObserver,
       public AssistantInteractionModelObserver,
       public AssistantUiModelObserver,
       public HighlighterController::Observer,
@@ -44,10 +45,6 @@
   // Provides a pointer to the |assistant| owned by AssistantController.
   void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
 
-  // Provides a pointer to the |assistant_ui_controller| owned by
-  // AssistantController.
-  void SetAssistantUiController(AssistantUiController* assistant_ui_controller);
-
   // Returns a reference to the underlying model.
   const AssistantInteractionModel* model() const {
     return &assistant_interaction_model_;
@@ -57,8 +54,9 @@
   void AddModelObserver(AssistantInteractionModelObserver* observer);
   void RemoveModelObserver(AssistantInteractionModelObserver* observer);
 
-  // Invoked on suggestion chip pressed event.
-  void OnSuggestionChipPressed(int id);
+  // AssistantControllerObserver:
+  void OnAssistantControllerConstructed() override;
+  void OnAssistantControllerDestroying() override;
 
   // AssistantInteractionModelObserver:
   void OnInteractionStateChanged(InteractionState interaction_state) override;
@@ -92,6 +90,9 @@
   void OnDialogPlateButtonPressed(DialogPlateButtonId id) override;
   void OnDialogPlateContentsCommitted(const std::string& text) override;
 
+  // Invoked on suggestion chip pressed event.
+  void OnSuggestionChipPressed(int id);
+
  private:
   void StartTextInteraction(const std::string text);
   void StartVoiceInteraction();
@@ -104,9 +105,6 @@
   // Owned by AssistantController.
   chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
 
-  // Owned by AssistantController.
-  AssistantUiController* assistant_ui_controller_ = nullptr;
-
   mojo::Binding<chromeos::assistant::mojom::AssistantInteractionSubscriber>
       assistant_interaction_subscriber_binding_;
 
diff --git a/ash/assistant/assistant_notification_controller.cc b/ash/assistant/assistant_notification_controller.cc
index c91cf3f..20346f5 100644
--- a/ash/assistant/assistant_notification_controller.cc
+++ b/ash/assistant/assistant_notification_controller.cc
@@ -68,8 +68,8 @@
       message_center::Notification::CreateSystemNotification(
           message_center::NOTIFICATION_TYPE_SIMPLE, kNotificationId, title,
           message, gfx::Image(), display_source, action_url,
-          message_center::NotifierId(message_center::NotifierId::APPLICATION,
-                                     kNotifierAssistant),
+          message_center::NotifierId(
+              message_center::NotifierId::SYSTEM_COMPONENT, kNotifierAssistant),
           optional_field,
           base::MakeRefCounted<message_center::HandleNotificationClickDelegate>(
               base::BindRepeating(
diff --git a/ash/assistant/assistant_screen_context_controller.cc b/ash/assistant/assistant_screen_context_controller.cc
index 92a29c8f9..68260a5 100644
--- a/ash/assistant/assistant_screen_context_controller.cc
+++ b/ash/assistant/assistant_screen_context_controller.cc
@@ -4,6 +4,7 @@
 
 #include "ash/assistant/assistant_screen_context_controller.h"
 
+#include "ash/assistant/assistant_controller.h"
 #include "ash/assistant/assistant_interaction_controller.h"
 #include "ash/assistant/assistant_ui_controller.h"
 #include "ash/public/cpp/shell_window_ids.h"
@@ -105,13 +106,17 @@
 
 }  // namespace
 
-AssistantScreenContextController::AssistantScreenContextController()
-    : screen_context_request_factory_(this) {
+AssistantScreenContextController::AssistantScreenContextController(
+    AssistantController* assistant_controller)
+    : assistant_controller_(assistant_controller),
+      screen_context_request_factory_(this) {
+  assistant_controller_->AddObserver(this);
   Shell::Get()->highlighter_controller()->AddObserver(this);
 }
 
 AssistantScreenContextController::~AssistantScreenContextController() {
   Shell::Get()->highlighter_controller()->RemoveObserver(this);
+  assistant_controller_->RemoveObserver(this);
 }
 
 void AssistantScreenContextController::SetAssistant(
@@ -119,22 +124,6 @@
   assistant_ = std::move(assistant);
 }
 
-void AssistantScreenContextController::SetAssistantInteractionController(
-    AssistantInteractionController* assistant_interaction_controller) {
-  assistant_interaction_controller_ = assistant_interaction_controller;
-}
-
-void AssistantScreenContextController::SetAssistantUiController(
-    AssistantUiController* assistant_ui_controller) {
-  if (assistant_ui_controller_)
-    assistant_ui_controller_->RemoveModelObserver(this);
-
-  assistant_ui_controller_ = assistant_ui_controller;
-
-  if (assistant_ui_controller_)
-    assistant_ui_controller_->AddModelObserver(this);
-}
-
 void AssistantScreenContextController::AddModelObserver(
     AssistantScreenContextModelObserver* observer) {
   assistant_screen_context_model_.AddObserver(observer);
@@ -188,6 +177,14 @@
           screen_context_request_factory_.GetWeakPtr()));
 }
 
+void AssistantScreenContextController::OnAssistantControllerConstructed() {
+  assistant_controller_->ui_controller()->AddModelObserver(this);
+}
+
+void AssistantScreenContextController::OnAssistantControllerDestroying() {
+  assistant_controller_->ui_controller()->RemoveModelObserver(this);
+}
+
 void AssistantScreenContextController::OnUiVisibilityChanged(
     bool visible,
     AssistantSource source) {
@@ -200,12 +197,14 @@
     return;
   }
 
+  InputModality input_modality = assistant_controller_->interaction_controller()
+                                     ->model()
+                                     ->input_modality();
+
   // We don't initiate a contextual query for caching if we are using stylus
   // input modality because we will do so on metalayer session complete.
-  if (assistant_interaction_controller_->model()->input_modality() ==
-      InputModality::kStylus) {
+  if (input_modality == InputModality::kStylus)
     return;
-  }
 
   // Request screen context for the entire screen.
   RequestScreenContext(gfx::Rect());
diff --git a/ash/assistant/assistant_screen_context_controller.h b/ash/assistant/assistant_screen_context_controller.h
index 27852c8..6bbf545 100644
--- a/ash/assistant/assistant_screen_context_controller.h
+++ b/ash/assistant/assistant_screen_context_controller.h
@@ -8,6 +8,7 @@
 #include <memory>
 
 #include "ash/ash_export.h"
+#include "ash/assistant/assistant_controller_observer.h"
 #include "ash/assistant/model/assistant_screen_context_model.h"
 #include "ash/assistant/model/assistant_ui_model_observer.h"
 #include "ash/highlighter/highlighter_controller.h"
@@ -23,29 +24,21 @@
 
 namespace ash {
 
-class AssistantInteractionController;
+class AssistantController;
 class AssistantScreenContextModelObserver;
-class AssistantUiController;
 
 class ASH_EXPORT AssistantScreenContextController
-    : public AssistantUiModelObserver,
+    : public AssistantControllerObserver,
+      public AssistantUiModelObserver,
       public HighlighterController::Observer {
  public:
-  AssistantScreenContextController();
+  explicit AssistantScreenContextController(
+      AssistantController* assistant_controller);
   ~AssistantScreenContextController() override;
 
   // Provides a pointer to the |assistant| owned by AssistantController.
   void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
 
-  // Provides a pointer to the |assistant_interaction_controller| owned by
-  // AssistantController.
-  void SetAssistantInteractionController(
-      AssistantInteractionController* assistant_interaction_controller);
-
-  // Provides a pointer to the |assistant_ui_controller| owned by
-  // AssistantController.
-  void SetAssistantUiController(AssistantUiController* assistant_ui_controller);
-
   // Returns a reference to the underlying model.
   const AssistantScreenContextModel* model() const {
     return &assistant_screen_context_model_;
@@ -62,6 +55,10 @@
       const gfx::Rect& rect,
       mojom::AssistantController::RequestScreenshotCallback callback);
 
+  // AssistantControllerObserver:
+  void OnAssistantControllerConstructed() override;
+  void OnAssistantControllerDestroying() override;
+
   // AssistantUiModelObserver:
   void OnUiVisibilityChanged(bool visible, AssistantSource source) override;
 
@@ -76,15 +73,11 @@
  private:
   void RequestScreenContext(const gfx::Rect& rect);
 
+  AssistantController* const assistant_controller_;  // Owned by Shell.
+
   // Owned by AssistantController.
   chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
 
-  // Owned by AssistantController.
-  AssistantInteractionController* assistant_interaction_controller_ = nullptr;
-
-  // Owned by AssistantController.
-  AssistantUiController* assistant_ui_controller_ = nullptr;
-
   AssistantScreenContextModel assistant_screen_context_model_;
 
   // Weak pointer factory used for screen context requests.
diff --git a/ash/assistant/assistant_ui_controller.cc b/ash/assistant/assistant_ui_controller.cc
index d9b94da..e3c77ff5 100644
--- a/ash/assistant/assistant_ui_controller.cc
+++ b/ash/assistant/assistant_ui_controller.cc
@@ -61,28 +61,6 @@
   assistant_ = assistant;
 }
 
-void AssistantUiController::SetAssistantInteractionController(
-    AssistantInteractionController* assistant_interaction_controller) {
-  if (assistant_interaction_controller_)
-    assistant_interaction_controller_->RemoveModelObserver(this);
-
-  assistant_interaction_controller_ = assistant_interaction_controller;
-
-  if (assistant_interaction_controller_)
-    assistant_interaction_controller_->AddModelObserver(this);
-}
-
-void AssistantUiController::SetAssistantScreenContextController(
-    AssistantScreenContextController* assistant_screen_context_controller) {
-  if (assistant_screen_context_controller_)
-    assistant_screen_context_controller_->RemoveModelObserver(this);
-
-  assistant_screen_context_controller_ = assistant_screen_context_controller;
-
-  if (assistant_screen_context_controller_)
-    assistant_screen_context_controller_->AddModelObserver(this);
-}
-
 void AssistantUiController::SetAssistantSetup(
     mojom::AssistantSetup* assistant_setup) {
   assistant_setup_ = assistant_setup;
@@ -119,6 +97,16 @@
   container_view_ = nullptr;
 }
 
+void AssistantUiController::OnAssistantControllerConstructed() {
+  assistant_controller_->interaction_controller()->AddModelObserver(this);
+  assistant_controller_->screen_context_controller()->AddModelObserver(this);
+}
+
+void AssistantUiController::OnAssistantControllerDestroying() {
+  assistant_controller_->screen_context_controller()->RemoveModelObserver(this);
+  assistant_controller_->interaction_controller()->RemoveModelObserver(this);
+}
+
 void AssistantUiController::OnInputModalityChanged(
     InputModality input_modality) {
   UpdateUiMode();
@@ -152,11 +140,14 @@
 
 bool AssistantUiController::OnCaptionButtonPressed(CaptionButtonId id) {
   switch (id) {
-    case CaptionButtonId::kMinimize:
-      UpdateUiMode(AssistantUiMode::kMiniUi);
+    case CaptionButtonId::kBack:
+      UpdateUiMode(AssistantUiMode::kMainUi);
       return true;
     case CaptionButtonId::kClose:
       return false;
+    case CaptionButtonId::kMinimize:
+      UpdateUiMode(AssistantUiMode::kMiniUi);
+      return true;
   }
   return false;
 }
@@ -267,13 +258,15 @@
     return;
   }
 
+  InputModality input_modality = assistant_controller_->interaction_controller()
+                                     ->model()
+                                     ->input_modality();
+
   // When stylus input modality is selected, we should be in mini UI mode.
   // Otherwise we fall back to main UI mode.
-  assistant_ui_model_.SetUiMode(
-      assistant_interaction_controller_->model()->input_modality() ==
-              InputModality::kStylus
-          ? AssistantUiMode::kMiniUi
-          : AssistantUiMode::kMainUi);
+  assistant_ui_model_.SetUiMode(input_modality == InputModality::kStylus
+                                    ? AssistantUiMode::kMiniUi
+                                    : AssistantUiMode::kMainUi);
 }
 
 }  // namespace ash
diff --git a/ash/assistant/assistant_ui_controller.h b/ash/assistant/assistant_ui_controller.h
index 9b2d580e..4307ae338 100644
--- a/ash/assistant/assistant_ui_controller.h
+++ b/ash/assistant/assistant_ui_controller.h
@@ -33,8 +33,6 @@
 
 class AssistantContainerView;
 class AssistantController;
-class AssistantInteractionController;
-class AssistantScreenContextController;
 
 namespace mojom {
 class AssistantSetup;
@@ -56,16 +54,6 @@
   // Provides a pointer to the |assistant| owned by AssistantController.
   void SetAssistant(chromeos::assistant::mojom::Assistant* assistant);
 
-  // Provides a pointer to the |assistant_interaction_controller| owned by
-  // AssistantController.
-  void SetAssistantInteractionController(
-      AssistantInteractionController* assistant_interaction_controller);
-
-  // Provides a pointer to the |assistant_screen_context_controller| owned by
-  // AssistantController.
-  void SetAssistantScreenContextController(
-      AssistantScreenContextController* assistant_screen_context_controller);
-
   // Provides a pointer to the |assistant_setup| owned by AssistantController.
   void SetAssistantSetup(mojom::AssistantSetup* assistant_setup);
 
@@ -100,6 +88,8 @@
   void OnHighlighterEnabledChanged(HighlighterEnabledState state) override;
 
   // AssistantControllerObserver:
+  void OnAssistantControllerConstructed() override;
+  void OnAssistantControllerDestroying() override;
   void OnDeepLinkReceived(const GURL& deep_link) override;
   void OnUrlOpened(const GURL& url) override;
 
@@ -121,13 +111,6 @@
   chromeos::assistant::mojom::Assistant* assistant_ = nullptr;
 
   // Owned by AssistantController.
-  AssistantInteractionController* assistant_interaction_controller_ = nullptr;
-
-  // Owned by AssistantController.
-  AssistantScreenContextController* assistant_screen_context_controller_ =
-      nullptr;
-
-  // Owned by AssistantController.
   mojom::AssistantSetup* assistant_setup_ = nullptr;
 
   AssistantUiModel assistant_ui_model_;
diff --git a/ash/assistant/ui/assistant_main_view.cc b/ash/assistant/ui/assistant_main_view.cc
index 3475c0c2..8487244 100644
--- a/ash/assistant/ui/assistant_main_view.cc
+++ b/ash/assistant/ui/assistant_main_view.cc
@@ -85,6 +85,7 @@
 
   // Caption bar.
   caption_bar_ = new CaptionBar();
+  caption_bar_->SetButtonVisible(CaptionButtonId::kBack, false);
   AddChildView(caption_bar_);
 
   // Main stage.
diff --git a/ash/assistant/ui/assistant_web_view.cc b/ash/assistant/ui/assistant_web_view.cc
index 692e2ba..919a6f6c 100644
--- a/ash/assistant/ui/assistant_web_view.cc
+++ b/ash/assistant/ui/assistant_web_view.cc
@@ -5,13 +5,15 @@
 #include "ash/assistant/ui/assistant_web_view.h"
 
 #include "ash/assistant/assistant_controller.h"
+#include "ash/assistant/assistant_ui_controller.h"
 #include "ash/assistant/ui/assistant_ui_constants.h"
+#include "ash/assistant/ui/caption_bar.h"
 #include "ash/assistant/util/deep_link_util.h"
 #include "ash/public/cpp/app_list/answer_card_contents_registry.h"
 #include "ash/public/interfaces/web_contents_manager.mojom.h"
 #include "base/callback.h"
 #include "base/unguessable_token.h"
-#include "ui/views/layout/fill_layout.h"
+#include "ui/views/layout/box_layout.h"
 
 namespace ash {
 
@@ -47,7 +49,14 @@
 }
 
 void AssistantWebView::InitLayout() {
-  SetLayoutManager(std::make_unique<views::FillLayout>());
+  SetLayoutManager(std::make_unique<views::BoxLayout>(
+      views::BoxLayout::Orientation::kVertical));
+
+  // Caption bar.
+  caption_bar_ = new CaptionBar();
+  caption_bar_->set_delegate(assistant_controller_->ui_controller());
+  caption_bar_->SetButtonVisible(CaptionButtonId::kMinimize, false);
+  AddChildView(caption_bar_);
 }
 
 void AssistantWebView::OnDeepLinkReceived(const GURL& deep_link) {
@@ -58,11 +67,14 @@
 
   web_contents_id_token_ = base::UnguessableToken::Create();
 
+  const int preferred_height_dip =
+      kMaxHeightDip - caption_bar_->GetPreferredSize().height();
+
   ash::mojom::ManagedWebContentsParamsPtr params(
       ash::mojom::ManagedWebContentsParams::New());
   params->url = assistant::util::GetWebUrl(deep_link).value();
-  params->min_size_dip = gfx::Size(kPreferredWidthDip, kMaxHeightDip);
-  params->max_size_dip = gfx::Size(kPreferredWidthDip, kMaxHeightDip);
+  params->min_size_dip = gfx::Size(kPreferredWidthDip, preferred_height_dip);
+  params->max_size_dip = gfx::Size(kPreferredWidthDip, preferred_height_dip);
 
   assistant_controller_->ManageWebContents(
       web_contents_id_token_.value(), std::move(params),
@@ -80,8 +92,9 @@
   // When web contents are rendered in process, the WebView associated with the
   // returned |embed_token| is found in the AnswerCardContentsRegistry.
   if (app_list::AnswerCardContentsRegistry::Get()) {
-    AddChildView(app_list::AnswerCardContentsRegistry::Get()->GetView(
-        embed_token.value()));
+    content_view_ = app_list::AnswerCardContentsRegistry::Get()->GetView(
+        embed_token.value());
+    AddChildView(content_view_);
   }
 
   // TODO(dmblack): Handle mash case.
@@ -93,7 +106,16 @@
   if (!web_contents_id_token_.has_value())
     return;
 
-  RemoveAllChildViews(/*delete_children=*/true);
+  if (content_view_) {
+    RemoveChildView(content_view_);
+
+    // In Mash, |content_view_| was owned by the view hierarchy prior to its
+    // removal. Otherwise the view is owned by the WebContentsManager.
+    if (!content_view_->owned_by_client())
+      delete content_view_;
+
+    content_view_ = nullptr;
+  }
 
   assistant_controller_->ReleaseWebContents(web_contents_id_token_.value());
   web_contents_id_token_.reset();
diff --git a/ash/assistant/ui/assistant_web_view.h b/ash/assistant/ui/assistant_web_view.h
index 8e72a29..94fdd7bdb 100644
--- a/ash/assistant/ui/assistant_web_view.h
+++ b/ash/assistant/ui/assistant_web_view.h
@@ -19,6 +19,7 @@
 namespace ash {
 
 class AssistantController;
+class CaptionBar;
 
 // AssistantWebView is a child of AssistantBubbleView which allows Assistant UI
 // to render remotely hosted content within its bubble. It provides a CaptionBar
@@ -46,6 +47,12 @@
 
   AssistantController* const assistant_controller_;  // Owned by Shell.
 
+  CaptionBar* caption_bar_;  // Owned by view hierarchy.
+
+  // In Mash, |content_view_| is owned by the view hierarchy. Otherwise, the
+  // view is owned by the WebContentsManager.
+  views::View* content_view_;
+
   // Uniquely identifies web contents owned by WebContentsManager.
   base::Optional<base::UnguessableToken> web_contents_id_token_;
 
diff --git a/ash/assistant/ui/caption_bar.cc b/ash/assistant/ui/caption_bar.cc
index b3ab263d..03bbc93c 100644
--- a/ash/assistant/ui/caption_bar.cc
+++ b/ash/assistant/ui/caption_bar.cc
@@ -6,6 +6,7 @@
 
 #include "ash/assistant/ui/assistant_ui_constants.h"
 #include "ash/public/cpp/vector_icons/vector_icons.h"
+#include "ash/resources/vector_icons/vector_icons.h"
 #include "ui/gfx/color_palette.h"
 #include "ui/gfx/paint_vector_icon.h"
 #include "ui/views/background.h"
@@ -71,8 +72,16 @@
   layout_manager->set_cross_axis_alignment(
       views::BoxLayout::CrossAxisAlignment::CROSS_AXIS_ALIGNMENT_CENTER);
 
-  layout_manager->set_main_axis_alignment(
-      views::BoxLayout::MainAxisAlignment::MAIN_AXIS_ALIGNMENT_END);
+  // Back.
+  CaptionButton* back_button = new CaptionButton(kWindowControlBackIcon, this);
+  back_button->set_id(static_cast<int>(CaptionButtonId::kBack));
+  AddChildView(back_button);
+
+  // Spacer.
+  views::View* spacer = new views::View();
+  AddChildView(spacer);
+
+  layout_manager->SetFlexForView(spacer, 1);
 
   // Minimize.
   CaptionButton* minimize_button =
@@ -99,6 +108,7 @@
     case CaptionButtonId::kClose:
       GetWidget()->Close();
       break;
+    case CaptionButtonId::kBack:
     case CaptionButtonId::kMinimize:
       // No default behavior defined.
       NOTIMPLEMENTED();
@@ -106,4 +116,10 @@
   }
 }
 
+void CaptionBar::SetButtonVisible(CaptionButtonId id, bool visible) {
+  views::View* button = GetViewByID(static_cast<int>(id));
+  if (button)
+    button->SetVisible(visible);
+}
+
 }  // namespace ash
diff --git a/ash/assistant/ui/caption_bar.h b/ash/assistant/ui/caption_bar.h
index a5eb90f..971cf89 100644
--- a/ash/assistant/ui/caption_bar.h
+++ b/ash/assistant/ui/caption_bar.h
@@ -14,7 +14,8 @@
 // CaptionButtonId -------------------------------------------------------------
 
 enum class CaptionButtonId {
-  kClose = 1,
+  kBack = 1,
+  kClose,
   kMinimize,
 };
 
@@ -46,6 +47,9 @@
 
   void set_delegate(CaptionBarDelegate* delegate) { delegate_ = delegate; }
 
+  // Sets visibility for the caption button identified by |id|.
+  void SetButtonVisible(CaptionButtonId id, bool visible);
+
  private:
   void InitLayout();
 
diff --git a/ash/assistant/util/deep_link_util.cc b/ash/assistant/util/deep_link_util.cc
index ee44928..3a951f2d 100644
--- a/ash/assistant/util/deep_link_util.cc
+++ b/ash/assistant/util/deep_link_util.cc
@@ -14,14 +14,19 @@
 
 namespace {
 
+constexpr char kAssistantExplorePrefix[] = "googleassistant://explore";
 constexpr char kAssistantOnboardingPrefix[] = "googleassistant://onboarding";
 constexpr char kAssistantRemindersPrefix[] = "googleassistant://reminders";
 constexpr char kAssistantSettingsPrefix[] = "googleassistant://settings";
 
+// TODO(dmblack): Maybe don't hard code this URL. Use a finch flag?
+constexpr char kAssistantExploreWebUrl[] =
+    "https://assistant.google.com/explore";
+
 // TODO(dmblack): Wire up actual Assistant Reminders URL.
 constexpr char kAssistantRemindersWebUrl[] = R"(data:text/html,
   <html>
-    <body style="padding:32px;">
+    <body style="padding:0 32px;">
       <h3>Assistant Reminders</h3>
       <p>Coming Soon! :)</p>
     </body>
@@ -31,7 +36,7 @@
 // TODO(dmblack): Wire up actual Assistant Settings URL.
 constexpr char kAssistantSettingsWebUrl[] = R"(data:text/html,
   <html>
-    <body style="padding:32px;">
+    <body style="padding:0 32px;">
       <h3>Assistant Settings</h3>
       <p>Coming Soon! :)</p>
     </body>
@@ -41,10 +46,16 @@
 }  // namespace
 
 bool IsDeepLinkUrl(const GURL& url) {
-  return IsAssistantOnboardingDeepLink(url) ||
+  return IsAssistantExploreDeepLink(url) ||
+         IsAssistantOnboardingDeepLink(url) ||
          IsAssistantRemindersDeepLink(url) || IsAssistantSettingsDeepLink(url);
 }
 
+bool IsAssistantExploreDeepLink(const GURL& url) {
+  return base::StartsWith(url.spec(), kAssistantExplorePrefix,
+                          base::CompareCase::SENSITIVE);
+}
+
 bool IsAssistantOnboardingDeepLink(const GURL& url) {
   return base::StartsWith(url.spec(), kAssistantOnboardingPrefix,
                           base::CompareCase::SENSITIVE);
@@ -68,6 +79,9 @@
   if (!IsWebDeepLink(deep_link))
     return base::nullopt;
 
+  if (IsAssistantExploreDeepLink(deep_link))
+    return GURL(kAssistantExploreWebUrl);
+
   if (IsAssistantRemindersDeepLink(deep_link))
     return GURL(kAssistantRemindersWebUrl);
 
@@ -79,7 +93,8 @@
 }
 
 bool IsWebDeepLink(const GURL& url) {
-  return IsAssistantRemindersDeepLink(url) || IsAssistantSettingsDeepLink(url);
+  return IsAssistantExploreDeepLink(url) || IsAssistantRemindersDeepLink(url) ||
+         IsAssistantSettingsDeepLink(url);
 }
 
 bool ParseDeepLinkParams(const GURL& deep_link,
diff --git a/ash/assistant/util/deep_link_util.h b/ash/assistant/util/deep_link_util.h
index 734710b..278eeb7 100644
--- a/ash/assistant/util/deep_link_util.h
+++ b/ash/assistant/util/deep_link_util.h
@@ -20,6 +20,10 @@
 // Returns true if the specified |url| is a deep link, false otherwise.
 ASH_EXPORT bool IsDeepLinkUrl(const GURL& url);
 
+// Returns true if the specified |url| is an Assistant explore deep link,
+// false otherwise.
+ASH_EXPORT bool IsAssistantExploreDeepLink(const GURL& url);
+
 // Returns true if the specified |url| is an Assistant onboarding deep link,
 // false otherwise.
 ASH_EXPORT bool IsAssistantOnboardingDeepLink(const GURL& url);
diff --git a/ash/assistant/util/deep_link_util_unittest.cc b/ash/assistant/util/deep_link_util_unittest.cc
index 3cddcfa..60797259 100644
--- a/ash/assistant/util/deep_link_util_unittest.cc
+++ b/ash/assistant/util/deep_link_util_unittest.cc
@@ -36,6 +36,8 @@
   };
 
   // OK: Supported deep links.
+  AssertDeepLinkUrl(GURL("googleassistant://explore"));
+  AssertDeepLinkUrl(GURL("googleassistant://explore?param=true"));
   AssertDeepLinkUrl(GURL("googleassistant://onboarding"));
   AssertDeepLinkUrl(GURL("googleassistant://onboarding?param=true"));
   AssertDeepLinkUrl(GURL("googleassistant://reminders"));
@@ -44,6 +46,7 @@
   AssertDeepLinkUrl(GURL("googleassistant://settings?param=true"));
 
   // FAIL: Deep links are case sensitive.
+  AssertNotDeepLinkUrl(GURL("GOOGLEASSISTANT://EXPLORE"));
   AssertNotDeepLinkUrl(GURL("GOOGLEASSISTANT://ONBOARDING"));
   AssertNotDeepLinkUrl(GURL("GOOGLEASSISTANT://REMINDERS"));
   AssertNotDeepLinkUrl(GURL("GOOGLEASSISTANT://SETTINGS"));
@@ -57,6 +60,35 @@
   AssertNotDeepLinkUrl(GURL("https://www.google.com/"));
 }
 
+TEST_F(DeepLinkUnitTest, IsAssistantExploreDeepLink) {
+  auto AssertExploreDeepLink = [](const GURL& url) {
+    ASSERT_TRUE(IsAssistantExploreDeepLink(url));
+  };
+
+  auto AssertNotExploreDeepLink = [](const GURL& url) {
+    ASSERT_FALSE(IsAssistantExploreDeepLink(url));
+  };
+
+  // OK: Supported Assistant explore deep links.
+  AssertExploreDeepLink(GURL("googleassistant://explore"));
+  AssertExploreDeepLink(GURL("googleassistant://explore?param=true"));
+
+  // FAIL: Deep links are case sensitive.
+  AssertNotExploreDeepLink(GURL("GOOGLEASSISTANT://EXPLORE"));
+
+  // FAIL: Non-Assistant explore deep links.
+  AssertNotExploreDeepLink(GURL("googleassistant://onboarding"));
+  AssertNotExploreDeepLink(GURL("googleassistant://onboarding?param=true"));
+  AssertNotExploreDeepLink(GURL("googleassistant://reminders"));
+  AssertNotExploreDeepLink(GURL("googleassistant://reminders?param=true"));
+  AssertNotExploreDeepLink(GURL("googleassistant://settings"));
+  AssertNotExploreDeepLink(GURL("googleassistant://settings?param=true"));
+
+  // FAIL: Non-deep link URLs.
+  AssertNotExploreDeepLink(GURL());
+  AssertNotExploreDeepLink(GURL("https://www.google.com/"));
+}
+
 TEST_F(DeepLinkUnitTest, IsAssistantOnboardingDeepLink) {
   auto AssertOnboardingDeepLink = [](const GURL& url) {
     ASSERT_TRUE(IsAssistantOnboardingDeepLink(url));
@@ -74,6 +106,8 @@
   AssertNotOnboardingDeepLink(GURL("GOOGLEASSISTANT://ONBOARDING"));
 
   // FAIL: Non-Assistant onboarding deep links.
+  AssertNotOnboardingDeepLink(GURL("googleassistant://explore"));
+  AssertNotOnboardingDeepLink(GURL("googleassistant://explore?param=true"));
   AssertNotOnboardingDeepLink(GURL("googleassistant://reminders"));
   AssertNotOnboardingDeepLink(GURL("googleassistant://reminders?param=true"));
   AssertNotOnboardingDeepLink(GURL("googleassistant://settings"));
@@ -101,6 +135,8 @@
   AssertNotRemindersDeepLink(GURL("GOOGLEASSISTANT://REMINDERS"));
 
   // FAIL: Non-Assistant reminders deep links.
+  AssertNotRemindersDeepLink(GURL("googleassistant://explore"));
+  AssertNotRemindersDeepLink(GURL("googleassistant://explore?param=true"));
   AssertNotRemindersDeepLink(GURL("googleassistant://onboarding"));
   AssertNotRemindersDeepLink(GURL("googleassistant://onboarding?param=true"));
   AssertNotRemindersDeepLink(GURL("googleassistant://settings"));
@@ -133,6 +169,8 @@
   AssertNotSettingsDeepLink(GURL("GOOGLEASSISTANT://SETTINGS"));
 
   // FAIL: Non-Assistant Settings deep links.
+  AssertNotSettingsDeepLink(GURL("googleassistant://explore"));
+  AssertNotSettingsDeepLink(GURL("googleassistant://explore?param=true"));
   AssertNotSettingsDeepLink(GURL("googleassistant://onboarding"));
   AssertNotSettingsDeepLink(GURL("googleassistant://onboarding?param=true"));
   AssertNotSettingsDeepLink(GURL("googleassistant://reminders"));
@@ -154,12 +192,15 @@
   };
 
   // OK: Supported web deep links.
+  AssertWebUrlPresent(GURL("googleassistant://explore"));
+  AssertWebUrlPresent(GURL("googleassistant://explore?param=true"));
   AssertWebUrlPresent(GURL("googleassistant://reminders"));
   AssertWebUrlPresent(GURL("googleassistant://reminders?param=true"));
   AssertWebUrlPresent(GURL("googleassistant://settings"));
   AssertWebUrlPresent(GURL("googleassistant://settings?param=true"));
 
   // FAIL: Deep links are case sensitive.
+  AssertWebUrlAbsent(GURL("GOOGLEASSISTANT://EXPLORE"));
   AssertWebUrlAbsent(GURL("GOOGLEASSISTANT://REMINDERS"));
   AssertWebUrlAbsent(GURL("GOOGLEASSISTANT://SETTINGS"));
 
@@ -182,12 +223,15 @@
   };
 
   // OK: Supported web deep links.
+  AssertWebDeepLink(GURL("googleassistant://explore"));
+  AssertWebDeepLink(GURL("googleassistant://explore?param=true"));
   AssertWebDeepLink(GURL("googleassistant://reminders"));
   AssertWebDeepLink(GURL("googleassistant://reminders?param=true"));
   AssertWebDeepLink(GURL("googleassistant://settings"));
   AssertWebDeepLink(GURL("googleassistant://settings?param=true"));
 
   // FAIL: Deep links are case sensitive.
+  AssertNotWebDeepLink(GURL("GOOGLEASSISTANT://EXPLORE"));
   AssertNotWebDeepLink(GURL("GOOGLEASSISTANT://REMINDERS"));
   AssertNotWebDeepLink(GURL("GOOGLEASSISTANT://SETTINGS"));
 
diff --git a/ash/components/strings/ash_components_strings_de.xtb b/ash/components/strings/ash_components_strings_de.xtb
index 00b490ad..de1289c 100644
--- a/ash/components/strings/ash_components_strings_de.xtb
+++ b/ash/components/strings/ash_components_strings_de.xtb
@@ -67,7 +67,7 @@
 <translation id="344577624355799426">"<ph name="ALT" />" oder "<ph name="SEARCH" />" <ph name="SEPARATOR" /> "<ph name="DOWN" />"</translation>
 <translation id="353037708190149633">Alle geöffneten Webseiten im aktuellen Fenster als Lesezeichen in einem neuen Ordner speichern</translation>
 <translation id="355103131818127604">Link in einem neuen Tab im Hintergrund öffnen</translation>
-<translation id="3622741593887335780">Heranzoomen (bei angedocktem Gerät ODER aktivierter Vollbildlupe)</translation>
+<translation id="3622741593887335780">Heranzoomen (bei angedocktem Gerät oder aktivierter Vollbildlupe)</translation>
 <translation id="3649256019230929621">Fenster minimieren</translation>
 <translation id="3655154169297074232">Tabs &amp; Fenster</translation>
 <translation id="3668361878347172356">Letzte Aktion wiederholen</translation>
@@ -136,7 +136,7 @@
 <translation id="6425378783626925378">Auf Symbole 1 bis 8 in der Ablage klicken</translation>
 <translation id="6435207348963613811">Vorheriges Element in der Ablage markieren</translation>
 <translation id="6445033640292336367">Tab zur Ausgangsposition zurückschieben</translation>
-<translation id="6474744297082284761">Herauszoomen (bei angedocktem Gerät ODER aktivierter Vollbildlupe)</translation>
+<translation id="6474744297082284761">Herauszoomen (bei angedocktem Gerät oder aktivierter Vollbildlupe)</translation>
 <translation id="649811797655257835">Datei auswählen und dann "<ph name="SPACE" />" drücken</translation>
 <translation id="6556040137485212400">Das Fenster öffnen, das am längsten nicht genutzt wurde</translation>
 <translation id="666343722268997814">Kontextmenü für markierte Inhalte öffnen</translation>
diff --git a/ash/components/strings/ash_components_strings_es-419.xtb b/ash/components/strings/ash_components_strings_es-419.xtb
index 7f87b602..1a0e9ed 100644
--- a/ash/components/strings/ash_components_strings_es-419.xtb
+++ b/ash/components/strings/ash_components_strings_es-419.xtb
@@ -36,9 +36,11 @@
 <translation id="2397416548179033562">Mostrar el menú de Chrome</translation>
 <translation id="2424073332829844142">Activar y desactivar Bloq Mayús</translation>
 <translation id="2441202986792279177">Cambiar de ventana rápidamente</translation>
+<translation id="2454251766545114447">Alejar la pantalla</translation>
 <translation id="2478303094958140141">Activar o desactivar ChromeVox (comentarios por voz)</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Desplazarse hacia abajo por la página web</translation>
+<translation id="2574014812750545982">Restablecer el nivel de zoom en la página</translation>
 <translation id="2596078834055697711">Tomar captura de pantalla de la ventana</translation>
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="TAB" /> o <ph name="RIGHT" /></translation>
 <translation id="2687057317448262550">Cambiar al método de entrada del idioma siguiente</translation>
@@ -65,6 +67,7 @@
 <translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation>
 <translation id="353037708190149633">Guardar todas las páginas abiertas en la ventana actual como marcadores en una nueva carpeta</translation>
 <translation id="355103131818127604">Abrir el vínculo en una nueva pestaña en segundo plano</translation>
+<translation id="3622741593887335780">Acercar (cuando esté activada la lupa acoplada O de pantalla completa)</translation>
 <translation id="3649256019230929621">Minimizar ventana</translation>
 <translation id="3655154169297074232">Pestañas y ventanas</translation>
 <translation id="3668361878347172356">Rehacer la última acción</translation>
@@ -76,6 +79,7 @@
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 a 8</translation>
 <translation id="3837047332182291558">Aumentar el brillo del teclado (solo para teclados retroiluminados)</translation>
 <translation id="3976863468609830880">Hacer clic en el último ícono de la biblioteca</translation>
+<translation id="3994783594793697310">Restablecer el nivel de zoom de la pantalla</translation>
 <translation id="4026843240379844265">Mover la ventana activa de una pantalla a otra</translation>
 <translation id="4035482366624727273">Seleccionar toda la página</translation>
 <translation id="4060703249685950734">Volver a abrir la última pestaña o ventana que cerraste</translation>
@@ -125,12 +129,14 @@
 <translation id="6228457605945141550">Disminuir el brillo</translation>
 <translation id="6276708887952587684">Ver la página de origen</translation>
 <translation id="6321940490215594447">Abrir la página Historial</translation>
+<translation id="6340769215862220182">Acercar la pantalla</translation>
 <translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation>
 <translation id="6395172954772765143">Seleccionar el texto hasta el final de la línea</translation>
 <translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> o <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation>
 <translation id="6425378783626925378">Hacer clic en los íconos 1 a 8 de la biblioteca</translation>
 <translation id="6435207348963613811">Destacar el elemento anterior en la biblioteca</translation>
 <translation id="6445033640292336367">Volver a colocar la pestaña en su posición original</translation>
+<translation id="6474744297082284761">Alejar (cuando esté activada la lupa acoplada O de pantalla completa)</translation>
 <translation id="649811797655257835">Selecciona el archivo y, luego, presiona <ph name="SPACE" /></translation>
 <translation id="6556040137485212400">Abrir la ventana que más tiempo estuvo sin usarse</translation>
 <translation id="666343722268997814">Abrir el menú contextual del elemento destacado</translation>
diff --git a/ash/components/strings/ash_components_strings_id.xtb b/ash/components/strings/ash_components_strings_id.xtb
index 824ceb4..e1242b9 100644
--- a/ash/components/strings/ash_components_strings_id.xtb
+++ b/ash/components/strings/ash_components_strings_id.xtb
@@ -36,11 +36,11 @@
 <translation id="2397416548179033562">Tampilkan Menu Chrome</translation>
 <translation id="2424073332829844142">Mengaktifkan dan menonaktifkan Caps Lock</translation>
 <translation id="2441202986792279177">Beralih antarjendela dengan cepat</translation>
-<translation id="2454251766545114447">Menampilkan Zoom out</translation>
+<translation id="2454251766545114447">Menampilkan fitur Perkecil</translation>
 <translation id="2478303094958140141">Mengaktifkan atau menonaktifkan ChromeVox (masukan lisan)</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Men-scroll halaman ke bawah</translation>
-<translation id="2574014812750545982">Menyetel ulang tingkat zoom di halaman</translation>
+<translation id="2574014812750545982">Menyetel ulang tingkat perbesaran/perkecilan di halaman</translation>
 <translation id="2596078834055697711">Mengambil screenshot jendela</translation>
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, lalu <ph name="TAB" /> atau <ph name="RIGHT" /></translation>
 <translation id="2687057317448262550">Beralih ke metode masukan bahasa selanjutnya</translation>
@@ -67,7 +67,7 @@
 <translation id="344577624355799426"><ph name="ALT" /> atau <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation>
 <translation id="353037708190149633">Menyimpan semua halaman yang terbuka di jendela aktif sebagai bookmark dalam folder baru</translation>
 <translation id="355103131818127604">Membuka link di tab baru di background</translation>
-<translation id="3622741593887335780">Zoom in (saat dipasang ke dok ATAU kaca pembesar layar penuh diaktifkan)</translation>
+<translation id="3622741593887335780">Perbesar (saat dipasang ke dok ATAU kaca pembesar layar penuh diaktifkan)</translation>
 <translation id="3649256019230929621">Meminimalkan jendela</translation>
 <translation id="3655154169297074232">Tab &amp; Windows</translation>
 <translation id="3668361878347172356">Mengulangi tindakan terakhir</translation>
@@ -79,7 +79,7 @@
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 sampai 8</translation>
 <translation id="3837047332182291558">Mencerahkan keyboard (khusus keyboard dengan lampu latar)</translation>
 <translation id="3976863468609830880">Mengklik ikon terakhir di rak</translation>
-<translation id="3994783594793697310">Menyetel ulang tingkat zoom tampilan</translation>
+<translation id="3994783594793697310">Menyetel ulang tingkat perbesar/perkecil tampilan</translation>
 <translation id="4026843240379844265">Memindahkan jendela aktif dari satu layar ke layar lainnya</translation>
 <translation id="4035482366624727273">Memilih semua yang ada di halaman</translation>
 <translation id="4060703249685950734">Membuka kembali tab atau jendela yang terakhir ditutup</translation>
@@ -129,14 +129,14 @@
 <translation id="6228457605945141550">Mengurangi kecerahan</translation>
 <translation id="6276708887952587684">Melihat sumber halaman</translation>
 <translation id="6321940490215594447">Membuka halaman Histori</translation>
-<translation id="6340769215862220182">Menampilkan Zoom in</translation>
+<translation id="6340769215862220182">Menampilkan fitur Perbesar</translation>
 <translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation>
 <translation id="6395172954772765143">Memilih teks sampai akhir baris</translation>
 <translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> atau <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation>
 <translation id="6425378783626925378">Mengklik ikon 1-8 di rak</translation>
 <translation id="6435207348963613811">Menandai item sebelumnya di rak</translation>
 <translation id="6445033640292336367">Mengembalikan tab ke posisi semula</translation>
-<translation id="6474744297082284761">Zoom out (saat dipasang ke dok ATAU kaca pembesar layar penuh diaktifkan)</translation>
+<translation id="6474744297082284761">Perkecil (saat dipasang ke dok ATAU kaca pembesar layar penuh diaktifkan)</translation>
 <translation id="649811797655257835">Pilih file, lalu tekan <ph name="SPACE" /></translation>
 <translation id="6556040137485212400">Membuka jendela yang paling lama tidak digunakan</translation>
 <translation id="666343722268997814">Membuka menu klik kanan untuk item yang ditandai</translation>
diff --git a/ash/components/strings/ash_components_strings_it.xtb b/ash/components/strings/ash_components_strings_it.xtb
index 85e368dc..e2b8bed 100644
--- a/ash/components/strings/ash_components_strings_it.xtb
+++ b/ash/components/strings/ash_components_strings_it.xtb
@@ -67,7 +67,7 @@
 <translation id="344577624355799426"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="DOWN" /></translation>
 <translation id="353037708190149633">Salva tutte le pagine aperte nella finestra corrente come Preferiti in una nuova cartella</translation>
 <translation id="355103131818127604">Apre il link in una nuova scheda in background</translation>
-<translation id="3622741593887335780">Aumenta lo zoom (quando inserito nel dock O con le lenti d'ingrandimento a schermo intero attive)</translation>
+<translation id="3622741593887335780">Aumenta lo zoom (con lente d’ingrandimento ancorata o a schermo intero attiva)</translation>
 <translation id="3649256019230929621">Riduci la finestra</translation>
 <translation id="3655154169297074232">Schede e finestre</translation>
 <translation id="3668361878347172356">Ripete l'ultima azione</translation>
@@ -136,7 +136,7 @@
 <translation id="6425378783626925378">Consente di fare clic sulle icone 1-8 nella shelf</translation>
 <translation id="6435207348963613811">Mette in evidenza l'elemento precedente sulla shelf</translation>
 <translation id="6445033640292336367">Ripristina la posizione originale della scheda</translation>
-<translation id="6474744297082284761">Diminuisci lo zoom (quando inserito nel dock O con le lenti d'ingrandimento a schermo intero attive)</translation>
+<translation id="6474744297082284761">Diminuisci lo zoom (con lente d’ingrandimento ancorata o a schermo intero attiva)</translation>
 <translation id="649811797655257835">Seleziona il file, quindi premi <ph name="SPACE" /></translation>
 <translation id="6556040137485212400">Consente di aprire la finestra rimasta inutilizzata per più tempo</translation>
 <translation id="666343722268997814">Apre il menu di scelta rapida per l'elemento evidenziato</translation>
diff --git a/ash/components/strings/ash_components_strings_ko.xtb b/ash/components/strings/ash_components_strings_ko.xtb
index 70ff16f..3f2b5a5 100644
--- a/ash/components/strings/ash_components_strings_ko.xtb
+++ b/ash/components/strings/ash_components_strings_ko.xtb
@@ -79,7 +79,7 @@
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1부터 8</translation>
 <translation id="3837047332182291558">키보드 밝게(백라이트 키보드만 해당)</translation>
 <translation id="3976863468609830880">실행기의 마지막 아이콘 클릭</translation>
-<translation id="3994783594793697310">확대/축소 레벨 표시 재설정</translation>
+<translation id="3994783594793697310">확대/축소 레벨 재설정</translation>
 <translation id="4026843240379844265">디스플레이 간 활성 창 이동</translation>
 <translation id="4035482366624727273">페이지 내용 모두 선택</translation>
 <translation id="4060703249685950734">마지막으로 닫았던 탭이나 창 다시 열기</translation>
diff --git a/ash/components/strings/ash_components_strings_ro.xtb b/ash/components/strings/ash_components_strings_ro.xtb
index aec822c..bd0b2e68 100644
--- a/ash/components/strings/ash_components_strings_ro.xtb
+++ b/ash/components/strings/ash_components_strings_ro.xtb
@@ -36,7 +36,7 @@
 <translation id="2397416548179033562">Afișează meniul Chrome</translation>
 <translation id="2424073332829844142">Activează și dezactivează Caps Lock</translation>
 <translation id="2441202986792279177">Comută rapid între ferestre</translation>
-<translation id="2454251766545114447">Afișează funcția Micșorează</translation>
+<translation id="2454251766545114447">Micșorare</translation>
 <translation id="2478303094958140141">Activează sau dezactivează ChromeVox (feedback rostit)</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Derulează în jos pagina web</translation>
@@ -129,7 +129,7 @@
 <translation id="6228457605945141550">Redu luminozitatea</translation>
 <translation id="6276708887952587684">Afișează sursa paginii</translation>
 <translation id="6321940490215594447">Deschide pagina Istoric</translation>
-<translation id="6340769215862220182">Afișează funcția Mărește</translation>
+<translation id="6340769215862220182">Mărire</translation>
 <translation id="6359811074279051077"><ph name="MODIFIER" /><ph name="SEPARATOR" /><ph name="KEY" /></translation>
 <translation id="6395172954772765143">Selectează textul până la capătul rândului</translation>
 <translation id="6419237577786823024"><ph name="CTRL1" /><ph name="SEPARATOR1" /><ph name="LEFT" /> sau <ph name="CTRL2" /><ph name="SEPARATOR2" /><ph name="RIGHT" /></translation>
diff --git a/ash/components/strings/ash_components_strings_sl.xtb b/ash/components/strings/ash_components_strings_sl.xtb
index 81874b97..1fc9675 100644
--- a/ash/components/strings/ash_components_strings_sl.xtb
+++ b/ash/components/strings/ash_components_strings_sl.xtb
@@ -67,7 +67,7 @@
 <translation id="344577624355799426"><ph name="ALT" /> ali <ph name="SEARCH" /> <ph name="SEPARATOR" /> <ph name="DOWN" /></translation>
 <translation id="353037708190149633">Shranjevanje vseh odprtih strani v trenutnem oknu kot zaznamke v novi mapi</translation>
 <translation id="355103131818127604">Odpiranje povezave na novem zavihku v ozadju</translation>
-<translation id="3622741593887335780">Povečava (v stojalu ALI ko je omogočena celozaslonska lupa)</translation>
+<translation id="3622741593887335780">Povečava (kadar je omogočena zasidrana ALI celozaslonska lupa)</translation>
 <translation id="3649256019230929621">Pomanjšanje olna</translation>
 <translation id="3655154169297074232">Zavihki in okna</translation>
 <translation id="3668361878347172356">Uveljavitev zadnjega dejanja</translation>
@@ -136,7 +136,7 @@
 <translation id="6425378783626925378">Klik ikone od 1 do 8 na polici</translation>
 <translation id="6435207348963613811">Označevanje prejšnjega elementa na polici</translation>
 <translation id="6445033640292336367">Premik zavihka na prvotno mesto</translation>
-<translation id="6474744297082284761">Pomanjšava (v stojalu ALI ko je omogočena celozaslonska lupa)</translation>
+<translation id="6474744297082284761">Pomanjšava (kadar je omogočena zasidrana ALI celozaslonska lupa)</translation>
 <translation id="649811797655257835">Izberite datoteko, nato pritisnite <ph name="SPACE" /></translation>
 <translation id="6556040137485212400">Odpiranje okna, ki najdlje ni bilo uporabljeno</translation>
 <translation id="666343722268997814">Odpiranje priročnega menija za označen element</translation>
diff --git a/ash/shelf/shelf_view.cc b/ash/shelf/shelf_view.cc
index 19ca57a..66ebab23 100644
--- a/ash/shelf/shelf_view.cc
+++ b/ash/shelf/shelf_view.cc
@@ -32,6 +32,7 @@
 #include "ash/shell_delegate.h"
 #include "ash/shell_port.h"
 #include "ash/strings/grit/ash_strings.h"
+#include "ash/system/status_area_widget.h"
 #include "ash/wm/mru_window_tracker.h"
 #include "ash/wm/root_window_finder.h"
 #include "ash/wm/tablet_mode/tablet_mode_controller.h"
@@ -901,9 +902,15 @@
     }
     if (i == 2 && chromeos::switches::ShouldUseShelfNewUi()) {
       // Start centering after we've laid out the launcher button.
+      // Center the shelf items on the whole shelf, including the status
+      // area widget.
       int centered_shelf_items_size = GetDimensionOfCenteredShelfItemsInNewUi();
+      StatusAreaWidget* status_widget = shelf_widget_->status_area_widget();
+      int status_widget_size = shelf_->PrimaryAxisValue(
+          status_widget->GetWindowBoundsInScreen().width(),
+          status_widget->GetWindowBoundsInScreen().height());
       int padding_for_centering =
-          (available_size - centered_shelf_items_size) / 2;
+          (available_size + status_widget_size - centered_shelf_items_size) / 2;
       x = shelf_->PrimaryAxisValue(padding_for_centering, 0);
       y = shelf_->PrimaryAxisValue(0, padding_for_centering);
     }
diff --git a/base/android/jni_generator/jni_exception_list.gni b/base/android/jni_generator/jni_exception_list.gni
index 7fc5683a..31d027ca 100644
--- a/base/android/jni_generator/jni_exception_list.gni
+++ b/base/android/jni_generator/jni_exception_list.gni
@@ -9,5 +9,5 @@
 
 # Exclude it from JNI registration if VR is not enabled.
 if (!enable_vr) {
-  jni_exception_files += [ "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java" ]
+  jni_exception_files += [ "//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java" ]
 }
diff --git a/base/base_paths_fuchsia.cc b/base/base_paths_fuchsia.cc
index afe449f..6b0c921 100644
--- a/base/base_paths_fuchsia.cc
+++ b/base/base_paths_fuchsia.cc
@@ -13,22 +13,9 @@
 #include "base/process/process.h"
 
 namespace base {
-namespace {
-
-constexpr char kPackageRoot[] = "/pkg";
-
-}  // namespace
 
 base::FilePath GetPackageRoot() {
-  base::FilePath path_obj(kPackageRoot);
-
-  // Fuchsia's appmgr will set argv[0] to a fully qualified executable path
-  // under /pkg for packaged binaries.
-  if (path_obj.IsParent(base::CommandLine::ForCurrentProcess()->GetProgram())) {
-    return path_obj;
-  } else {
-    return base::FilePath();
-  }
+  return base::FilePath("/pkg");
 }
 
 bool PathProviderFuchsia(int key, FilePath* result) {
@@ -39,9 +26,6 @@
     case FILE_EXE:
       *result = CommandLine::ForCurrentProcess()->GetProgram();
       return true;
-    case DIR_SOURCE_ROOT:
-      *result = GetPackageRoot();
-      return true;
     case DIR_APP_DATA:
       // TODO(https://crbug.com/840598): Switch to /data when minfs supports
       // mmap().
@@ -53,6 +37,7 @@
       *result = FilePath("/data");
       return true;
     case DIR_ASSETS:
+    case DIR_SOURCE_ROOT:
       *result = GetPackageRoot();
       return true;
   }
diff --git a/base/containers/ring_buffer.h b/base/containers/ring_buffer.h
index 4e48907..ca4a48d 100644
--- a/base/containers/ring_buffer.h
+++ b/base/containers/ring_buffer.h
@@ -30,19 +30,25 @@
 
   size_t CurrentIndex() const { return current_index_; }
 
-  // tests if a value was saved to this index
-  bool IsFilledIndex(size_t n) const { return BufferIndex(n) < current_index_; }
+  // Returns true if a value was saved to index |n|.
+  bool IsFilledIndex(size_t n) const {
+    return IsFilledIndexByBufferIndex(BufferIndex(n));
+  }
 
+  // Returns the element at index |n| (% |kSize|).
+  //
   // n = 0 returns the oldest value and
   // n = bufferSize() - 1 returns the most recent value.
   const T& ReadBuffer(size_t n) const {
-    DCHECK(IsFilledIndex(n));
-    return buffer_[BufferIndex(n)];
+    const size_t buffer_index = BufferIndex(n);
+    CHECK(IsFilledIndexByBufferIndex(buffer_index));
+    return buffer_[buffer_index];
   }
 
   T* MutableReadBuffer(size_t n) {
-    DCHECK(IsFilledIndex(n));
-    return &buffer_[BufferIndex(n)];
+    const size_t buffer_index = BufferIndex(n);
+    CHECK(IsFilledIndexByBufferIndex(buffer_index));
+    return &buffer_[buffer_index];
   }
 
   void SaveToBuffer(const T& value) {
@@ -75,7 +81,7 @@
     }
 
     operator bool() const {
-      return buffer_.IsFilledIndex(index_) && !out_of_range_;
+      return !out_of_range_ && buffer_.IsFilledIndex(index_);
     }
 
    private:
@@ -108,6 +114,14 @@
     return (current_index_ + n) % kSize;
   }
 
+  // This specialization of |IsFilledIndex| is a micro-optimization that enables
+  // us to do e.g. `CHECK(IsFilledIndex(n))` without calling |BufferIndex|
+  // twice. Since |BufferIndex| involves a % operation, it's not quite free at a
+  // micro-scale.
+  inline bool IsFilledIndexByBufferIndex(size_t buffer_index) const {
+    return buffer_index < current_index_;
+  }
+
   T buffer_[kSize];
   size_t current_index_;
 
diff --git a/base/fuchsia/scoped_service_binding.h b/base/fuchsia/scoped_service_binding.h
index b22c10a..3acabde7 100644
--- a/base/fuchsia/scoped_service_binding.h
+++ b/base/fuchsia/scoped_service_binding.h
@@ -26,15 +26,27 @@
 
   ~ScopedServiceBinding() { directory_->RemoveService(Interface::Name_); }
 
+  void SetOnLastClientCallback(base::OnceClosure on_last_client_callback) {
+    on_last_client_callback_ = std::move(on_last_client_callback);
+    bindings_.set_empty_set_handler(
+        fit::bind_member(this, &ScopedServiceBinding::OnBindingSetEmpty));
+  }
+
  private:
   void BindClient(zx::channel channel) {
     bindings_.AddBinding(impl_,
                          fidl::InterfaceRequest<Interface>(std::move(channel)));
   }
 
+  void OnBindingSetEmpty() {
+    bindings_.set_empty_set_handler(nullptr);
+    std::move(on_last_client_callback_).Run();
+  }
+
   ServiceDirectory* const directory_;
   Interface* const impl_;
   fidl::BindingSet<Interface> bindings_;
+  base::OnceClosure on_last_client_callback_;
 
   DISALLOW_COPY_AND_ASSIGN(ScopedServiceBinding);
 };
diff --git a/base/fuchsia/service_directory_unittest.cc b/base/fuchsia/service_directory_unittest.cc
index e9fc0b16..0af6f1f 100644
--- a/base/fuchsia/service_directory_unittest.cc
+++ b/base/fuchsia/service_directory_unittest.cc
@@ -8,7 +8,13 @@
 #include <lib/zx/channel.h>
 #include <utility>
 
+#include "base/bind.h"
 #include "base/fuchsia/service_directory_test_base.h"
+#include "base/location.h"
+#include "base/run_loop.h"
+#include "base/task_runner.h"
+#include "base/test/test_timeouts.h"
+#include "base/threading/thread_task_runner_handle.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace base {
@@ -17,10 +23,27 @@
 class ServiceDirectoryTest : public ServiceDirectoryTestBase {};
 
 // Verifies that ComponentContext can consume a public service in
-// ServiceDirectory.
-TEST_F(ServiceDirectoryTest, Connect) {
+// ServiceDirectory and that connection is disconnected when the client stub is
+// destroyed.
+TEST_F(ServiceDirectoryTest, ConnectDisconnect) {
   auto stub = client_context_->ConnectToService<test_fidl::TestInterface>();
   VerifyTestInterface(&stub, false);
+
+  base::RunLoop run_loop;
+  service_binding_->SetOnLastClientCallback(run_loop.QuitClosure());
+
+  base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
+      FROM_HERE,
+      base::BindOnce(
+          [](base::RunLoop* run_loop) {
+            ADD_FAILURE();
+            run_loop->Quit();
+          },
+          &run_loop),
+      TestTimeouts::action_timeout());
+
+  stub.Unbind();
+  run_loop.Run();
 }
 
 // Verifies that we can connect to the service service more than once.
diff --git a/base/memory/platform_shared_memory_region.h b/base/memory/platform_shared_memory_region.h
index c1663a41..3d830b6 100644
--- a/base/memory/platform_shared_memory_region.h
+++ b/base/memory/platform_shared_memory_region.h
@@ -173,6 +173,12 @@
   bool ConvertToReadOnly(void* mapped_addr);
 #endif  // defined(OS_MACOSX) && !defined(OS_IOS)
 
+  // Converts the region to unsafe. Returns whether the operation succeeded.
+  // Makes the current instance invalid on failure. Can be called only in
+  // kWritable mode, all other modes will CHECK-fail. The object will have
+  // kUnsafe mode after this call on success.
+  bool ConvertToUnsafe();
+
   // Maps |size| bytes of the shared memory region starting with the given
   // |offset| into the caller's address space. |offset| must be aligned to value
   // of |SysInfo::VMAllocationGranularity()|. Fails if requested bytes are out
diff --git a/base/memory/platform_shared_memory_region_android.cc b/base/memory/platform_shared_memory_region_android.cc
index 664d3d4..6c92b5e 100644
--- a/base/memory/platform_shared_memory_region_android.cc
+++ b/base/memory/platform_shared_memory_region_android.cc
@@ -100,6 +100,17 @@
   return true;
 }
 
+bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+  if (!IsValid())
+    return false;
+
+  CHECK_EQ(mode_, Mode::kWritable)
+      << "Only writable shared memory region can be converted to unsafe";
+
+  mode_ = Mode::kUnsafe;
+  return true;
+}
+
 bool PlatformSharedMemoryRegion::MapAt(off_t offset,
                                        size_t size,
                                        void** memory,
diff --git a/base/memory/platform_shared_memory_region_fuchsia.cc b/base/memory/platform_shared_memory_region_fuchsia.cc
index 32461790c..a3e19586 100644
--- a/base/memory/platform_shared_memory_region_fuchsia.cc
+++ b/base/memory/platform_shared_memory_region_fuchsia.cc
@@ -84,6 +84,17 @@
   return true;
 }
 
+bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+  if (!IsValid())
+    return false;
+
+  CHECK_EQ(mode_, Mode::kWritable)
+      << "Only writable shared memory region can be converted to unsafe";
+
+  mode_ = Mode::kUnsafe;
+  return true;
+}
+
 bool PlatformSharedMemoryRegion::MapAt(off_t offset,
                                        size_t size,
                                        void** memory,
diff --git a/base/memory/platform_shared_memory_region_mac.cc b/base/memory/platform_shared_memory_region_mac.cc
index b4d12ba..4a8b440c2 100644
--- a/base/memory/platform_shared_memory_region_mac.cc
+++ b/base/memory/platform_shared_memory_region_mac.cc
@@ -113,6 +113,17 @@
   return true;
 }
 
+bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+  if (!IsValid())
+    return false;
+
+  CHECK_EQ(mode_, Mode::kWritable)
+      << "Only writable shared memory region can be converted to unsafe";
+
+  mode_ = Mode::kUnsafe;
+  return true;
+}
+
 bool PlatformSharedMemoryRegion::MapAt(off_t offset,
                                        size_t size,
                                        void** memory,
diff --git a/base/memory/platform_shared_memory_region_posix.cc b/base/memory/platform_shared_memory_region_posix.cc
index 50c3977..d4b6d5c 100644
--- a/base/memory/platform_shared_memory_region_posix.cc
+++ b/base/memory/platform_shared_memory_region_posix.cc
@@ -147,6 +147,18 @@
   return true;
 }
 
+bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+  if (!IsValid())
+    return false;
+
+  CHECK_EQ(mode_, Mode::kWritable)
+      << "Only writable shared memory region can be converted to unsafe";
+
+  handle_.readonly_fd.reset();
+  mode_ = Mode::kUnsafe;
+  return true;
+}
+
 bool PlatformSharedMemoryRegion::MapAt(off_t offset,
                                        size_t size,
                                        void** memory,
diff --git a/base/memory/platform_shared_memory_region_unittest.cc b/base/memory/platform_shared_memory_region_unittest.cc
index df3e526a..d4e9647 100644
--- a/base/memory/platform_shared_memory_region_unittest.cc
+++ b/base/memory/platform_shared_memory_region_unittest.cc
@@ -75,6 +75,26 @@
   }
 }
 
+// Tests that a writable region can be converted to read-only.
+TEST_F(PlatformSharedMemoryRegionTest, ConvertWritableToReadOnly) {
+  PlatformSharedMemoryRegion region =
+      PlatformSharedMemoryRegion::CreateWritable(kRegionSize);
+  ASSERT_TRUE(region.IsValid());
+  EXPECT_EQ(region.GetMode(), PlatformSharedMemoryRegion::Mode::kWritable);
+  ASSERT_TRUE(region.ConvertToReadOnly());
+  EXPECT_EQ(region.GetMode(), PlatformSharedMemoryRegion::Mode::kReadOnly);
+}
+
+// Tests that a writable region can be converted to unsafe.
+TEST_F(PlatformSharedMemoryRegionTest, ConvertWritableToUnsafe) {
+  PlatformSharedMemoryRegion region =
+      PlatformSharedMemoryRegion::CreateWritable(kRegionSize);
+  ASSERT_TRUE(region.IsValid());
+  EXPECT_EQ(region.GetMode(), PlatformSharedMemoryRegion::Mode::kWritable);
+  ASSERT_TRUE(region.ConvertToUnsafe());
+  EXPECT_EQ(region.GetMode(), PlatformSharedMemoryRegion::Mode::kUnsafe);
+}
+
 // Tests that the platform-specific handle converted to read-only cannot be used
 // to perform a writable mapping with low-level system APIs like mmap().
 TEST_F(PlatformSharedMemoryRegionTest, ReadOnlyHandleIsNotWritable) {
@@ -168,6 +188,17 @@
   FDPair fds = region.GetPlatformHandle();
   EXPECT_LT(fds.readonly_fd, 0);
 }
+
+// Tests that the second handle is closed after a conversion to unsafe on
+// POSIX.
+TEST_F(PlatformSharedMemoryRegionTest, ConvertToUnsafeInvalidatesSecondHandle) {
+  PlatformSharedMemoryRegion region =
+      PlatformSharedMemoryRegion::CreateWritable(kRegionSize);
+  ASSERT_TRUE(region.IsValid());
+  ASSERT_TRUE(region.ConvertToUnsafe());
+  FDPair fds = region.GetPlatformHandle();
+  EXPECT_LT(fds.readonly_fd, 0);
+}
 #endif
 
 #if defined(OS_MACOSX) && !defined(OS_IOS)
@@ -284,5 +315,34 @@
   EXPECT_DEATH_IF_SUPPORTED(region.ConvertToReadOnly(), kErrorRegex);
 }
 
+// Tests that it's prohibited to convert a read-only region to unsafe.
+TEST_F(PlatformSharedMemoryRegionTest, ReadOnlyRegionConvertToUnsafeDeathTest) {
+#ifdef OFFICIAL_BUILD
+  const char kErrorRegex[] = "";
+#else
+  const char kErrorRegex[] =
+      "Only writable shared memory region can be converted to unsafe";
+#endif
+  PlatformSharedMemoryRegion region =
+      PlatformSharedMemoryRegion::CreateWritable(kRegionSize);
+  ASSERT_TRUE(region.IsValid());
+  ASSERT_TRUE(region.ConvertToReadOnly());
+  EXPECT_DEATH_IF_SUPPORTED(region.ConvertToUnsafe(), kErrorRegex);
+}
+
+// Tests that it's prohibited to convert an unsafe region to unsafe.
+TEST_F(PlatformSharedMemoryRegionTest, UnsafeRegionConvertToUnsafeDeathTest) {
+#ifdef OFFICIAL_BUILD
+  const char kErrorRegex[] = "";
+#else
+  const char kErrorRegex[] =
+      "Only writable shared memory region can be converted to unsafe";
+#endif
+  PlatformSharedMemoryRegion region =
+      PlatformSharedMemoryRegion::CreateUnsafe(kRegionSize);
+  ASSERT_TRUE(region.IsValid());
+  EXPECT_DEATH_IF_SUPPORTED(region.ConvertToUnsafe(), kErrorRegex);
+}
+
 }  // namespace subtle
 }  // namespace base
diff --git a/base/memory/platform_shared_memory_region_win.cc b/base/memory/platform_shared_memory_region_win.cc
index b6608da0..03466415 100644
--- a/base/memory/platform_shared_memory_region_win.cc
+++ b/base/memory/platform_shared_memory_region_win.cc
@@ -206,6 +206,17 @@
   return true;
 }
 
+bool PlatformSharedMemoryRegion::ConvertToUnsafe() {
+  if (!IsValid())
+    return false;
+
+  CHECK_EQ(mode_, Mode::kWritable)
+      << "Only writable shared memory region can be converted to unsafe";
+
+  mode_ = Mode::kUnsafe;
+  return true;
+}
+
 bool PlatformSharedMemoryRegion::MapAt(off_t offset,
                                        size_t size,
                                        void** memory,
diff --git a/base/memory/writable_shared_memory_region.cc b/base/memory/writable_shared_memory_region.cc
index 0806c37..063e672 100644
--- a/base/memory/writable_shared_memory_region.cc
+++ b/base/memory/writable_shared_memory_region.cc
@@ -42,6 +42,15 @@
   return ReadOnlySharedMemoryRegion::Deserialize(std::move(handle));
 }
 
+UnsafeSharedMemoryRegion WritableSharedMemoryRegion::ConvertToUnsafe(
+    WritableSharedMemoryRegion region) {
+  subtle::PlatformSharedMemoryRegion handle = std::move(region.handle_);
+  if (!handle.ConvertToUnsafe())
+    return {};
+
+  return UnsafeSharedMemoryRegion::Deserialize(std::move(handle));
+}
+
 WritableSharedMemoryRegion::WritableSharedMemoryRegion() = default;
 WritableSharedMemoryRegion::WritableSharedMemoryRegion(
     WritableSharedMemoryRegion&& region) = default;
diff --git a/base/memory/writable_shared_memory_region.h b/base/memory/writable_shared_memory_region.h
index 609289a..f656db1 100644
--- a/base/memory/writable_shared_memory_region.h
+++ b/base/memory/writable_shared_memory_region.h
@@ -9,6 +9,7 @@
 #include "base/memory/platform_shared_memory_region.h"
 #include "base/memory/read_only_shared_memory_region.h"
 #include "base/memory/shared_memory_mapping.h"
+#include "base/memory/unsafe_shared_memory_region.h"
 
 namespace base {
 
@@ -50,6 +51,11 @@
   static ReadOnlySharedMemoryRegion ConvertToReadOnly(
       WritableSharedMemoryRegion region);
 
+  // Makes the region unsafe. The region cannot be converted to read-only after
+  // this call. Returns an invalid region on failure.
+  static UnsafeSharedMemoryRegion ConvertToUnsafe(
+      WritableSharedMemoryRegion region);
+
   // Default constructor initializes an invalid instance.
   WritableSharedMemoryRegion();
 
diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc b/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
index fb19e5e5..737df42b 100644
--- a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
+++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
@@ -422,12 +422,13 @@
     workers_to_start = workers_;
   }
 
-  // Start workers that were created before this method was called. Other
-  // workers are started as they are created.
-  for (scoped_refptr<SchedulerWorker> worker : workers_to_start) {
+  // Start workers that were created before this method was called.
+  // Workers that already need to wake up are already signaled as part of
+  // SchedulerSingleThreadTaskRunner::PostTaskNow(). As a result, it's
+  // unnecessary to call WakeUp() for each worker (in fact, an extraneous
+  // WakeUp() would be racy and wrong - see https://crbug.com/862582).
+  for (scoped_refptr<SchedulerWorker> worker : workers_to_start)
     worker->Start(scheduler_worker_observer_);
-    worker->WakeUp();
-  }
 }
 
 scoped_refptr<SingleThreadTaskRunner>
diff --git a/build/android/gyp/bundletool.py b/build/android/gyp/bundletool.py
index 7622016..5ee696a 100755
--- a/build/android/gyp/bundletool.py
+++ b/build/android/gyp/bundletool.py
@@ -17,7 +17,7 @@
     __file__, '..', '..', '..', '..', 'third_party', 'android_build_tools',
     'bundletool'))
 
-BUNDLETOOL_VERSION = '0.4.2'
+BUNDLETOOL_VERSION = '0.5.0'
 
 BUNDLETOOL_JAR_PATH = os.path.join(
     BUNDLETOOL_DIR, 'bundletool-all-%s.jar' % BUNDLETOOL_VERSION)
diff --git a/build/android/gyp/compile_resources.py b/build/android/gyp/compile_resources.py
index 439bed2..412c6f74 100755
--- a/build/android/gyp/compile_resources.py
+++ b/build/android/gyp/compile_resources.py
@@ -585,9 +585,6 @@
 
     r_txt_path = _WriteFinalRTxtFile(options, build.r_txt_path)
 
-    package = resource_utils.ExtractPackageFromManifest(
-        options.android_manifest)
-
     # If --shared-resources-whitelist is used, the all resources listed in
     # the corresponding R.txt file will be non-final, and an onResourcesLoaded()
     # will be generated to adjust them at runtime.
@@ -607,7 +604,7 @@
       rjava_build_options.GenerateOnResourcesLoaded()
 
     resource_utils.CreateRJavaFiles(
-        build.srcjar_dir, package, r_txt_path,
+        build.srcjar_dir, None, r_txt_path,
         options.extra_res_packages,
         options.extra_r_text_files,
         rjava_build_options)
diff --git a/build/android/gyp/jinja_template.py b/build/android/gyp/jinja_template.py
index c6604516..069a21d 100755
--- a/build/android/gyp/jinja_template.py
+++ b/build/android/gyp/jinja_template.py
@@ -156,7 +156,7 @@
       #     are fixed. https://crbug.com/843562
       print ('Found files not listed via --includes:\n' +
              '\n'.join(sorted(all_inputs)))
-    build_utils.WriteDepfile(options.depfile, output)
+    build_utils.WriteDepfile(options.depfile, output, inputs=list(all_inputs))
 
 
 if __name__ == '__main__':
diff --git a/build/android/gyp/util/resource_utils.py b/build/android/gyp/util/resource_utils.py
index 68e98a8..6c79747 100644
--- a/build/android/gyp/util/resource_utils.py
+++ b/build/android/gyp/util/resource_utils.py
@@ -213,7 +213,7 @@
   packages = list(extra_res_packages)
   r_txt_files = list(extra_r_txt_files)
 
-  if package not in packages:
+  if package and package not in packages:
     # Sometimes, an apk target and a resources target share the same
     # AndroidManifest.xml and thus |package| will already be in |packages|.
     packages.append(package)
diff --git a/build/fuchsia/sdk.sha1 b/build/fuchsia/sdk.sha1
index 721d4a92..84795a3 100644
--- a/build/fuchsia/sdk.sha1
+++ b/build/fuchsia/sdk.sha1
@@ -1 +1 @@
-cf3c39f9e29dc2a40997051ae7352838842bf2bc
\ No newline at end of file
+64ef9c9bec71eed11f16ac79b5972d2bf9c5b539
\ No newline at end of file
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index c967ac7d..b4c036b 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -720,24 +720,24 @@
       "javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java",
       "javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsTestUtils.java",
       "javatests/src/org/chromium/chrome/browser/media/RouterTestUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrCoreVersionCheckerImpl.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/ChromeTabbedActivityVrTestRule.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/CustomTabActivityVrTestRule.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/HeadTrackingMode.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestriction.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestrictionRule.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrTestRule.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/rules/WebappActivityVrTestRule.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/util/HeadTrackingUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/util/TransitionUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/util/VrShellDelegateUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTestRuleUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTransitionUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/util/XrTransitionUtils.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/TestFramework.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/TestVrShellDelegate.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/VrTestFramework.java",
-      "javatests/src/org/chromium/chrome/browser/vr_shell/XrTestFramework.java",
+      "javatests/src/org/chromium/chrome/browser/vr/mock/MockVrCoreVersionCheckerImpl.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/ChromeTabbedActivityVrTestRule.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/CustomTabActivityVrTestRule.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/HeadTrackingMode.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestriction.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestrictionRule.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/VrTestRule.java",
+      "javatests/src/org/chromium/chrome/browser/vr/rules/WebappActivityVrTestRule.java",
+      "javatests/src/org/chromium/chrome/browser/vr/util/HeadTrackingUtils.java",
+      "javatests/src/org/chromium/chrome/browser/vr/util/TransitionUtils.java",
+      "javatests/src/org/chromium/chrome/browser/vr/util/VrShellDelegateUtils.java",
+      "javatests/src/org/chromium/chrome/browser/vr/util/VrTestRuleUtils.java",
+      "javatests/src/org/chromium/chrome/browser/vr/util/VrTransitionUtils.java",
+      "javatests/src/org/chromium/chrome/browser/vr/util/XrTransitionUtils.java",
+      "javatests/src/org/chromium/chrome/browser/vr/TestFramework.java",
+      "javatests/src/org/chromium/chrome/browser/vr/TestVrShellDelegate.java",
+      "javatests/src/org/chromium/chrome/browser/vr/VrTestFramework.java",
+      "javatests/src/org/chromium/chrome/browser/vr/XrTestFramework.java",
       "javatests/src/org/chromium/chrome/browser/webapps/TestFetchStorageCallback.java",
       "javatests/src/org/chromium/chrome/browser/webapps/WebappActivityTestRule.java",
     ]
@@ -756,26 +756,26 @@
       testonly = true
 
       java_files = [
-        "javatests/src/org/chromium/chrome/browser/vr_shell/EmulatedVrController.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockBrowserKeyboardInterface.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrDaydreamApi.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/SimNfcActivity.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/util/NativeUiUtils.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/util/NfcSimUtils.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/util/VrInfoBarUtils.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrFeedbackInfoBarTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrInstallUpdateInfoBarTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellCompositorViewHolderTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellDialogTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNativeUiTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNavigationTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellTransitionTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/VrShellWebInputEditingTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/WebVrDeviceTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/WebVrInputTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTabTest.java",
-        "javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTransitionTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/EmulatedVrController.java",
+        "javatests/src/org/chromium/chrome/browser/vr/mock/MockBrowserKeyboardInterface.java",
+        "javatests/src/org/chromium/chrome/browser/vr/mock/MockVrDaydreamApi.java",
+        "javatests/src/org/chromium/chrome/browser/vr/nfc_apk/SimNfcActivity.java",
+        "javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java",
+        "javatests/src/org/chromium/chrome/browser/vr/util/NfcSimUtils.java",
+        "javatests/src/org/chromium/chrome/browser/vr/util/VrInfoBarUtils.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrFeedbackInfoBarTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrInstallUpdateInfoBarTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellCompositorViewHolderTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellControllerInputTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellDialogTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellNativeUiTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellNavigationTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellTransitionTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/VrShellWebInputEditingTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/WebVrDeviceTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/WebVrInputTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/WebVrTabTest.java",
+        "javatests/src/org/chromium/chrome/browser/vr/WebVrTransitionTest.java",
       ]
 
       deps = chrome_test_xr_java_deps + [
@@ -796,7 +796,9 @@
     android_library("chrome_test_ar_java") {
       testonly = true
 
-      java_files = [ "javatests/src/org/chromium/chrome/browser/vr_shell/WebXrArSessionTest.java" ]
+      java_files = [
+        "javatests/src/org/chromium/chrome/browser/vr/WebXrArSessionTest.java",
+      ]
 
       deps =
           chrome_test_xr_java_deps + [ "//chrome/android:chrome_test_xr_java" ]
@@ -1361,7 +1363,8 @@
 }
 
 jinja_template("vr_nfc_simulator_apk_manifest") {
-  input = "javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/AndroidManifest.xml"
+  input =
+      "javatests/src/org/chromium/chrome/browser/vr/nfc_apk/AndroidManifest.xml"
   output = vr_nfc_simulator_apk_manifest
   variables = chrome_public_jinja_variables
 }
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
index cf31d1a..b1021bc 100644
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -563,7 +563,7 @@
             {{ self.first_run_activity_common() }}>
         </activity>
         {% if enable_vr == "true" %}
-        <activity android:name="org.chromium.chrome.browser.vr_shell.VrFirstRunActivity"
+        <activity android:name="org.chromium.chrome.browser.vr.VrFirstRunActivity"
             android:exported="false"
             android:launchMode="singleInstance"
             android:theme="@style/VrActivityTheme"
@@ -780,7 +780,7 @@
         </activity>
 
         <activity
-            android:name="org.chromium.chrome.browser.vr_shell.VrCancelAnimationActivity"
+            android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
             android:exported="false"
             android:theme="@android:style/Theme.NoDisplay"
             android:noHistory="true"
diff --git a/chrome/android/java/res/layout/menu_button.xml b/chrome/android/java/res/layout/menu_button.xml
index a3e6159..442f408 100644
--- a/chrome/android/java/res/layout/menu_button.xml
+++ b/chrome/android/java/res/layout/menu_button.xml
@@ -7,7 +7,7 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools">
 
-   <FrameLayout
+   <org.chromium.chrome.browser.toolbar.MenuButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/menu_button_wrapper">
@@ -28,7 +28,7 @@
            android:importantForAccessibility="no"
            android:layout_gravity="center"
            android:visibility="invisible" />
-   </FrameLayout>
+   </org.chromium.chrome.browser.toolbar.MenuButton>
 
 </merge>
 
diff --git a/chrome/android/java/res/xml/sync_customization_preferences.xml b/chrome/android/java/res/xml/sync_customization_preferences.xml
index a5944de..f8f372e 100644
--- a/chrome/android/java/res/xml/sync_customization_preferences.xml
+++ b/chrome/android/java/res/xml/sync_customization_preferences.xml
@@ -52,7 +52,7 @@
         <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
             android:persistent="false"
             android:key="payments_integration"
-            android:title="@string/payments_integration"/>
+            android:title="@string/payments_integration_legacy"/>
     </PreferenceCategory>
     <Preference
         android:key="encryption"
diff --git a/chrome/android/java/res_vr/OWNERS b/chrome/android/java/res_vr/OWNERS
index bf69a62..e8276fa1 100644
--- a/chrome/android/java/res_vr/OWNERS
+++ b/chrome/android/java/res_vr/OWNERS
@@ -1,4 +1,4 @@
-file://chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VR_JAVA_OWNERS
+file://chrome/android/java/src/org/chromium/chrome/browser/vr/VR_JAVA_OWNERS
 
 # TEAM: xr-dev@chromium.org
 # COMPONENT: UI>Browser>VR
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
index a3161b0..583123d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -137,8 +137,8 @@
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.chrome.browser.util.MathUtils;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.webapps.AddToHomescreenManager;
 import org.chromium.chrome.browser.widget.ControlContainer;
 import org.chromium.chrome.browser.widget.ScrimView;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
index a4a12bd..692a6f3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
@@ -34,9 +34,9 @@
 import org.chromium.chrome.browser.init.InvalidStartupDialog;
 import org.chromium.chrome.browser.metrics.UmaUtils;
 import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
-import org.chromium.chrome.browser.vr_shell.OnExitVrRequestListener;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.OnExitVrRequestListener;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 
 /**
  * Basic application functionality that should be shared among all browser applications that use
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 7ba4a97..e757068 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -129,8 +129,8 @@
 import org.chromium.chrome.browser.toolbar.ToolbarControlContainer;
 import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.chrome.browser.util.IntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.OverviewListLayout;
 import org.chromium.chrome.browser.widget.emptybackground.EmptyBackgroundViewWrapper;
 import org.chromium.components.feature_engagement.EventConstants;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/JavascriptAppModalDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/JavascriptAppModalDialog.java
index 91b0d3d..a5ea5beb 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/JavascriptAppModalDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/JavascriptAppModalDialog.java
@@ -22,7 +22,7 @@
 import org.chromium.chrome.browser.jsdialog.JavascriptModalDialogView;
 import org.chromium.chrome.browser.modaldialog.ModalDialogManager;
 import org.chromium.chrome.browser.modaldialog.ModalDialogView;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.ui.base.WindowAndroid;
 
 /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
index 906ac21..2b51291 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -42,7 +42,7 @@
 import org.chromium.chrome.browser.upgrade.UpgradeActivity;
 import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.chrome.browser.util.IntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
 import org.chromium.chrome.browser.webapps.ActivityAssigner;
 import org.chromium.chrome.browser.webapps.WebappActivity;
 import org.chromium.chrome.browser.webapps.WebappInfo;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/NavigationBarColorController.java b/chrome/android/java/src/org/chromium/chrome/browser/NavigationBarColorController.java
index 657120c..1f408801 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/NavigationBarColorController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/NavigationBarColorController.java
@@ -23,8 +23,8 @@
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
 import org.chromium.chrome.browser.util.FeatureUtilities;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate.VrModeObserver;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate.VrModeObserver;
 import org.chromium.ui.UiUtils;
 
 /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java
index f669f9d..d0c3be7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/RepostFormWarningDialog.java
@@ -16,7 +16,7 @@
 import org.chromium.chrome.browser.tab.EmptyTabObserver;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabObserver;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.ui.widget.UiWidgetFactory;
 
 /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java b/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
index af0e324..6c6c81c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/banners/AppBannerManager.java
@@ -13,7 +13,7 @@
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ShortcutHelper;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.webapps.AddToHomescreenDialog;
 import org.chromium.content_public.browser.WebContents;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
index 0c6b2762..2f25c40 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java
@@ -11,7 +11,7 @@
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.TraceEvent;
 import org.chromium.chrome.browser.LaunchIntentDispatcher;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
 
 /**
  * Dispatches incoming intents to the appropriate activity based on the current configuration and
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
index 7302df7..b36b8bd 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
@@ -32,7 +32,7 @@
 import org.chromium.chrome.browser.signin.SigninManager;
 import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.chrome.browser.util.IntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
 import org.chromium.chrome.browser.webapps.WebApkActivity;
 import org.chromium.components.signin.AccountManagerFacade;
 import org.chromium.components.signin.ChildAccountStatus;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
index 542dd3f..355ed79 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
@@ -26,7 +26,7 @@
 import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabModelObserver;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.ControlContainer;
 import org.chromium.content_public.browser.ContentVideoView;
 import org.chromium.content_public.common.BrowserControlsState;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
index afe4dcdf..66536a0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
@@ -31,9 +31,9 @@
 import org.chromium.chrome.browser.snackbar.Snackbar;
 import org.chromium.chrome.browser.snackbar.SnackbarManager;
 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
-import org.chromium.chrome.browser.vr_shell.OnExitVrRequestListener;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.OnExitVrRequestListener;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.PromoDialog;
 import org.chromium.ui.base.PageTransition;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/RemoteMediaPlayerBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/RemoteMediaPlayerBridge.java
index 1290c58..5ac4b6a2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/RemoteMediaPlayerBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/RemoteMediaPlayerBridge.java
@@ -12,7 +12,7 @@
 import org.chromium.blink_public.platform.modules.remoteplayback.WebRemotePlaybackAvailability;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.media.remote.RemoteVideoInfo.PlayerState;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 
 /**
  * Acts as a proxy between the remotely playing video and the HTMLMediaElement.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPage.java
index a4a06e6..8a7571b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPage.java
@@ -22,7 +22,7 @@
 import org.chromium.chrome.browser.help.HelpAndFeedback;
 import org.chromium.chrome.browser.ntp.IncognitoNewTabPageView.IncognitoNewTabPageManager;
 import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 
 /**
  * Provides functionality when the user interacts with the Incognito NTP.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
index 16c74b7..d082f04 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -54,7 +54,7 @@
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.browser.util.FeatureUtilities;
 import org.chromium.chrome.browser.util.UrlUtilities;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.content_public.browser.NavigationController;
 import org.chromium.content_public.browser.NavigationEntry;
 import org.chromium.net.NetworkChangeNotifier;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
index 3d2dd1c..8bd5895 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -48,7 +48,7 @@
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.util.MathUtils;
 import org.chromium.chrome.browser.util.ViewUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.displaystyle.UiConfig;
 import org.chromium.ui.base.DeviceFormFactor;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
index 6626eb7ba..870ae60 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SignInPromo.java
@@ -170,9 +170,8 @@
         mDismissed = true;
         updateVisibility();
 
-        final @StringRes int promoHeader;
         ChromePreferenceManager.getInstance().setNewTabPageSigninPromoDismissed(true);
-        promoHeader = mSigninPromoController.getDescriptionStringId();
+        final @StringRes int promoHeader = mSigninPromoController.getDescriptionStringId();
 
         mSigninObserver.unregister();
         itemRemovedCallback.onResult(ContextUtils.getApplicationContext().getString(promoHeader));
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java b/chrome/android/java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java
index 433462ab..0ed7a05 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/page_info/ConnectionInfoPopup.java
@@ -29,8 +29,8 @@
 import org.chromium.chrome.browser.modaldialog.ModalDialogView;
 import org.chromium.chrome.browser.modaldialog.ModalDialogView.ButtonType;
 import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.browser.vr_shell.UiUnsupportedMode;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.UiUnsupportedMode;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.content_public.browser.WebContentsObserver;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/page_info/PageInfoController.java b/chrome/android/java/src/org/chromium/chrome/browser/page_info/PageInfoController.java
index 9199a3c..ae3c09c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/page_info/PageInfoController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/page_info/PageInfoController.java
@@ -44,7 +44,7 @@
 import org.chromium.chrome.browser.ssl.SecurityStateModel;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.util.UrlUtilities;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.components.security_state.ConnectionSecurityLevel;
 import org.chromium.components.url_formatter.UrlFormatter;
 import org.chromium.content_public.browser.WebContents;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogController.java b/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogController.java
index 459e436..b488c22a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogController.java
@@ -14,7 +14,7 @@
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.modaldialog.ModalDialogManager;
 import org.chromium.chrome.browser.modaldialog.ModalDialogView;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
 import org.chromium.chrome.browser.widget.bottomsheet.EmptyBottomSheetObserver;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
index 7329d46..7b2c7a7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
@@ -65,7 +65,9 @@
     private final @Nullable String mImpressionsTilDismissHistogramName;
     private final @Nullable String mImpressionsTilSigninButtonsHistogramName;
     private final @Nullable String mImpressionsTilXButtonHistogramName;
+    private final @StringRes int mDescriptionStringIdLegacy;
     private final @StringRes int mDescriptionStringId;
+    private final @StringRes int mDescriptionStringIdNoAccount;
     private boolean mWasDisplayed;
     private boolean mWasUsed;
 
@@ -118,7 +120,10 @@
                         "MobileSignInPromo.BookmarkManager.ImpressionsTilSigninButtons";
                 mImpressionsTilXButtonHistogramName =
                         "MobileSignInPromo.BookmarkManager.ImpressionsTilXButton";
+                mDescriptionStringIdLegacy = R.string.signin_promo_description_bookmarks_legacy;
                 mDescriptionStringId = R.string.signin_promo_description_bookmarks;
+                mDescriptionStringIdNoAccount =
+                        R.string.signin_promo_description_bookmarks_no_account;
                 break;
             case SigninAccessPoint.NTP_CONTENT_SUGGESTIONS:
                 // There is no impression limit for NTP content suggestions.
@@ -137,7 +142,11 @@
                 mImpressionsTilDismissHistogramName = null;
                 mImpressionsTilSigninButtonsHistogramName = null;
                 mImpressionsTilXButtonHistogramName = null;
+                mDescriptionStringIdLegacy =
+                        R.string.signin_promo_description_ntp_content_suggestions_legacy;
                 mDescriptionStringId = R.string.signin_promo_description_ntp_content_suggestions;
+                mDescriptionStringIdNoAccount =
+                        R.string.signin_promo_description_ntp_content_suggestions_no_account;
                 break;
             case SigninAccessPoint.RECENT_TABS:
                 // There is no impression limit for Recent Tabs.
@@ -153,7 +162,10 @@
                 mImpressionsTilDismissHistogramName = null;
                 mImpressionsTilSigninButtonsHistogramName = null;
                 mImpressionsTilXButtonHistogramName = null;
+                mDescriptionStringIdLegacy = R.string.signin_promo_description_recent_tabs_legacy;
                 mDescriptionStringId = R.string.signin_promo_description_recent_tabs;
+                mDescriptionStringIdNoAccount =
+                        R.string.signin_promo_description_recent_tabs_no_account;
                 break;
             case SigninAccessPoint.SETTINGS:
                 mImpressionCountName = SIGNIN_PROMO_IMPRESSIONS_COUNT_SETTINGS;
@@ -170,7 +182,10 @@
                         "MobileSignInPromo.SettingsManager.ImpressionsTilSigninButtons";
                 mImpressionsTilXButtonHistogramName =
                         "MobileSignInPromo.SettingsManager.ImpressionsTilXButton";
+                mDescriptionStringIdLegacy = R.string.signin_promo_description_settings_legacy;
                 mDescriptionStringId = R.string.signin_promo_description_settings;
+                mDescriptionStringIdNoAccount =
+                        R.string.signin_promo_description_settings_no_account;
                 break;
             default:
                 throw new IllegalArgumentException(
@@ -211,8 +226,6 @@
         mImpressionTracker = new ImpressionTracker(view);
         mImpressionTracker.setListener(mImpressionFilter);
 
-        view.getDescription().setText(mDescriptionStringId);
-
         if (mProfileData == null) {
             setupColdState(context, view);
         } else {
@@ -245,13 +258,18 @@
 
     /** @return the resource used for the text displayed as promo description. */
     public @StringRes int getDescriptionStringId() {
-        return mDescriptionStringId;
+        if (!isUnifiedConsent()) return mDescriptionStringIdLegacy;
+        return mProfileData == null ? mDescriptionStringIdNoAccount : mDescriptionStringId;
     }
 
     private void setupColdState(final Context context, PersonalizedSigninPromoView view) {
         view.getImage().setImageResource(R.drawable.chrome_sync_logo);
         setImageSize(context, view, R.dimen.signin_promo_cold_state_image_size);
 
+        @StringRes int descriptionTextId =
+                isUnifiedConsent() ? mDescriptionStringIdNoAccount : mDescriptionStringIdLegacy;
+        view.getDescription().setText(descriptionTextId);
+
         view.getSigninButton().setText(R.string.sign_in_to_chrome);
         view.getSigninButton().setOnClickListener(v -> signinWithNewAccount(context));
 
@@ -259,23 +277,29 @@
     }
 
     private void setupHotState(final Context context, PersonalizedSigninPromoView view) {
+        final @StringRes int descriptionTextId;
+        final String chooseAccountButtonText;
+        if (isUnifiedConsent()) {
+            descriptionTextId = mDescriptionStringId;
+            chooseAccountButtonText =
+                    context.getString(R.string.signin_promo_choose_another_account);
+        } else {
+            descriptionTextId = mDescriptionStringIdLegacy;
+            chooseAccountButtonText = context.getString(
+                    R.string.signin_promo_choose_account, mProfileData.getAccountName());
+        }
+
         Drawable accountImage = mProfileData.getImage();
         view.getImage().setImageDrawable(accountImage);
         setImageSize(context, view, R.dimen.signin_promo_account_image_size);
 
+        view.getDescription().setText(descriptionTextId);
+
         String signinButtonText = context.getString(
                 R.string.signin_promo_continue_as, mProfileData.getFullNameOrEmail());
         view.getSigninButton().setText(signinButtonText);
         view.getSigninButton().setOnClickListener(v -> signinWithDefaultAccount(context));
 
-        final String chooseAccountButtonText;
-        if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) {
-            chooseAccountButtonText =
-                    context.getString(R.string.signin_promo_choose_another_account);
-        } else {
-            chooseAccountButtonText = context.getString(
-                    R.string.signin_promo_choose_account, mProfileData.getAccountName());
-        }
         view.getChooseAccountButton().setText(chooseAccountButtonText);
         view.getChooseAccountButton().setOnClickListener(v -> signinWithNotDefaultAccount(context));
         view.getChooseAccountButton().setVisibility(View.VISIBLE);
@@ -290,7 +314,7 @@
         recordSigninButtonUsed();
         RecordUserAction.record(mSigninNewAccountUserActionName);
         final Intent intent;
-        if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) {
+        if (isUnifiedConsent()) {
             intent = SigninActivity.createIntentForPromoAddAccountFlow(context, mAccessPoint);
         } else {
             intent = AccountSigninActivity.createIntentForAddAccountSigninFlow(
@@ -303,7 +327,7 @@
         recordSigninButtonUsed();
         RecordUserAction.record(mSigninWithDefaultUserActionName);
         final Intent intent;
-        if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) {
+        if (isUnifiedConsent()) {
             intent = SigninActivity.createIntentForPromoDefaultFlow(
                     context, mAccessPoint, mProfileData.getAccountName());
         } else {
@@ -317,7 +341,7 @@
         recordSigninButtonUsed();
         RecordUserAction.record(mSigninNotDefaultUserActionName);
         final Intent intent;
-        if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) {
+        if (isUnifiedConsent()) {
             intent = SigninActivity.createIntentForPromoChooseAccountFlow(
                     context, mAccessPoint, mProfileData.getAccountName());
         } else {
@@ -359,6 +383,10 @@
         }
     }
 
+    private static boolean isUnifiedConsent() {
+        return ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT);
+    }
+
     @VisibleForTesting
     public static int getMaxImpressionsBookmarksForTests() {
         return MAX_IMPRESSIONS_BOOKMARKS;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
index 9b419d9d..f7813e13 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
@@ -92,7 +92,7 @@
 import org.chromium.chrome.browser.tabmodel.TabReparentingParams;
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.browser.util.FeatureUtilities;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.PulseDrawable;
 import org.chromium.chrome.browser.widget.textbubble.TextBubble;
 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBrowserControlsOffsetHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBrowserControlsOffsetHelper.java
index 41cc476..23b56a1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBrowserControlsOffsetHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabBrowserControlsOffsetHelper.java
@@ -11,8 +11,8 @@
 import org.chromium.base.ObserverList;
 import org.chromium.chrome.browser.fullscreen.FullscreenManager;
 import org.chromium.chrome.browser.tabmodel.TabModelImpl;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate.VrModeObserver;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate.VrModeObserver;
 
 /**
  * Handles browser controls offset for a Tab.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarCoordinator.java
index 80b958a..2ec9676 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarCoordinator.java
@@ -38,6 +38,9 @@
     /** The home button component that lives in the bottom toolbar. */
     private final ToolbarButtonCoordinator mHomeButtonCoordinator;
 
+    /** The menu button that lives in the bottom toolbar. */
+    private final MenuButton mMenuButton;
+
     /**
      * Build the coordinator that manages the bottom toolbar.
      * @param fullscreenManager A {@link ChromeFullscreenManager} to update the bottom controls
@@ -64,6 +67,7 @@
         mTabSwitcherButtonCoordinator = new TabSwitcherButtonCoordinator(toolbarRoot);
         mHomeButtonCoordinator =
                 new ToolbarButtonCoordinator(toolbarRoot.findViewById(R.id.home_button));
+        mMenuButton = toolbarRoot.findViewById(R.id.menu_button_wrapper);
     }
 
     /**
@@ -92,7 +96,7 @@
             OnClickListener homeButtonListener, OnTouchListener menuButtonListener,
             TabModelSelector tabModelSelector, OverviewModeBehavior overviewModeBehavior,
             ContextualSearchManager contextualSearchManager) {
-        mMediator.setButtonListeners(searchAcceleratorListener, menuButtonListener);
+        mMediator.setSearchAcceleratorListener(searchAcceleratorListener);
         mMediator.setLayoutManager(layoutManager);
         mMediator.setResourceManager(resourceManager);
         mMediator.setOverviewModeBehavior(overviewModeBehavior);
@@ -105,27 +109,29 @@
         mHomeButtonCoordinator.setButtonListeners(homeButtonListener, null);
         mHomeButtonCoordinator.setOverviewModeBehavior(
                 overviewModeBehavior, ToolbarButtonCoordinator.BROWSING_MODE);
+
+        mMenuButton.setTouchListener(menuButtonListener);
     }
 
     /**
      * Show the update badge over the bottom toolbar's app menu.
      */
     public void showAppMenuUpdateBadge() {
-        mMediator.setUpdateBadgeVisibility(true);
+        mMenuButton.setUpdateBadgeVisibility(true);
     }
 
     /**
      * Remove the update badge.
      */
     public void removeAppMenuUpdateBadge() {
-        mMediator.setUpdateBadgeVisibility(false);
+        mMenuButton.setUpdateBadgeVisibility(false);
     }
 
     /**
      * @return Whether the update badge is showing.
      */
     public boolean isShowingAppMenuUpdateBadge() {
-        return mMediator.isShowingAppMenuUpdateBadge();
+        return mMenuButton.isShowingAppMenuUpdateBadge();
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarMediator.java
index 021555b..3f314ea 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarMediator.java
@@ -6,7 +6,6 @@
 
 import android.content.res.Resources;
 import android.view.View.OnClickListener;
-import android.view.View.OnTouchListener;
 
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.compositor.layouts.Layout;
@@ -127,10 +126,8 @@
         mModel.setValue(BottomToolbarModel.ANDROID_VIEW_VISIBLE, true);
     }
 
-    public void setButtonListeners(
-            OnClickListener searchAcceleratorListener, OnTouchListener menuButtonListener) {
+    public void setSearchAcceleratorListener(OnClickListener searchAcceleratorListener) {
         mModel.setValue(BottomToolbarModel.SEARCH_ACCELERATOR_LISTENER, searchAcceleratorListener);
-        mModel.setValue(BottomToolbarModel.MENU_BUTTON_LISTENER, menuButtonListener);
     }
 
     public void setLayoutManager(LayoutManager layoutManager) {
@@ -166,14 +163,6 @@
         mOverviewModeBehavior.addOverviewModeObserver(this);
     }
 
-    public void setUpdateBadgeVisibility(boolean visible) {
-        mModel.setValue(BottomToolbarModel.UPDATE_BADGE_VISIBLE, visible);
-    }
-
-    public boolean isShowingAppMenuUpdateBadge() {
-        return mModel.getValue(BottomToolbarModel.UPDATE_BADGE_VISIBLE);
-    }
-
     public void setContextualSearchManager(ContextualSearchManager contextualSearchManager) {
         mContextualSearchManger = contextualSearchManager;
         if (mContextualSearchManger == null) return;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarModel.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarModel.java
index 9c4718bd..d0642b24 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarModel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarModel.java
@@ -5,7 +5,6 @@
 package org.chromium.chrome.browser.toolbar;
 
 import android.view.View.OnClickListener;
-import android.view.View.OnTouchListener;
 
 import org.chromium.chrome.browser.compositor.layouts.LayoutManager;
 import org.chromium.chrome.browser.compositor.layouts.ToolbarSwipeLayout;
@@ -27,10 +26,6 @@
     public static final ObjectPropertyKey<OnClickListener> SEARCH_ACCELERATOR_LISTENER =
             new ObjectPropertyKey<>();
 
-    /** The touch listener for the menu button. */
-    public static final ObjectPropertyKey<OnTouchListener> MENU_BUTTON_LISTENER =
-            new ObjectPropertyKey<>();
-
     /** A {@link LayoutManager} to attach overlays to. */
     public static final ObjectPropertyKey<LayoutManager> LAYOUT_MANAGER = new ObjectPropertyKey<>();
 
@@ -45,17 +40,14 @@
     /** Whether or not the search accelerator is visible. */
     public static final BooleanPropertyKey SEARCH_ACCELERATOR_VISIBLE = new BooleanPropertyKey();
 
-    /** Whether or not the update badge is visible. */
-    public static final BooleanPropertyKey UPDATE_BADGE_VISIBLE = new BooleanPropertyKey();
-
     /** A handler for swipe events on the toolbar. */
     public static final ObjectPropertyKey<EdgeSwipeHandler> TOOLBAR_SWIPE_HANDLER =
             new ObjectPropertyKey<>();
 
     /** Default constructor. */
     public BottomToolbarModel() {
-        super(Y_OFFSET, ANDROID_VIEW_VISIBLE, SEARCH_ACCELERATOR_LISTENER, MENU_BUTTON_LISTENER,
-                LAYOUT_MANAGER, TOOLBAR_SWIPE_LAYOUT, RESOURCE_MANAGER, SEARCH_ACCELERATOR_VISIBLE,
-                UPDATE_BADGE_VISIBLE, TOOLBAR_SWIPE_HANDLER);
+        super(Y_OFFSET, ANDROID_VIEW_VISIBLE, SEARCH_ACCELERATOR_LISTENER, LAYOUT_MANAGER,
+                TOOLBAR_SWIPE_LAYOUT, RESOURCE_MANAGER, SEARCH_ACCELERATOR_VISIBLE,
+                TOOLBAR_SWIPE_HANDLER);
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarViewBinder.java
index 83a5d7e1..95bc86cf 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarViewBinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/BottomToolbarViewBinder.java
@@ -58,9 +58,6 @@
             view.toolbarRoot.findViewById(R.id.search_button)
                     .setOnClickListener(
                             model.getValue(BottomToolbarModel.SEARCH_ACCELERATOR_LISTENER));
-        } else if (BottomToolbarModel.MENU_BUTTON_LISTENER == propertyKey) {
-            view.toolbarRoot.findViewById(R.id.menu_button)
-                    .setOnTouchListener(model.getValue(BottomToolbarModel.MENU_BUTTON_LISTENER));
         } else if (BottomToolbarModel.LAYOUT_MANAGER == propertyKey) {
             assert view.sceneLayer == null;
             view.sceneLayer = new ScrollingBottomViewSceneLayer(
@@ -82,11 +79,6 @@
                     .setVisibility(model.getValue(BottomToolbarModel.SEARCH_ACCELERATOR_VISIBLE)
                                     ? View.VISIBLE
                                     : View.INVISIBLE);
-        } else if (BottomToolbarModel.UPDATE_BADGE_VISIBLE == propertyKey) {
-            view.toolbarRoot.findViewById(R.id.menu_badge)
-                    .setVisibility(model.getValue(BottomToolbarModel.UPDATE_BADGE_VISIBLE)
-                                    ? View.VISIBLE
-                                    : View.GONE);
         } else if (BottomToolbarModel.TOOLBAR_SWIPE_HANDLER == propertyKey) {
             view.toolbarRoot.setSwipeDetector(
                     model.getValue(BottomToolbarModel.TOOLBAR_SWIPE_HANDLER));
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java
new file mode 100644
index 0000000..55b962f1
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/MenuButton.java
@@ -0,0 +1,57 @@
+// 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.
+
+package org.chromium.chrome.browser.toolbar;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.View.OnTouchListener;
+import android.widget.FrameLayout;
+
+import org.chromium.chrome.R;
+
+/**
+ * The overflow menu button.
+ */
+class MenuButton extends FrameLayout {
+    /** The view for the menu button. */
+    private View mMenuButtonView;
+
+    /** The view for the update badge. */
+    private View mUpdateBadgeView;
+
+    public MenuButton(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mMenuButtonView = findViewById(R.id.menu_button);
+        mUpdateBadgeView = findViewById(R.id.menu_badge);
+    }
+
+    /**
+     * @param onTouchListener An {@link OnTouchListener} that is triggered when the menu button is
+     *                        clicked.
+     */
+    void setTouchListener(OnTouchListener onTouchListener) {
+        mMenuButtonView.setOnTouchListener(onTouchListener);
+    }
+
+    /**
+     * @param visible Whether the update badge should be visible.
+     */
+    void setUpdateBadgeVisibility(boolean visible) {
+        mUpdateBadgeView.setVisibility(visible ? View.VISIBLE : View.GONE);
+    }
+
+    /**
+     * @return Whether the update badge is showing.
+     */
+    boolean isShowingAppMenuUpdateBadge() {
+        return mUpdateBadgeView.getVisibility() == View.VISIBLE;
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidUiGestureTarget.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidUiGestureTarget.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.java
index 610be94..72ea2488 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidUiGestureTarget.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.os.Handler;
 import android.view.InputDevice;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidVSyncHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidVSyncHelper.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.java
index f580676c..7e5a6d72 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidVSyncHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.content.Context;
 import android.view.Choreographer;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/EmptySniffingVrViewContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/EmptySniffingVrViewContainer.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/EmptySniffingVrViewContainer.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/EmptySniffingVrViewContainer.java
index 5d0fdd0..4133524d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/EmptySniffingVrViewContainer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/EmptySniffingVrViewContainer.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.content.Context;
 import android.graphics.Bitmap;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/NoopCanvas.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/NoopCanvas.java
similarity index 99%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/NoopCanvas.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/NoopCanvas.java
index df7b7825..3e33d71 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/NoopCanvas.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/NoopCanvas.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/vr/OWNERS
index bf69a62..e8276fa1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr/OWNERS
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/OWNERS
@@ -1,4 +1,4 @@
-file://chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VR_JAVA_OWNERS
+file://chrome/android/java/src/org/chromium/chrome/browser/vr/VR_JAVA_OWNERS
 
 # TEAM: xr-dev@chromium.org
 # COMPONENT: UI>Browser>VR
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OnDispatchTouchEventCallback.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/OnDispatchTouchEventCallback.java
similarity index 91%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OnDispatchTouchEventCallback.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/OnDispatchTouchEventCallback.java
index c7e8f64..fac8b82 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OnDispatchTouchEventCallback.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/OnDispatchTouchEventCallback.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 /**
  * Callback used to execute code additional test code after VrShellImpl's
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OnExitVrRequestListener.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/OnExitVrRequestListener.java
similarity index 91%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OnExitVrRequestListener.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/OnExitVrRequestListener.java
index 680fcb0..764821a2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OnExitVrRequestListener.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/OnExitVrRequestListener.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 /**
  * Callback to be invoked when a VR exit request was processed.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VR_JAVA_OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/vr/VR_JAVA_OWNERS
similarity index 100%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VR_JAVA_OWNERS
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VR_JAVA_OWNERS
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrAlertDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrAlertDialog.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrAlertDialog.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrAlertDialog.java
index e39d048673..0d1b7ab 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrAlertDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrAlertDialog.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.AlertDialog;
 import android.content.Context;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCancelAnimationActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCancelAnimationActivity.java
similarity index 93%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCancelAnimationActivity.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrCancelAnimationActivity.java
index 1416c7f0..3cb84d7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCancelAnimationActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCancelAnimationActivity.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.os.Bundle;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapper.java
similarity index 95%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapper.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapper.java
index bd38ade4..a34bdfa 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapper.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.content.ComponentName;
@@ -28,8 +28,8 @@
     public VrDaydreamApi createVrDaydreamApi();
 
     /**
-    * Creates a VrCoreVersionCheckerImpl instance.
-    */
+     * Creates a VrCoreVersionCheckerImpl instance.
+     */
     public VrCoreVersionChecker createVrCoreVersionChecker();
 
     // We put statics that are behind compile flags here to avoid unnecessarily creating DaydreamApi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapperImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapperImpl.java
similarity index 95%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapperImpl.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapperImpl.java
index 647ae42..9a22c123 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapperImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrClassesWrapperImpl.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.content.ComponentName;
@@ -76,10 +76,10 @@
         // The call to isInVrSession crashes when called on a non-Daydream ready device, so we add
         // the device check (b/77268533).
         try {
-          return isDaydreamReadyDevice() && DaydreamApi.isInVrSession(context);
+            return isDaydreamReadyDevice() && DaydreamApi.isInVrSession(context);
         } catch (Exception ex) {
-          Log.e(TAG, "Unable to check if in vr session", ex);
-          return false;
+            Log.e(TAG, "Unable to check if in vr session", ex);
+            return false;
         }
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCompositorSurfaceManager.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCompositorSurfaceManager.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCompositorSurfaceManager.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrCompositorSurfaceManager.java
index c47e3244..0751a06f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCompositorSurfaceManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCompositorSurfaceManager.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.graphics.drawable.Drawable;
 import android.support.annotation.IntDef;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreInfo.java
similarity index 96%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreInfo.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreInfo.java
index c274def..70e503c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreInfo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreInfo.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import org.chromium.base.annotations.JNINamespace;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionChecker.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionChecker.java
similarity index 92%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionChecker.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionChecker.java
index 636f0c93..69cd2dcd 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionChecker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionChecker.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 /**
  * Abstracts away the VrCoreVersionCheckerImpl class, which may or may not be present at runtime
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionCheckerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionCheckerImpl.java
similarity index 91%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionCheckerImpl.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionCheckerImpl.java
index e5e1eb8..6c2c534e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionCheckerImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreVersionCheckerImpl.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.os.Build;
 
@@ -13,7 +13,7 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
 import org.chromium.base.PackageUtils;
-import org.chromium.chrome.browser.vr_shell.VrCoreInfo.GvrVersion;
+import org.chromium.chrome.browser.vr.VrCoreInfo.GvrVersion;
 
 /**
  * Helper class to check if VrCore version is compatible with Chromium.
@@ -28,8 +28,8 @@
             return new VrCoreInfo(null, VrCoreCompatibility.VR_NOT_SUPPORTED);
         }
         try {
-            String vrCoreSdkLibraryVersionString = VrCoreUtils.getVrCoreSdkLibraryVersion(
-                    ContextUtils.getApplicationContext());
+            String vrCoreSdkLibraryVersionString =
+                    VrCoreUtils.getVrCoreSdkLibraryVersion(ContextUtils.getApplicationContext());
             Version vrCoreSdkLibraryVersion = Version.parse(vrCoreSdkLibraryVersionString);
             Version targetSdkLibraryVersion =
                     Version.parse(com.google.vr.ndk.base.BuildConstants.VERSION);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApi.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApi.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApi.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApi.java
index 20d54c0..d3373faf 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApi.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApi.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.app.PendingIntent;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApiImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApiImpl.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApiImpl.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApiImpl.java
index 68c5f08e..d6770d4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApiImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDaydreamApiImpl.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.app.PendingIntent;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialog.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDialog.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialog.java
index 2971bf33..42faaf5b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialog.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDialogManager.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialogManager.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDialogManager.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialogManager.java
index 6437238..9e90200 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrDialogManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrDialogManager.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.view.View;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrFeedbackStatus.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrFeedbackStatus.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrFeedbackStatus.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrFeedbackStatus.java
index 5967ab61..e52cfcfd 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrFeedbackStatus.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrFeedbackStatus.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import org.chromium.base.ContextUtils;
 import org.chromium.chrome.browser.ChromeFeatureList;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrFirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrFirstRunActivity.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrFirstRunActivity.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrFirstRunActivity.java
index df555dd..b98b591 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrFirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrFirstRunActivity.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.content.Intent;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrInputConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrInputConnection.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrInputConnection.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrInputConnection.java
index 5dd0746..bd1dd4f8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrInputConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrInputConnection.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.os.Handler;
 import android.view.KeyEvent;
@@ -12,7 +12,7 @@
 import org.chromium.base.Log;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
-import org.chromium.chrome.browser.vr_shell.keyboard.TextEditAction;
+import org.chromium.chrome.browser.vr.keyboard.TextEditAction;
 import org.chromium.content_public.browser.ImeAdapter;
 import org.chromium.content_public.browser.WebContents;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrIntentUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrIntentUtils.java
similarity index 96%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrIntentUtils.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrIntentUtils.java
index 4a4e94ef..59952afb 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrIntentUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrIntentUtils.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.app.ActivityOptions;
@@ -14,7 +14,6 @@
 import android.view.Display;
 
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.vr.VrMainActivity;
 
 /**
  * Utilities dealing with extracting information about VR intents.
@@ -26,14 +25,14 @@
     // Tells Chrome not to relaunch itself when receiving a VR intent. This is used by tests since
     // the relaunch logic does not work properly with the DON flow skipped.
     public static final String AVOID_RELAUNCH_EXTRA =
-            "org.chromium.chrome.browser.vr_shell.AVOID_RELAUNCH";
+            "org.chromium.chrome.browser.vr.AVOID_RELAUNCH";
     // Tells Chrome to attempts a relaunch of the intent if it is received outside of VR and doesn't
     // have the Daydream category set. This is a workaround for https://crbug.com/854327 where
     // launchInVr can sometimes launch the given intent before entering VR.
     public static final String ENABLE_TEST_RELAUNCH_WORKAROUND_EXTRA =
-            "org.chromium.chrome.browser.vr_shell.ENABLE_TEST_RELUANCH_WORKAROUND";
+            "org.chromium.chrome.browser.vr.ENABLE_TEST_RELUANCH_WORKAROUND";
 
-    static final String VR_FRE_INTENT_EXTRA = "org.chromium.chrome.browser.vr_shell.VR_FRE";
+    static final String VR_FRE_INTENT_EXTRA = "org.chromium.chrome.browser.vr.VR_FRE";
 
     /**
      * @return Whether or not the given intent is a VR-specific intent.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr/VrMainActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrMainActivity.java
index 00900ac..2242020 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr/VrMainActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrMainActivity.java
@@ -18,8 +18,6 @@
 import org.chromium.chrome.browser.LaunchIntentDispatcher;
 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
 import org.chromium.chrome.browser.util.IntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
 
 import java.lang.ref.WeakReference;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrModalPresenter.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrModalPresenter.java
similarity index 96%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrModalPresenter.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrModalPresenter.java
index 346a3e2..7da6356 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrModalPresenter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrModalPresenter.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.view.Gravity;
 import android.view.View;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrPopupWindow.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrPopupWindow.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrPopupWindow.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrPopupWindow.java
index 07a2b80..395760d5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrPopupWindow.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrPopupWindow.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.content.Context;
 import android.view.Gravity;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShell.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShell.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.java
index 1ff49fb..ec35860 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShell.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShell.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.graphics.PointF;
 import android.widget.FrameLayout;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java
similarity index 99%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java
index c93ee944..b241038 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.animation.Animator;
 import android.animation.Animator.AnimatorListener;
@@ -112,8 +112,7 @@
 
     // Linter and formatter disagree on how the line below should be formatted.
     /* package */
-    static final String VR_ENTRY_RESULT_ACTION =
-            "org.chromium.chrome.browser.vr_shell.VrEntryResult";
+    static final String VR_ENTRY_RESULT_ACTION = "org.chromium.chrome.browser.vr.VrEntryResult";
 
     private static final long REENTER_VR_TIMEOUT_MS = 1000;
     private static final int EXPECT_DON_TIMEOUT_MS = 2000;
@@ -785,7 +784,7 @@
         try {
             Class<? extends VrClassesWrapper> vrClassesBuilderClass =
                     (Class<? extends VrClassesWrapper>) Class.forName(
-                            "org.chromium.chrome.browser.vr_shell.VrClassesWrapperImpl");
+                            "org.chromium.chrome.browser.vr.VrClassesWrapperImpl");
             Constructor<?> vrClassesBuilderConstructor = vrClassesBuilderClass.getConstructor();
             return (VrClassesWrapper) vrClassesBuilderConstructor.newInstance();
         } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
@@ -2062,8 +2061,7 @@
     private void addVrViews() {
         FrameLayout decor = (FrameLayout) mActivity.getWindow().getDecorView();
         LayoutParams params = new FrameLayout.LayoutParams(
-                ViewGroup.LayoutParams.MATCH_PARENT,
-                ViewGroup.LayoutParams.MATCH_PARENT);
+                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
         decor.addView(mVrShell.getContainer(), params);
         // If the overlay exists, make sure to hide the GvrLayout behind it.
         View overlay = mActivity.getWindow().findViewById(R.id.vr_overlay_view);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellImpl.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellImpl.java
index 6ea8d398..e2bf2665 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellImpl.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.annotation.SuppressLint;
 import android.annotation.TargetApi;
@@ -52,7 +52,7 @@
 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
 import org.chromium.chrome.browser.util.FeatureUtilities;
-import org.chromium.chrome.browser.vr_shell.keyboard.VrInputMethodManagerWrapper;
+import org.chromium.chrome.browser.vr.keyboard.VrInputMethodManagerWrapper;
 import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
 import org.chromium.chrome.browser.widget.newtab.NewTabButton;
 import org.chromium.content_public.browser.ImeAdapter;
@@ -957,8 +957,8 @@
                 if (closing) {
                     nativeOnTabRemoved(mNativeVrShell, tab.isIncognito(), tab.getId());
                 } else {
-                    nativeOnTabUpdated(mNativeVrShell, tab.isIncognito(), tab.getId(),
-                            tab.getTitle());
+                    nativeOnTabUpdated(
+                            mNativeVrShell, tab.isIncognito(), tab.getId(), tab.getTitle());
                 }
             }
 
@@ -1283,10 +1283,10 @@
     private native void nativeSetWebVrMode(long nativeVrShell, boolean enabled);
     private native boolean nativeGetWebVrMode(long nativeVrShell);
     private native boolean nativeIsDisplayingUrlForTesting(long nativeVrShell);
-    private native void nativeOnTabListCreated(long nativeVrShell, Tab[] mainTabs,
-            Tab[] incognitoTabs);
-    private native void nativeOnTabUpdated(long nativeVrShell, boolean incognito, int id,
-            String title);
+    private native void nativeOnTabListCreated(
+            long nativeVrShell, Tab[] mainTabs, Tab[] incognitoTabs);
+    private native void nativeOnTabUpdated(
+            long nativeVrShell, boolean incognito, int id, String title);
     private native void nativeOnTabRemoved(long nativeVrShell, boolean incognito, int id);
     private native void nativeCloseAlertDialog(long nativeVrShell);
     private native void nativeSetAlertDialog(long nativeVrShell, float width, float height);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrToast.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrToast.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrToast.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrToast.java
index 9296f4d9..ec9edf9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrToast.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrToast.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.content.Context;
 import android.view.View;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrToastManager.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrToastManager.java
similarity index 90%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrToastManager.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrToastManager.java
index 6343169..743f7d34 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrToastManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrToastManager.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 /**
  * Interface that is needed to manage a VR toast.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrUiWidgetFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrUiWidgetFactory.java
similarity index 97%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrUiWidgetFactory.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrUiWidgetFactory.java
index f25a5d9..8e66e5e9 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrUiWidgetFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrUiWidgetFactory.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.annotation.SuppressLint;
 import android.app.AlertDialog;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrViewContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrViewContainer.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrViewContainer.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrViewContainer.java
index 6d37be0..f4a2b16 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrViewContainer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrViewContainer.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrWindowAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrWindowAndroid.java
similarity index 90%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrWindowAndroid.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/VrWindowAndroid.java
index 904521e..f539a979 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrWindowAndroid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/VrWindowAndroid.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
 import android.app.PendingIntent;
@@ -27,8 +27,8 @@
  * The class provides the WindowAndroid's implementation which requires Activity Instance. It is
  * only intended to be used when in VR.
  */
-public class VrWindowAndroid extends WindowAndroid
-        implements ApplicationStatus.ActivityStateListener {
+public class VrWindowAndroid
+        extends WindowAndroid implements ApplicationStatus.ActivityStateListener {
     public VrWindowAndroid(Context context, DisplayAndroid display) {
         super(context, display);
         Activity activity = activityFromContext(context);
@@ -52,8 +52,8 @@
     }
 
     @Override
-    public int showCancelableIntent(Callback<Integer> intentTrigger, IntentCallback callback,
-            Integer errorId) {
+    public int showCancelableIntent(
+            Callback<Integer> intentTrigger, IntentCallback callback, Integer errorId) {
         return START_INTENT_FAILURE;
     }
 
@@ -81,7 +81,7 @@
         @Override
         public boolean hasPermission(String permission) {
             return ApiCompatibilityUtils.checkPermission(
-                    mApplicationContext, permission, Process.myPid(), Process.myUid())
+                           mApplicationContext, permission, Process.myPid(), Process.myUid())
                     == PackageManager.PERMISSION_GRANTED;
         }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/BuildConstants.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/BuildConstants.java
similarity index 90%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/BuildConstants.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/BuildConstants.java
index c91b06f..5c2b5a1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/BuildConstants.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/BuildConstants.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.chrome.browser.vr_shell.keyboard;
+package org.chromium.chrome.browser.vr.keyboard;
 
 /**
  * Miscellaneous build-related constants.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/GvrKeyboardLoaderClient.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/GvrKeyboardLoaderClient.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java
index 5daf521a..b41fa62 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/GvrKeyboardLoaderClient.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.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.chrome.browser.vr_shell.keyboard;
+package org.chromium.chrome.browser.vr.keyboard;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/TextEditAction.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java
similarity index 90%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/TextEditAction.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java
index 2d7174e9..78981d5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/TextEditAction.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java
@@ -2,12 +2,12 @@
 // 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.vr_shell.keyboard;
+package org.chromium.chrome.browser.vr.keyboard;
 
 import org.chromium.base.VisibleForTesting;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
-import org.chromium.chrome.browser.vr_shell.TextEditActionType;
+import org.chromium.chrome.browser.vr.TextEditActionType;
 
 import java.util.Locale;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/VrInputMethodManagerWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/VrInputMethodManagerWrapper.java
similarity index 98%
rename from chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/VrInputMethodManagerWrapper.java
rename to chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/VrInputMethodManagerWrapper.java
index 795ec9c..28d03ffe 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/VrInputMethodManagerWrapper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/VrInputMethodManagerWrapper.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.chrome.browser.vr_shell.keyboard;
+package org.chromium.chrome.browser.vr.keyboard;
 
 import android.content.Context;
 import android.os.IBinder;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OWNERS b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OWNERS
deleted file mode 100644
index bf69a62..0000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/OWNERS
+++ /dev/null
@@ -1,5 +0,0 @@
-file://chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VR_JAVA_OWNERS
-
-# TEAM: xr-dev@chromium.org
-# COMPONENT: UI>Browser>VR
-# OS: Android
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
index dd97f67..8d4cf85 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
@@ -26,7 +26,7 @@
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.browser.util.MathUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.ui.UiUtils;
 import org.chromium.ui.interpolators.BakedBezierInterpolator;
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java
index 0d522d3..35522268 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java
@@ -41,7 +41,7 @@
 import org.chromium.chrome.browser.toolbar.ToolbarActionModeCallback;
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.browser.util.FeatureUtilities;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.browser.widget.NumberRollView;
 import org.chromium.chrome.browser.widget.TintedDrawable;
 import org.chromium.chrome.browser.widget.TintedImageButton;
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
index a4a98125..285c66da 100644
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -1574,9 +1574,12 @@
       <message name="IDS_SYNC_SETTINGS" desc="Title for preference which enables sync'ing of settings. [CHAR-LIMT=32]">
         Settings
       </message>
-      <message name="IDS_PAYMENTS_INTEGRATION" desc="Title for preference which enables import of Google Pay data for Autofill. 'Google Pay' should not be translated as it is the product name.">
+      <message name="IDS_PAYMENTS_INTEGRATION_LEGACY" desc="Title for preference which enables import of Google Pay data for Autofill. 'Google Pay' should not be translated as it is the product name.">
         Cards and addresses using Google Pay
       </message>
+      <message name="IDS_PAYMENTS_INTEGRATION" desc="Title for preference which enables import of Google Pay data for Autofill. 'Google Pay' should not be translated as it is the product name.">
+        Credit cards and addresses using Google Pay
+      </message>
       <message name="IDS_SYNC_ACTIVITY_AND_INTERACTIONS_TITLE" desc="Title for preference which enables sync'ing of activity and interactions.">
         Activity and interactions
       </message>
@@ -2562,16 +2565,16 @@
       </message>
 
       <!-- Personalized Signin Promos Strings -->
-      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_BOOKMARKS" desc="Description string for 'Continue as' signin promo shown in Bookmarks screen.">
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_BOOKMARKS_LEGACY" desc="Description string for 'Continue as' signin promo shown in Bookmarks screen.">
         To get your bookmarks on all your devices, sign in to Chrome.
       </message>
-      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_NTP_CONTENT_SUGGESTIONS" desc="Description string for 'Continue as' signin promo shown in NTP content suggestions screen.">
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_NTP_CONTENT_SUGGESTIONS_LEGACY" desc="Description string for 'Continue as' signin promo shown in NTP content suggestions screen.">
         To get personalized content suggested by Google, sign in to Chrome.
       </message>
-      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_RECENT_TABS" desc="Description string for 'Continue as' signin promo shown in Recent Tabs screen.">
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_RECENT_TABS_LEGACY" desc="Description string for 'Continue as' signin promo shown in Recent Tabs screen.">
         To get your tabs from your other devices, sign in to Chrome.
       </message>
-      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_SETTINGS" desc="Description string for 'Continue as' signin promo shown in Settings screen.">
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_SETTINGS_LEGACY" desc="Description string for 'Continue as' signin promo shown in Settings screen.">
         Sign in to Chrome to get your bookmarks, passwords, and more on all your devices.
       </message>
       <message name="IDS_SIGNIN_PROMO_CONTINUE_AS" desc="Button that the user can press to login without asking the password and continue using Chrome with this acccount.">
@@ -2581,6 +2584,30 @@
         Not <ph name="EMAIL">%1$s<ex>john.doe@example.com</ex></ph>?
       </message>
       <!-- Strings for signin promos when Unified Consent is enabled. -->
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_BOOKMARKS" desc="Description string for 'Continue as' signin promo shown in Bookmarks screen.">
+        To get your bookmarks on all your devices, turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_BOOKMARKS_NO_ACCOUNT" desc="Description string for 'Continue as' signin promo shown in Bookmarks screen. This version of the string is shown when there are no accounts on the device.">
+        To get your bookmarks on all your devices, sign in and turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_NTP_CONTENT_SUGGESTIONS" desc="Description string for 'Continue as' signin promo shown in NTP content suggestions screen. This version of the string is shown when there are no accounts on the device.">
+        To get personalized content suggested by Google, turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_NTP_CONTENT_SUGGESTIONS_NO_ACCOUNT" desc="Description string for 'Continue as' signin promo shown in NTP content suggestions screen. This version of the string is shown when there are no accounts on the device.">
+        To get personalized content suggested by Google, sign in and turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_RECENT_TABS" desc="Description string for 'Continue as' signin promo shown in Recent Tabs screen.">
+        To get your tabs from your other devices, turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_RECENT_TABS_NO_ACCOUNT" desc="Description string for 'Continue as' signin promo shown in Recent Tabs screen. This version of the string is shown when there are no accounts on the device.">
+        To get your tabs from your other devices, sign in and turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_SETTINGS" desc="Description string for 'Continue as' signin promo shown in Settings screen.">
+        To sync and personalize across devices, turn on sync
+      </message>
+      <message name="IDS_SIGNIN_PROMO_DESCRIPTION_SETTINGS_NO_ACCOUNT" desc="Description string for 'Continue as' signin promo shown in Settings screen. This version of the string is shown when there are no accounts on the device.">
+        To sync and personalize across devices, sign in and turn on sync
+      </message>
       <message name="IDS_SIGNIN_PROMO_CHOOSE_ANOTHER_ACCOUNT" desc="Button that the user can press if they want to select a different account before signing in. This button is shown below 'Continue as Joe Doe' button that signs user in with default account.">
         Choose another account
       </message>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
index 968a2ce..0e67fe60 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">ማብቂያ ቀን <ph name="DATE" /></translation>
 <translation id="1792959175193046959">በማንኛውም ጊዜ ነባሪውን የማውረጃ ቦታ ይቀይሩ</translation>
 <translation id="1807246157184219062">ብርሃን</translation>
+<translation id="1821253160463689938">የእርስዎን ምርጫዎች ለማስታወስ ኩኪዎችን ይጠቀማል፣ እነዚያን ገጾች ባይጎበኙም እንኳ</translation>
 <translation id="1829244130665387512">በዚህ ገጽ ውስጥ የተገኘ</translation>
 <translation id="1832521218263067499">የደህንነት ክስተቶች</translation>
 <translation id="1853692000353488670">አዲስ ማንነት የማያሳውቅ ትር</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">በመላ መሣሪያዎች ላይ ያመሳስሉ እና ግላዊነት ያላብሱ</translation>
 <translation id="2100273922101894616">በራስ-ግባ</translation>
 <translation id="2111511281910874386">ወደዚህ ገጽ ይሂዱ</translation>
+<translation id="2120297377148151361">እንቅስቃሴ እና መስተጋብሮች</translation>
 <translation id="2122601567107267586">መተግበሪያውን መክፈት አልተቻለም</translation>
 <translation id="2126426811489709554">በChrome የጎለበተ</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> ተቀምጧል</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">እገዛ እና ግብረመልስ</translation>
 <translation id="2501278716633472235">ወደ ኋላ ተመለስ</translation>
 <translation id="2512222046227390255">የራስ-ሙላ ቅጾች</translation>
+<translation id="2513403576141822879">ከግላዊነት፣ ደህንነት እና የውሂብ ስብስብ ጋር ለሚዛመዱ ተጨማሪ ቅንብሮች <ph name="BEGIN_LINK" />ስምረት እና የGoogle አገልግሎቶች<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">የሚጎበኙዋቸውን ገጾች ዩአርኤሎች ወደ Google ይልካል</translation>
 <translation id="2526148617758225454">የውሂብ አስቀማጭ በርቷል። በቅንብሮች ውስጥ ያስተዳድሩት።</translation>
 <translation id="2532336938189706096">የድር ዕይታ</translation>
 <translation id="2536728043171574184">የዚህን ገጽ የመስመር ውጭ ቅጂ በመመልከት ላይ</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">ማንነትን በማያሳውቅ ትር ክፈት</translation>
 <translation id="311456632243022227">በርካታ አገናኞች በChrome ውስጥ ተከፍተዋል</translation>
 <translation id="3115898365077584848">መረጃ አሳይ</translation>
+<translation id="3129938255108848489">አንድ ገጽ ሊገኝ ካልቻለ የተመሳሳይ ገጾች የአስተያየት ጥቆማዎችን ያሳያል</translation>
 <translation id="3137521801621304719">ከማንነት የማያሳውቅ ሁነታ ይውጡ</translation>
 <translation id="3148434565183091099">የእርስዎን ዕልባቶች በሁሉም መሣሪያዎችዎ ላይ ለማግኘት ወደ Chrome ይግቡ።</translation>
 <translation id="3157842584138209013">ከተጨማሪ አማራጮች አዝራር ላይ ምን ያህል ውሂብ እንዳስቀመጡ ይመልከቱ</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">መገናኛ ዝጋ</translation>
 <translation id="4378154925671717803">ስልክ</translation>
 <translation id="4384468725000734951">ለፍለጋ Sogouን መጠቀም</translation>
+<translation id="4398088515904522762">ይህን ባህሪ ለመጠቀም፣ <ph name="BEGIN_LINK" />እንቅስቃሴ እና መስተጋብሮች<ph name="END_LINK" />ን ያብሩ።</translation>
 <translation id="4404568932422911380">ምንም ዕልባቶች የሉም</translation>
 <translation id="4409723563706114196">የገጽ ግመታዎችን ይጠቀሙ</translation>
 <translation id="4412992751769744546">የሶስተኛ ወገን ኩኪዎችን ፍቀድ</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">ይህ ጣቢያ አይተረጎምም</translation>
 <translation id="545042621069398927">ውርድዎን በማፍጠን ላይ።</translation>
 <translation id="5456381639095306749">ገጽ አውርድ</translation>
+<translation id="5466407412363861127">ይህ ባህሪ <ph name="BEGIN_LINK" />ስምረት<ph name="END_LINK" />ን ይጠቀማል።</translation>
 <translation id="548278423535722844">በካርታዎች መተግበሪያ ውስጥ ይክፈቱ</translation>
 <translation id="5487521232677179737">ውሂብን አጽዳ</translation>
 <translation id="5487729733663684359">የChrome ዝማኔዎች ከአሁን በኋላ ለዚህ የAndroid ዝማኔዎች አይደገፉም።</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> ተቀምጧል</translation>
 <translation id="5939518447894949180">ዳግም አስጀምር</translation>
 <translation id="5942872142862698679">ለፍለጋ Googleን መጠቀም</translation>
+<translation id="5952764234151283551">ሊደርሱበት እየሞከሩ ያሉትን ገጽ ዩአርኤል ወደ Google ይልካል</translation>
 <translation id="5956665950594638604">የChrome እገዛ ማዕከልን በአዲስ ትር ውስጥ ክፈት</translation>
 <translation id="5958275228015807058">የእርስዎን ፋይሎች እና ገጾች በውርዶች ውስጥ ያግኙ</translation>
 <translation id="5962718611393537961">ለመሰብሰብ መታ ያድርጉ</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">የደህንነት ሊሆኑ የሚችሉ የክስተቶች ዝርዝር በራስ-ሰር ለGoogle ሪፖርት አድርግ</translation>
 <translation id="6992289844737586249">ጣቢያዎች ማይክሮፎንዎን እንዲጠቀሙ ከመፍቀድዎ በፊት ይጠይቅ (የሚመከር)</translation>
 <translation id="7016516562562142042">ለአሁኑ የፍለጋ ፕሮግራም ተፈቅዷል</translation>
+<translation id="7017968314960951695">እርስዎ የሚጎበኙዋቸውን ጣቢያዎች ላይ ይዘትን እንዲሁም የአሰሳ እንቅስቃሴ እና መስተጋብሮች ለግላዊነት ለማላበስ ይጠቀማል</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> ወርዷል</translation>
 <translation id="7022756207310403729">በአሳሽ ውስጥ ክፈት</translation>
 <translation id="7029809446516969842">የይለፍ ቃላት</translation>
 <translation id="7031882061095297553">አሥምር ወደ</translation>
+<translation id="7032663816368481562">እንደዚህ <ph name="ICON" /> ያለ ተጨማሪ በአድራሻ አሞሌ ውስጥ መታ በሚያደርጉበት ጊዜ፣ ለተዛማጅ ገጾች ፈጣን አገናኞችን ያሳዩ። የሚጎበኟቸው ገጾች ዩአርኤሎች ወደ Google ይላካሉ።</translation>
 <translation id="7034608350006174882">Google Payን የሚጠቀሙ ካርዶች እና አድራሻዎች</translation>
 <translation id="7053983685419859001">አግድ</translation>
 <translation id="7055152154916055070">አቅጣጫ ማዞር ታግዷል፦</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">መለያ ያክሉ</translation>
 <translation id="7682724950699840886">የሚከተሉትን ጠቃሚ ምክሮች ይሞክሩ፦ በእርስዎ መሣሪያ ላይ በቂ ባዶ ቦታ መኖሩን ያረጋግጡ፣ ወይም እንደገና ወደ ውጭ ለመላክ ይሞክሩ።</translation>
 <translation id="7698359219371678927">በ<ph name="APP_NAME" /> ውስጥ ኢሜይል ይፍጠሩ</translation>
+<translation id="7704317875155739195">ፍለጋዎችን እና ዩአርኤልዎችን በራስ-አጠናቅቅ</translation>
 <translation id="773466115871691567">ገጾችን ሁልጊዜ በ<ph name="SOURCE_LANGUAGE" /> ተርጉም</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">እርስዎን እና መሣሪያዎን ከአደገኛ ጣቢያዎች ይጠብቃል</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">ተዛማጅ ገጾችን ይጠቁሙ</translation>
 <translation id="8116925261070264013">ድምፀ ከል ተደርጓል</translation>
 <translation id="813082847718468539">የጣቢያ መረጃን ይመልከቱ</translation>
+<translation id="8160722851663543621">ፍለጋዎችን ከአድራሻ አሞሌው እና ከፍለጋ ሳጥኑ እና አንዳንድ ኩኪዎችን ወደ ነባሪው የፍለጋ ፕሮግራምዎ ይልካል</translation>
 <translation id="8168435359814927499">ይዘት</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> ፋይሎች ይቀራሉ</translation>
 <translation id="8190358571722158785">1 ቀን ይቀራል</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">ሙሉ ታሪክ አሳይ</translation>
 <translation id="8420510748452002155">ግላዊነት ያልተላበሱ አገልግሎቶች</translation>
 <translation id="8428213095426709021">ቅንብሮች</translation>
+<translation id="8438566539970814960">ፍለጋዎችን እና አሰሳን የተሻለ አድርግ</translation>
 <translation id="8441146129660941386">ወደኋላ ፈልግ</translation>
 <translation id="8445448999790540984">የይለፍ ቃላትን ወደ ውጭ መላክ አልተቻለም</translation>
 <translation id="8447861592752582886">የመሣሪያ ፈቃድ ሻር</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">እዚህ ምንም የሚታይ ነገር የለም... ገና</translation>
 <translation id="8503559462189395349">የChrome ይለፍ ቃላት</translation>
 <translation id="8503813439785031346">የተጣቃሚ ስም</translation>
+<translation id="8504988642345501642">ወደ ላይ ሲሸበልሉ ለተዛማጅ ገጾች ፈጣን አገናኞችን አሳይ። የሚጎበኟቸው ገጾች ዩአርኤሎች ወደ Google ይላካሉ።</translation>
 <translation id="8514477925623180633">ከChrome ጋር የተከማቹ የይለፍ ቃሎችን ወደ ውጭ ላክ</translation>
 <translation id="8514577642972634246">ማንነት ወደ ማያሳውቅ ሁነታ ይግቡ</translation>
 <translation id="851751545965956758">ጣቢያዎች ከመሣሪያዎች ጋር እንዳይገናኙ አግድ</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
index 315032e..c7558b9 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Крайна дата: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Променете стандартното местоположение за изтегляне по всяко време</translation>
 <translation id="1807246157184219062">Светло</translation>
+<translation id="1821253160463689938">Използва „бисквитки“ за запомняне на предпочитанията ви дори ако не посещавате тези страници</translation>
 <translation id="1829244130665387512">Търсене в страницата</translation>
 <translation id="1832521218263067499">Инциденти, свързани със сигурността</translation>
 <translation id="1853692000353488670">Нов раздел „инкогнито“</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Синхронизиране и персонализиране на всички устройства</translation>
 <translation id="2100273922101894616">Автоматичен вход</translation>
 <translation id="2111511281910874386">Към страницата</translation>
+<translation id="2120297377148151361">Активност и взаимодействия</translation>
 <translation id="2122601567107267586">Приложението не можа да бъде отворено</translation>
 <translation id="2126426811489709554">Предоставено от Chrome</translation>
 <translation id="2131665479022868825">Спестихте <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Помощ и отзиви</translation>
 <translation id="2501278716633472235">Назад</translation>
 <translation id="2512222046227390255">Попълвайте автоматично формуляри</translation>
+<translation id="2513403576141822879">За още настройки за поверителността, сигурността и събирането на данни вижте <ph name="BEGIN_LINK" />Синхронизиране и услуги на Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Изпраща до Google URL адресите на страниците, които посещавате</translation>
 <translation id="2526148617758225454">Разширението Икономия на данни е включено. Управлявайте го от „Настройки“.</translation>
 <translation id="2532336938189706096">Изглед в мрежата</translation>
 <translation id="2536728043171574184">Преглеждате офлайн копие на страницата</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Отваряне в раздел „инкогнито“</translation>
 <translation id="311456632243022227">Няколко връзки са отв. в Chrome</translation>
 <translation id="3115898365077584848">Показване на информацията</translation>
+<translation id="3129938255108848489">Показва предложения за подобни страници, когато дадена страница не може да бъде намерена</translation>
 <translation id="3137521801621304719">Напускане на режима „инкогнито“</translation>
 <translation id="3148434565183091099">Влезте в Chrome, за да получите отметките си на всичките си устройства.</translation>
 <translation id="3157842584138209013">Използвайте бутона „Още опции“, за да видите колко данни сте спестили</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Затваряне на диалоговия прозорец</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4384468725000734951">За търсене ще се използва Sogou</translation>
+<translation id="4398088515904522762">За да използвате тази функция, включете <ph name="BEGIN_LINK" />Активност и взаимодействия<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Няма отметки</translation>
 <translation id="4409723563706114196">Използване на предвижданията за страници</translation>
 <translation id="4412992751769744546">Разрешаване на „бисквитките“ на трети страни</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Този сайт няма да се превежда</translation>
 <translation id="545042621069398927">Изтеглянето се ускорява.</translation>
 <translation id="5456381639095306749">Изтегляне на страницата</translation>
+<translation id="5466407412363861127">Тази функция използва <ph name="BEGIN_LINK" />синхронизиране<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Отваряне в приложение за карти</translation>
 <translation id="5487521232677179737">Изчиств. на данните</translation>
 <translation id="5487729733663684359">Актуализациите на Chrome вече не се поддържат за тази версия на Android.</translation>
@@ -586,6 +593,7 @@
 <translation id="5937580074298050696">Спестени: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Нулиране</translation>
 <translation id="5942872142862698679">За търсене ще се използва Google</translation>
+<translation id="5952764234151283551">Изпраща до Google URL адреса на страницата, която искате да посетите</translation>
 <translation id="5956665950594638604">Отваряне на Помощния център на Chrome в нов раздел</translation>
 <translation id="5958275228015807058">Намерете файловете и страниците си в „Изтегляния“</translation>
 <translation id="5962718611393537961">Докоснете за свиване</translation>
@@ -713,10 +721,12 @@
 <translation id="699220179437400583">Автоматично съобщаване на Google на подробности за евентуални инциденти, свързани със сигурността</translation>
 <translation id="6992289844737586249">Извеждане на запитване, преди да се разреши на сайтовете да използват микрофона (препоръчително)</translation>
 <translation id="7016516562562142042">Разрешено за текущата търсеща машина</translation>
+<translation id="7017968314960951695">Използва за персонализиране съдържанието на посещаваните от вас сайтове, както и активността в браузъра и взаимодействията с него</translation>
 <translation id="7021515813996758557">„<ph name="FILE_NAME" />“ се изтегли</translation>
 <translation id="7022756207310403729">Отваряне в браузъра</translation>
 <translation id="7029809446516969842">Пароли</translation>
 <translation id="7031882061095297553">Синхронизиране със</translation>
+<translation id="7032663816368481562">Когато докоснете „Още подобни на това“ <ph name="ICON" /> в адресната лента, показва връзки за бърз достъп до сродни страници. URL адресите на страниците, които посещавате, се изпращат до Google.</translation>
 <translation id="7034608350006174882">Карти и адреси посредством Google Pay</translation>
 <translation id="7053983685419859001">Блокиране</translation>
 <translation id="7055152154916055070">Блокирано бе пренасочване:</translation>
@@ -794,6 +804,7 @@
 <translation id="7665369617277396874">Добавяне на профил</translation>
 <translation id="7682724950699840886">Изпробвайте следните съвети: Уверете се, че има достатъчно място на устройството ви. Опитайте отново да експортирате.</translation>
 <translation id="7698359219371678927">Създайте имейл в <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Автоматично довършване на заявки за търсене и URL адреси</translation>
 <translation id="773466115871691567">Страниците на <ph name="SOURCE_LANGUAGE" /> да се превеждат винаги</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Защитава вас и устройството ви от опасни сайтове</translation>
@@ -848,6 +859,7 @@
 <translation id="8105951947646329362">Предложения за сродни страници</translation>
 <translation id="8116925261070264013">Заглушени</translation>
 <translation id="813082847718468539">Преглед на информацията за сайта</translation>
+<translation id="8160722851663543621">Изпраща заявките за търсене от адресната лента и полето за търсене, както и някои „бисквитки“, до стандартната ви търсеща машина</translation>
 <translation id="8168435359814927499">Съдържание</translation>
 <translation id="8186512483418048923">Остават <ph name="FILES" /> файла</translation>
 <translation id="8190358571722158785">Остава 1 ден</translation>
@@ -872,6 +884,7 @@
 <translation id="8413126021676339697">Показване на пълната история</translation>
 <translation id="8420510748452002155">Неперсонализирани услуги</translation>
 <translation id="8428213095426709021">Настройки</translation>
+<translation id="8438566539970814960">Подобряване на търсенията и сърфирането</translation>
 <translation id="8441146129660941386">Придвижване назад</translation>
 <translation id="8445448999790540984">Паролите не могат да бъдат експортирани</translation>
 <translation id="8447861592752582886">Отмяна на разрешението за достъп до устройството</translation>
@@ -881,6 +894,7 @@
 <translation id="8497726226069778601">Тук няма нищо… засега</translation>
 <translation id="8503559462189395349">Пароли в Chrome</translation>
 <translation id="8503813439785031346">Потребителско име</translation>
+<translation id="8504988642345501642">При превъртане нагоре се показват връзки за бърз достъп до сродни страници. URL адресите на страниците, които посещавате, се изпращат до Google.</translation>
 <translation id="8514477925623180633">Експортиране на паролите, съхранявани в Chrome</translation>
 <translation id="8514577642972634246">Влизане в режим „инкогнито“</translation>
 <translation id="851751545965956758">Блокиране на сайтовете, така че да не се свързват с устройства</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
index 97ad826..b95c671 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Data de finalització: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Canvia la ubicació predeterminada de baixada en qualsevol moment</translation>
 <translation id="1807246157184219062">Clar</translation>
+<translation id="1821253160463689938">Utilitza galetes per recordar les teves preferències, fins i tot si no visites aquestes pàgines</translation>
 <translation id="1829244130665387512">Cerca a la pàgina</translation>
 <translation id="1832521218263067499">Incidències de seguretat</translation>
 <translation id="1853692000353488670">Pestanya d'incògnit nova</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sincronitza i personalitza el contingut en tots els dispositius</translation>
 <translation id="2100273922101894616">Inici de sessió automàtic</translation>
 <translation id="2111511281910874386">Ves a la pàgina</translation>
+<translation id="2120297377148151361">Activitat i interaccions</translation>
 <translation id="2122601567107267586">L'aplicació no s'ha pogut obrir</translation>
 <translation id="2126426811489709554">Amb tecnologia de Chrome</translation>
 <translation id="2131665479022868825">Dades estalviades: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Ajuda i suggeriments </translation>
 <translation id="2501278716633472235">Enrere</translation>
 <translation id="2512222046227390255">Emplena formularis automàticament</translation>
+<translation id="2513403576141822879">Per trobar més opcions relacionades amb la privadesa, la seguretat i la recopilació de dades, consulta <ph name="BEGIN_LINK" />Sincronització i serveis de Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Envia a Google els URL de les pàgines que visites</translation>
 <translation id="2526148617758225454">L'Economitzador de dades està activat. Gestioneu-lo a Configuració.</translation>
 <translation id="2532336938189706096">Visualització web</translation>
 <translation id="2536728043171574184">S'està mostrant una còpia sense connexió d'aquesta pàgina</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Obre en una pestanya d'incògnit</translation>
 <translation id="311456632243022227">Diversos enllaços oberts a Chrome</translation>
 <translation id="3115898365077584848">Mostra la informació</translation>
+<translation id="3129938255108848489">Mostra suggeriments de pàgines similars quan no se'n trobi cap</translation>
 <translation id="3137521801621304719">Surt del mode d'incògnit</translation>
 <translation id="3148434565183091099">Inicieu la sessió a Chrome per accedir a les adreces d'interès des de tots els dispositius.</translation>
 <translation id="3157842584138209013">Consulta la quantitat de dades que has estalviat des del botó Més opcions</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Tanca el quadre de diàleg</translation>
 <translation id="4378154925671717803">Telèfon</translation>
 <translation id="4384468725000734951">S'utilitza Sogou per a la cerca</translation>
+<translation id="4398088515904522762">Per utilitzar aquesta funció, activa l'opció <ph name="BEGIN_LINK" />Activitat i interaccions<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Cap adreça d'interès</translation>
 <translation id="4409723563706114196">Utilitza les prediccions de pàgines</translation>
 <translation id="4412992751769744546">Permet les galetes de tercers</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Aquest lloc web no es traduirà</translation>
 <translation id="545042621069398927">S'està accelerant la baixada.</translation>
 <translation id="5456381639095306749">Baixa la pàgina</translation>
+<translation id="5466407412363861127">Aquesta funció utilitza la <ph name="BEGIN_LINK" />sincronització<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Obre en una aplicació de mapes</translation>
 <translation id="5487521232677179737">Esborra les dades</translation>
 <translation id="5487729733663684359">Aquesta versió d'Android ja no admet les actualitzacions de Chrome.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Dades estalviades: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Restableix</translation>
 <translation id="5942872142862698679">S'utilitza Google per a la cerca</translation>
+<translation id="5952764234151283551">Envia a Google l'URL d'una pàgina que estàs provant de visitar</translation>
 <translation id="5956665950594638604">Obre Centre d'ajuda de Chrome en una pestanya nova</translation>
 <translation id="5958275228015807058">Trobaràs els teus fitxers i les teves pàgines a Baixades</translation>
 <translation id="5962718611393537961">Toca per replegar</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Informa automàticament Google dels detalls sobre possibles incidències de seguretat</translation>
 <translation id="6992289844737586249">Pregunta abans de permetre que els llocs utilitzin el micròfon (opció recomanada)</translation>
 <translation id="7016516562562142042">Es permet al motor de cerca actual</translation>
+<translation id="7017968314960951695">Per a la personalització, utilitza el contingut dels llocs web que visites i l'activitat i les interaccions del navegador</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> s'ha baixat</translation>
 <translation id="7022756207310403729">Obre al navegador</translation>
 <translation id="7029809446516969842">Contrasenyes</translation>
 <translation id="7031882061095297553">Sincronitza amb</translation>
+<translation id="7032663816368481562">En tocar Més contingut com aquest <ph name="ICON" /> a la barra d'adreces, es mostren enllaços ràpids a pàgines relacionades. Els URL de les pàgines que visites s'envien a Google.</translation>
 <translation id="7034608350006174882">Targetes i adreces que fan servir Google Pay</translation>
 <translation id="7053983685419859001">Bloqueja</translation>
 <translation id="7055152154916055070">S'ha bloquejat la redirecció:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Afegeix un compte</translation>
 <translation id="7682724950699840886">Segueix aquests consells: comprova que hi hagi prou espai al dispositiu i prova d'exportar les contrasenyes de nou.</translation>
 <translation id="7698359219371678927">Crea una adreça electrònica a <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Completa automàticament les cerques i els URL</translation>
 <translation id="773466115871691567">Tradueix sempre les pàgines en <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Et protegeix i protegeix el teu dispositiu de llocs web perillosos</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Suggereix pàgines relacionades</translation>
 <translation id="8116925261070264013">Silenciats</translation>
 <translation id="813082847718468539">Mostra la informació del lloc</translation>
+<translation id="8160722851663543621">Envia al motor de cerca predeterminat algunes galetes i cerques de la barra d'adreces i del quadre de cerca</translation>
 <translation id="8168435359814927499">Contingut</translation>
 <translation id="8186512483418048923">Queden <ph name="FILES" /> fitxers</translation>
 <translation id="8190358571722158785">Queda 1 dia</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Mostra l'historial complet</translation>
 <translation id="8420510748452002155">Serveis no personalitzats</translation>
 <translation id="8428213095426709021">Configuració</translation>
+<translation id="8438566539970814960">Millora les cerques i la navegació</translation>
 <translation id="8441146129660941386">Retrocedeix</translation>
 <translation id="8445448999790540984">No es poden exportar les contrasenyes</translation>
 <translation id="8447861592752582886">Revoca el permís d'accés al dispositiu</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Aquí encara no hi ha contingut per mostrar</translation>
 <translation id="8503559462189395349">Contrasenyes de Chrome</translation>
 <translation id="8503813439785031346">Nom d'usuari</translation>
+<translation id="8504988642345501642">En desplaçar-te cap amunt, es mostren enllaços ràpids a pàgines relacionades. Els URL de les pàgines que visites s'envien a Google.</translation>
 <translation id="8514477925623180633">Exporta les contrasenyes emmagatzemades a Chrome</translation>
 <translation id="8514577642972634246">Entra al mode d'incògnit</translation>
 <translation id="851751545965956758">Impedeix que els llocs web es connectin a dispositius</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
index 7e17506..d0c793d5 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Enddatum: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Sie können den Standard-Downloadpfad jederzeit ändern</translation>
 <translation id="1807246157184219062">Hell</translation>
+<translation id="1821253160463689938">Zum Speichern Ihrer Einstellungen werden Cookies verwendet, auch wenn Sie diese Seiten nicht besuchen</translation>
 <translation id="1829244130665387512">Auf Seite suchen</translation>
 <translation id="1832521218263067499">Sicherheitsrelevante Zwischenfälle</translation>
 <translation id="1853692000353488670">Neuer Inkognito-Tab</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Geräteübergreifend synchronisieren und personalisieren</translation>
 <translation id="2100273922101894616">Automatisch anmelden</translation>
 <translation id="2111511281910874386">Seite aufrufen</translation>
+<translation id="2120297377148151361">Aktivitäten und Interaktionen</translation>
 <translation id="2122601567107267586">App konnte nicht geöffnet werden</translation>
 <translation id="2126426811489709554">Powered by Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> eingespart</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Hilfe und Feedback</translation>
 <translation id="2501278716633472235">Zurück</translation>
 <translation id="2512222046227390255">Formulare automatisch ausfüllen</translation>
+<translation id="2513403576141822879">Weitere Einstellungen in Verbindung mit Datenschutz, Sicherheit und der Erhebung von Daten finden Sie unter <ph name="BEGIN_LINK" />Synchronisierung und Google-Dienste<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">URLs der von Ihnen besuchten Seiten werden an Google gesendet</translation>
 <translation id="2526148617758225454">Der Datensparmodus ist aktiviert. Über die Einstellungen können Sie ihn wieder deaktivieren.</translation>
 <translation id="2532336938189706096">Web-Ansicht</translation>
 <translation id="2536728043171574184">Eine Offline-Kopie dieser Seite wird angezeigt.</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">In Inkognito-Tab öffnen</translation>
 <translation id="311456632243022227">Mehrere Links in Chrome geöffnet</translation>
 <translation id="3115898365077584848">Informationen anzeigen</translation>
+<translation id="3129938255108848489">Vorschläge für ähnliche Seiten anzeigen, wenn eine Seite nicht gefunden werden kann</translation>
 <translation id="3137521801621304719">Inkognitomodus deaktivieren</translation>
 <translation id="3148434565183091099">Melden Sie sich in Chrome an, um Ihre Lesezeichen auf allen Ihren Geräten zu haben.</translation>
 <translation id="3157842584138209013">Über die Schaltfläche "Weitere Optionen" können Sie sich ansehen, wie viel Datenvolumen Sie einsparen</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Dialogfeld schließen</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4384468725000734951">Suche erfolgt mit Sogou</translation>
+<translation id="4398088515904522762">Wenn Sie diese Funktion verwenden möchten, aktivieren Sie <ph name="BEGIN_LINK" />Aktivitäten und Interaktionen<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Keine Lesezeichen</translation>
 <translation id="4409723563706114196">Vervollständigungen für Seiten verwenden</translation>
 <translation id="4412992751769744546">Cookies Dritter zulassen</translation>
@@ -516,6 +522,7 @@
 <translation id="5447765697759493033">Diese Website wird nicht übersetzt</translation>
 <translation id="545042621069398927">Download wird beschleunigt.</translation>
 <translation id="5456381639095306749">Seite herunterladen</translation>
+<translation id="5466407412363861127">Für diese Funktion wird die <ph name="BEGIN_LINK" />Synchronisierung<ph name="END_LINK" /> genutzt.</translation>
 <translation id="548278423535722844">In einer Karten-App öffnen</translation>
 <translation id="5487521232677179737">Daten löschen</translation>
 <translation id="5487729733663684359">Chrome-Updates werden für diese Version von Android nicht mehr unterstützt.</translation>
@@ -586,6 +593,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> gespeichert</translation>
 <translation id="5939518447894949180">Zurücksetzen</translation>
 <translation id="5942872142862698679">Suche erfolgt mit Google</translation>
+<translation id="5952764234151283551">Die URL einer Seite, die Sie aufrufen möchten, wird an Google gesendet</translation>
 <translation id="5956665950594638604">Chrome-Hilfe in einem neuen Tab öffnen</translation>
 <translation id="5958275228015807058">Ihre Dateien und Seiten finden Sie unter "Downloads"</translation>
 <translation id="5962718611393537961">Zum Minimieren tippen</translation>
@@ -713,10 +721,12 @@
 <translation id="699220179437400583">Details zu möglichen sicherheitsrelevanten Zwischenfällen automatisch an Google senden</translation>
 <translation id="6992289844737586249">Nachfragen, bevor Websites auf Ihr Mikrofon zugreifen dürfen (empfohlen)</translation>
 <translation id="7016516562562142042">Für die aktuelle Suchmaschine zugelassen</translation>
+<translation id="7017968314960951695">Inhalte von besuchten Websites sowie Browseraktivitäten und -interaktionen werden zur Personalisierung verwendet</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> heruntergeladen</translation>
 <translation id="7022756207310403729">Im Browser öffnen</translation>
 <translation id="7029809446516969842">Passwörter</translation>
 <translation id="7031882061095297553">Synchronisieren mit</translation>
+<translation id="7032663816368481562">Wenn Sie in der Adressleiste auf "Weitere Ähnliche" <ph name="ICON" /> tippen, werden Quick Links zu ähnlichen Seiten angezeigt. Die URLs der von Ihnen besuchten Seiten werden an Google gesendet.</translation>
 <translation id="7034608350006174882">Karten und Adressen aus Google Pay</translation>
 <translation id="7053983685419859001">Blockieren</translation>
 <translation id="7055152154916055070">Weiterleitung blockiert:</translation>
@@ -794,6 +804,7 @@
 <translation id="7665369617277396874">Konto hinzufügen</translation>
 <translation id="7682724950699840886">Probieren Sie folgende Tipps aus: Sorgen Sie dafür, dass auf Ihrem Gerät ausreichend Speicherplatz vorhanden ist, und wiederholen Sie den Export.</translation>
 <translation id="7698359219371678927">E-Mail in <ph name="APP_NAME" /> erstellen</translation>
+<translation id="7704317875155739195">Suchanfragen und URLs automatisch vervollständigen</translation>
 <translation id="773466115871691567">Seiten auf <ph name="SOURCE_LANGUAGE" /> immer übersetzen</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Mich und mein Gerät vor schädlichen Websites schützen</translation>
@@ -831,7 +842,7 @@
 <translation id="802154636333426148">Downloadfehler</translation>
 <translation id="8026334261755873520">Browserdaten löschen</translation>
 <translation id="8035133914807600019">Neuer Ordner…</translation>
-<translation id="8037686209485537503">Mehr hierzu</translation>
+<translation id="8037686209485537503">Weitere ähnliche</translation>
 <translation id="8037750541064988519"><ph name="DAYS" /> Tage übrig</translation>
 <translation id="804335162455518893">SD-Karte nicht gefunden</translation>
 <translation id="805047784848435650">Basierend auf Ihrem Browserverlauf</translation>
@@ -848,6 +859,7 @@
 <translation id="8105951947646329362">Ähnliche Seiten vorschlagen</translation>
 <translation id="8116925261070264013">Stummgeschaltet</translation>
 <translation id="813082847718468539">Website-Informationen anzeigen</translation>
+<translation id="8160722851663543621">Suchanfragen, die in die Adressleiste oder das Suchfeld eingegeben wurden, sowie einige Cookies werden an Ihre Standardsuchmaschine gesendet</translation>
 <translation id="8168435359814927499">Inhalte</translation>
 <translation id="8186512483418048923">Noch <ph name="FILES" /> Dateien</translation>
 <translation id="8190358571722158785">1 Tag übrig</translation>
@@ -872,6 +884,7 @@
 <translation id="8413126021676339697">Gesamtverlauf anzeigen</translation>
 <translation id="8420510748452002155">Nicht-personalisierte Dienste</translation>
 <translation id="8428213095426709021">Einstellungen</translation>
+<translation id="8438566539970814960">Suchanfragen und das Surfen verbessern</translation>
 <translation id="8441146129660941386">Zurück navigieren</translation>
 <translation id="8445448999790540984">Passwörter können nicht exportiert werden</translation>
 <translation id="8447861592752582886">Zugriffsberechtigung auf Gerät widerrufen</translation>
@@ -881,6 +894,7 @@
 <translation id="8497726226069778601">Noch keine Seiten</translation>
 <translation id="8503559462189395349">Chrome-Passwörter</translation>
 <translation id="8503813439785031346">Nutzername</translation>
+<translation id="8504988642345501642">Wenn Sie nach oben scrollen, werden Quick Links zu ähnlichen Seiten angezeigt. Die URLs der von Ihnen besuchten Seiten werden an Google gesendet.</translation>
 <translation id="8514477925623180633">In Chrome gespeicherte Passwörter exportieren</translation>
 <translation id="8514577642972634246">Inkognitomodus aktivieren</translation>
 <translation id="851751545965956758">Verhindern, dass Websites eine Verbindung zu Geräten herstellen</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
index f3cdc12..13355f1 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Ημερομηνία λήξης: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Αλλάξτε την προεπιλεγμένη τοποθεσία λήψης ανά πάσα στιγμή</translation>
 <translation id="1807246157184219062">Ανοιχτόχρωμο</translation>
+<translation id="1821253160463689938">Χρησιμοποιεί cookie για την απομνημόνευση των προτιμήσεών σας, ακόμα κι αν δεν επισκέπτεστε αυτές τις σελίδες</translation>
 <translation id="1829244130665387512">Εύρεση στη σελίδα</translation>
 <translation id="1832521218263067499">Συμβάντα ασφαλείας</translation>
 <translation id="1853692000353488670">Νέα καρτέλα ανώνυμης περιήγησης</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Συγχρονισμός και εξατομίκευση σε όλες τις συσκευές</translation>
 <translation id="2100273922101894616">Αυτόματη σύνδεση</translation>
 <translation id="2111511281910874386">Μετάβαση στη σελίδα</translation>
+<translation id="2120297377148151361">Δραστηριότητα και αλληλεπιδράσεις</translation>
 <translation id="2122601567107267586">Δεν ήταν δυνατό το άνοιγμα της εφαρμογής</translation>
 <translation id="2126426811489709554">Με την υποστήριξη του Chrome</translation>
 <translation id="2131665479022868825">Αποθηκεύτηκαν <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Βοήθεια και σχόλια</translation>
 <translation id="2501278716633472235">Επιστροφή</translation>
 <translation id="2512222046227390255">Συμπληρώστε αυτόματα φόρμες</translation>
+<translation id="2513403576141822879">Για περισσότερες ρυθμίσεις που σχετίζονται με το απόρρητο, την ασφάλεια και τη συλλογή δεδομένων, ανατρέξτε στην ενότητα <ph name="BEGIN_LINK" />Συγχρονισμός και υπηρεσίες Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Αποστέλλει στην Google URL των σελίδων που επισκέπτεστε</translation>
 <translation id="2526148617758225454">Η Εξοικονόμηση δεδομένων είναι ενεργή. Διαχειριστείτε τη στις Ρυθμίσεις.</translation>
 <translation id="2532336938189706096">Προβολή ιστού</translation>
 <translation id="2536728043171574184">Προβολή ενός αντιγράφου αυτής της σελίδας εκτός σύνδεσης</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Άνοιγμα σε καρτέλα ανώνυμης περιήγησης</translation>
 <translation id="311456632243022227">Πολλοί ανοιχτοί σύνδεσμοι στο Chrome</translation>
 <translation id="3115898365077584848">Πληροφορίες εκπομπής</translation>
+<translation id="3129938255108848489">Εμφανίζει προτάσεις για παρόμοιες σελίδες, όταν δεν είναι δυνατή η εύρεση μιας σελίδας</translation>
 <translation id="3137521801621304719">Έξοδος από την κατάσταση ανώνυμης περιήγησης</translation>
 <translation id="3148434565183091099">Για να εμφανίζονται οι σελιδοδείκτες σας σε όλες τις συσκευές σας, συνδεθείτε στο Chrome.</translation>
 <translation id="3157842584138209013">Δείτε πόσα δεδομένα έχετε αποθηκεύσει από το κουμπί "Περισσότερες επιλογές"</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Κλείσιμο παραθύρου διαλόγου</translation>
 <translation id="4378154925671717803">Τηλέφωνο</translation>
 <translation id="4384468725000734951">Χρήση του Sogou για αναζήτηση</translation>
+<translation id="4398088515904522762">Προκειμένου να χρησιμοποιήσετε αυτήν τη λειτουργία, ενεργοποιήστε το στοιχείο <ph name="BEGIN_LINK" />Δραστηριότητα και αλληλεπιδράσεις<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Δεν υπάρχουν σελιδοδείκτες</translation>
 <translation id="4409723563706114196">Χρήση προβλέψεων σελίδας</translation>
 <translation id="4412992751769744546">Αποδοχή cookie τρίτου μέρους</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Αυτός ο ιστότοπος δεν θα μεταφραστεί</translation>
 <translation id="545042621069398927">Επιτάχυνση της λήψης σας.</translation>
 <translation id="5456381639095306749">Λήψη σελίδας</translation>
+<translation id="5466407412363861127">Αυτή η λειτουργία χρησιμοποιεί <ph name="BEGIN_LINK" />συγχρονισμό<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Άνοιγμα σε εφαρμογή χαρτών</translation>
 <translation id="5487521232677179737">Διαγραφή δεδομένων</translation>
 <translation id="5487729733663684359">Οι ενημερώσεις Chrome δεν υποστηρίζονται πλέον για αυτήν την έκδοση Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Εξοικονομήθηκαν <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Επαναφορά</translation>
 <translation id="5942872142862698679">Χρήση του Google για αναζήτηση</translation>
+<translation id="5952764234151283551">Αποστέλλει στην Google το URL μιας σελίδας στην οποία προσπαθείτε να μεταβείτε</translation>
 <translation id="5956665950594638604">Άνοιγμα Κέντρου βοήθειας Chrome σε νέα καρτέλα</translation>
 <translation id="5958275228015807058">Βρείτε τα αρχεία και τις σελίδες σας στις Λήψεις</translation>
 <translation id="5962718611393537961">Πατήστε για σύμπτυξη</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Αυτόματη αναφορά στην Google των λεπτομερειών πιθανών περιστατικών ασφάλειας</translation>
 <translation id="6992289844737586249">Να γίνεται ερώτηση προτού επιτραπεί στους ιστότοπους να χρησιμοποιήσουν το μικρόφωνό σας (συνιστάται)</translation>
 <translation id="7016516562562142042">Επιτράπηκε για την τρέχουσα μηχανή αναζήτησης</translation>
+<translation id="7017968314960951695">Χρησιμοποιεί περιεχόμενο από τους ιστοτόπους που επισκέπτεστε, καθώς και δραστηριότητα και αλληλεπιδράσεις του προγράμματος περιήγησης, για εξατομίκευση.</translation>
 <translation id="7021515813996758557">Έγινε λήψη του αρχείου <ph name="FILE_NAME" /></translation>
 <translation id="7022756207310403729">Άνοιγμα σε πρόγρ. περιήγησης</translation>
 <translation id="7029809446516969842">Κωδικοί πρόσβασης</translation>
 <translation id="7031882061095297553">Συγχρονισμός με</translation>
+<translation id="7032663816368481562">Όταν πατάτε το εικονίδιο "Περισσότερα σαν αυτό" <ph name="ICON" /> στη γραμμή διευθύνσεων, θα εμφανίζονται γρήγοροι σύνδεσμοι για σχετικές σελίδες. Τα URL των σελίδων που επισκέπτεστε αποστέλλονται στην Google.</translation>
 <translation id="7034608350006174882">Κάρτες και διευθύνσεις που χρησιμοποιούν το Google Pay.</translation>
 <translation id="7053983685419859001">Αποκλεισμός</translation>
 <translation id="7055152154916055070">Αποκλεισμένη ανακατεύθυνση:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Προσθήκη λογαριασμού</translation>
 <translation id="7682724950699840886">Δοκιμάστε τις παρακάτω συμβουλές: Βεβαιωθείτε ότι υπάρχει αρκετός χώρος στη συσκευή σας. Δοκιμάστε να επαναλάβετε την εξαγωγή.</translation>
 <translation id="7698359219371678927">Δημιουργία μηνύματος ηλεκτρονικού ταχυδρομείου στην εφαρμογή <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Αυτόματη συμπλήρωση αναζητήσεων και URL</translation>
 <translation id="773466115871691567">Να μεταφράζονται πάντα οι σελίδες προς τα <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Προστατεύει εσάς και τη συσκευή σας από επικίνδυνους ιστοτόπους</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Προτάσεις για σχετικές σελίδες</translation>
 <translation id="8116925261070264013">Σε σίγαση</translation>
 <translation id="813082847718468539">Προβολή πληροφοριών τοποθεσίας</translation>
+<translation id="8160722851663543621">Αποστέλλει αναζητήσεις από τη γραμμή διευθύνσεων και το πλαίσιο αναζήτησης, καθώς και ορισμένα cookie στην προεπιλεγμένη μηχανή αναζήτησης</translation>
 <translation id="8168435359814927499">Περιεχόμενο</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> αρχεία απομένουν</translation>
 <translation id="8190358571722158785">Απομένει 1 ημέρα</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Εμφάνιση πλήρους ιστορικού</translation>
 <translation id="8420510748452002155">Μη εξατομικευμένες υπηρεσίες</translation>
 <translation id="8428213095426709021">Ρυθμίσεις</translation>
+<translation id="8438566539970814960">Βελτιώστε τις αναζητήσεις και την περιήγηση</translation>
 <translation id="8441146129660941386">Αναζήτηση προς τα πίσω</translation>
 <translation id="8445448999790540984">Δεν είναι δυνατή η εξαγωγή κωδικών πρόσβασης</translation>
 <translation id="8447861592752582886">Ανάκληση άδειας συσκευής</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Δεν υπάρχει τίποτα να δείτε εδώ…ακόμη</translation>
 <translation id="8503559462189395349">Κωδικοί πρόσβασης Chrome</translation>
 <translation id="8503813439785031346">Όνομα χρήστη</translation>
+<translation id="8504988642345501642">Όταν κάνετε κύλιση προς τα επάνω, θα εμφανίζονται γρήγοροι σύνδεσμοι για σχετικές σελίδες. Τα URL των σελίδων που επισκέπτεστε αποστέλλονται στην Google.</translation>
 <translation id="8514477925623180633">Εξαγωγή κωδικών πρόσβασης που έχουν αποθηκευτεί στο Chrome</translation>
 <translation id="8514577642972634246">Είσοδος στην κατάσταση ανώνυμης περιήγησης</translation>
 <translation id="851751545965956758">Αποκλεισμός ιστοτόπων από τη σύνδεση σε συσκευές</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
index 74b4190..6cc0b25 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">End date <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Change the default download location at any time</translation>
 <translation id="1807246157184219062">Light</translation>
+<translation id="1821253160463689938">Uses cookies to remember your preferences, even if you don't visit those pages</translation>
 <translation id="1829244130665387512">Find in page</translation>
 <translation id="1832521218263067499">Security incidents</translation>
 <translation id="1853692000353488670">New incognito tab</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sync and personalise across devices</translation>
 <translation id="2100273922101894616">Auto Sign-in</translation>
 <translation id="2111511281910874386">Go to page</translation>
+<translation id="2120297377148151361">Activity and interactions</translation>
 <translation id="2122601567107267586">Could not open app</translation>
 <translation id="2126426811489709554">Powered by Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> saved</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Help &amp; feedback</translation>
 <translation id="2501278716633472235">Go back</translation>
 <translation id="2512222046227390255">Auto-fill forms</translation>
+<translation id="2513403576141822879">For more settings that relate to privacy, security and data collection, see <ph name="BEGIN_LINK" />Sync and Google services<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Sends URLs of pages that you visit to Google</translation>
 <translation id="2526148617758225454">Data Saver is on. Manage it in Settings.</translation>
 <translation id="2532336938189706096">Web View</translation>
 <translation id="2536728043171574184">Viewing an offline copy of this page</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Open in incognito tab</translation>
 <translation id="311456632243022227">Multiple links opened in Chrome</translation>
 <translation id="3115898365077584848">Show info</translation>
+<translation id="3129938255108848489">Shows suggestions for similar pages when a page can't be found</translation>
 <translation id="3137521801621304719">Leave incognito mode</translation>
 <translation id="3148434565183091099">To get your bookmarks on all your devices, sign in to Chrome.</translation>
 <translation id="3157842584138209013">See how much data that you've saved from the More Options button</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Close dialogue</translation>
 <translation id="4378154925671717803">Phone</translation>
 <translation id="4384468725000734951">Using Sogou for search</translation>
+<translation id="4398088515904522762">To use this feature, turn on <ph name="BEGIN_LINK" />Activity and interactions<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">No bookmarks</translation>
 <translation id="4409723563706114196">Use page predictions</translation>
 <translation id="4412992751769744546">Allow third-party cookies</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">This site will not be translated</translation>
 <translation id="545042621069398927">Speeding up your download.</translation>
 <translation id="5456381639095306749">Download page</translation>
+<translation id="5466407412363861127">This feature uses <ph name="BEGIN_LINK" />sync<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Open in maps app</translation>
 <translation id="5487521232677179737">Clear data</translation>
 <translation id="5487729733663684359">Chrome updates are no longer supported for this version of Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> saved</translation>
 <translation id="5939518447894949180">Reset</translation>
 <translation id="5942872142862698679">Using Google for search</translation>
+<translation id="5952764234151283551">Sends the URL of a page that you're trying to reach to Google</translation>
 <translation id="5956665950594638604">Open the Chrome Help Centre in a new tab</translation>
 <translation id="5958275228015807058">Find your files and pages in Downloads</translation>
 <translation id="5962718611393537961">Tap to collapse</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automatically report details of possible security incidents to Google</translation>
 <translation id="6992289844737586249">Ask first before allowing sites to use your microphone (recommended)</translation>
 <translation id="7016516562562142042">Allowed for current search engine</translation>
+<translation id="7017968314960951695">Uses content on sites that you visit and browser activity and interactions for personalisation</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> downloaded</translation>
 <translation id="7022756207310403729">Open in browser</translation>
 <translation id="7029809446516969842">Passwords</translation>
 <translation id="7031882061095297553">Sync to</translation>
+<translation id="7032663816368481562">When you tap More like this <ph name="ICON" /> in the address bar, show quick links to related pages. The URLs of pages that you visit are sent to Google.</translation>
 <translation id="7034608350006174882">Cards and addresses using Google Pay</translation>
 <translation id="7053983685419859001">Block</translation>
 <translation id="7055152154916055070">Redirect blocked:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Add account</translation>
 <translation id="7682724950699840886">Try the following tips: make sure that there is enough space on your device; try to export again.</translation>
 <translation id="7698359219371678927">Create email in <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Auto-complete searches and URLs</translation>
 <translation id="773466115871691567">Always translate pages in <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Protects you and your device from dangerous sites</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Suggest related pages</translation>
 <translation id="8116925261070264013">Muted</translation>
 <translation id="813082847718468539">View site information</translation>
+<translation id="8160722851663543621">Sends searches from the address bar and search box, and some cookies to your default search engine</translation>
 <translation id="8168435359814927499">Content</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> files left</translation>
 <translation id="8190358571722158785">1 day left</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Show full history</translation>
 <translation id="8420510748452002155">Non-personalised services</translation>
 <translation id="8428213095426709021">Settings</translation>
+<translation id="8438566539970814960">Make searches and browsing better</translation>
 <translation id="8441146129660941386">Seek backward</translation>
 <translation id="8445448999790540984">Can’t export passwords</translation>
 <translation id="8447861592752582886">Revoke device permission</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Nothing to see here… yet</translation>
 <translation id="8503559462189395349">Chrome Passwords</translation>
 <translation id="8503813439785031346">Username</translation>
+<translation id="8504988642345501642">When you scroll up, show quick links to related pages. The URLs of pages that you visit are sent to Google.</translation>
 <translation id="8514477925623180633">Export passwords stored with Chrome</translation>
 <translation id="8514577642972634246">Enter incognito mode</translation>
 <translation id="851751545965956758">Block sites from connecting to devices</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
index 3f74173a..b2e46e8 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
@@ -830,6 +830,7 @@
 <translation id="802154636333426148">Error en la descarga</translation>
 <translation id="8026334261755873520">Eliminar datos de navegación</translation>
 <translation id="8035133914807600019">Nueva carpeta…</translation>
+<translation id="8037686209485537503">Más contenido similar</translation>
 <translation id="8037750541064988519"><ph name="DAYS" /> días restantes</translation>
 <translation id="804335162455518893">No se encontró la tarjeta SD</translation>
 <translation id="805047784848435650">Según tu historial de navegación</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
index abd4eec4..a667ea6 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Fecha de finalización: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Cambia la ubicación predeterminada de las descargas en cualquier momento</translation>
 <translation id="1807246157184219062">Claro</translation>
+<translation id="1821253160463689938">Usa cookies para recordar tus preferencias aunque no visites esas páginas</translation>
 <translation id="1829244130665387512">Buscar en la página</translation>
 <translation id="1832521218263067499">Incidentes de seguridad</translation>
 <translation id="1853692000353488670">Nueva pestaña de incógnito</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sincroniza y personaliza todos tus dispositivos</translation>
 <translation id="2100273922101894616">Iniciar sesión automáticamente</translation>
 <translation id="2111511281910874386">Ir a la página</translation>
+<translation id="2120297377148151361">Actividad e interacciones</translation>
 <translation id="2122601567107267586">No se ha podido abrir la aplicación</translation>
 <translation id="2126426811489709554">Con la tecnología de Chrome</translation>
 <translation id="2131665479022868825">Datos ahorrados: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Ayuda y sugerencias</translation>
 <translation id="2501278716633472235">Volver</translation>
 <translation id="2512222046227390255">Autocompletar formularios</translation>
+<translation id="2513403576141822879">Para ver más opciones relacionadas con la privacidad, la seguridad  la recogida de datos, accede a <ph name="BEGIN_LINK" />Servicios de Google y sincronización<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Envía las URL de las páginas que visitas en Google</translation>
 <translation id="2526148617758225454">El ahorro de datos está activado. Puedes administrarlo en la configuración.</translation>
 <translation id="2532336938189706096">Vista web</translation>
 <translation id="2536728043171574184">Viendo una copia sin conexión de esta página</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Abrir en modo de incógnito</translation>
 <translation id="311456632243022227">Varios enlaces abiertos en Chrome</translation>
 <translation id="3115898365077584848">Mostrar información</translation>
+<translation id="3129938255108848489">Muestra sugerencias de páginas similares cuando no se encuentre una página</translation>
 <translation id="3137521801621304719">Salir del modo de incógnito</translation>
 <translation id="3148434565183091099">Inicia sesión en Chrome para ver tus marcadores en todos tus dispositivos.</translation>
 <translation id="3157842584138209013">Consulta la cantidad de datos que has ahorrado con el botón Más opciones</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Cerrar cuadro de diálogo</translation>
 <translation id="4378154925671717803">Teléfono</translation>
 <translation id="4384468725000734951">Sogou se ha establecido como motor de búsqueda predeterminado</translation>
+<translation id="4398088515904522762">Para usar esta función, activa la opción <ph name="BEGIN_LINK" />Actividad e interacciones<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Sin marcadores</translation>
 <translation id="4409723563706114196">Utilizar predicciones de página</translation>
 <translation id="4412992751769744546">Permitir cookies de terceros</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Este sitio web no va a traducirse</translation>
 <translation id="545042621069398927">Acelerando descarga.</translation>
 <translation id="5456381639095306749">Descargar página</translation>
+<translation id="5466407412363861127">Esta función utiliza la <ph name="BEGIN_LINK" />sincronización<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Abrirla en una aplicación de mapas</translation>
 <translation id="5487521232677179737">Borrar los datos</translation>
 <translation id="5487729733663684359">Ya no se admiten actualizaciones de Chrome para esta versión de Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Ahorro: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Restablecer</translation>
 <translation id="5942872142862698679">Google se ha establecido como motor de búsqueda predeterminado</translation>
+<translation id="5952764234151283551">Envía la URL de una página a la que intentas acceder a Google</translation>
 <translation id="5956665950594638604">Abre la Ayuda de Chrome en una pestaña nueva</translation>
 <translation id="5958275228015807058">Encuentra tus archivos y páginas en la sección Descargas</translation>
 <translation id="5962718611393537961">Toca para ocultar</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Enviar a Google automáticamente información sobre posibles incidentes de seguridad</translation>
 <translation id="6992289844737586249">Preguntar antes de permitir que los sitios web utilicen el micrófono (recomendado)</translation>
 <translation id="7016516562562142042">Permitido en el motor de búsqueda actual</translation>
+<translation id="7017968314960951695">Utiliza el contenido de los sitios web que visitas, así como las interacciones y la actividad del navegador, para ofrecer una experiencia personalizada.</translation>
 <translation id="7021515813996758557">Se ha descargado <ph name="FILE_NAME" /></translation>
 <translation id="7022756207310403729">Abrir en el navegador</translation>
 <translation id="7029809446516969842">Contraseñas</translation>
 <translation id="7031882061095297553">Sincronizar con</translation>
+<translation id="7032663816368481562">Si tocas el icono Similares <ph name="ICON" />, situado en la barra de direcciones, se muestran enlaces rápidos a páginas relacionadas. Las URL de las páginas que visitas se envían a Google.</translation>
 <translation id="7034608350006174882">Tarjetas y direcciones con Google Pay</translation>
 <translation id="7053983685419859001">Bloquear</translation>
 <translation id="7055152154916055070">Redirección bloqueada:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Añadir cuenta</translation>
 <translation id="7682724950699840886">Prueba los siguientes consejos: deja suficiente espacio en el dispositivo y vuelve a exportar las contraseñas.</translation>
 <translation id="7698359219371678927">Crear correo electrónico en <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Autocompletar búsquedas y URLs</translation>
 <translation id="773466115871691567">Traducir siempre las páginas en <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Te protege a ti y a tu dispositivo frente a sitios web peligrosos</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Sugerir páginas relacionadas</translation>
 <translation id="8116925261070264013">Silenciados</translation>
 <translation id="813082847718468539">Ver información del sitio</translation>
+<translation id="8160722851663543621">Envía las búsquedas de la barra de direcciones y del cuadro de búsqueda junto con algunas cookies a tu buscador predeterminado</translation>
 <translation id="8168435359814927499">Contenido</translation>
 <translation id="8186512483418048923">Archivos restantes: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Queda 1 día</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Mostrar historial completo</translation>
 <translation id="8420510748452002155">Servicios no personalizados</translation>
 <translation id="8428213095426709021">Configuración</translation>
+<translation id="8438566539970814960">Mejorar las búsquedas y la navegación</translation>
 <translation id="8441146129660941386">Buscar hacia atrás</translation>
 <translation id="8445448999790540984">No se pueden exportar las contraseñas</translation>
 <translation id="8447861592752582886">Revocar permiso de dispositivo</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Aún no tienes contenido</translation>
 <translation id="8503559462189395349">Contraseñas de Chrome</translation>
 <translation id="8503813439785031346">Nombre de usuario</translation>
+<translation id="8504988642345501642">Cuando te desplazas hacia arriba, se muestran enlaces rápidos a páginas relacionadas. Las URL de las páginas que visitas se envían a Google.</translation>
 <translation id="8514477925623180633">Exportar contraseñas almacenadas en Chrome</translation>
 <translation id="8514577642972634246">Navegar en modo de incógnito</translation>
 <translation id="851751545965956758">No permitir que los sitios web se conecten a dispositivos</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
index 39edfce..8c07588 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Petsa ng pagtatapos <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Baguhin ang default na lokasyon ng pag-download anumang oras</translation>
 <translation id="1807246157184219062">Maliwanag</translation>
+<translation id="1821253160463689938">Gumamit ng mga cookie para matandaan ang iyong mga kagustuhan, kahit na hindi mo binibisita ang mga page na iyon</translation>
 <translation id="1829244130665387512">Nahanap sa pahina</translation>
 <translation id="1832521218263067499">Mga insidenteng nauugnay sa seguridad</translation>
 <translation id="1853692000353488670">Bagong tab na incognito</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Mag-sync at mag-personalize sa lahat ng device</translation>
 <translation id="2100273922101894616">Awtomatikong Mag-sign in</translation>
 <translation id="2111511281910874386">Pumunta sa page</translation>
+<translation id="2120297377148151361">Aktibidad at mga pakikipag-ugnayan</translation>
 <translation id="2122601567107267586">Hindi mabuksan ang app</translation>
 <translation id="2126426811489709554">Pinapagana ng Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> ang natipid</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Tulong at feedback</translation>
 <translation id="2501278716633472235">Bumalik</translation>
 <translation id="2512222046227390255">I-autofill ang mga form</translation>
+<translation id="2513403576141822879">Para sa higit pang setting na nauugnay sa privacy, seguridad, at pangongolekta ng data, tingnan ang <ph name="BEGIN_LINK" />Pag-sync at mga serbisyo ng Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Ipinapadala sa Google ang mga URL ng mga page na binibisita mo</translation>
 <translation id="2526148617758225454">Naka-on ang Data Saver. Pamahalaan ito sa Mga Setting.</translation>
 <translation id="2532336938189706096">View ng Web</translation>
 <translation id="2536728043171574184">Tinitingnan ang isang offline na kopya ng page na ito</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Buksan sa tab na incognito</translation>
 <translation id="311456632243022227">Nagbukas ng marami sa Chrome</translation>
 <translation id="3115898365077584848">Ipakita ang Impormasyon</translation>
+<translation id="3129938255108848489">Magpakita ng mga suhestyon para sa mga katulad na page kapag hindi mahanap ang isang page</translation>
 <translation id="3137521801621304719">Umalis sa mode na incognito</translation>
 <translation id="3148434565183091099">Upang mailagay ang iyong mga bookmark sa lahat ng iyong device, mag-sign in sa Chrome.</translation>
 <translation id="3157842584138209013">Tingnan kung gaano karaming data ang iyong natipid sa button ng Higit Pang Opsyon</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Isara ang dialog</translation>
 <translation id="4378154925671717803">Telepono</translation>
 <translation id="4384468725000734951">Ginagamit ang Sogou para sa paghahanap</translation>
+<translation id="4398088515904522762">Para magamit ang feature na ito, i-on ang <ph name="BEGIN_LINK" />Aktibidad ang mga pakikipag-ugnayan<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Walang bookmark</translation>
 <translation id="4409723563706114196">Gamitin ang mga hula sa page</translation>
 <translation id="4412992751769744546">Payagan ang third-party na cookies</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Hindi isasalin ang site na ito</translation>
 <translation id="545042621069398927">Pinapabilis ang iyong pag-download.</translation>
 <translation id="5456381639095306749">I-download ang page</translation>
+<translation id="5466407412363861127">Gumagamit ang feature na ito ng <ph name="BEGIN_LINK" />pag-sync<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Buksan sa app na mga mapa</translation>
 <translation id="5487521232677179737">I-clear ang data</translation>
 <translation id="5487729733663684359">Hindi na sinusuportahan ang mga update sa Chrome para sa bersyong ito ng Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> ang natipid</translation>
 <translation id="5939518447894949180">I-reset</translation>
 <translation id="5942872142862698679">Ginagamit ang Google para sa paghahanap</translation>
+<translation id="5952764234151283551">Ipinapadala sa Google ang URL ng page na sinusubukan mong puntahan</translation>
 <translation id="5956665950594638604">Buksan ang Help Center ng Chrome sa bagong tab</translation>
 <translation id="5958275228015807058">Hanapin ang iyong mga file at page sa Mga Download</translation>
 <translation id="5962718611393537961">I-tap upang i-collapse</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Awtomatikong iulat sa Google ang mga detalye ng mga posibleng isyu sa seguridad</translation>
 <translation id="6992289844737586249">Magtanong muna bago payagan ang mga site na gamitin ang iyong mikropono (inirerekomenda)</translation>
 <translation id="7016516562562142042">Pinapayagan para sa kasalukuyang search engine</translation>
+<translation id="7017968314960951695">Gumagamit ng content sa mga site na binibisita mo at aktibidad sa browser at mga pakikipag-ugnayan para sa pag-personalize.</translation>
 <translation id="7021515813996758557">Na-download na ang <ph name="FILE_NAME" /></translation>
 <translation id="7022756207310403729">Buksan sa browser</translation>
 <translation id="7029809446516969842">Mga Password</translation>
 <translation id="7031882061095297553">I-sync sa</translation>
+<translation id="7032663816368481562">Kapag na-tap mo ang Higit pa tulad nito <ph name="ICON" /> sa address bar, ipakita ang mga mabilisang link ng mga kaugnay na page. Ipinapadala sa Google ang mga URL na binibisita mo.</translation>
 <translation id="7034608350006174882">Mga card at address gamit ang Google Pay</translation>
 <translation id="7053983685419859001">I-block</translation>
 <translation id="7055152154916055070">Na-block ang pag-redirect:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Magdagdag ng account</translation>
 <translation id="7682724950699840886">Subukan ang mga sumusunod na tip: tiyaking may sapat na espasyo sa iyong device, at subukang mag-export muli.</translation>
 <translation id="7698359219371678927">Gumawa ng email sa <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Awtomatikong kumpletuhin ang mga paghahanap at URL</translation>
 <translation id="773466115871691567">Palaging isalin ang mga page sa <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Pinoprotektahan ka at ang iyong device mula sa mapapanganib na site</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Magmungkahi ng mga nauugnay na page</translation>
 <translation id="8116925261070264013">Naka-mute</translation>
 <translation id="813082847718468539">Tingnan ang impormasyon ng site</translation>
+<translation id="8160722851663543621">Nagpapadala ng mga paghahanap mula sa address bar at box para sa paghahanap, at ilang cookie sa iyong default na search engine</translation>
 <translation id="8168435359814927499">Content</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> (na) file ang natitira</translation>
 <translation id="8190358571722158785">1 araw na lang ang natitira</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Ipakita ang buong history</translation>
 <translation id="8420510748452002155">Mga hindi naka-personalize na serbisyo</translation>
 <translation id="8428213095426709021">Mga Setting</translation>
+<translation id="8438566539970814960">Mas pahusayin ang mga paghahanap at pag-browse</translation>
 <translation id="8441146129660941386">Maghanap nang pabalik</translation>
 <translation id="8445448999790540984">Hindi ma-export ang mga password</translation>
 <translation id="8447861592752582886">Bawiin ang pahintulot ng device</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Walang makikita dito... sa ngayon</translation>
 <translation id="8503559462189395349">Mga Password sa Chrome</translation>
 <translation id="8503813439785031346">Username</translation>
+<translation id="8504988642345501642">Kapag nag-scroll ka pataas, ipakita ang mga mabilisang link ng mga kaugnay na page. Ipinapadala sa Google ang mga URL ng mga page na binibisita mo.</translation>
 <translation id="8514477925623180633">Mag-export ng mga password na naka-store sa Chrome</translation>
 <translation id="8514577642972634246">Pumasok sa mode na incognito</translation>
 <translation id="851751545965956758">I-block ang mga site sa pagkonekta sa mga device</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
index 32928db3..d55cde9 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Date de fin : <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Modifier à tout moment l'emplacement de téléchargement par défaut</translation>
 <translation id="1807246157184219062">Clair</translation>
+<translation id="1821253160463689938">Utilise des cookies pour mémoriser vos préférences, même si vous n'accédez pas à ces pages</translation>
 <translation id="1829244130665387512">Rechercher sur la page</translation>
 <translation id="1832521218263067499">Incidents de sécurité</translation>
 <translation id="1853692000353488670">Nouvel onglet de navigation privée</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Synchroniser et personnaliser les données sur tous les appareils</translation>
 <translation id="2100273922101894616">Connexion automatique</translation>
 <translation id="2111511281910874386">Accéder à la page</translation>
+<translation id="2120297377148151361">Activité et interactions</translation>
 <translation id="2122601567107267586">Impossible d'ouvrir l'application</translation>
 <translation id="2126426811489709554">Proposé par Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> économisés</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Aide et commentaires</translation>
 <translation id="2501278716633472235">Retour</translation>
 <translation id="2512222046227390255">Remplir form. automatiquement</translation>
+<translation id="2513403576141822879">Pour accéder à d'autres paramètres liés à la confidentialité, à la sécurité et à la collecte de données, consultez la section <ph name="BEGIN_LINK" />Services Google/Synchronisation<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Envoie les URL des pages que vous consultez à Google</translation>
 <translation id="2526148617758225454">L'Économiseur de données est activé. Vous pouvez le régler dans les paramètres.</translation>
 <translation id="2532336938189706096">Vue Web</translation>
 <translation id="2536728043171574184">Affichage d'une copie hors connexion de la page</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Ouvrir dans un onglet de nav. privée</translation>
 <translation id="311456632243022227">Liens ouverts dans Chrome</translation>
 <translation id="3115898365077584848">Afficher les informations</translation>
+<translation id="3129938255108848489">Afficher des suggestions de pages similaires lorsqu'une page est introuvable</translation>
 <translation id="3137521801621304719">Désactiver le mode navigation privée</translation>
 <translation id="3148434565183091099">Connectez-vous à Chrome pour synchroniser vos favoris sur tous vos appareils.</translation>
 <translation id="3157842584138209013">Découvrez la quantité de données économisées en cliquant sur le bouton "Plus d'options"</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Fermer la boîte de dialogue</translation>
 <translation id="4378154925671717803">Téléphone</translation>
 <translation id="4384468725000734951">Utilisation de Sogou pour les recherches</translation>
+<translation id="4398088515904522762">Pour utiliser cette fonctionnalité, activez l'option <ph name="BEGIN_LINK" />Activité et interactions<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Aucun favori</translation>
 <translation id="4409723563706114196">Utiliser le service de prédiction</translation>
 <translation id="4412992751769744546">Autoriser les cookies tiers</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Ce site ne sera pas traduit</translation>
 <translation id="545042621069398927">Accélération du téléchargement…</translation>
 <translation id="5456381639095306749">Télécharger la page</translation>
+<translation id="5466407412363861127">Cette fonctionnalité utilise la <ph name="BEGIN_LINK" />synchronisation<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Ouvrir dans une application de plans</translation>
 <translation id="5487521232677179737">Effacer les données</translation>
 <translation id="5487729733663684359">Les mises à jour de Chrome ne sont plus disponibles avec cette version d'Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> économisé(s)</translation>
 <translation id="5939518447894949180">Réinitialiser</translation>
 <translation id="5942872142862698679">Utilisation de Google pour les recherches</translation>
+<translation id="5952764234151283551">Envoie l'URL de la page que vous essayez d'ouvrir à Google</translation>
 <translation id="5956665950594638604">Ouvrir le centre d'aide dans un nouvel onglet</translation>
 <translation id="5958275228015807058">Recherchez vos fichiers et vos pages dans la section "Téléchargements"</translation>
 <translation id="5962718611393537961">Appuyer pour réduire</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Signaler automatiquement les incidents de sécurité potentiels à Google</translation>
 <translation id="6992289844737586249">Demander avant d'autoriser des sites à utiliser mon micro (recommandé)</translation>
 <translation id="7016516562562142042">Autorisé pour le moteur de recherche actuel</translation>
+<translation id="7017968314960951695">Utilise le contenu des sites que vous consultez, votre activité de navigation et vos interactions pour la personnalisation</translation>
 <translation id="7021515813996758557">Le fichier "<ph name="FILE_NAME" />" a bien été téléchargé.</translation>
 <translation id="7022756207310403729">Ouvrir dans le navigateur</translation>
 <translation id="7029809446516969842">Mots de passe</translation>
 <translation id="7031882061095297553">Synchroniser avec</translation>
+<translation id="7032663816368481562">Lorsque vous appuyez sur Plus de suggestions similaires <ph name="ICON" /> dans la barre d'adresse, des liens rapides s'affichent vers des pages associées. Les URL des pages que vous consultez sont envoyées à Google.</translation>
 <translation id="7034608350006174882">Cartes et adresses utilisées dans Google Pay</translation>
 <translation id="7053983685419859001">Bloquer</translation>
 <translation id="7055152154916055070">Redirection bloquée :</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Ajouter un compte</translation>
 <translation id="7682724950699840886">Essayez l'astuce suivante°: assurez-vous de disposer de suffisamment d'espace sur votre appareil, puis tentez à nouveau d'exporter les mots de passe.</translation>
 <translation id="7698359219371678927">Créer un e-mail dans <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Saisir semi-automatiquement les recherches et les URL</translation>
 <translation id="773466115871691567">Toujours traduire les pages en <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Assure votre protection et celle de votre appareil contre les sites dangereux</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Suggérer des pages associées</translation>
 <translation id="8116925261070264013">Son coupé</translation>
 <translation id="813082847718468539">Afficher des informations à propos du site</translation>
+<translation id="8160722851663543621">Envoie les recherches effectuées à partir de la barre d'adresse et du champ de recherche ainsi que des cookies à votre moteur de recherche par défaut</translation>
 <translation id="8168435359814927499">Contenu</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> fichiers restants</translation>
 <translation id="8190358571722158785">1 jour restant</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Afficher l'historique complet</translation>
 <translation id="8420510748452002155">Services non personnalisés</translation>
 <translation id="8428213095426709021">Paramètres</translation>
+<translation id="8438566539970814960">Améliorer les recherches et la navigation</translation>
 <translation id="8441146129660941386">Retour rapide</translation>
 <translation id="8445448999790540984">Impossible d'exporter les mots de passe</translation>
 <translation id="8447861592752582886">Révoquer l'autorisation d'accès à l'appareil</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Aucune page à afficher pour le moment</translation>
 <translation id="8503559462189395349">Mots de passe Google Chrome</translation>
 <translation id="8503813439785031346">Nom d'utilisateur</translation>
+<translation id="8504988642345501642">Lorsque vous faites défiler l'écran vers le haut, des liens rapides s'affichent vers des pages associées. Les URL des pages que vous consultez sont envoyées à Google.</translation>
 <translation id="8514477925623180633">Exporter les mots de passe enregistrés dans Chrome</translation>
 <translation id="8514577642972634246">Activer le mode navigation privée</translation>
 <translation id="851751545965956758">Interdire à tous les sites de se connecter à des appareils</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
index 3d6bcc0..08cda85a 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">खत्म होने की तारीख: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">डिफ़ॉल्ट डाउनलोड स्थान किसी भी समय बदलें</translation>
 <translation id="1807246157184219062">हल्का</translation>
+<translation id="1821253160463689938">आपकी पसंद याद रखने के लिए कुकी का इस्तेमाल करती है, भले ही आप उन पेजों पर नहीं जाते</translation>
 <translation id="1829244130665387512">पेज में ढूंढें</translation>
 <translation id="1832521218263067499">सुरक्षा संबंधी घटनाएं</translation>
 <translation id="1853692000353488670">नया गुप्त टैब</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">सभी डिवाइस में सिंक करना और मनमुताबिक बनाना</translation>
 <translation id="2100273922101894616">स्वतः प्रवेश करें</translation>
 <translation id="2111511281910874386">पेज पर जाएं</translation>
+<translation id="2120297377148151361">गतिविधि और इंटरैक्शन</translation>
 <translation id="2122601567107267586">ऐप नहीं खोला जा सका</translation>
 <translation id="2126426811489709554">Chrome के द्वारा संचालित</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> बचाया गया</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">सहायता और फ़ीडबैक</translation>
 <translation id="2501278716633472235">वापस जाएं</translation>
 <translation id="2512222046227390255">फ़ॉर्म अपने आप भरने दें</translation>
+<translation id="2513403576141822879">निजता, सुरक्षा और डेटा इकट्ठा करने से जुड़ी ज़्यादा सेटिंग के लिए, <ph name="BEGIN_LINK" />सिंक और Google सेवाएं<ph name="END_LINK" /> देखें</translation>
+<translation id="2523184218357549926">आपके जिन पेजों पर जाते हैं उनके यूआरएल Google को भेजती है</translation>
 <translation id="2526148617758225454">डेटा सर्वर चालू है. उसे सेटिंग में प्रबंधित करें.</translation>
 <translation id="2532336938189706096">वेब दृश्य</translation>
 <translation id="2536728043171574184">इस पृष्‍ठ की ऑफ़लाइन कॉपी देख रहे हैं</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">गुप्त टैब में खोलें</translation>
 <translation id="311456632243022227">एकाधिक लिंक Chrome में खोले गए</translation>
 <translation id="3115898365077584848">जानकारी दिखाएं</translation>
+<translation id="3129938255108848489">जब कोई पेज नहीं मिल पा रहा हो तो मिलते-जुलते पेज के सुझाव दिखाती है</translation>
 <translation id="3137521801621304719">गुप्त मोड छोड़ें</translation>
 <translation id="3148434565183091099">अपने सभी डिवाइस पर अपने बुकमार्क प्राप्‍त करने के लिए, Chrome में प्रवेश करें.</translation>
 <translation id="3157842584138209013">अधिक विकल्प बटन से देखें कि आपने कितना डेटा बचाया है</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">संवाद बंद करें</translation>
 <translation id="4378154925671717803">फ़ोन</translation>
 <translation id="4384468725000734951">खोजने के लिए Sogou का उपयोग करना</translation>
+<translation id="4398088515904522762">इस सुविधा का इस्तेमाल करने के लिए, <ph name="BEGIN_LINK" />गतिविधि और इंटरैक्शन<ph name="END_LINK" /> चालू करें.</translation>
 <translation id="4404568932422911380">कोई बुकमार्क नहीं</translation>
 <translation id="4409723563706114196">पेज पूर्वानुमानों का इस्तेमाल करें</translation>
 <translation id="4412992751769744546">तृतीय-पक्ष कुकी को अनुमति दें</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">इस साइट का अनुवाद नहीं किया जाएगा</translation>
 <translation id="545042621069398927">आपके डाउनलोड की गति बढ़ाई जा रही है.</translation>
 <translation id="5456381639095306749">पेज डाउनलोड करें</translation>
+<translation id="5466407412363861127">यह सुविधा <ph name="BEGIN_LINK" />सिंक<ph name="END_LINK" /> का इस्तेमाल करती है.</translation>
 <translation id="548278423535722844">मैप ऐप्लिकेशन में खोलें</translation>
 <translation id="5487521232677179737">डेटा साफ़ करें</translation>
 <translation id="5487729733663684359">Chrome अपडेट अब Android के इस वर्शन के लिए समर्थित नहीं हैं.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> सेव किए गए</translation>
 <translation id="5939518447894949180">रीसेट करें</translation>
 <translation id="5942872142862698679">खोजने के लिए Google का उपयोग करना</translation>
+<translation id="5952764234151283551">आप जिस पेज पर जाने की कोशिश कर रहे हैं उसका यूआरएल Google को भेजती है</translation>
 <translation id="5956665950594638604">Chrome सहायता केंद्र को नए टैब में खोलें</translation>
 <translation id="5958275228015807058">डाउनलोड में जाकर अपनी फ़ाइलें और पेज पाएं</translation>
 <translation id="5962718611393537961">संक्षिप्त करने के लिए टैप करें</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Google को संभावित सुरक्षा घटनाओं के विवरणों की अपने आप रिपोर्ट करें</translation>
 <translation id="6992289844737586249">साइट को अपने माइक्रोफ़ोन का उपयोग करने देने से पहले अनुमति लेना आवश्यक बनाएं (अनुशंसित)</translation>
 <translation id="7016516562562142042">अभी वाले खोज इंजन के लिए अनुमति दी गई</translation>
+<translation id="7017968314960951695">आप जिन साइटों पर जाते हैं उनकी गतिविधि और ब्राउज़र गतिविधि के साथ ही इंटरैक्शन का इस्तेमाल मनमुताबिक बनाने के लिए करती है</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> को डाउनलोड किया गया</translation>
 <translation id="7022756207310403729">ब्राउज़र में खोलें</translation>
 <translation id="7029809446516969842">पासवर्ड</translation>
 <translation id="7031882061095297553">इसमें समन्वयित करें</translation>
+<translation id="7032663816368481562">जब आप पता बार में 'इसके जैसे और ज़्यादा' <ph name="ICON" /> पर टैप करते हैं, तो संबंधित पेज पर तेज़ी से पहुंचाने वाले लिंक दिखाती है. आपके देखे गए पेजों के यूआरएल Google को भेजे जाते हैं.</translation>
 <translation id="7034608350006174882">Google Pay का इस्तेमाल करने वाले कार्ड और पते</translation>
 <translation id="7053983685419859001">अवरोधित करें</translation>
 <translation id="7055152154916055070">रीडायरेक्ट ब्लॉक किया गया:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">खाता जोड़ें</translation>
 <translation id="7682724950699840886">ये सलाह आज़माएं: पक्का करें कि आपके डिवाइस पर ज़रूरी जगह उपलब्ध है, फिर दोबारा निर्यात करके देखें.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> में ईमेल बनाएं</translation>
+<translation id="7704317875155739195">खोजों और यूआरएल को अपने आप पूरा करें</translation>
 <translation id="773466115871691567"><ph name="SOURCE_LANGUAGE" /> भाषा के पेज का हमेशा अनुवाद करें</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">आपको और आपके डिवाइस को खतरनाक साइटों से बचाती है</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">मिलते-जुलते पेज सुझाएं</translation>
 <translation id="8116925261070264013">आवाज़ बंद की गई</translation>
 <translation id="813082847718468539">साइट जानकारी देखें</translation>
+<translation id="8160722851663543621">पता बार और खोज बॉक्स की खोजों और कुछ कुकी को आपके डिफ़ॉल्ट खोज इंजन पर भेजती है</translation>
 <translation id="8168435359814927499">सामग्री</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> फ़ाइलें बची हैं</translation>
 <translation id="8190358571722158785">1 दिन शेष</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">संपूर्ण इतिहास दिखाएं</translation>
 <translation id="8420510748452002155">मनमुताबिक नहीं बनाई गई सेवाएं</translation>
 <translation id="8428213095426709021">सेटिंग</translation>
+<translation id="8438566539970814960">खोजों और ब्राउज़िेंग को बेहतर बनाएं</translation>
 <translation id="8441146129660941386">पीछे जाएं</translation>
 <translation id="8445448999790540984">पासवर्ड निर्यात नहीं कर सकते</translation>
 <translation id="8447861592752582886">डिवाइस अनुमति निरस्त करें</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">यहां देखने के लिए…अभी तक कुछ भी नहीं है</translation>
 <translation id="8503559462189395349">Chrome पासवर्ड</translation>
 <translation id="8503813439785031346">उपयोगकर्ता नाम</translation>
+<translation id="8504988642345501642">जब आप स्क्रोल करते हैं, तो संबंधित पेजों पर तेज़ी से पहुंचाने वाले लिंक दिखाती है. आप जिन पेजों पर जाते हैं उनके यूआरएल Google को भेजती है.</translation>
 <translation id="8514477925623180633">Chrome के ज़रिए संग्रहित पासवर्ड निर्यात करें</translation>
 <translation id="8514577642972634246">गुप्त मोड में प्रवेश करें</translation>
 <translation id="851751545965956758">साइटों को डिवाइसों से कनेक्ट करने से ब्लॉक करें</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
index ef26ff0..e2cf40ac 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Datum završetka: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Zadanu lokaciju preuzimanja možete promijeniti kad god želite</translation>
 <translation id="1807246157184219062">Svijetlo</translation>
+<translation id="1821253160463689938">Upotrebljava kolačiće za pamćenje vaših postavki, čak i ako ne posjetite te stranice</translation>
 <translation id="1829244130665387512">Traži na stranici</translation>
 <translation id="1832521218263067499">Sigurnosni incidenti</translation>
 <translation id="1853692000353488670">Nova anonimna kartica</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sinkronizacija i prilagodba na svim uređajima</translation>
 <translation id="2100273922101894616">Automatska prijava</translation>
 <translation id="2111511281910874386">Idi na stranicu</translation>
+<translation id="2120297377148151361">Aktivnost i interakcija</translation>
 <translation id="2122601567107267586">Otvaranje aplikacije nije uspjelo</translation>
 <translation id="2126426811489709554">Omogućuje Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> spremljeno</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Pomoć i povratne informacije</translation>
 <translation id="2501278716633472235">Natrag</translation>
 <translation id="2512222046227390255">Automatski popunite obrasce</translation>
+<translation id="2513403576141822879">Više postavki koje se odnose na privatnost, sigurnost i prikupljanje podataka dostupno je u odjeljku <ph name="BEGIN_LINK" />Sinkronizacija i prilagodba<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Šalje Googleu URL-ove stranica koje posjećujete</translation>
 <translation id="2526148617758225454">Štednja podatkovnog prometa je uključena. Upravljajte njome u Postavkama.</translation>
 <translation id="2532336938189706096">Web-prikaz</translation>
 <translation id="2536728043171574184">Prikaz izvanmrežne kopije stranice</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Otvori na kartici Anonimno</translation>
 <translation id="311456632243022227">Više veza otvoreno u Chromeu</translation>
 <translation id="3115898365077584848">Prikaži informacije</translation>
+<translation id="3129938255108848489">Prikazuje prijedloge za slične stranice kada se stranica ne može pronaći</translation>
 <translation id="3137521801621304719">Izlaz iz anonimnog načina</translation>
 <translation id="3148434565183091099">Da biste imali svoje oznake na svim svojim uređajima, prijavite se na Chrome.</translation>
 <translation id="3157842584138209013">Pogledajte količinu ušteđenih podataka pomoću gumba Više opcija</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Zatvori dijaloški okvir</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4384468725000734951">Za pretraživanje se upotrebljava Sogou</translation>
+<translation id="4398088515904522762">Da biste koristili ovu značajku, uključite <ph name="BEGIN_LINK" />Aktivnost i interakcija<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Bez oznaka</translation>
 <translation id="4409723563706114196">Upotrebljavajte predviđanja za stranice</translation>
 <translation id="4412992751769744546">Dopusti kolačiće trećih strana</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Ova web-stranica neće biti prevedena</translation>
 <translation id="545042621069398927">Ubrzavanje preuzimanja.</translation>
 <translation id="5456381639095306749">Preuzmi stranicu</translation>
+<translation id="5466407412363861127">Ta značajka upotrebljava <ph name="BEGIN_LINK" />sinkronizaciju<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Otvori u aplikaciji za karte</translation>
 <translation id="5487521232677179737">Izbriši podatke</translation>
 <translation id="5487729733663684359">Chromeova ažuriranja više nisu podržana za ovu verziju Androida.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Spremljeno <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Ponovno postavi</translation>
 <translation id="5942872142862698679">Za pretraživanje se upotrebljava Google</translation>
+<translation id="5952764234151283551">Googleu se šalje URL stranice koju pokušavate otvoriti</translation>
 <translation id="5956665950594638604">Otvaranje Chromeovog centra za pomoć na novoj kartici</translation>
 <translation id="5958275228015807058">Pronađite svoje datoteke i stranice u Preuzimanjima</translation>
 <translation id="5962718611393537961">Dodirnite da biste saželi</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automatski prijavi Googleu pojedinosti o mogućim sigurnosnim incidentima</translation>
 <translation id="6992289844737586249">Web-lokacije moraju tražiti dopuštenje za upotrebu mikrofona (preporučeno)</translation>
 <translation id="7016516562562142042">Dopušteno za trenutačnu tražilicu</translation>
+<translation id="7017968314960951695">Upotrebljava sadržaj na web-lokacijama koje posjećujete te aktivnosti i interakcije u pregledniku radi prilagodbe</translation>
 <translation id="7021515813996758557">Datoteka <ph name="FILE_NAME" /> je preuzeta</translation>
 <translation id="7022756207310403729">Otvori u pregledniku</translation>
 <translation id="7029809446516969842">Zaporke</translation>
 <translation id="7031882061095297553">Sinkronizacija s računima</translation>
+<translation id="7032663816368481562">Kada dodirnite ikonu Više ovakvih prijedloga <ph name="ICON" /> u adresnoj traci, prikazat će se brze veze na povezane stranice. URL-ovi stranica koje posjetite šalju se Googleu.</translation>
 <translation id="7034608350006174882">Kartice i adrese s Google Paya</translation>
 <translation id="7053983685419859001">Blokiraj</translation>
 <translation id="7055152154916055070">Preusmjeravanje je blokirano:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Dodaj račun</translation>
 <translation id="7682724950699840886">Pokušajte napraviti sljedeće: provjerite ima li dovoljno prostora na uređaju i pokušajte ponoviti izvoz.</translation>
 <translation id="7698359219371678927">Izradite e-poruku u aplikaciji <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Samodovršavanje pretraživanja i URL-ova</translation>
 <translation id="773466115871691567">Uvijek prevodi <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Štiti vas i vaš uređaj od opasnih web-lokacija</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Predloži povezane stranice</translation>
 <translation id="8116925261070264013">Bez zvuka</translation>
 <translation id="813082847718468539">Prikaz informacija o web-mjestu</translation>
+<translation id="8160722851663543621">Zadanoj tražilici šalje pretraživanja iz adresne trake i okvira za pretraživanje te neke kolačiće</translation>
 <translation id="8168435359814927499">Sadržaj</translation>
 <translation id="8186512483418048923">Preostalo datoteka: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Još 1 dan</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Pokaži cijelu povijest</translation>
 <translation id="8420510748452002155">Usluge bez prilagodbe</translation>
 <translation id="8428213095426709021">Postavke</translation>
+<translation id="8438566539970814960">Poboljšajte pretraživanje i pregledavanje</translation>
 <translation id="8441146129660941386">Traži unatrag</translation>
 <translation id="8445448999790540984">Izvoz zaporki nije moguć</translation>
 <translation id="8447861592752582886">Opozovi odobrenje uređaja</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Ovdje nema ničega... zasad</translation>
 <translation id="8503559462189395349">Zaporke preglednika Chrome</translation>
 <translation id="8503813439785031346">Korisničko ime</translation>
+<translation id="8504988642345501642">Kada se pomičete prema gore, prikazuju se brze veze na povezane stranice. URL-ovi stranica koje posjetite šalju se Googleu.</translation>
 <translation id="8514477925623180633">Izvoz zaporki pohranjenih u Chromeu</translation>
 <translation id="8514577642972634246">Ulaz u anonimni način</translation>
 <translation id="851751545965956758">Blokiraj povezivanje web-lokacija s uređajima</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
index 00de882..14816e2 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Befejezés dátuma: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Az alapértelmezett letöltési helyet bármikor módosíthatja</translation>
 <translation id="1807246157184219062">Világos</translation>
+<translation id="1821253160463689938">Cookie-kat használ a preferenciák megjegyzésére még akkor is, ha Ön nem keresi fel az adott oldalakat</translation>
 <translation id="1829244130665387512">Keresés ezen az oldalon</translation>
 <translation id="1832521218263067499">Biztonsággal kapcsolatos események</translation>
 <translation id="1853692000353488670">Új inkognitólap</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Szinkronizálás és személyre szabás az eszközök között</translation>
 <translation id="2100273922101894616">Automatikus bejelentkezés</translation>
 <translation id="2111511281910874386">Ugrás az oldalhoz</translation>
+<translation id="2120297377148151361">Tevékenység és interakciók</translation>
 <translation id="2122601567107267586">Nem sikerült megnyitni az alkalmazást</translation>
 <translation id="2126426811489709554">A Chrome erejével</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> megtakarítva</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Súgó és visszajelzés</translation>
 <translation id="2501278716633472235">Visszalépés</translation>
 <translation id="2512222046227390255">Űrlapok automatikus kitöltése</translation>
+<translation id="2513403576141822879">A <ph name="BEGIN_LINK" />Szinkronizálás és Google<ph name="END_LINK" /> részben további beállításokat talál az adatvédelemre, biztonságra és adatgyűjtésre vonatkozóan</translation>
+<translation id="2523184218357549926">A felkeresett oldalak URL-címének elküldése a Google-nak</translation>
 <translation id="2526148617758225454">Az Adatforgalom-csökkentő be van kapcsolva, és a Beállítások menüben kezelheti.</translation>
 <translation id="2532336938189706096">Internetes megtekintés</translation>
 <translation id="2536728043171574184">Az oldal offline példányának megtekintése</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Megnyitás inkognitólapon</translation>
 <translation id="311456632243022227">Több link Chrome-ban megnyitva</translation>
 <translation id="3115898365077584848">Információk megjelenítése</translation>
+<translation id="3129938255108848489">Hasonló oldalakra vonatkozó javaslatok megjelenítése, ha az oldal nem található</translation>
 <translation id="3137521801621304719">Kilépés inkognitómódból</translation>
 <translation id="3148434565183091099">Ha az összes eszközén szeretné elérni könyvjelzőit, jelentkezzen be a Chrome-ba.</translation>
 <translation id="3157842584138209013">A További lehetőségek gombra kattintva tekintheti meg, hogy mekkora a megtakarított adatmennyiség</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Párbeszédablak bezárása</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4384468725000734951">A Sogou használata a kereséshez</translation>
+<translation id="4398088515904522762">A funkció használatához kapcsolja be a <ph name="BEGIN_LINK" />Tevékenység és interakciók<ph name="END_LINK" /> beállítást.</translation>
 <translation id="4404568932422911380">Nincsenek könyvjelzők</translation>
 <translation id="4409723563706114196">Várható oldalak használata</translation>
 <translation id="4412992751769744546">Harmadik felektől származó cookie-k engedélyezése</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Nem fordítjuk le ezt a webhelyet</translation>
 <translation id="545042621069398927">Letöltés felgyorsítása…</translation>
 <translation id="5456381639095306749">Oldal letöltése</translation>
+<translation id="5466407412363861127">A funkció <ph name="BEGIN_LINK" />szinkronizálást<ph name="END_LINK" /> használ.</translation>
 <translation id="548278423535722844">Megnyitás térképalkalmazásban</translation>
 <translation id="5487521232677179737">Adatok törlése</translation>
 <translation id="5487729733663684359">Az Android e verziója többé nem támogatja a Chrome-frissítéseket.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> megtakarított adatmennyiség</translation>
 <translation id="5939518447894949180">Visszaállítás</translation>
 <translation id="5942872142862698679">A Google használata a kereséshez</translation>
+<translation id="5952764234151283551">Az elérni kívánt oldal URL-címének elküldése a Google-nak</translation>
 <translation id="5956665950594638604">A Chrome súgójának megnyitása új lapon</translation>
 <translation id="5958275228015807058">A fájlokat és oldalakat a Letöltések között találhatja meg</translation>
 <translation id="5962718611393537961">Koppintson az összecsukáshoz</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Az esetleges biztonsági események automatikus jelentése a Google-nak</translation>
 <translation id="6992289844737586249">Kérdezzen rá, mielőtt engedélyezné a webhelyek számára a mikrofon használatát (ajánlott)</translation>
 <translation id="7016516562562142042">Engedélyezett a jelenlegi keresőmotor számára</translation>
+<translation id="7017968314960951695">A felkeresett webhelyek tartalmait, a böngészőtevékenységeket, valamint a böngészőben végzett interakciókat felhasználja a személyre szabáshoz</translation>
 <translation id="7021515813996758557">A(z) <ph name="FILE_NAME" /> letöltve</translation>
 <translation id="7022756207310403729">Megnyitás böngészőben</translation>
 <translation id="7029809446516969842">Jelszavak</translation>
 <translation id="7031882061095297553">Szinkronizálás a következőknél</translation>
+<translation id="7032663816368481562">Ha a címsávban a További hasonlók <ph name="ICON" /> lehetőségre koppint, gyorslinkek jelennek meg kapcsolódó oldalakhoz. A felkeresett oldalak URL-jeit a rendszer elküldi a Google-nak.</translation>
 <translation id="7034608350006174882">A Google Pay szolgáltatásban használt kártyák és címek</translation>
 <translation id="7053983685419859001">Letiltás</translation>
 <translation id="7055152154916055070">Átirányítás letiltva:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Fiók hozzáadása</translation>
 <translation id="7682724950699840886">Próbálkozzon a következő tippekkel: Győződjön meg arról, hogy elegendő tárhely áll rendelkezésre az eszközön, majd próbálja újra az exportálást.</translation>
 <translation id="7698359219371678927">E-mail létrehozása a(z) <ph name="APP_NAME" /> alkalmazásban</translation>
+<translation id="7704317875155739195">Keresések és URL-címek automatikus kiegészítése</translation>
 <translation id="773466115871691567">Mindig fordítsa le a(z) <ph name="SOURCE_LANGUAGE" /> nyelvű oldalakat</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Saját és eszköze védelme a veszélyes webhelyekkel szemben</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Kapcsolódó oldalak ajánlása</translation>
 <translation id="8116925261070264013">Némítva</translation>
 <translation id="813082847718468539">Az oldalinformációk megtekintése</translation>
+<translation id="8160722851663543621">A címsávban és a keresőmezőben végrehajtott kereséseket, valamint bizonyos cookie-kat elküld az alapértelmezett keresőmotornak</translation>
 <translation id="8168435359814927499">Tartalom</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> fájl maradt</translation>
 <translation id="8190358571722158785">1 nap van hátra</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Minden előzmény megjelenítése</translation>
 <translation id="8420510748452002155">Nem személyre szabott szolgáltatások</translation>
 <translation id="8428213095426709021">Beállítások</translation>
+<translation id="8438566539970814960">Keresések és böngészés javítása</translation>
 <translation id="8441146129660941386">Ugrás visszafelé</translation>
 <translation id="8445448999790540984">Nem sikerült a jelszavak exportálása</translation>
 <translation id="8447861592752582886">Eszközengedély visszavonása</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Nincs itt semmi látnivaló… még</translation>
 <translation id="8503559462189395349">Chrome-jelszavak</translation>
 <translation id="8503813439785031346">Felhasználónév</translation>
+<translation id="8504988642345501642">Felfelé görgetéskor kapcsolódó oldalakhoz tartozó gyorslinkeket jelenít meg. A felkeresett oldalak URL-jeit a rendszer elküldi a Google-nak.</translation>
 <translation id="8514477925623180633">A Chrome-ban tárolt jelszavak exportálása</translation>
 <translation id="8514577642972634246">Belépés inkognitómódba</translation>
 <translation id="851751545965956758">Eszközhöz való csatlakozás megtiltása webhelyeknek</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
index 4088460f..916e1f28 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Tanggal akhir <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Ubah lokasi download default kapan saja</translation>
 <translation id="1807246157184219062">Terang</translation>
+<translation id="1821253160463689938">Menggunakan cookie untuk mengingat preferensi, meski Anda tidak membuka halaman tersebut</translation>
 <translation id="1829244130665387512">Cari di halaman</translation>
 <translation id="1832521218263067499">Insiden keamanan</translation>
 <translation id="1853692000353488670">Tab penyamaran baru</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sinkronkan dan personalisasi di berbagai perangkat</translation>
 <translation id="2100273922101894616">Masuk Otomatis</translation>
 <translation id="2111511281910874386">Buka halaman</translation>
+<translation id="2120297377148151361">Aktivitas dan interaksi</translation>
 <translation id="2122601567107267586">Tidak dapat membuka aplikasi</translation>
 <translation id="2126426811489709554">Diberdayakan oleh Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> tersimpan</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Bantuan &amp; masukan</translation>
 <translation id="2501278716633472235">Kembali</translation>
 <translation id="2512222046227390255">Formulir isi otomatis</translation>
+<translation id="2513403576141822879">Untuk setelan lainnya yang berkaitan dengan privasi, keamanan, dan pengumpulan data, lihat <ph name="BEGIN_LINK" />Sinkronisasi dan layanan Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Mengirimkan URL halaman yang Anda buka ke Google</translation>
 <translation id="2526148617758225454">Penghemat Kuota Internet aktif. Kelola di Setelan.</translation>
 <translation id="2532336938189706096">Tampilan Web</translation>
 <translation id="2536728043171574184">Melihat salinan offline halaman ini</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Buka di tab penyamaran</translation>
 <translation id="311456632243022227">Beberapa link dibuka di Chrome</translation>
 <translation id="3115898365077584848">Tampilkan Info</translation>
+<translation id="3129938255108848489">Menampilkan saran untuk halaman yang serupa jika halaman tidak dapat ditemukan</translation>
 <translation id="3137521801621304719">Tutup mode penyamaran</translation>
 <translation id="3148434565183091099">Untuk mendapatkan bookmark di semua perangkat Anda, masuk ke Chrome.</translation>
 <translation id="3157842584138209013">Lihat berapa banyak data yang dihemat dari tombol Opsi Lainnya</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Tutup dialog</translation>
 <translation id="4378154925671717803">Ponsel</translation>
 <translation id="4384468725000734951">Menggunakan Sogou untuk penelusuran</translation>
+<translation id="4398088515904522762">Untuk menggunakan fitur ini, aktifkan <ph name="BEGIN_LINK" />Aktivitas dan interaksi<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Tidak ada bookmark</translation>
 <translation id="4409723563706114196">Gunakan prediksi halaman</translation>
 <translation id="4412992751769744546">Izinkan cookie pihak ketiga</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Situs ini tidak diterjemahkan</translation>
 <translation id="545042621069398927">Mempercepat download.</translation>
 <translation id="5456381639095306749">Download halaman</translation>
+<translation id="5466407412363861127">Fitur ini menggunakan <ph name="BEGIN_LINK" />sinkronisasi<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Buka di aplikasi peta</translation>
 <translation id="5487521232677179737">Hapus data</translation>
 <translation id="5487729733663684359">Pembaruan Chrome tidak lagi didukung untuk versi Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> dihemat</translation>
 <translation id="5939518447894949180">Setel ulang</translation>
 <translation id="5942872142862698679">Menggunakan Google untuk penelusuran</translation>
+<translation id="5952764234151283551">Mengirimkan URL halaman yang ingin Anda buka ke Google</translation>
 <translation id="5956665950594638604">Membuka Pusat Bantuan Chrome di tab baru</translation>
 <translation id="5958275228015807058">Temukan file dan halaman di Download</translation>
 <translation id="5962718611393537961">Tap untuk menciutkan</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Otomatis melaporkan detail kemungkinan insiden keamanan ke Google</translation>
 <translation id="6992289844737586249">Tanya terlebih dahulu sebelum mengizinkan situs menggunakan mikrofon Anda (disarankan)</translation>
 <translation id="7016516562562142042">Diizinkan untuk mesin telusur yang sedang digunakan</translation>
+<translation id="7017968314960951695">Menggunakan konten di situs yang Anda buka serta aktivitas browser dan interaksi untuk personalisasi.</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> didownload</translation>
 <translation id="7022756207310403729">Buka di browser</translation>
 <translation id="7029809446516969842">Sandi</translation>
 <translation id="7031882061095297553">Sinkronkan ke</translation>
+<translation id="7032663816368481562">Saat Anda menge-tap Lainnya seperti ini <ph name="ICON" /> di kolom URL, link cepat ke halaman terkait akan ditampilkan. URL halaman yang Anda buka dikirimkan ke Google.</translation>
 <translation id="7034608350006174882">Kartu dan alamat yang menggunakan Google Pay</translation>
 <translation id="7053983685419859001">Blokir</translation>
 <translation id="7055152154916055070">Pengalihan diblokir:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Tambahkan akun</translation>
 <translation id="7682724950699840886">Coba tips berikut ini: pastikan ruang di perangkat Anda mencukupi, lalu coba ekspor lagi.</translation>
 <translation id="7698359219371678927">Buat email di <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Melengkapi otomatis penelusuran dan URL</translation>
 <translation id="773466115871691567">Selalu terjemahkan halaman dalam bahasa <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Melindungi Anda dan perangkat dari situs berbahaya</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Sarankan halaman terkait</translation>
 <translation id="8116925261070264013">Dinonaktifkan</translation>
 <translation id="813082847718468539">Lihat informasi situs</translation>
+<translation id="8160722851663543621">Mengirimkan penelusuran dari kolom URL dan kotak penelusuran, serta beberapa cookie ke mesin telusur default</translation>
 <translation id="8168435359814927499">Konten</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> file tersisa</translation>
 <translation id="8190358571722158785">1 hari lagi</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Tampilkan histori lengkap</translation>
 <translation id="8420510748452002155">Layanan yang tidak dipersonalisasi</translation>
 <translation id="8428213095426709021">Setelan</translation>
+<translation id="8438566539970814960">Jadikan penelusuran dan penjelajahan lebih baik</translation>
 <translation id="8441146129660941386">Cari mundur</translation>
 <translation id="8445448999790540984">Tidak dapat mengekspor sandi</translation>
 <translation id="8447861592752582886">Cabut izin perangkat</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Belum ada yang dapat dilihat di sini…</translation>
 <translation id="8503559462189395349">Sandi Chrome</translation>
 <translation id="8503813439785031346">Nama Pengguna</translation>
+<translation id="8504988642345501642">Saat Anda scroll ke atas, link cepat ke halaman terkait akan ditampilkan. URL halaman yang Anda buka dikirimkan ke Google.</translation>
 <translation id="8514477925623180633">Ekspor sandi yang disimpan dengan Chrome</translation>
 <translation id="8514577642972634246">Masuki mode penyamaran</translation>
 <translation id="851751545965956758">Blokir situs agar tidak terhubung ke perangkat</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
index db48661..2c2d7815 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Data di fine: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Modifica il percorso di download predefinito in qualsiasi momento</translation>
 <translation id="1807246157184219062">Chiaro</translation>
+<translation id="1821253160463689938">Utilizza i cookie per memorizzare le tue preferenze, anche se non visiti quelle pagine</translation>
 <translation id="1829244130665387512">Trova nella pagina</translation>
 <translation id="1832521218263067499">Problemi di sicurezza</translation>
 <translation id="1853692000353488670">Nuova scheda in incognito</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sincronizza e personalizza su tutti i dispositivi</translation>
 <translation id="2100273922101894616">Accesso automatico</translation>
 <translation id="2111511281910874386">Vai alla pagina</translation>
+<translation id="2120297377148151361">Attività e interazioni</translation>
 <translation id="2122601567107267586">Impossibile aprire l'app</translation>
 <translation id="2126426811489709554">Con tecnologia Chrome</translation>
 <translation id="2131665479022868825">Dati salvati: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Guida e feedback</translation>
 <translation id="2501278716633472235">Indietro</translation>
 <translation id="2512222046227390255">Compilare moduli automaticamente</translation>
+<translation id="2513403576141822879">Per altre impostazioni relative a privacy, sicurezza e raccolta dei dati, consulta la sezione <ph name="BEGIN_LINK" />Sincronizzazione e servizi Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Invia a Google gli URL delle pagine che visiti</translation>
 <translation id="2526148617758225454">La funzione Risparmio dati è attiva. Gestiscila nelle Impostazioni.</translation>
 <translation id="2532336938189706096">Visualizzazione web</translation>
 <translation id="2536728043171574184">È visualizzata una copia offline della pagina</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Apri in scheda in incognito</translation>
 <translation id="311456632243022227">Più link aperti in Chrome</translation>
 <translation id="3115898365077584848">Mostra informazioni</translation>
+<translation id="3129938255108848489">Mostra suggerimenti per pagine simili quando una pagina non viene trovata</translation>
 <translation id="3137521801621304719">Esci dalla modalità di navigazione in incognito</translation>
 <translation id="3148434565183091099">Accedi a Chrome per trovare i tuoi preferiti su tutti i dispositivi.</translation>
 <translation id="3157842584138209013">Scopri la quantità di dati risparmiata usando il pulsante Altre opzioni</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Chiudi finestra di dialogo</translation>
 <translation id="4378154925671717803">Telefono</translation>
 <translation id="4384468725000734951">Sogou in uso per la ricerca</translation>
+<translation id="4398088515904522762">Per utilizzare questa funzione, attiva <ph name="BEGIN_LINK" />Attività e interazioni<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Nessun segnalibro</translation>
 <translation id="4409723563706114196">Usa previsioni di pagina</translation>
 <translation id="4412992751769744546">Consenti cookie di terze parti</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Questo sito non verrà tradotto</translation>
 <translation id="545042621069398927">Accelerazione del download in corso.</translation>
 <translation id="5456381639095306749">Scarica la pagina</translation>
+<translation id="5466407412363861127">Questa funzione utilizza la <ph name="BEGIN_LINK" />sincronizzazione<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Apri nell'app di mappe</translation>
 <translation id="5487521232677179737">Cancella dati</translation>
 <translation id="5487729733663684359">Gli aggiornamenti di Chrome non sono più supportati per questa versione di Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Dati risparmiati: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Ripristina</translation>
 <translation id="5942872142862698679">Google in uso per la ricerca</translation>
+<translation id="5952764234151283551">Invia a Google l'URL della pagina a cui stai tentando di accedere</translation>
 <translation id="5956665950594638604">Apri Centro assistenza di Chrome in nuova scheda</translation>
 <translation id="5958275228015807058">Puoi trovare i tuoi file e le tue pagine nella cartella Download</translation>
 <translation id="5962718611393537961">Tocca per comprimere</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Segnala automaticamente a Google i dettagli dei possibili problemi di sicurezza</translation>
 <translation id="6992289844737586249">Chiedi conferma prima di consentire ai siti di utilizzare il microfono (opzione consigliata)</translation>
 <translation id="7016516562562142042">Consentita per il motore di ricerca corrente</translation>
+<translation id="7017968314960951695">Utilizza i contenuti dei siti visitati e le attività e interazioni relative al browser per la personalizzazione</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> scaricato</translation>
 <translation id="7022756207310403729">Apri nel browser</translation>
 <translation id="7029809446516969842">Password</translation>
 <translation id="7031882061095297553">Sincronizza con</translation>
+<translation id="7032663816368481562">Quando tocchi Altri simili <ph name="ICON" /> nella barra degli indirizzi, ti vengono mostrati i link diretti alle pagine correlate. Gli URL delle pagine che visiti vengono inviati a Google.</translation>
 <translation id="7034608350006174882">Carte e indirizzi che utilizzano Google Pay</translation>
 <translation id="7053983685419859001">Blocca</translation>
 <translation id="7055152154916055070">Reindirizzamento bloccato:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Aggiungi account</translation>
 <translation id="7682724950699840886">Prova i seguenti suggerimenti: assicurati di avere spazio sufficiente sul dispositivo e prova a esportare di nuovo.</translation>
 <translation id="7698359219371678927">Crea email in <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Completamento automatico di ricerche e URL</translation>
 <translation id="773466115871691567">Traduci sempre le pagine in <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Protegge te e il tuo dispositivo da siti pericolosi</translation>
@@ -830,7 +841,7 @@
 <translation id="802154636333426148">Download non riuscito</translation>
 <translation id="8026334261755873520">Cancella dati di navigazione</translation>
 <translation id="8035133914807600019">Nuova cartella…</translation>
-<translation id="8037686209485537503">Altri simili</translation>
+<translation id="8037686209485537503">Altri contenuti simili</translation>
 <translation id="8037750541064988519"><ph name="DAYS" /> giorni rimanenti</translation>
 <translation id="804335162455518893">Scheda SD non trovata</translation>
 <translation id="805047784848435650">In base alla tua cronologia di navigazione</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Suggerisci pagine correlate</translation>
 <translation id="8116925261070264013">Con audio disattivato</translation>
 <translation id="813082847718468539">Visualizza informazioni sul sito</translation>
+<translation id="8160722851663543621">Invia al tuo motore di ricerca predefinito le ricerche dalla barra degli indirizzi e dalla casella di ricerca, nonché alcuni cookie</translation>
 <translation id="8168435359814927499">Contenuti</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> file rimanenti</translation>
 <translation id="8190358571722158785">1 giorno rimanente</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Mostra cronologia completa</translation>
 <translation id="8420510748452002155">Servizi non personalizzati</translation>
 <translation id="8428213095426709021">Impostazioni</translation>
+<translation id="8438566539970814960">Migliora le ricerche e le attività di navigazione</translation>
 <translation id="8441146129660941386">Posiziona indietro</translation>
 <translation id="8445448999790540984">Impossibile esportare le password</translation>
 <translation id="8447861592752582886">Revoca autorizzazione dispositivo</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Qui non c'è ancora niente</translation>
 <translation id="8503559462189395349">Password Chrome</translation>
 <translation id="8503813439785031346">Nome utente</translation>
+<translation id="8504988642345501642">Quando scorri verso l'alto, ti vengono mostrati i link diretti alle pagine correlate. Gli URL delle pagine che visiti vengono inviati a Google.</translation>
 <translation id="8514477925623180633">Esporta le password memorizzate su Chrome</translation>
 <translation id="8514577642972634246">Accedi alla modalità di navigazione in incognito</translation>
 <translation id="851751545965956758">Impedisci ai siti di connettersi ai dispositivi</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
index 6a9f961f..193bc19c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">תאריך סיום <ph name="DATE" /></translation>
 <translation id="1792959175193046959">אפשר תמיד לשנות את מיקום ההורדות</translation>
 <translation id="1807246157184219062">בהיר</translation>
+<translation id="1821253160463689938">‏שימוש בקובצי cookie כדי לשמור את ההעדפות שלך, גם אם לא נכנסת אל הדפים האלה</translation>
 <translation id="1829244130665387512">חפש בדף</translation>
 <translation id="1832521218263067499">תקריות אבטחה</translation>
 <translation id="1853692000353488670">כרטיסייה חדשה לגלישה בסתר</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">סנכרון והתאמה אישית במכשירים שונים</translation>
 <translation id="2100273922101894616">כניסה אוטומטית</translation>
 <translation id="2111511281910874386">מעבר לדף</translation>
+<translation id="2120297377148151361">פעילות ואינטראקציות</translation>
 <translation id="2122601567107267586">לא ניתן היה לפתוח את היישום</translation>
 <translation id="2126426811489709554">‏מבוסס על Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> נשמרו</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">עזרה ומשוב</translation>
 <translation id="2501278716633472235">חזור</translation>
 <translation id="2512222046227390255">מילוי אוטומטי של טפסים</translation>
+<translation id="2513403576141822879">‏אפשר למצוא הגדרות נוספות בנושא פרטיות, אבטחה ואיסוף נתונים בדף <ph name="BEGIN_LINK" />סנכרון ושירותי Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">‏שולח ל-Google כתובות אתרים של דפים שבהם ביקרת</translation>
 <translation id="2526148617758225454">‏חוסך הנתונים (Data Saver) פועל. תוכל לנהל אותו ב'הגדרות'.</translation>
 <translation id="2532336938189706096">תצוגת אינטרנט</translation>
 <translation id="2536728043171574184">מציג העתק לא מקוון של עמוד זה</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">פתח בכרטיסיית גלישה בסתר</translation>
 <translation id="311456632243022227">‏קישורים מרובים נפתחו ב-Chrome</translation>
 <translation id="3115898365077584848">הצג פרטים</translation>
+<translation id="3129938255108848489">מציג הצעות לדפים דומים אם דף מסוים לא נמצא</translation>
 <translation id="3137521801621304719">צא ממצב גלישה בסתר</translation>
 <translation id="3148434565183091099">‏כדי שהסימניות שלך יופיעו בכל המכשירים, היכנס ל-Chrome.</translation>
 <translation id="3157842584138209013">בעזרת הלחצן 'אפשרויות נוספות' אפשר לבדוק את החיסכון בצריכת נתונים</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">סגור את תיבת הדו-שיח</translation>
 <translation id="4378154925671717803">טלפון</translation>
 <translation id="4384468725000734951">‏שימוש ב-Sogou לחיפוש</translation>
+<translation id="4398088515904522762">כדי להשתמש בתכונה צריך להפעיל את <ph name="BEGIN_LINK" />פעילות ואינטראקציות<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">ללא סימניות</translation>
 <translation id="4409723563706114196">שימוש בחיזויי דפים</translation>
 <translation id="4412992751769744546">‏התר קובצי Cookie של צד שלישי</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">האתר הזה לא יתורגם</translation>
 <translation id="545042621069398927">הדפדפן מאיץ את ההורדה.</translation>
 <translation id="5456381639095306749">הורד דף זה</translation>
+<translation id="5466407412363861127">התכונה הזו משתמשת ב<ph name="BEGIN_LINK" />סנכרון<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">פתח יישום מפות</translation>
 <translation id="5487521232677179737">נקה נתונים</translation>
 <translation id="5487729733663684359">‏עדכוני Chrome אינם נתמכים עוד בגרסה הזו של Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> נחסכו</translation>
 <translation id="5939518447894949180">אפס</translation>
 <translation id="5942872142862698679">‏שימוש ב-Google לחיפוש</translation>
+<translation id="5952764234151283551">‏שליחת כתובת האתר של הדף שאליו ניסית להגיע אל Google</translation>
 <translation id="5956665950594638604">‏פתח את מרכז העזרה של Chrome בכרטיסייה חדשה</translation>
 <translation id="5958275228015807058">מצא את הקבצים והדפים שלך ב'הורדות'</translation>
 <translation id="5962718611393537961">הקש כדי לכווץ</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">‏דיווח אוטומטית ל-Google על פרטים של בעיות אבטחה אפשריות</translation>
 <translation id="6992289844737586249">שאל לפני שתאפשר לאתרים להשתמש במיקרופון (מומלץ)</translation>
 <translation id="7016516562562142042">מופעל למנוע החיפוש הנוכחי</translation>
+<translation id="7017968314960951695">התוכן מאתרים שאליהם נכנסת, פעילות הדפדפן ואינטראקציות ישמשו להתאמה אישית</translation>
 <translation id="7021515813996758557">הורדת הקובץ <ph name="FILE_NAME" /> בוצעה</translation>
 <translation id="7022756207310403729">פתיחה בדפדפן</translation>
 <translation id="7029809446516969842">סיסמאות</translation>
 <translation id="7031882061095297553">סינכרון עם</translation>
+<translation id="7032663816368481562">‏הקשה על הסמל 'עוד הצעות כאלה' <ph name="ICON" /> בשורת כתובת האתר מציגה קישורים מהירים אל דפים קשורים. כתובות האתרים של דפים שאליהם נכנסת נשלחות אל Google.</translation>
 <translation id="7034608350006174882">‏כרטיסים וכתובות דרך Google Pay</translation>
 <translation id="7053983685419859001">חסום</translation>
 <translation id="7055152154916055070">הפניה אוטומטית נחסמה:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">הוסף חשבון</translation>
 <translation id="7682724950699840886">אפשר לנסות את הטיפים הבאים: צריך לוודא שיש מספיק מקום פנוי במכשיר ואז לנסות לייצא שוב.</translation>
 <translation id="7698359219371678927">צור הודעת אימייל ב-<ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">השלמה אוטומטית של חיפושים וכתובות אתרים</translation>
 <translation id="773466115871691567">תרגם תמיד דפים ב<ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">הגנה מפני אתרים שעלולים לסכן אותך ואת המכשיר</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">הצעת דפים קשורים</translation>
 <translation id="8116925261070264013">מושתקים</translation>
 <translation id="813082847718468539">הצג נתוני אתר</translation>
+<translation id="8160722851663543621">‏שליחת חיפושים משורת כתובת האתר ותיבת החיפוש אל מנוע החיפוש שהגדרת כברירת מחדל יחד עם קובצי cookie מסוימים</translation>
 <translation id="8168435359814927499">תוכן</translation>
 <translation id="8186512483418048923">נותרו עוד <ph name="FILES" /> קבצים</translation>
 <translation id="8190358571722158785">נותר יום אחד</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">הצג את ההיסטוריה המלאה</translation>
 <translation id="8420510748452002155">שירותים ללא התאמה אישית</translation>
 <translation id="8428213095426709021">הגדרות</translation>
+<translation id="8438566539970814960">שיפור החיפושים והגלישה</translation>
 <translation id="8441146129660941386">הרץ לאחור</translation>
 <translation id="8445448999790540984">אי אפשר לייצא סיסמאות</translation>
 <translation id="8447861592752582886">שלול הרשאות מכשיר</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">אין מה לראות כאן… בינתיים</translation>
 <translation id="8503559462189395349">‏סיסמאות Chrome</translation>
 <translation id="8503813439785031346">שם משתמש</translation>
+<translation id="8504988642345501642">‏גלילה כלפי מעלה מציגה קישורים מהירים אל דפים קשורים. כתובות האתרים של דפים שאליהם נכנסת נשלחות אל Google.</translation>
 <translation id="8514477925623180633">‏ייצוא סיסמאות המאוחסנות ב-Chrome</translation>
 <translation id="8514577642972634246">עבור למצב גלישה בסתר</translation>
 <translation id="851751545965956758">חסימת התחברות של אתרים אל התקנים</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
index cdb1f52..10cd8ad 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Pabaigos data: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Numatytąją atsisiuntimo vietą galite bet kada pakeisti</translation>
 <translation id="1807246157184219062">Šviesi</translation>
+<translation id="1821253160463689938">Naudojami slapukai, siekiant įsiminti jūsų nuostatas, net jei nesilankote tuose puslapiuose</translation>
 <translation id="1829244130665387512">Surasti puslapyje</translation>
 <translation id="1832521218263067499">Su sauga susiję įvykiai</translation>
 <translation id="1853692000353488670">Naujas inkognito skirtukas</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sinchronizuoti ir suasmeninti įrenginiuose</translation>
 <translation id="2100273922101894616">Automatinis prisijungimas</translation>
 <translation id="2111511281910874386">Eiti į puslapį</translation>
+<translation id="2120297377148151361">Veikla ir sąveikos</translation>
 <translation id="2122601567107267586">Nepavyko atidaryti programos</translation>
 <translation id="2126426811489709554">Teikia „Chrome“</translation>
 <translation id="2131665479022868825">Išsaugota: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Pagalba ir atsiliepimai</translation>
 <translation id="2501278716633472235">Grįžti</translation>
 <translation id="2512222046227390255">Automatiškai užpildyti formas</translation>
+<translation id="2513403576141822879">Daugiau nustatymų, susijusių su privatumu, sauga ir duomenų rinkimu, žr. skiltyje <ph name="BEGIN_LINK" />„Sinchronizavimas ir „Google“ paslaugos“<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Siunčiami „Google“ puslapių, kuriuose lankotės, URL</translation>
 <translation id="2526148617758225454">Įjungta Duomenų taupymo priemonė. Ją galite tvarkyti nustatymuose.</translation>
 <translation id="2532336938189706096">Žiniatinklio rodinys</translation>
 <translation id="2536728043171574184">Žiūrima neprisijungus naudojama šio puslapio kopija</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Atidaryti inkognito skirtuko lape</translation>
 <translation id="311456632243022227">Kel. nuor. at. narš. „Chrome“</translation>
 <translation id="3115898365077584848">Rodyti informaciją</translation>
+<translation id="3129938255108848489">Rodomi panašių puslapių pasiūlymai, kai nepavyksta rasti puslapio</translation>
 <translation id="3137521801621304719">Išjungti inkognito režimą</translation>
 <translation id="3148434565183091099">Prisijunkite naršyklėje „Chrome“, kad pasiektumėte žymes visuose įrenginiuose.</translation>
 <translation id="3157842584138209013">Žr., kiek duomenų sutaupėte, spustelėję mygtuką „Daugiau parinkčių“</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Uždaryti dialogo langą</translation>
 <translation id="4378154925671717803">Telefonas</translation>
 <translation id="4384468725000734951">Atliekant paiešką naudojama „Sogou“</translation>
+<translation id="4398088515904522762">Jei norite naudoti šią funkciją, įjunkite parinktį <ph name="BEGIN_LINK" />„Veikla ir sąveikos“<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Nėra jokių žymių</translation>
 <translation id="4409723563706114196">Naudoti puslapių numatymą</translation>
 <translation id="4412992751769744546">Leisti trečiųjų šalių slapukus</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Ši svetainė nebus verčiama</translation>
 <translation id="545042621069398927">Paspartinamas atsisiuntimas.</translation>
 <translation id="5456381639095306749">Atsisiųsti puslapį</translation>
+<translation id="5466407412363861127">Ši funkcija naudoja <ph name="BEGIN_LINK" />sinchronizavimą<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Atidaryti Žemėlapių programoje</translation>
 <translation id="5487521232677179737">Išvalyti duomenis</translation>
 <translation id="5487729733663684359">„Chrome“ naujiniai daugiau nepalaikomi naudojant šios versijos „Android“.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Išsaugota <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Nustatyti iš naujo</translation>
 <translation id="5942872142862698679">Atliekant paiešką naudojama „Google“</translation>
+<translation id="5952764234151283551">Siunčiamas „Google“ puslapio, kurį bandote pasiekti, URL</translation>
 <translation id="5956665950594638604">Atidaryti „Chrome“ pagalb. centrą naujame skirtuke</translation>
 <translation id="5958275228015807058">Suraskite failus ir puslapius „Atsisiuntimų“ skiltyje</translation>
 <translation id="5962718611393537961">Palieskite ir sutraukite</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automatiškai pateikti išsamią informaciją apie galimas saugos problemas „Google“.</translation>
 <translation id="6992289844737586249">Pirmiausia klausti prieš leidžiant svetainėms naudoti mikrofoną (rekomenduojama)</translation>
 <translation id="7016516562562142042">Leidžiama dabartiniam paieškos varikliui</translation>
+<translation id="7017968314960951695">Naudojamas svetainių, kuriose lankotės, turinys ir naršymo veikla bei sąveikos suasmeninimo tikslais</translation>
 <translation id="7021515813996758557">Failas „<ph name="FILE_NAME" />“ atsisiųstas</translation>
 <translation id="7022756207310403729">Atidaryti naršyklėje</translation>
 <translation id="7029809446516969842">Slaptažodžiai</translation>
 <translation id="7031882061095297553">Sinchronizavimas su</translation>
+<translation id="7032663816368481562">Adreso juostoje palietus „Daugiau panašių į šį“ <ph name="ICON" /> rodomos sparčiosios nuorodos į susijusius puslapius. Puslapių, kuriuose lankotės, URL siunčiami į sistemą „Google“.</translation>
 <translation id="7034608350006174882">„Google Pay“ naudojamos kortelės ir adresai</translation>
 <translation id="7053983685419859001">Blokuoti</translation>
 <translation id="7055152154916055070">Peradresavimas užblokuotas:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Pridėti paskyrą</translation>
 <translation id="7682724950699840886">Išbandykite nurodytus patarimus: įsitikinkite, kad įrenginyje yra pakankamai vietos, ir bandykite eksportuoti dar kartą.</translation>
 <translation id="7698359219371678927">Kurti el. laišką naudojant „<ph name="APP_NAME" />“</translation>
+<translation id="7704317875155739195">Automatiškai užbaigti paieškas ir URL</translation>
 <translation id="773466115871691567">Visada versti puslapius, parašytus <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Apsaugo jus ir jūsų įrenginį nuo pavojingų svetainių</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Siūlyti susijusius puslapius</translation>
 <translation id="8116925261070264013">Išjungta</translation>
 <translation id="813082847718468539">Žiūrėti svetainės informaciją</translation>
+<translation id="8160722851663543621">Numatytajam paieškos varikliui siunčiamos į adreso juostą ir paieškos laukelį įvestos paieškos ir kai kurie slapukai</translation>
 <translation id="8168435359814927499">Turinys</translation>
 <translation id="8186512483418048923">Liko failų: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Liko 1 d.</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Rodyti visą istoriją</translation>
 <translation id="8420510748452002155">Nesuasmenintos paslaugos</translation>
 <translation id="8428213095426709021">Nustatymai</translation>
+<translation id="8438566539970814960">Tobulinti paieškas ir naršymą</translation>
 <translation id="8441146129660941386">Ieškoti einant atgal</translation>
 <translation id="8445448999790540984">Nepavyksta eksportuoti slaptažodžių</translation>
 <translation id="8447861592752582886">Anuliuoti įrenginio leidimą</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Čia dar nėra nieko, ką galėtumėte peržiūrėti…</translation>
 <translation id="8503559462189395349">„Chrome“ slaptažodžiai</translation>
 <translation id="8503813439785031346">Vartotojo vardas</translation>
+<translation id="8504988642345501642">Slenkant aukštyn rodomos sparčiosios nuorodos į susijusius puslapius. Puslapių, kuriuose lankotės, URL siunčiami į sistemą „Google“.</translation>
 <translation id="8514477925623180633">Eksportuoti sistemoje „Chrome“ saugomus slaptažodžius</translation>
 <translation id="8514577642972634246">Įjungti inkognito režimą</translation>
 <translation id="851751545965956758">Blokuoti svetaines, kad nebūtų galima prisijungti prie įrenginių</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
index 17f0ddd4..ed379a9e 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Beigu datums: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Noklusējuma lejupielādes vietu var mainīt jebkurā laikā.</translation>
 <translation id="1807246157184219062">Gaišs</translation>
+<translation id="1821253160463689938">Izmanto sīkfailus, lai iegaumētu jūsu preferences, pat ja neapmeklējāt šīs lapas</translation>
 <translation id="1829244130665387512">Atrast lapā</translation>
 <translation id="1832521218263067499">Drošības problēmas</translation>
 <translation id="1853692000353488670">Jauna inkognito cilne</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sinhronizējiet un personalizējiet vairākās ierīcēs</translation>
 <translation id="2100273922101894616">Automātiski pierakstīties</translation>
 <translation id="2111511281910874386">Doties uz lapu</translation>
+<translation id="2120297377148151361">Darbības un mijiedarbības</translation>
 <translation id="2122601567107267586">Nevarēja atvērt lietotni</translation>
 <translation id="2126426811489709554">Nodrošina Chrome</translation>
 <translation id="2131665479022868825">Ietaupījums: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Palīdzība un atsauksmes</translation>
 <translation id="2501278716633472235">Doties atpakaļ</translation>
 <translation id="2512222046227390255">Veidlapu automātiskā aizpilde</translation>
+<translation id="2513403576141822879">Papildu iestatījumus, kas attiecas uz konfidencialitāti, drošību un datu apkopošanu, skatiet lapā <ph name="BEGIN_LINK" />Sinhronizēšana un Google pakalpojumi<ph name="END_LINK" />.</translation>
+<translation id="2523184218357549926">Nosūta Google serveriem apmeklēto lapu vietrāžus URL</translation>
 <translation id="2526148617758225454">Datu lietojuma samazinātājs ir ieslēgts. Varat to pārvaldīt iestatījumos.</translation>
 <translation id="2532336938189706096">Tīmekļa skatījums</translation>
 <translation id="2536728043171574184">Skata šīs lapas kopiju bezsaistē</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Atvērt inkognito režīma cilnē</translation>
 <translation id="311456632243022227">Vairākas saites atvērtas pārlūkā Chrome</translation>
 <translation id="3115898365077584848">Rādīt informāciju</translation>
+<translation id="3129938255108848489">Ja lapu neizdotas atrast, rādīt ieteikumus par līdzīgām lapām</translation>
 <translation id="3137521801621304719">Iziet no inkognito režīma</translation>
 <translation id="3148434565183091099">Pierakstieties pārlūkā Chrome, lai grāmatzīmes būtu pieejamas visās jūsu ierīcēs.</translation>
 <translation id="3157842584138209013">Izmantojiet pogu Vairāk opciju, lai uzzinātu ietaupīto datu apjomu</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Aizvērt dialoglodziņu</translation>
 <translation id="4378154925671717803">Tālrunis</translation>
 <translation id="4384468725000734951">Tiek izmantota meklētājprogramma Sogou</translation>
+<translation id="4398088515904522762">Lai izmantotu šo funkciju, ieslēdziet iestatījumu <ph name="BEGIN_LINK" />Darbības un mijiedarbība<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Nav grāmatzīmju</translation>
 <translation id="4409723563706114196">Lapu ieteikumu izmantošana</translation>
 <translation id="4412992751769744546">Atļaut trešo pušu sīkfailus</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Šī vietne netiks tulkota</translation>
 <translation id="545042621069398927">Lejupielāde tiek paātrināta.</translation>
 <translation id="5456381639095306749">Lejupielādēt lapu</translation>
+<translation id="5466407412363861127">Šai funkcijai tiek izmantota <ph name="BEGIN_LINK" />sinhronizācija<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Atvērt karšu lietotnē</translation>
 <translation id="5487521232677179737">Notīrīt datus</translation>
 <translation id="5487729733663684359">Chrome atjauninājumi vairs netiek atbalstīti šajā Android versijā.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Saglabāts: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Atiestatīt</translation>
 <translation id="5942872142862698679">Tiek izmantota meklētājprogramma Google</translation>
+<translation id="5952764234151283551">Sūta Google serveriem tās lapas URL, kuru mēģināt sasniegt</translation>
 <translation id="5956665950594638604">Atvērt Chrome palīdzības centru jaunā cilnē</translation>
 <translation id="5958275228015807058">Atrodiet savus failus un lapas sadaļā Lejupielādes</translation>
 <translation id="5962718611393537961">Pieskarties, lai sakļautu</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automātiski nosūtīt Google serveriem informāciju par iespējamām drošības problēmām</translation>
 <translation id="6992289844737586249">Jautāt, pirms atļaut vietnēm izmantot jūsu mikrofonu (ieteicams)</translation>
 <translation id="7016516562562142042">Atļauta pašreizējai meklētājprogrammai</translation>
+<translation id="7017968314960951695">Izmanto personalizācijai jūsu apmeklēto vietņu saturu, kā arī darbības un mijiedarbības pārlūkā</translation>
 <translation id="7021515813996758557">Fails <ph name="FILE_NAME" /> ir lejupielādēts.</translation>
 <translation id="7022756207310403729">Atvērt pārlūkā</translation>
 <translation id="7029809446516969842">Paroles</translation>
 <translation id="7031882061095297553">Sinhronizēt ar:</translation>
+<translation id="7032663816368481562">Adreses joslā pieskaroties vienumam Citi līdzīgi vienumi <ph name="ICON" />, tiek rādītas ātrās saites uz saistītām lapām. Apmeklēto lapu vietrāži URL tiek nosūtīti Google serveriem.</translation>
 <translation id="7034608350006174882">Kartes un adreses, kurās tiek izmantots pakalpojums Google Pay</translation>
 <translation id="7053983685419859001">Bloķēt</translation>
 <translation id="7055152154916055070">Novirzīšana ir bloķēta:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Pievienot kontu</translation>
 <translation id="7682724950699840886">Ņemiet vērā šos ieteikumus: atbrīvojiet ierīcē vietu un mēģiniet eksportēt vēlreiz.</translation>
 <translation id="7698359219371678927">Izveidojiet e-pasta ziņojumu lietotnē <ph name="APP_NAME" />.</translation>
+<translation id="7704317875155739195">Automātiski pabeigt meklēšanas vaicājumus un vietrāžus URL</translation>
 <translation id="773466115871691567">Vienmēr tulkot lapas šādā valodā: <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Aizsargā jūs un ierīci pret bīstamām vietnēm</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Saistīto lapu ieteikšana</translation>
 <translation id="8116925261070264013">Izslēgta skaņa</translation>
 <translation id="813082847718468539">Skatīt informāciju par vietni</translation>
+<translation id="8160722851663543621">Nosūta meklēšanas vaicājumus no adreses joslas un meklēšanas lodziņa, kā arī dažus sīkfailus uz jūsu noklusējuma meklētājprogrammu</translation>
 <translation id="8168435359814927499">Saturs</translation>
 <translation id="8186512483418048923">Atlikuši faili: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Atlikusi 1 diena</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Rādīt pilnu vēsturi</translation>
 <translation id="8420510748452002155">Nepersonalizētie pakalpojumi</translation>
 <translation id="8428213095426709021">Iestatījumi</translation>
+<translation id="8438566539970814960">Uzlabot meklēšanu un pārlūkošanu</translation>
 <translation id="8441146129660941386">Pārtīt atpakaļ</translation>
 <translation id="8445448999790540984">Nevar eksportēt paroles</translation>
 <translation id="8447861592752582886">Atsaukt ierīces atļauju</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Šeit vēl nekā nav...</translation>
 <translation id="8503559462189395349">Chrome paroles</translation>
 <translation id="8503813439785031346">Lietotājvārds</translation>
+<translation id="8504988642345501642">Ritinot augšup, varat skatīt ātrās saites uz saistītajām lapām. Apmeklēto lapu vietrāži URL tiek nosūtīti Google serveriem.</translation>
 <translation id="8514477925623180633">Eksportēt pārlūkā Chrome saglabātās paroles</translation>
 <translation id="8514577642972634246">Atvērt inkognito režīmā</translation>
 <translation id="851751545965956758">Neļaut vietnēm izveidot savienojumu ar ierīci</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
index a3c8d2c3..1a60006 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Einddatum: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Je kunt op elk gewenst moment de standaard downloadlocatie wijzigen</translation>
 <translation id="1807246157184219062">Licht</translation>
+<translation id="1821253160463689938">Maakt gebruik van cookies om je voorkeuren te onthouden, zelfs als je deze pagina's niet bezoekt</translation>
 <translation id="1829244130665387512">Vinden op pagina</translation>
 <translation id="1832521218263067499">Beveiligingsincidenten</translation>
 <translation id="1853692000353488670">Nieuw incognitotabblad</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Synchronisatie en personalisatie op meerdere apparaten</translation>
 <translation id="2100273922101894616">Automatisch inloggen</translation>
 <translation id="2111511281910874386">Ga naar pagina</translation>
+<translation id="2120297377148151361">Activiteit en interacties</translation>
 <translation id="2122601567107267586">Kan app niet openen</translation>
 <translation id="2126426811489709554">Mogelijk gemaakt door Chrome</translation>
 <translation id="2131665479022868825"><ph name="DATA" /> bespaard</translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Help en feedback</translation>
 <translation id="2501278716633472235">Terug</translation>
 <translation id="2512222046227390255">Formulieren automatisch invullen</translation>
+<translation id="2513403576141822879">Bekijk <ph name="BEGIN_LINK" />Synchronisatie en Google-services<ph name="END_LINK" /> voor meer instellingen die verband houden met privacy, beveiliging en gegevensverzameling.</translation>
+<translation id="2523184218357549926">Hiermee worden de URL's van pagina's die je bezoekt, verzonden naar Google</translation>
 <translation id="2526148617758225454">Databesparing is ingeschakeld. Beheer dit via Instellingen.</translation>
 <translation id="2532336938189706096">Webweergave</translation>
 <translation id="2536728043171574184">Een offline exemplaar van deze pagina bekijken</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Openen op incognitotabblad</translation>
 <translation id="311456632243022227">Meerdere links geopend in Chrome</translation>
 <translation id="3115898365077584848">Informatie weergeven</translation>
+<translation id="3129938255108848489">Hiermee worden suggesties voor vergelijkbare pagina's weergegeven wanneer een pagina niet kan worden gevonden</translation>
 <translation id="3137521801621304719">Incognitomodus verlaten</translation>
 <translation id="3148434565183091099">Log in bij Chrome om al je bladwijzers op al je apparaten te bekijken.</translation>
 <translation id="3157842584138209013">Via de knop 'Meer opties' kun je zien hoeveel data je hebt bespaard</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Dialoogvenster sluiten</translation>
 <translation id="4378154925671717803">Telefoon</translation>
 <translation id="4384468725000734951">Sogou wordt gebruikt om te zoeken</translation>
+<translation id="4398088515904522762">Schakel <ph name="BEGIN_LINK" />Activiteit en interacties<ph name="END_LINK" /> in om deze functie te gebruiken.</translation>
 <translation id="4404568932422911380">Geen bladwijzers</translation>
 <translation id="4409723563706114196">Paginavoorspellingen gebruiken</translation>
 <translation id="4412992751769744546">Cookies van derden toestaan</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Deze site wordt niet vertaald</translation>
 <translation id="545042621069398927">Je download wordt versneld.</translation>
 <translation id="5456381639095306749">Pagina downloaden</translation>
+<translation id="5466407412363861127">Voor deze functie wordt <ph name="BEGIN_LINK" />synchronisatie<ph name="END_LINK" /> gebruikt.</translation>
 <translation id="548278423535722844">Openen in app voor kaarten</translation>
 <translation id="5487521232677179737">Gegevens wissen</translation>
 <translation id="5487729733663684359">Updates van Chrome worden niet meer ondersteund voor deze versie van Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> bespaard</translation>
 <translation id="5939518447894949180">Resetten</translation>
 <translation id="5942872142862698679">Google wordt gebruikt om te zoeken</translation>
+<translation id="5952764234151283551">Hiermee wordt de URL van de pagina die je probeert te openen, verzonden naar Google</translation>
 <translation id="5956665950594638604">Helpcentrum van Chrome openen in een nieuw tabblad</translation>
 <translation id="5958275228015807058">Vind je bestanden en pagina's in Downloads</translation>
 <translation id="5962718611393537961">Tik om samen te vouwen</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automatisch informatie over mogelijke beveiligingsincidenten aan Google melden</translation>
 <translation id="6992289844737586249">Eerst vragen voordat sites je microfoon mogen gebruiken (aanbevolen)</translation>
 <translation id="7016516562562142042">Toegestaan voor huidige zoekmachine</translation>
+<translation id="7017968314960951695">Maakt gebruik van content op sites die je bezoekt en browseractiviteit en interacties voor personalisatie</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> gedownload</translation>
 <translation id="7022756207310403729">Openen in browser</translation>
 <translation id="7029809446516969842">Wachtwoorden</translation>
 <translation id="7031882061095297553">Synchroniseren met</translation>
+<translation id="7032663816368481562">Wanneer je op Meer zoals dit <ph name="ICON" /> in de adresbalk klikt, worden snelle links naar gerelateerde pagina's weergegeven. De URL's van pagina's die je bezoekt, worden verzonden naar Google.</translation>
 <translation id="7034608350006174882">Kaarten en adressen die Google Pay gebruiken</translation>
 <translation id="7053983685419859001">Blokkeren</translation>
 <translation id="7055152154916055070">Omleiding geblokkeerd:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Account toevoegen</translation>
 <translation id="7682724950699840886">Probeer de volgende tips: zorg dat er voldoende ruimte op je apparaat beschikbaar is, probeer opnieuw te exporteren.</translation>
 <translation id="7698359219371678927">E-mail in <ph name="APP_NAME" /> maken</translation>
+<translation id="7704317875155739195">Zoekopdrachten en URL's automatisch aanvullen</translation>
 <translation id="773466115871691567">Pagina's in het <ph name="SOURCE_LANGUAGE" /> altijd vertalen</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Beschermt jou en je apparaat tegen gevaarlijke sites</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Gerelateerde pagina's voorstellen</translation>
 <translation id="8116925261070264013">Gedempt</translation>
 <translation id="813082847718468539">Sitegegevens bekijken</translation>
+<translation id="8160722851663543621">Hiermee worden de zoekopdrachten in de adresbalk en in het zoekvak en bepaalde cookies verzonden naar je standaard zoekmachine</translation>
 <translation id="8168435359814927499">Content</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> bestanden over</translation>
 <translation id="8190358571722158785">1 dag resterend</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Volledige geschiedenis weergeven</translation>
 <translation id="8420510748452002155">Niet-gepersonaliseerde services</translation>
 <translation id="8428213095426709021">Instellingen</translation>
+<translation id="8438566539970814960">Zoekopdrachten en browsefunctionaliteit verbeteren</translation>
 <translation id="8441146129660941386">Achteruit zoeken</translation>
 <translation id="8445448999790540984">Wachtwoorden kunnen niet worden geëxporteerd</translation>
 <translation id="8447861592752582886">Toegang tot apparaat intrekken</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Hier is nog niets te zien</translation>
 <translation id="8503559462189395349">Chrome-wachtwoorden</translation>
 <translation id="8503813439785031346">Gebruikersnaam</translation>
+<translation id="8504988642345501642">Wanneer je omhoog scrollt, worden er snelle links naar gerelateerde pagina's weergegeven. De URL's van pagina's die je bezoekt, worden verzonden naar Google.</translation>
 <translation id="8514477925623180633">Wachtwoorden exporteren die zijn opgeslagen in Chrome</translation>
 <translation id="8514577642972634246">Incognitomodus starten</translation>
 <translation id="851751545965956758">Voorkomen dat sites verbinding maken met apparaten</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
index 7e1ca65..b75c5166 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Data zakończenia: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">W dowolnej chwili możesz zmienić domyślną lokalizację pobierania</translation>
 <translation id="1807246157184219062">Jasny</translation>
+<translation id="1821253160463689938">Zapisuje Twoje ustawienia w plikach cookie, nawet jeśli nie odwiedzasz tych stron</translation>
 <translation id="1829244130665387512">Znajdź na stronie</translation>
 <translation id="1832521218263067499">Incydenty dotyczące zabezpieczeń</translation>
 <translation id="1853692000353488670">Nowa karta incognito</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Synchronizacja i personalizacja na urządzeniach</translation>
 <translation id="2100273922101894616">Autologowanie</translation>
 <translation id="2111511281910874386">Przejdź do strony</translation>
+<translation id="2120297377148151361">Aktywność i interakcje</translation>
 <translation id="2122601567107267586">Nie udało się otworzyć aplikacji</translation>
 <translation id="2126426811489709554">Technologia Chrome</translation>
 <translation id="2131665479022868825">Zaoszczędzono <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Pomoc i opinie</translation>
 <translation id="2501278716633472235">Wróć</translation>
 <translation id="2512222046227390255">Autouzupełniaj formularze</translation>
+<translation id="2513403576141822879">Więcej ustawień związanych z prywatnością, bezpieczeństwem i zbieraniem danych znajdziesz w sekcji <ph name="BEGIN_LINK" />Synchronizacja i usługi Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Wysyła adresy URL odwiedzanych stron do Google</translation>
 <translation id="2526148617758225454">Oszczędzanie danych jest włączone. Możesz nim zarządzać w ustawieniach.</translation>
 <translation id="2532336938189706096">Widok sieci</translation>
 <translation id="2536728043171574184">Oglądasz kopię offline tej strony</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Otwórz w karcie incognito</translation>
 <translation id="311456632243022227">Wiele linków otwartych w Chrome</translation>
 <translation id="3115898365077584848">Pokaż informacje</translation>
+<translation id="3129938255108848489">Gdy nie można odnaleźć strony, pokazuje sugestie podobnych stron</translation>
 <translation id="3137521801621304719">Wyłącz tryb incognito</translation>
 <translation id="3148434565183091099">Aby korzystać ze swoich zakładek na wszystkich urządzeniach, zaloguj się w Chrome.</translation>
 <translation id="3157842584138209013">Sprawdź ilość zaoszczędzonych danych, używając przycisku Więcej opcji</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Zamknij okno</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4384468725000734951">Korzystam z wyszukiwarki Sogou</translation>
+<translation id="4398088515904522762">Aby użyć tej funkcji, włącz <ph name="BEGIN_LINK" />Aktywność i interakcje<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Brak zakładek</translation>
 <translation id="4409723563706114196">Używaj przewidywania stron</translation>
 <translation id="4412992751769744546">Zezwalaj na pliki cookie innych firm</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Ta strona nie zostanie przetłumaczona</translation>
 <translation id="545042621069398927">Przyspieszam pobieranie.</translation>
 <translation id="5456381639095306749">Pobierz stronę</translation>
+<translation id="5466407412363861127">Ta funkcja używa <ph name="BEGIN_LINK" />synchronizacji<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Otwórz w aplikacji z mapami</translation>
 <translation id="5487521232677179737">Wyczyść dane</translation>
 <translation id="5487729733663684359">Aktualizacje Chrome nie są już dostępne w tej wersji Androida.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Zaoszczędzono <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Resetuj</translation>
 <translation id="5942872142862698679">Korzystam z wyszukiwarki Google</translation>
+<translation id="5952764234151283551">Wysyła do Google URL strony, którą próbujesz otworzyć</translation>
 <translation id="5956665950594638604">Otwórz Centrum pomocy Chrome w nowej karcie</translation>
 <translation id="5958275228015807058">Znajdź pliki i strony w Pobranych plikach</translation>
 <translation id="5962718611393537961">Kliknij, by zwinąć</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automatycznie przesyłaj do Google szczegółowe informacje o możliwych zagrożeniach</translation>
 <translation id="6992289844737586249">Pytaj, zanim zezwolisz stronom na korzystanie z mikrofonu (zalecane)</translation>
 <translation id="7016516562562142042">Zezwolono na dostęp obecnej wyszukiwarce</translation>
+<translation id="7017968314960951695">Wykorzystuje do personalizacji zawartość otwieranych stron oraz informacje o Twoich interakcjach i aktywności w przeglądarce.</translation>
 <translation id="7021515813996758557">Plik <ph name="FILE_NAME" /> został pobrany</translation>
 <translation id="7022756207310403729">Otwórz w przeglądarce</translation>
 <translation id="7029809446516969842">Hasła</translation>
 <translation id="7031882061095297553">Synchronizuj z</translation>
+<translation id="7032663816368481562">Gdy klikniesz Więcej <ph name="ICON" /> na pasku adresu, pojawią się szybkie linki do podobnych stron. Adresy URL odwiedzanych przez Ciebie stron są przesyłane do Google.</translation>
 <translation id="7034608350006174882">Karty i adresy z Google Pay</translation>
 <translation id="7053983685419859001">Blokuj</translation>
 <translation id="7055152154916055070">Zablokowano przekierowanie:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Dodaj konto</translation>
 <translation id="7682724950699840886">Skorzystaj z tych wskazówek: upewnij się, że masz wystarczająco dużo miejsca na urządzeniu, i ponownie spróbuj wyeksportować hasła.</translation>
 <translation id="7698359219371678927">Utwórz e-maila w aplikacji <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Autouzupełnianie wyszukiwania i adresów URL</translation>
 <translation id="773466115871691567">Zawsze tłumacz strony, których językiem jest <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Chroni Ciebie i Twoje urządzenie przed niebezpiecznymi witrynami</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Sugeruj powiązane strony</translation>
 <translation id="8116925261070264013">Wyciszone</translation>
 <translation id="813082847718468539">Wyświetl informacje o witrynie</translation>
+<translation id="8160722851663543621">Wysyła zapytania wpisane na pasku adresu i w polu wyszukiwania oraz niektóre pliki cookie do domyślnej wyszukiwarki</translation>
 <translation id="8168435359814927499">Treści</translation>
 <translation id="8186512483418048923">Pozostałe pliki: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Pozostał dzień</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Wyświetl całą historię</translation>
 <translation id="8420510748452002155">Niespersonalizowane usługi</translation>
 <translation id="8428213095426709021">Ustawienia</translation>
+<translation id="8438566539970814960">Ulepsz wyszukiwanie i przeglądanie</translation>
 <translation id="8441146129660941386">Przewiń do tyłu</translation>
 <translation id="8445448999790540984">Nie można wyeksportować haseł</translation>
 <translation id="8447861592752582886">Cofnij zgodę na dostęp do urządzenia</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Tu jeszcze niczego nie ma</translation>
 <translation id="8503559462189395349">Hasła w Chrome</translation>
 <translation id="8503813439785031346">Nazwa użytkownika</translation>
+<translation id="8504988642345501642">Podczas przewijania w górę wyświetlaj szybkie linki do podobnych stron. Adresy URL odwiedzanych przez Ciebie stron są przesyłane do Google.</translation>
 <translation id="8514477925623180633">Eksportuj hasła zapisane w Chrome</translation>
 <translation id="8514577642972634246">Włącz tryb incognito</translation>
 <translation id="851751545965956758">Nie zezwalaj stronom na łączenie się z urządzeniami</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
index f5c1981..d89c4ef 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Data de încheiere <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Schimbă oricând locația de descărcare prestabilită</translation>
 <translation id="1807246157184219062">Luminos</translation>
+<translation id="1821253160463689938">Folosește cookie-uri pentru a-ți reține preferințele, chiar dacă nu accesezi paginile respective</translation>
 <translation id="1829244130665387512">Găsește în pagină</translation>
 <translation id="1832521218263067499">Incidente privind securitatea</translation>
 <translation id="1853692000353488670">Filă incognito nouă</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Sincronizează și personalizează pe toate dispozitivele</translation>
 <translation id="2100273922101894616">Conectare automată</translation>
 <translation id="2111511281910874386">Accesează pagina</translation>
+<translation id="2120297377148151361">Activitate și interacțiuni</translation>
 <translation id="2122601567107267586">Aplicația nu poate fi deschisă</translation>
 <translation id="2126426811489709554">Afișată de Chrome</translation>
 <translation id="2131665479022868825">Date economisite: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Ajutor și feedback</translation>
 <translation id="2501278716633472235">Înapoi</translation>
 <translation id="2512222046227390255">Completează automat formularele</translation>
+<translation id="2513403576141822879">Pentru mai multe setări privind confidențialitatea, securitatea și colectarea datelor, consultă <ph name="BEGIN_LINK" />Sincronizare și servicii Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Trimite la Google adresele URL ale paginilor pe care le accesezi</translation>
 <translation id="2526148617758225454">Economizorul de date este activat. Gestionează-l din setări.</translation>
 <translation id="2532336938189706096">Vizualizare pe web</translation>
 <translation id="2536728043171574184">Se afișează o versiune offline a acestei pagini</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Deschideți într-o filă incognito</translation>
 <translation id="311456632243022227">Linkuri multiple deschise în Chrome</translation>
 <translation id="3115898365077584848">Afișează informațiile</translation>
+<translation id="3129938255108848489">Afișează sugestii pentru pagini similare atunci când o pagină nu poate fi găsită</translation>
 <translation id="3137521801621304719">Ieși din modul incognito</translation>
 <translation id="3148434565183091099">Pentru a accesa marcajele pe toate dispozitivele, conectează-te la Chrome.</translation>
 <translation id="3157842584138209013">Vezi ce volum de date ai economisit folosind butonul Mai multe opțiuni</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Închide caseta de dialog</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="4384468725000734951">Pentru căutare se folosește Sogou</translation>
+<translation id="4398088515904522762">Pentru a folosi această funcție, activează <ph name="BEGIN_LINK" />Activitate și interacțiuni<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Niciun marcaj</translation>
 <translation id="4409723563706114196">Folosește predicțiile pentru pagini</translation>
 <translation id="4412992751769744546">Permite cookie-urile terță parte</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Acest site nu va fi tradus</translation>
 <translation id="545042621069398927">Se accelerează descărcarea.</translation>
 <translation id="5456381639095306749">Descarcă pagina</translation>
+<translation id="5466407412363861127">Această funcție folosește <ph name="BEGIN_LINK" />sincronizarea<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Deschide în aplicația Maps</translation>
 <translation id="5487521232677179737">Șterge datele</translation>
 <translation id="5487729733663684359">Actualizările Chrome nu mai sunt acceptate pentru această versiune de Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696"><ph name="AMOUNT" /> salvați</translation>
 <translation id="5939518447894949180">Resetează</translation>
 <translation id="5942872142862698679">Pentru căutare se folosește Google</translation>
+<translation id="5952764234151283551">Trimite la Google adresa URL a unei pagini pe care încerci să o accesezi</translation>
 <translation id="5956665950594638604">Deschide Centrul de ajutor Chrome într-o filă nouă</translation>
 <translation id="5958275228015807058">Găsește fișierele și paginile în Descărcări</translation>
 <translation id="5962718611393537961">Atinge pentru a restrânge</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Raportează automat la Google detaliile eventualelor incidente privind securitatea</translation>
 <translation id="6992289844737586249">Întreabă înainte de a permite site-urilor să folosească microfonul (recomandat)</translation>
 <translation id="7016516562562142042">Permisă pentru motorul de căutare actual</translation>
+<translation id="7017968314960951695">Folosește conținutul de pe site-urile pe care le accesezi, activitatea browserului și interacțiunile pentru personalizare</translation>
 <translation id="7021515813996758557">Fișierul <ph name="FILE_NAME" /> a fost descărcat</translation>
 <translation id="7022756207310403729">Deschide în browser</translation>
 <translation id="7029809446516969842">Parole</translation>
 <translation id="7031882061095297553">Sincronizează cu</translation>
+<translation id="7032663816368481562">Când atingi Mai multe similare <ph name="ICON" /> în bara de adrese, afișezi linkuri rapide către pagini similare. Adresele URL ale paginilor pe care le accesezi sunt trimise la Google.</translation>
 <translation id="7034608350006174882">Carduri și adrese care folosesc Google Pay</translation>
 <translation id="7053983685419859001">Blochează</translation>
 <translation id="7055152154916055070">Redirecționarea a fost blocată:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Adăugați un cont</translation>
 <translation id="7682724950699840886">Încearcă următoarele sfaturi: asigură-te că există spațiu suficient pe dispozitiv, încearcă să exporți din nou.</translation>
 <translation id="7698359219371678927">Creează un e-mail în <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Completează automat căutările și adresele URL</translation>
 <translation id="773466115871691567">Tradu întotdeauna paginile în <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Protecție împotriva site-urilor periculoase</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Sugerează pagini similare</translation>
 <translation id="8116925261070264013">Cu sunetul dezactivat</translation>
 <translation id="813082847718468539">Afișează informațiile privind site-ul</translation>
+<translation id="8160722851663543621">Trimite căutări din bara de adrese și din caseta de căutare și anumite cookie-uri în motorul de căutare prestabilit</translation>
 <translation id="8168435359814927499">Conținut</translation>
 <translation id="8186512483418048923"><ph name="FILES" /> fișiere rămase</translation>
 <translation id="8190358571722158785">1 zi rămasă</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Afișați întregul istoric</translation>
 <translation id="8420510748452002155">Servicii nepersonalizate</translation>
 <translation id="8428213095426709021">Setări</translation>
+<translation id="8438566539970814960">Îmbunătățește căutările și navigarea</translation>
 <translation id="8441146129660941386">Derulează înapoi</translation>
 <translation id="8445448999790540984">Nu se pot exporta parole</translation>
 <translation id="8447861592752582886">Revocă permisiunea de accesare a dispozitivului</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Nu este nimic de văzut aici... deocamdată</translation>
 <translation id="8503559462189395349">Parole Chrome</translation>
 <translation id="8503813439785031346">Nume utilizator</translation>
+<translation id="8504988642345501642">Când derulezi în sus, afișezi linkuri rapide către pagini similare. Adresele URL ale paginilor pe care le accesezi sunt trimise la Google.</translation>
 <translation id="8514477925623180633">Exportă parolele stocate în Chrome</translation>
 <translation id="8514577642972634246">Intră în modul incognito</translation>
 <translation id="851751545965956758">Blochează conectarea site-urilor la dispozitive</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
index 8799d27..b73619f 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Дата окончания: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Вы можете в любой момент изменить расположение скачиваемых файлов по умолчанию.</translation>
 <translation id="1807246157184219062">Светлый</translation>
+<translation id="1821253160463689938">Использовать файлы cookie, чтобы запомнить ваши предпочтения, даже если вы не открываете эти страницы</translation>
 <translation id="1829244130665387512">Найти на странице</translation>
 <translation id="1832521218263067499">Случаи нарушения безопасности</translation>
 <translation id="1853692000353488670">Новая вкладка инкогнито</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Синхронизация и персонализация данных на всех устройствах.</translation>
 <translation id="2100273922101894616">Автоматический вход</translation>
 <translation id="2111511281910874386">Перейти на страницу</translation>
+<translation id="2120297377148151361">Действия в браузере</translation>
 <translation id="2122601567107267586">Не удалось открыть приложение</translation>
 <translation id="2126426811489709554">Технологии Chrome</translation>
 <translation id="2131665479022868825">Сэкономлено: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Справка/отзыв</translation>
 <translation id="2501278716633472235">Назад</translation>
 <translation id="2512222046227390255">Заполнять формы автоматически</translation>
+<translation id="2513403576141822879">Остальные настройки конфиденциальности, безопасности и сбора данных вы можете найти в разделе <ph name="BEGIN_LINK" />Синхронизация сервисов Google<ph name="END_LINK" />.</translation>
+<translation id="2523184218357549926">Отправлять URL посещенных страниц в Google</translation>
 <translation id="2526148617758225454">Экономия трафика включена. Управление доступно в настройках.</translation>
 <translation id="2532336938189706096">Веб-версия</translation>
 <translation id="2536728043171574184">Офлайн-копия страницы</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Открыть в режиме инкогнито</translation>
 <translation id="311456632243022227">Ссылки открыты в Chrome</translation>
 <translation id="3115898365077584848">Показать информацию</translation>
+<translation id="3129938255108848489">Предлагать варианты, если страница, которую вы пытаетесь открыть, не найдена</translation>
 <translation id="3137521801621304719">Выключить режим инкогнито</translation>
 <translation id="3148434565183091099">Чтобы получить доступ к закладкам на всех ваших устройствах, войдите в Chrome.</translation>
 <translation id="3157842584138209013">Чтобы узнать, сколько трафика вы сэкономили, нажмите кнопку "Ещё"</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Закрыть</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4384468725000734951">Sogou используется как поисковая система по умолчанию</translation>
+<translation id="4398088515904522762">Чтобы использовать эту функцию, включите <ph name="BEGIN_LINK" />Действия в браузере<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Нет закладок</translation>
 <translation id="4409723563706114196">Загружать страницы предварительно</translation>
 <translation id="4412992751769744546">Разрешить сторонним сайтам сохранять файлы cookie</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Этот сайт не будет переводиться автоматически</translation>
 <translation id="545042621069398927">Ускорение скачивания…</translation>
 <translation id="5456381639095306749">Скачать страницу</translation>
+<translation id="5466407412363861127">Для этой функции используется <ph name="BEGIN_LINK" />синхронизация<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Показать на карте</translation>
 <translation id="5487521232677179737">Удалить данные</translation>
 <translation id="5487729733663684359">Невозможно обновить Chrome в текущей версии Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Сохранено: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Сбросить</translation>
 <translation id="5942872142862698679">Google используется как поисковая система по умолчанию</translation>
+<translation id="5952764234151283551">Отправлять в Google URL страниц, которые вы пытаетесь открыть</translation>
 <translation id="5956665950594638604">Открыть Справочный центр Chrome в новой вкладке</translation>
 <translation id="5958275228015807058">Скачанные файлы и веб-страницы хранятся в одноименном разделе</translation>
 <translation id="5962718611393537961">Нажмите, чтобы свернуть</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Автоматически отправлять в Google информацию о возможных проблемах безопасности</translation>
 <translation id="6992289844737586249">Запрашивать разрешение на доступ к микрофону (рекомендуется)</translation>
 <translation id="7016516562562142042">Открыт доступ для текущей поисковой системы</translation>
+<translation id="7017968314960951695">Использовать для персонализации информацию с посещенных вами сайтов и данные о действиях в браузере.</translation>
 <translation id="7021515813996758557">Файл <ph name="FILE_NAME" /> скачан</translation>
 <translation id="7022756207310403729">Открыть в браузере</translation>
 <translation id="7029809446516969842">Пароли</translation>
 <translation id="7031882061095297553">Выберите аккаунт</translation>
+<translation id="7032663816368481562">URL посещенных вами страниц отправляются в Google, поэтому после нажатия кнопки "Показать похожие страницы" <ph name="ICON" /> в адресной строке вы можете увидеть соответствующие ссылки.</translation>
 <translation id="7034608350006174882">Банковские карты и адреса из Google Pay</translation>
 <translation id="7053983685419859001">Блокировать</translation>
 <translation id="7055152154916055070">Заблокирована попытка переадресации:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Добавить аккаунт</translation>
 <translation id="7682724950699840886">Убедитесь, что на вашем устройстве достаточно свободного места. Затем снова попробуйте экспортировать пароли.</translation>
 <translation id="7698359219371678927">Написать письмо в приложении "<ph name="APP_NAME" />"</translation>
+<translation id="7704317875155739195">Заполнять поисковые запросы и URL автоматически</translation>
 <translation id="773466115871691567">Переводить страницы на этом языке: <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Защищать устройство от опасных сайтов</translation>
@@ -830,7 +841,7 @@
 <translation id="802154636333426148">Ошибка скачивания</translation>
 <translation id="8026334261755873520">Очистить историю</translation>
 <translation id="8035133914807600019">Создать папку…</translation>
-<translation id="8037686209485537503">Показать похожие результаты</translation>
+<translation id="8037686209485537503">Показать похожие страницы</translation>
 <translation id="8037750541064988519">Осталось <ph name="DAYS" /> дн.</translation>
 <translation id="804335162455518893">SD-карта не найдена</translation>
 <translation id="805047784848435650">На основе вашей истории просмотров</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Предлагать похожие страницы</translation>
 <translation id="8116925261070264013">Сайты с отключенным звуком</translation>
 <translation id="813082847718468539">Сведения о сайте</translation>
+<translation id="8160722851663543621">Отправлять поисковые запросы из адресной строки и окна поиска, а также файлы cookie в поисковую систему по умолчанию</translation>
 <translation id="8168435359814927499">Контент</translation>
 <translation id="8186512483418048923">Осталось файлов: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Остался 1 день</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Показать всю историю</translation>
 <translation id="8420510748452002155">Неперсонализированные сервисы</translation>
 <translation id="8428213095426709021">Настройки</translation>
+<translation id="8438566539970814960">Улучшить поиск и просмотр страниц</translation>
 <translation id="8441146129660941386">Перемотать назад</translation>
 <translation id="8445448999790540984">Не удалось экспортировать пароли</translation>
 <translation id="8447861592752582886">Отключить доступ к устройству</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Здесь появятся часто посещаемые страницы</translation>
 <translation id="8503559462189395349">Пароли Chrome</translation>
 <translation id="8503813439785031346">Имя пользователя</translation>
+<translation id="8504988642345501642">URL посещенных вами страниц отправляются в Google, поэтому при прокручивании вы можете увидеть ссылки на похожие страницы.</translation>
 <translation id="8514477925623180633">Экспорт паролей, сохраненных в Chrome</translation>
 <translation id="8514577642972634246">Включить режим инкогнито</translation>
 <translation id="851751545965956758">Не разрешать сайтам подключаться к устройствам</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
index 3303fc3..27003e0f 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Dátum ukončenia: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Kedykoľvek zmeniť predvolené umiestnenie stiahnutých súborov</translation>
 <translation id="1807246157184219062">Svetlý režim</translation>
+<translation id="1821253160463689938">Používa súbory cookie na zapamätanie si predvolieb, dokonca aj keď dané stránky nenavštívite</translation>
 <translation id="1829244130665387512">Nájsť na stránke</translation>
 <translation id="1832521218263067499">Bezpečnostné problémy</translation>
 <translation id="1853692000353488670">Nová karta inkognito</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Synchronizovať a prispôsobiť v rôznych zariadeniach</translation>
 <translation id="2100273922101894616">Automatické prihlasovanie</translation>
 <translation id="2111511281910874386">Prejdite na stránku</translation>
+<translation id="2120297377148151361">Aktivity a interakcie</translation>
 <translation id="2122601567107267586">Aplikáciu sa nepodarilo otvoriť</translation>
 <translation id="2126426811489709554">Používa technológiu prehliadača Chrome</translation>
 <translation id="2131665479022868825">Uložené: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Pomocník a spätná väzba</translation>
 <translation id="2501278716633472235">Prejsť späť</translation>
 <translation id="2512222046227390255">Automaticky vypĺňať formuláre</translation>
+<translation id="2513403576141822879">Ďalšie nastavenia týkajúce sa ochrany súkromia, zabezpečenia a zhromažďovania dát nájdete v časti <ph name="BEGIN_LINK" />Synchronizácia a služby Googlu<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Odosiela Googlu webové adresy navštívených stránok</translation>
 <translation id="2526148617758225454">Šetrič dát je zapnutý. Spravujte ho v Nastaveniach.</translation>
 <translation id="2532336938189706096">Webové zobrazenie</translation>
 <translation id="2536728043171574184">Zobrazuje sa offline kópia tejto stránky</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Otvoriť na karte inkognito</translation>
 <translation id="311456632243022227">Otvorené odkazy v Chrome</translation>
 <translation id="3115898365077584848">Zobraziť informácie</translation>
+<translation id="3129938255108848489">Zobrazovať návrhy podobných stránok, keď sa stránka nedá nájsť</translation>
 <translation id="3137521801621304719">Ukončiť režim inkognito</translation>
 <translation id="3148434565183091099">Ak chcete mať záložky na všetkých zariadeniach, prihláste sa do Chromu.</translation>
 <translation id="3157842584138209013">Ak chcete zistiť, koľko dát ste ušetrili, klepnite na tlačidlo Ďalšie možnosti</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Zavrieť dialógové okno</translation>
 <translation id="4378154925671717803">Telefón</translation>
 <translation id="4384468725000734951">Na vyhľadávanie sa používa Sogou</translation>
+<translation id="4398088515904522762">Ak chcete použiť túto funkciu, zapnite funkciu <ph name="BEGIN_LINK" />Aktivity a interakcie<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Žiadne záložky</translation>
 <translation id="4409723563706114196">Používať predpovede stránok</translation>
 <translation id="4412992751769744546">Povoliť súbory cookie tretích strán</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Tento web nebude preložený</translation>
 <translation id="545042621069398927">Sťahovanie sa zrýchľuje.</translation>
 <translation id="5456381639095306749">Stránka sťahovania</translation>
+<translation id="5466407412363861127">Táto funkcia používa <ph name="BEGIN_LINK" />synchronizáciu<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Otvorte v aplikácii pre mapy</translation>
 <translation id="5487521232677179737">Vymazať údaje</translation>
 <translation id="5487729733663684359">Pre túto verziu systému Android už nie sú podporované aktualizácie prehliadača Chrome</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Ušetrené: <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Resetovať</translation>
 <translation id="5942872142862698679">Na vyhľadávanie sa používa Google</translation>
+<translation id="5952764234151283551">Odošle Googlu webovú adresu stránky, na ktorú sa pokúšate prejsť</translation>
 <translation id="5956665950594638604">Otvorenie Centra pomoci prehliadača Chrome na novej karte</translation>
 <translation id="5958275228015807058">Súbory a stránky nájdete v priečinku Stiahnuté súbory</translation>
 <translation id="5962718611393537961">Klepnutím zbaliť</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Automaticky hlásiť Googlu podrobnosti možných bezpečnostných incidentov</translation>
 <translation id="6992289844737586249">Opýtať sa pred povolením webu používať váš mikrofón (odporúčané)</translation>
 <translation id="7016516562562142042">Povolené v aktuálnom vyhľadávači</translation>
+<translation id="7017968314960951695">Používa obsah z navštívených webov, aktivitu prehliadača a interakcie s ním na prispôsobenie</translation>
 <translation id="7021515813996758557">Súbor <ph name="FILE_NAME" /> je stiahnutý</translation>
 <translation id="7022756207310403729">Otvoriť v prehliadači</translation>
 <translation id="7029809446516969842">Heslá</translation>
 <translation id="7031882061095297553">Kam synchronizovať</translation>
+<translation id="7032663816368481562">Zobrazujte si rýchle odkazy na súvisiace stránky po klepnutí na ikonu Ďalšie podobné položky <ph name="ICON" /> v paneli s adresou. Webové adresy navštívených stránok sa odosielajú Googlu.</translation>
 <translation id="7034608350006174882">Karty a adresy pomocou služby Google Pay</translation>
 <translation id="7053983685419859001">Blokovať</translation>
 <translation id="7055152154916055070">Presmerovanie bolo zablokované:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Pridať účet</translation>
 <translation id="7682724950699840886">Skúste tieto tipy: Uistite sa, že máte v zariadení dosť miesta, a potom skúste znova spustiť exportovanie.</translation>
 <translation id="7698359219371678927">Vytvorte správu v aplikácii <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Automaticky dopĺňať vyhľadávania a webové adresy</translation>
 <translation id="773466115871691567">Vždy prekladať stránky v jazyku <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Chráni vás aj vaše zariadenie pred nebezpečnými webmi</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Navrhovať súvisiace stránky</translation>
 <translation id="8116925261070264013">Zvuk bol vypnutý</translation>
 <translation id="813082847718468539">Zobraziť informácie o stránkach</translation>
+<translation id="8160722851663543621">Odošlú sa vyhľadávania z panela s adresou a vyhľadávacieho panela a niektoré súbory cookie do vášho predvoleného vyhľadávača</translation>
 <translation id="8168435359814927499">Obsah</translation>
 <translation id="8186512483418048923">Zostávajúce súbory: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Zostáva: 1 d</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Zobraziť celú históriu</translation>
 <translation id="8420510748452002155">Neprispôsobené služby</translation>
 <translation id="8428213095426709021">Nastavenia</translation>
+<translation id="8438566539970814960">Zlepšovať vyhľadávania a prehliadanie</translation>
 <translation id="8441146129660941386">Pretočiť dozadu</translation>
 <translation id="8445448999790540984">Heslá sa nepodarilo exportovať</translation>
 <translation id="8447861592752582886">Odvolať povolenie pre zariadenie</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Zatiaľ tu nič nie je…</translation>
 <translation id="8503559462189395349">Heslá Chromu</translation>
 <translation id="8503813439785031346">Meno používateľa</translation>
+<translation id="8504988642345501642">Zobrazte si rýchle odkazy na súvisiace stránky po posunutí zobrazenia nahor. Webové adresy navštívených stránok sa odosielajú Googlu.</translation>
 <translation id="8514477925623180633">Exportovať heslá uložené v Chrome</translation>
 <translation id="8514577642972634246">Spustiť režim inkognito</translation>
 <translation id="851751545965956758">Blokovanie pripojenia webov k zariadeniam</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
index 2871424..f09e76b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
@@ -830,7 +830,7 @@
 <translation id="802154636333426148">Prenos ni uspel</translation>
 <translation id="8026334261755873520">Izbriši podatke brskanja</translation>
 <translation id="8035133914807600019">Nova mapa …</translation>
-<translation id="8037686209485537503">Več podobnih</translation>
+<translation id="8037686209485537503">Več podobne vsebine</translation>
 <translation id="8037750541064988519">Še <ph name="DAYS" /> dni</translation>
 <translation id="804335162455518893">Kartice SD ni bilo mogoče najti</translation>
 <translation id="805047784848435650">Na podlagi zgodovine brskanja</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
index 74fb9ac..f4604ff 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Датум завршетка: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Промените подразумевану локацију за преузимање у било ком тренутку</translation>
 <translation id="1807246157184219062">Светлa</translation>
+<translation id="1821253160463689938">Користи колачиће да би се запамтила подешавања, чак и када не посећујете те странице</translation>
 <translation id="1829244130665387512">Пронађи на страници</translation>
 <translation id="1832521218263067499">Инциденти у вези са безбедношћу</translation>
 <translation id="1853692000353488670">Нова картица без архивирања</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Синхронизација и персонализација на свим уређајима</translation>
 <translation id="2100273922101894616">Аутоматско пријављивање</translation>
 <translation id="2111511281910874386">Иди на страницу</translation>
+<translation id="2120297377148151361">Активности и интеракције</translation>
 <translation id="2122601567107267586">Отварање апликације није успело</translation>
 <translation id="2126426811489709554">Омогућава Chrome</translation>
 <translation id="2131665479022868825">Сачувано: <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Помоћ и повратне информације</translation>
 <translation id="2501278716633472235">Иди назад</translation>
 <translation id="2512222046227390255">Аутоматски попуњавајте обрасце</translation>
+<translation id="2513403576141822879">Више подешавања у вези са приватношћу, безбедношћу и прикупљањем података потражите у одељку <ph name="BEGIN_LINK" />Синхронизација и Google услуге<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">URL-ови страница које посећујете се шаљу Google-у</translation>
 <translation id="2526148617758225454">Уштеда података је укључена. Управљајте њом у Подешавањима.</translation>
 <translation id="2532336938189706096">Веб-приказ</translation>
 <translation id="2536728043171574184">Прегледате офлајн копију ове странице</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Отварање у картици без архивирања</translation>
 <translation id="311456632243022227">Више линкова је отворено у Chrome-у</translation>
 <translation id="3115898365077584848">Прикажи информације</translation>
+<translation id="3129938255108848489">Приказуј предлоге за сличне странице када нека страница не може да се пронађе</translation>
 <translation id="3137521801621304719">Изађи из режима без архивирања</translation>
 <translation id="3148434565183091099">Да би вам обележивачи били доступни на свим уређајима, пријавите се у Chrome.</translation>
 <translation id="3157842584138209013">Погледајте колико сте података уштедели помоћу дугмета Још опција</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Затвори дијалог</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4384468725000734951">Користите Sogou за претрагу</translation>
+<translation id="4398088515904522762">Да бисте користили ову функцију, укључите <ph name="BEGIN_LINK" />Активности и интеракције<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Нема обележивача</translation>
 <translation id="4409723563706114196">Користите предвиђања страница</translation>
 <translation id="4412992751769744546">Дозволи колачиће треће стране</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Овај сајт се неће преводити</translation>
 <translation id="545042621069398927">Преузимање се убрзава.</translation>
 <translation id="5456381639095306749">Преузми страницу</translation>
+<translation id="5466407412363861127">Ова функција <ph name="BEGIN_LINK" />синхронизацију<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Отворите у апликацији за мапе</translation>
 <translation id="5487521232677179737">Обриши податке</translation>
 <translation id="5487729733663684359">Chrome ажурирања више нису подржана за ову верзију Android-а.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Уштедели сте <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Ресетуј</translation>
 <translation id="5942872142862698679">Користите Google за претрагу</translation>
+<translation id="5952764234151283551">Шаље Google-у URL странице којој покушавате да приступите</translation>
 <translation id="5956665950594638604">Отварање Chrome центра за помоћ на новој картици</translation>
 <translation id="5958275228015807058">Пронађите датотеке и странице у Преузимањима</translation>
 <translation id="5962718611393537961">Додирните да бисте скупили</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Аутоматски пријави Google-у детаље о могућим безбедносним инцидентима</translation>
 <translation id="6992289844737586249">Питај пре него што дозволиш сајтовима да користе микрофон (препоручено)</translation>
 <translation id="7016516562562142042">Дозвољено је за актуелни претраживач</translation>
+<translation id="7017968314960951695">Користи садржај на сајтовима које посећујете, као и активности и интеракције у прегледачу ради персонализације</translation>
 <translation id="7021515813996758557">Преузели сте <ph name="FILE_NAME" /></translation>
 <translation id="7022756207310403729">Отвори у прегледачу</translation>
 <translation id="7029809446516969842">Лозинке</translation>
 <translation id="7031882061095297553">Синхронизујте са</translation>
+<translation id="7032663816368481562">Када додирнете икону Још сличних ствари <ph name="ICON" /> у траци за адресу, приказују се брзи линкови до сродних страница. URL-ови страница које посећујете се шаљу Google-у.</translation>
 <translation id="7034608350006174882">Картице и адресе које из Google Pay-а</translation>
 <translation id="7053983685419859001">Блокирај</translation>
 <translation id="7055152154916055070">Блокирано је преусмеравање:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Додајте налог</translation>
 <translation id="7682724950699840886">Испробајте следеће савете: проверите да ли на уређају има довољно простора, па пробајте да поново извезете лозинке.</translation>
 <translation id="7698359219371678927">Напишите имејл у апликацији <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Аутоматски довршавај претраге и URL-ове</translation>
 <translation id="773466115871691567">Увек предводи странице на језику <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Штити вас и уређај од опасних сајтова</translation>
@@ -830,7 +841,7 @@
 <translation id="802154636333426148">Преузимање није успело</translation>
 <translation id="8026334261755873520">Обришите податке прегледања</translation>
 <translation id="8035133914807600019">Нови директоријум...</translation>
-<translation id="8037686209485537503">Још сличног садржаја</translation>
+<translation id="8037686209485537503">Још сличних ствари</translation>
 <translation id="8037750541064988519">Још <ph name="DAYS" /> дана</translation>
 <translation id="804335162455518893">SD картица није пронађена</translation>
 <translation id="805047784848435650">На основу историје прегледања</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Приказуј предлоге сродних страница</translation>
 <translation id="8116925261070264013">Звук је искључен</translation>
 <translation id="813082847718468539">Погледајте информације о сајту</translation>
+<translation id="8160722851663543621">Подразумеваном претраживачу шаље претраге из траке за адресу и оквира за претрагу и неке колачиће</translation>
 <translation id="8168435359814927499">Садржај</translation>
 <translation id="8186512483418048923">Преостале датотеке: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Још 1 дан</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Прикажи сву историју</translation>
 <translation id="8420510748452002155">Услуге које нису персонализоване</translation>
 <translation id="8428213095426709021">Подешавања</translation>
+<translation id="8438566539970814960">Побољшај претраге и прегледање</translation>
 <translation id="8441146129660941386">Премотај уназад</translation>
 <translation id="8445448999790540984">Извоз лозинки није успео</translation>
 <translation id="8447861592752582886">Опозови дозволу за уређај</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Овде нема ничега... засад</translation>
 <translation id="8503559462189395349">Лозинке за Chrome</translation>
 <translation id="8503813439785031346">Корисничко име</translation>
+<translation id="8504988642345501642">Када померате нагоре, приказују се брзи линкови до сродних страница. URL-ови страница које посећујете се шаљу Google-у.</translation>
 <translation id="8514477925623180633">Извезите лозинке сачуване у Chrome-у</translation>
 <translation id="8514577642972634246">Уђи у режим без архивирања</translation>
 <translation id="851751545965956758">Онемогућава сајтовима да се повезују са уређајима</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
index 95a29c2..18ea3c4 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">วันที่สิ้นสุด <ph name="DATE" /></translation>
 <translation id="1792959175193046959">เปลี่ยนตำแหน่งเริ่มต้นในการดาวน์โหลดได้ทุกเมื่อ</translation>
 <translation id="1807246157184219062">สว่าง</translation>
+<translation id="1821253160463689938">ใช้คุกกี้เพื่อให้จดจำค่ากำหนดของคุณ แม้ว่าคุณไม่ได้เข้าชมหน้าเว็บเหล่านั้น</translation>
 <translation id="1829244130665387512">ค้นหาในหน้าเว็บ</translation>
 <translation id="1832521218263067499">เหตุการณ์ด้านความปลอดภัย</translation>
 <translation id="1853692000353488670">แท็บใหม่ที่ไม่ระบุตัวตน</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">ซิงค์และปรับแต่งในอุปกรณ์ทุกเครื่อง</translation>
 <translation id="2100273922101894616">ลงชื่อเข้าใช้อัตโนมัติ</translation>
 <translation id="2111511281910874386">ไปที่หน้า</translation>
+<translation id="2120297377148151361">กิจกรรมและการโต้ตอบ</translation>
 <translation id="2122601567107267586">เปิดแอปไม่ได้</translation>
 <translation id="2126426811489709554">สนับสนุนโดย Chrome</translation>
 <translation id="2131665479022868825">ประหยัดไป <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">ความช่วยเหลือและความคิดเห็น</translation>
 <translation id="2501278716633472235">ย้อนกลับ</translation>
 <translation id="2512222046227390255">ป้อนฟอร์มอัตโนมัติ</translation>
+<translation id="2513403576141822879">ดูการตั้งค่าเพิ่มเติมเกี่ยวกับความเป็นส่วนตัว ความปลอดภัย และการรวบรวมข้อมูลได้ที่<ph name="BEGIN_LINK" />การซิงค์และบริการต่างๆ ของ Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">ส่ง URL ของหน้าที่คุณเข้าชมไปยัง Google</translation>
 <translation id="2526148617758225454">โปรแกรมประหยัดอินเทอร์เน็ตเปิดอยู่ จัดการโปรแกรมนี้ได้ในการตั้งค่า</translation>
 <translation id="2532336938189706096">มุมมองเว็บ</translation>
 <translation id="2536728043171574184">ดูสำเนาแบบออฟไลน์ของหน้านี้</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">เปิดในแท็บไม่ระบุตัวตน</translation>
 <translation id="311456632243022227">เปิดหลายลิงก์ใน Chrome แล้ว</translation>
 <translation id="3115898365077584848">แสดงข้อมูล</translation>
+<translation id="3129938255108848489">แสดงคำแนะนำหน้าที่คล้ายกันเมื่อไม่พบหน้าเว็บ</translation>
 <translation id="3137521801621304719">ออกจากโหมดไม่ระบุตัวตน</translation>
 <translation id="3148434565183091099">ลงชื่อเข้าใช้ Chrome เพื่อรับบุ๊กมาร์กในอุปกรณ์ทุกเครื่องของคุณ</translation>
 <translation id="3157842584138209013">ดูปริมาณอินเทอร์เน็ตที่คุณประหยัดไปได้จากปุ่มตัวเลือกเพิ่มเติม</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">ปิดหน้าต่างโต้ตอบ</translation>
 <translation id="4378154925671717803">โทรศัพท์</translation>
 <translation id="4384468725000734951">กำลังใช้ Sogou ในการค้นหา</translation>
+<translation id="4398088515904522762">หากต้องการใช้ฟีเจอร์นี้ ให้เปิด<ph name="BEGIN_LINK" />กิจกรรมและการโต้ตอบ<ph name="END_LINK" /></translation>
 <translation id="4404568932422911380">ไม่มีบุ๊กมาร์ก</translation>
 <translation id="4409723563706114196">ใช้การคาดคะเนหน้า</translation>
 <translation id="4412992751769744546">อนุญาตคุกกี้ของบุคคลที่สาม</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">ระบบจะไม่แปลไซต์นี้</translation>
 <translation id="545042621069398927">กำลังเพิ่มความเร็วในการดาวน์โหลด</translation>
 <translation id="5456381639095306749">ดาวน์โหลดหน้า</translation>
+<translation id="5466407412363861127">ฟีเจอร์นี้ใช้<ph name="BEGIN_LINK" />การซิงค์<ph name="END_LINK" /></translation>
 <translation id="548278423535722844">เปิดในแอปแผนที่</translation>
 <translation id="5487521232677179737">ล้างข้อมูล</translation>
 <translation id="5487729733663684359">ไม่มีการสนับสนุนการอัปเดต Chrome บน Android เวอร์ชันนี้อีกต่อไป</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">ประหยัดได้ <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">รีเซ็ต</translation>
 <translation id="5942872142862698679">กำลังใช้ Google ในการค้นหา</translation>
+<translation id="5952764234151283551">ส่ง URL ของหน้าที่คุณพยายามเข้าถึงไปยัง Google</translation>
 <translation id="5956665950594638604">เปิดศูนย์ช่วยเหลือของ Chrome ในแท็บใหม่</translation>
 <translation id="5958275228015807058">หาไฟล์และหน้าในโฟลเดอร์ดาวน์โหลด</translation>
 <translation id="5962718611393537961">แตะเพื่อยุบ</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">รายงานรายละเอียดของเหตุการณ์ด้านความปลอดภัยที่อาจจะเกิดขึ้นต่อ Google โดยอัตโนมัติ</translation>
 <translation id="6992289844737586249">ถามก่อน ก่อนที่จะอนุญาตให้เว็บไซต์ใช้ไมโครโฟน (แนะนำ)</translation>
 <translation id="7016516562562142042">อนุญาตสำหรับเครื่องมือค้นหาปัจจุบัน</translation>
+<translation id="7017968314960951695">ใช้เนื้อหาในเว็บไซต์ที่คุณเข้าถึง ตลอดจนกิจกรรมและการโต้ตอบในเบราว์เซอร์เพื่อการปรับเปลี่ยนในแบบของคุณ</translation>
 <translation id="7021515813996758557">ดาวน์โหลด <ph name="FILE_NAME" /> แล้ว</translation>
 <translation id="7022756207310403729">เปิดในเบราว์เซอร์</translation>
 <translation id="7029809446516969842">รหัสผ่าน</translation>
 <translation id="7031882061095297553">ซิงค์กับ</translation>
+<translation id="7032663816368481562">เมื่อคุณแตะ "ดูคำแนะนำแบบนี้อีก" <ph name="ICON" /> ในแถบที่อยู่ คำแนะนำจะแสดงลิงก์ด่วนไปยังหน้าที่เกี่ยวข้อง ระบบจะส่ง URL ของหน้าที่คุณเข้าถึงไปยัง Google</translation>
 <translation id="7034608350006174882">ใช้ข้อมูลบัตรและที่อยู่จาก Google Pay</translation>
 <translation id="7053983685419859001">บล็อก</translation>
 <translation id="7055152154916055070">การเปลี่ยนเส้นทางถูกบล็อก</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">เพิ่มบัญชี</translation>
 <translation id="7682724950699840886">ลองทำตามเคล็ดลับต่อไปนี้ ตรวจสอบว่าอุปกรณ์มีพื้นที่ว่างเพียงพอ จากนั้นพยายามส่งออกอีกครั้ง</translation>
 <translation id="7698359219371678927">สร้างอีเมลใน <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">เติมข้อความค้นหาและ URL อัตโนมัติ</translation>
 <translation id="773466115871691567">แปลหน้าเว็บภาษา<ph name="SOURCE_LANGUAGE" />ทุกครั้ง</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">ปกป้องคุณและอุปกรณ์จากเว็บไซต์ที่เป็นอันตราย</translation>
@@ -830,7 +841,7 @@
 <translation id="802154636333426148">การดาวน์โหลดล้มเหลว</translation>
 <translation id="8026334261755873520">ล้างข้อมูลการท่องเว็บ</translation>
 <translation id="8035133914807600019">โฟลเดอร์ใหม่…</translation>
-<translation id="8037686209485537503">คำแนะนำที่เกี่ยวข้องเพิ่มเติม</translation>
+<translation id="8037686209485537503">ดูคำแนะนำแบบนี้อีก</translation>
 <translation id="8037750541064988519">เหลือ <ph name="DAYS" /> วัน</translation>
 <translation id="804335162455518893">ไม่พบการ์ด SD</translation>
 <translation id="805047784848435650">อิงจากประวัติการท่องเว็บของคุณ</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">แนะนำหน้าเว็บที่เกี่ยวข้อง</translation>
 <translation id="8116925261070264013">ปิดเสียง</translation>
 <translation id="813082847718468539">ดูข้อมูลเว็บไซต์</translation>
+<translation id="8160722851663543621">ส่งการค้นหาจากแถบที่อยู่และช่องค้นหารวมถึงคุกกี้บางรายการไปยังเครื่องมือค้นหาเริ่มต้น</translation>
 <translation id="8168435359814927499">เนื้อหา</translation>
 <translation id="8186512483418048923">เหลืออีก <ph name="FILES" /> ไฟล์</translation>
 <translation id="8190358571722158785">เหลือ 1 วัน</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">แสดงประวัติการเข้าชมทั้งหมด</translation>
 <translation id="8420510748452002155">บริการที่ไม่ได้ปรับให้เหมาะกับแต่ละบุคคล</translation>
 <translation id="8428213095426709021">การตั้งค่า</translation>
+<translation id="8438566539970814960">ปรับปรุงการค้นหาและการท่องเว็บให้ดียิ่งขึ้น</translation>
 <translation id="8441146129660941386">ย้อนกลับ</translation>
 <translation id="8445448999790540984">ส่งออกรหัสผ่านไม่ได้</translation>
 <translation id="8447861592752582886">เพิกถอนสิทธิ์ของอุปกรณ์</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">ที่นี่ยังไม่มีอะไรให้ดู… เลย</translation>
 <translation id="8503559462189395349">รหัสผ่าน Chrome</translation>
 <translation id="8503813439785031346">ชื่อผู้ใช้</translation>
+<translation id="8504988642345501642">เมื่อคุณเลื่อนขึ้น คำแนะนำจะแสดงลิงก์ด่วนไปยังหน้าเว็บที่เกี่ยวข้อง ระบบจะส่ง URL ของหน้าที่คุณเข้าถึงไปยัง Google</translation>
 <translation id="8514477925623180633">ส่งออกรหัสผ่านที่เก็บไว้ใน Chrome</translation>
 <translation id="8514577642972634246">เข้าสู่โหมดไม่ระบุตัวตน</translation>
 <translation id="851751545965956758">บล็อกเว็บไซต์ไม่ให้เชื่อมต่อกับอุปกรณ์</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
index e275673..ed432d2 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Дата завершення: <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Будь-коли змінюйте папку для завантажень за умовчанням</translation>
 <translation id="1807246157184219062">Світла</translation>
+<translation id="1821253160463689938">Використовує файли cookie, щоб зберігати налаштування, навіть якщо ви не відвідуєте ці сторінки</translation>
 <translation id="1829244130665387512">Знайти на сторінці</translation>
 <translation id="1832521218263067499">Випадки порушення безпеки</translation>
 <translation id="1853692000353488670">Нова анонімна вкладка</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Синхронізація та персоналізація на всіх пристроях</translation>
 <translation id="2100273922101894616">Автоматичний вхід</translation>
 <translation id="2111511281910874386">Перейти на сторінку</translation>
+<translation id="2120297377148151361">Активність і взаємодії</translation>
 <translation id="2122601567107267586">Не вдалося відкрити додаток</translation>
 <translation id="2126426811489709554">Технології Chrome</translation>
 <translation id="2131665479022868825">Заощаджено <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Довідка й відгуки</translation>
 <translation id="2501278716633472235">Назад</translation>
 <translation id="2512222046227390255">Автоматично заповняти форми</translation>
+<translation id="2513403576141822879">Інші налаштування конфіденційності, безпеки та збору даних доступні в розділі <ph name="BEGIN_LINK" />Синхронізація та сервіси Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Надсилає в Google URL-адреси відвіданих сторінок</translation>
 <translation id="2526148617758225454">Заощадження трафіку ввімкнено. Ви можете керувати ним у налаштуваннях.</translation>
 <translation id="2532336938189706096">Веб-версія</translation>
 <translation id="2536728043171574184">Перегляд копії сторінки в режимі офлайн</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Відкрити в анонімній вкладці</translation>
 <translation id="311456632243022227">Кілька посилань відкрито в Chrome</translation>
 <translation id="3115898365077584848">Показати інформацію</translation>
+<translation id="3129938255108848489">Показує пропозиції схожих сторінок, коли не вдається знайти сторінку</translation>
 <translation id="3137521801621304719">Вийти з режиму анонімного перегляду</translation>
 <translation id="3148434565183091099">Щоб мати доступ до закладок на всіх своїх пристроях, увійдіть в обліковий запис Chrome.</translation>
 <translation id="3157842584138209013">Перевірте обсяг збережених даних за допомогою кнопки "Більше опцій"</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Закрити діалогове вікно</translation>
 <translation id="4378154925671717803">Телефон</translation>
 <translation id="4384468725000734951">Пошук за допомогою Sogou</translation>
+<translation id="4398088515904522762">Щоб користуватися цією функцією, увімкніть опцію <ph name="BEGIN_LINK" />Активність і взаємодії<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Немає закладок</translation>
 <translation id="4409723563706114196">Використання передбачень сторінки</translation>
 <translation id="4412992751769744546">Дозволити сторонні файли cookie</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Цей сайт не буде перекладено</translation>
 <translation id="545042621069398927">Прискорюється завантаження.</translation>
 <translation id="5456381639095306749">Завантажити сторінку</translation>
+<translation id="5466407412363861127">Ця функція використовує <ph name="BEGIN_LINK" />синхронізацію<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Відкрити в додатку Карти</translation>
 <translation id="5487521232677179737">Видалити дані</translation>
 <translation id="5487729733663684359">Chrome більше не оновлюється в цій версії Android.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Заощаджено <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Скинути</translation>
 <translation id="5942872142862698679">Пошук за допомогою Google</translation>
+<translation id="5952764234151283551">Надсилає в Google URL-адресу сторінки, яку ви намагаєтеся відкрити</translation>
 <translation id="5956665950594638604">Відкрити Довідковий центр Chrome у новій вкладці</translation>
 <translation id="5958275228015807058">Знаходьте свої файли та сторінки в розділі "Завантаження"</translation>
 <translation id="5962718611393537961">Торкніться, щоб згорнути</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Автоматично повідомляти Google деталі щодо можливих порушень безпеки</translation>
 <translation id="6992289844737586249">Запитувати, перш ніж дозволити сайтам використовувати мікрофон (рекомендується)</translation>
 <translation id="7016516562562142042">Дозволено для поточної пошукової системи</translation>
+<translation id="7017968314960951695">Використовує вміст відвіданих сайтів, активність у веб-переглядачі та взаємодії для персоналізації</translation>
 <translation id="7021515813996758557">Файл "<ph name="FILE_NAME" />" завантажено</translation>
 <translation id="7022756207310403729">Відкрити у веб-переглядачі</translation>
 <translation id="7029809446516969842">Паролі</translation>
 <translation id="7031882061095297553">Синхронізувати</translation>
+<translation id="7032663816368481562">Коли ви торкаєтеся значка <ph name="ICON" /> в адресному рядку, з’являються швидкі посилання на схожі сторінки. URL-адреси відвіданих сторінок надсилаються в Google.</translation>
 <translation id="7034608350006174882">Картки й адреси, пов’язані з Google Pay</translation>
 <translation id="7053983685419859001">Блокувати</translation>
 <translation id="7055152154916055070">Переадресацію заблоковано:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Додати обліковий запис</translation>
 <translation id="7682724950699840886">Порада. Переконайтеся, що на пристрої достатньо вільного місця та спробуйте експортувати дані знову.</translation>
 <translation id="7698359219371678927">Створити електронну адресу в додатку <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Автоматично завершувати пошукові запити та URL-адреси</translation>
 <translation id="773466115871691567">Завжди перекладати сторінки такою мовою: <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Захищає вас і ваш пристрій від небезпечних сайтів</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Пропонувати схожі сторінки</translation>
 <translation id="8116925261070264013">Звук вимкнено</translation>
 <translation id="813082847718468539">Перегляд інформації про сайт</translation>
+<translation id="8160722851663543621">Надсилає пошукові запити з адресного рядка, вікна пошуку та деяких файлів cookie в пошукову систему за умовчанням</translation>
 <translation id="8168435359814927499">Вміст</translation>
 <translation id="8186512483418048923">Залишилося файлів: <ph name="FILES" /></translation>
 <translation id="8190358571722158785">Залишився 1 день</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Показати повну історію</translation>
 <translation id="8420510748452002155">Неперсоналізовані сервіси</translation>
 <translation id="8428213095426709021">Налаштування</translation>
+<translation id="8438566539970814960">Покращувати пошук і веб-перегляд</translation>
 <translation id="8441146129660941386">Назад</translation>
 <translation id="8445448999790540984">Не вдається експортувати паролі</translation>
 <translation id="8447861592752582886">Скасувати доступ до пристрою</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Тут ще нічого немає…</translation>
 <translation id="8503559462189395349">Паролі Chrome</translation>
 <translation id="8503813439785031346">Ім’я користувача</translation>
+<translation id="8504988642345501642">Під час прокручування вгору з’являються швидкі посилання на схожі сторінки. URL-адреси відвіданих сторінок надсилаються в Google.</translation>
 <translation id="8514477925623180633">Експортувати паролі, збережені в Chrome</translation>
 <translation id="8514577642972634246">Перейти в режим анонімного перегляду</translation>
 <translation id="851751545965956758">Заборонити сайтам підключатися до пристроїв</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
index 3a3f71a..d43e47d 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">Ngày kết thúc <ph name="DATE" /></translation>
 <translation id="1792959175193046959">Thay đổi vị trí tải xuống mặc định bất cứ lúc nào</translation>
 <translation id="1807246157184219062">Sáng</translation>
+<translation id="1821253160463689938">Sử dụng cookie để ghi nhớ tùy chọn của bạn, ngay cả khi bạn không truy cập vào các trang đó</translation>
 <translation id="1829244130665387512">Tìm trong trang</translation>
 <translation id="1832521218263067499">Sự cố bảo mật</translation>
 <translation id="1853692000353488670">Tab ẩn danh mới</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">Đồng bộ hóa và cá nhân hóa trên các thiết bị</translation>
 <translation id="2100273922101894616">Tự động đăng nhập</translation>
 <translation id="2111511281910874386">Chuyển đến trang</translation>
+<translation id="2120297377148151361">Hoạt động và tương tác</translation>
 <translation id="2122601567107267586">Không thể mở ứng dụng</translation>
 <translation id="2126426811489709554">Được hỗ trợ bởi Chrome</translation>
 <translation id="2131665479022868825">Đã lưu <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">Trợ giúp và phản hồi</translation>
 <translation id="2501278716633472235">Quay lại</translation>
 <translation id="2512222046227390255">Tự động điền biểu mẫu</translation>
+<translation id="2513403576141822879">Bạn có thể xem thêm tùy chọn cài đặt liên quan đến quyền riêng tư, bảo mật và hoạt động thu thập dữ liệu trong phần <ph name="BEGIN_LINK" />Đồng bộ hóa và dịch vụ của Google<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">Gửi cho Google URL của các trang bạn truy cập</translation>
 <translation id="2526148617758225454">Trình tiết kiệm dữ liệu đang bật. Quản lý tiện ích này trong Cài đặt.</translation>
 <translation id="2532336938189706096">Lượt xem trên web</translation>
 <translation id="2536728043171574184">Xem bản sao ngoại tuyến của trang này</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">Mở bằng tab ẩn danh</translation>
 <translation id="311456632243022227">Đã mở nhiều liên kết trong Chrome</translation>
 <translation id="3115898365077584848">Hiển thị thông tin</translation>
+<translation id="3129938255108848489">Hiển thị nội dung đề xuất về các trang tương tự khi không tìm thấy một trang nào đó</translation>
 <translation id="3137521801621304719">Thoát chế độ ẩn danh</translation>
 <translation id="3148434565183091099">Để nhận dấu trang trên tất cả các thiết bị của bạn, hãy đăng nhập vào Chrome.</translation>
 <translation id="3157842584138209013">Xem lượng dữ liệu bạn đã tiết kiệm được từ nút Tùy chọn khác</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">Đóng hộp thoại</translation>
 <translation id="4378154925671717803">Điện thoại</translation>
 <translation id="4384468725000734951">Sử dụng Sogou để tìm kiếm</translation>
+<translation id="4398088515904522762">Để sử dụng tính năng này, hãy bật tùy chọn <ph name="BEGIN_LINK" />Hoạt động và tương tác<ph name="END_LINK" />.</translation>
 <translation id="4404568932422911380">Không có dấu trang nào</translation>
 <translation id="4409723563706114196">Sử dụng truy vấn dự đoán trang</translation>
 <translation id="4412992751769744546">Cho phép cookie của bên thứ ba</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">Trang web này sẽ không được dịch</translation>
 <translation id="545042621069398927">Đang tăng tốc độ tải xuống.</translation>
 <translation id="5456381639095306749">Tải trang xuống</translation>
+<translation id="5466407412363861127">Tính năng này sẽ sử dụng chức năng <ph name="BEGIN_LINK" />đồng bộ hóa<ph name="END_LINK" />.</translation>
 <translation id="548278423535722844">Mở trong ứng dụng bản đồ</translation>
 <translation id="5487521232677179737">Xóa dữ liệu</translation>
 <translation id="5487729733663684359">Bản cập nhật Chrome không còn được hỗ trợ cho phiên bản Android này.</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">Tiết kiệm được <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">Đặt lại</translation>
 <translation id="5942872142862698679">Sử dụng Google để tìm kiếm</translation>
+<translation id="5952764234151283551">Gửi cho Google URL của trang bạn đang cố truy cập</translation>
 <translation id="5956665950594638604">Mở Trung tâm trợ giúp Chrome trong tab mới</translation>
 <translation id="5958275228015807058">Tìm tệp và trang của bạn trong Tài nguyên đã tải xuống</translation>
 <translation id="5962718611393537961">Nhấn để thu gọn</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">Tự động báo cáo với Google chi tiết về sự cố bảo mật có thể xảy ra</translation>
 <translation id="6992289844737586249">Hỏi trước trước khi cho phép các trang web sử dụng micrô của bạn (được đề xuất)</translation>
 <translation id="7016516562562142042">Được cho phép đối với công cụ tìm kiếm hiện tại</translation>
+<translation id="7017968314960951695">Sử dụng nội dung trên trang web bạn truy cập cũng như hoạt động và tương tác trên trình duyệt để cá nhân hóa</translation>
 <translation id="7021515813996758557">Đã tải xuống <ph name="FILE_NAME" /></translation>
 <translation id="7022756207310403729">Mở trong trình duyệt</translation>
 <translation id="7029809446516969842">Mật khẩu</translation>
 <translation id="7031882061095297553">Đồng bộ hóa với</translation>
+<translation id="7032663816368481562">Khi nhấn vào biểu tượng Đề xuất khác tương tự <ph name="ICON" /> trên thanh địa chỉ, bạn sẽ thấy các liên kết nhanh đến trang liên quan. URL của các trang bạn truy cập sẽ được gửi tới Google.</translation>
 <translation id="7034608350006174882">Thẻ và địa chỉ sử dụng Google Pay</translation>
 <translation id="7053983685419859001">Chặn</translation>
 <translation id="7055152154916055070">Liên kết chuyển hướng đã chặn:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">Thêm tài khoản</translation>
 <translation id="7682724950699840886">Thử các mẹo sau: đảm bảo thiết bị của bạn có đủ dung lượng, sau đó thử xuất lại.</translation>
 <translation id="7698359219371678927">Tạo email trong <ph name="APP_NAME" /></translation>
+<translation id="7704317875155739195">Tự động hoàn thành cụm từ tìm kiếm và URL</translation>
 <translation id="773466115871691567">Luôn dịch các trang viết bằng <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">Bảo vệ bạn cũng như thiết bị của bạn khỏi các trang web nguy hiểm</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">Đề xuất các trang liên quan</translation>
 <translation id="8116925261070264013">Đã ẩn</translation>
 <translation id="813082847718468539">Xem thông tin trang web</translation>
+<translation id="8160722851663543621">Gửi nội dung tìm kiếm từ thanh địa chỉ và hộp tìm kiếm cũng như một số cookie đến công cụ tìm kiếm mặc định của bạn</translation>
 <translation id="8168435359814927499">Nội dung</translation>
 <translation id="8186512483418048923">Còn lại <ph name="FILES" /> tệp</translation>
 <translation id="8190358571722158785">Còn 1 ngày</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">Hiển thị toàn bộ lịch sử</translation>
 <translation id="8420510748452002155">Dịch vụ không được cá nhân hóa</translation>
 <translation id="8428213095426709021">Cài đặt</translation>
+<translation id="8438566539970814960">Cải thiện tính năng tìm kiếm và duyệt web</translation>
 <translation id="8441146129660941386">Tìm kiếm lùi</translation>
 <translation id="8445448999790540984">Không xuất được mật khẩu</translation>
 <translation id="8447861592752582886">Thu hồi quyền truy cập thiết bị</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">Chưa có gì để xem ở đây...</translation>
 <translation id="8503559462189395349">Mật khẩu Chrome</translation>
 <translation id="8503813439785031346">Tên người dùng</translation>
+<translation id="8504988642345501642">Khi cuộn lên, bạn sẽ thấy các liên kết nhanh đến trang liên quan. URL của các trang bạn truy cập sẽ được gửi tới Google.</translation>
 <translation id="8514477925623180633">Xuất mật khẩu đã lưu trữ với Chrome</translation>
 <translation id="8514577642972634246">Vào chế độ ẩn danh</translation>
 <translation id="851751545965956758">Chặn các trang web kết nối với thiết bị</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
index 90e4b17..d2aed88 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -101,6 +101,7 @@
 <translation id="1782483593938241562">結束日期:<ph name="DATE" /></translation>
 <translation id="1792959175193046959">你隨時可以變更預設的下載位置</translation>
 <translation id="1807246157184219062">淺色</translation>
+<translation id="1821253160463689938">使用 Cookie 記住你的偏好設定 (即使你沒有造訪這些網頁)</translation>
 <translation id="1829244130665387512">在網頁中尋找</translation>
 <translation id="1832521218263067499">安全性事件</translation>
 <translation id="1853692000353488670">新增無痕式分頁</translation>
@@ -141,6 +142,7 @@
 <translation id="2096012225669085171">讓多部裝置保持同步,並提供人化體驗</translation>
 <translation id="2100273922101894616">自動登入</translation>
 <translation id="2111511281910874386">前往指定頁面</translation>
+<translation id="2120297377148151361">活動與互動行為</translation>
 <translation id="2122601567107267586">無法開啟應用程式</translation>
 <translation id="2126426811489709554">技術提供:Chrome</translation>
 <translation id="2131665479022868825">已節省 <ph name="DATA" /></translation>
@@ -190,6 +192,8 @@
 <translation id="2498359688066513246">說明與意見回饋</translation>
 <translation id="2501278716633472235">返回</translation>
 <translation id="2512222046227390255">自動填入表單</translation>
+<translation id="2513403576141822879">如需更多隱私權、安全性和資料收集的相關設定,請參閱<ph name="BEGIN_LINK" />同步處理和 Google 服務<ph name="END_LINK" /></translation>
+<translation id="2523184218357549926">將你造訪的網頁網址傳送給 Google</translation>
 <translation id="2526148617758225454">Data Saver 已開啟,您可以在 [設定] 中管理這項擴充功能。</translation>
 <translation id="2532336938189706096">網頁檢視</translation>
 <translation id="2536728043171574184">目前瀏覽的是這個網頁的離線複本</translation>
@@ -252,6 +256,7 @@
 <translation id="3089395242580810162">在無痕式分頁中開啟</translation>
 <translation id="311456632243022227">多個連結已在 Chrome 中開啟</translation>
 <translation id="3115898365077584848">顯示資訊</translation>
+<translation id="3129938255108848489">找不到網頁時顯示類似的網頁建議</translation>
 <translation id="3137521801621304719">離開無痕模式</translation>
 <translation id="3148434565183091099">如要在所有裝置上使用您的書籤,請登入 Chrome。</translation>
 <translation id="3157842584138209013">如要查看節省的數據用量,請點選 [更多選項] 按鈕</translation>
@@ -381,6 +386,7 @@
 <translation id="4351244548802238354">關閉對話方塊</translation>
 <translation id="4378154925671717803">電話</translation>
 <translation id="4384468725000734951">現已使用 Sogou 搜尋</translation>
+<translation id="4398088515904522762">如要使用這項功能,請開啟<ph name="BEGIN_LINK" />活動與互動行為<ph name="END_LINK" />設定。</translation>
 <translation id="4404568932422911380">沒有書籤</translation>
 <translation id="4409723563706114196">使用網頁預測功能</translation>
 <translation id="4412992751769744546">允許第三方 Cookie</translation>
@@ -515,6 +521,7 @@
 <translation id="5447765697759493033">系統不會翻譯這個網站</translation>
 <translation id="545042621069398927">正在加快下載速度。</translation>
 <translation id="5456381639095306749">下載網頁</translation>
+<translation id="5466407412363861127">這項功能會進行<ph name="BEGIN_LINK" />同步處理<ph name="END_LINK" />。</translation>
 <translation id="548278423535722844">在地圖應用程式中開啟</translation>
 <translation id="5487521232677179737">清除資料</translation>
 <translation id="5487729733663684359">這個 Android 版本已停止支援 Chrome 更新。</translation>
@@ -585,6 +592,7 @@
 <translation id="5937580074298050696">已儲存 <ph name="AMOUNT" /></translation>
 <translation id="5939518447894949180">重設</translation>
 <translation id="5942872142862698679">現已使用 Google 搜尋</translation>
+<translation id="5952764234151283551">將你嘗試瀏覽的網頁網址傳送給 Google</translation>
 <translation id="5956665950594638604">在新分頁中開啟 Chrome 說明中心</translation>
 <translation id="5958275228015807058">前往「下載」主畫面尋找你的檔案和網頁</translation>
 <translation id="5962718611393537961">輕觸即可收合</translation>
@@ -712,10 +720,12 @@
 <translation id="699220179437400583">自動將疑似安全性事件的詳細資料回報給 Google</translation>
 <translation id="6992289844737586249">允許網站使用您的麥克風前,必須先詢問您 (建議)</translation>
 <translation id="7016516562562142042">允許目前的搜尋引擎存取位置資訊</translation>
+<translation id="7017968314960951695">使用你所造訪網站的內容、瀏覽器活動和瀏覽器互動行為,提供個人化的使用體驗</translation>
 <translation id="7021515813996758557"><ph name="FILE_NAME" /> 下載完成</translation>
 <translation id="7022756207310403729">在瀏覽器中開啟</translation>
 <translation id="7029809446516969842">密碼</translation>
 <translation id="7031882061095297553">同步處理</translation>
+<translation id="7032663816368481562">當你輕觸網址列中的「更多類似內容」圖示 <ph name="ICON" /> 時顯示相關網頁的快速連結。系統會將你所造訪網頁的網址傳送給 Google。</translation>
 <translation id="7034608350006174882">使用 Google Pay 儲存的卡片和地址資訊</translation>
 <translation id="7053983685419859001">封鎖</translation>
 <translation id="7055152154916055070">已禁止重新導向:</translation>
@@ -793,6 +803,7 @@
 <translation id="7665369617277396874">新增帳戶</translation>
 <translation id="7682724950699840886">請嘗試按照下列提示操作:確認你的裝置上有足夠空間,然後嘗試重新匯出。</translation>
 <translation id="7698359219371678927">在「<ph name="APP_NAME" />」中建立電子郵件</translation>
+<translation id="7704317875155739195">自動完成搜尋字詞與網址</translation>
 <translation id="773466115871691567">一律翻譯<ph name="SOURCE_LANGUAGE" />網頁</translation>
 <translation id="7735672056998735387"><ph name="SPACE_FREE" /> (<ph name="SPACE_OTHER" />)</translation>
 <translation id="773905249182896430">保護你和你的裝置不受危險網站攻擊</translation>
@@ -847,6 +858,7 @@
 <translation id="8105951947646329362">建議相關的網頁</translation>
 <translation id="8116925261070264013">已設為靜音</translation>
 <translation id="813082847718468539">查看網站資訊</translation>
+<translation id="8160722851663543621">將網址列和搜尋框中的搜尋字詞以及部分 Cookie 傳送給你的預設搜尋引擎</translation>
 <translation id="8168435359814927499">內容</translation>
 <translation id="8186512483418048923">還剩 <ph name="FILES" /> 個檔案</translation>
 <translation id="8190358571722158785">還剩 1 天</translation>
@@ -871,6 +883,7 @@
 <translation id="8413126021676339697">顯示完整記錄</translation>
 <translation id="8420510748452002155">非個人化服務</translation>
 <translation id="8428213095426709021">設定</translation>
+<translation id="8438566539970814960">改善搜尋和瀏覽體驗</translation>
 <translation id="8441146129660941386">倒轉到特定的播放時間點</translation>
 <translation id="8445448999790540984">無法匯出密碼</translation>
 <translation id="8447861592752582886">撤銷裝置權限</translation>
@@ -880,6 +893,7 @@
 <translation id="8497726226069778601">目前還沒有任何常用網頁…</translation>
 <translation id="8503559462189395349">Chrome 密碼</translation>
 <translation id="8503813439785031346">使用者名稱</translation>
+<translation id="8504988642345501642">當你向上捲動時顯示相關網頁的快速連結。系統會將你所造訪網頁的網址傳送給 Google。</translation>
 <translation id="8514477925623180633">將使用 Chrome 儲存的密碼匯出</translation>
 <translation id="8514577642972634246">進入無痕模式</translation>
 <translation id="851751545965956758">禁止網站連線至裝置</translation>
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index 4edc1e4..22bff11 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -1380,6 +1380,7 @@
   "java/src/org/chromium/chrome/browser/toolbar/BottomToolbarViewBinder.java",
   "java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbar.java",
   "java/src/org/chromium/chrome/browser/toolbar/CustomTabToolbarAnimationDelegate.java",
+  "java/src/org/chromium/chrome/browser/toolbar/MenuButton.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonCoordinator.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonMediator.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarButtonProperties.java",
@@ -1423,28 +1424,28 @@
   "java/src/org/chromium/chrome/browser/util/UrlUtilities.java",
   "java/src/org/chromium/chrome/browser/util/ViewUtils.java",
   "java/src/org/chromium/chrome/browser/vr/VrMainActivity.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/EmptySniffingVrViewContainer.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/NoopCanvas.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/OnExitVrRequestListener.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrAlertDialog.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrCancelAnimationActivity.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapper.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrCompositorSurfaceManager.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionChecker.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApi.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrDialog.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrDialogManager.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrFeedbackStatus.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrFirstRunActivity.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrIntentUtils.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrModalPresenter.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrPopupWindow.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrShell.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrToast.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrToastManager.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrUiWidgetFactory.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrViewContainer.java",
+  "java/src/org/chromium/chrome/browser/vr/EmptySniffingVrViewContainer.java",
+  "java/src/org/chromium/chrome/browser/vr/NoopCanvas.java",
+  "java/src/org/chromium/chrome/browser/vr/OnExitVrRequestListener.java",
+  "java/src/org/chromium/chrome/browser/vr/VrAlertDialog.java",
+  "java/src/org/chromium/chrome/browser/vr/VrCancelAnimationActivity.java",
+  "java/src/org/chromium/chrome/browser/vr/VrClassesWrapper.java",
+  "java/src/org/chromium/chrome/browser/vr/VrCompositorSurfaceManager.java",
+  "java/src/org/chromium/chrome/browser/vr/VrCoreVersionChecker.java",
+  "java/src/org/chromium/chrome/browser/vr/VrDaydreamApi.java",
+  "java/src/org/chromium/chrome/browser/vr/VrDialog.java",
+  "java/src/org/chromium/chrome/browser/vr/VrDialogManager.java",
+  "java/src/org/chromium/chrome/browser/vr/VrFeedbackStatus.java",
+  "java/src/org/chromium/chrome/browser/vr/VrFirstRunActivity.java",
+  "java/src/org/chromium/chrome/browser/vr/VrIntentUtils.java",
+  "java/src/org/chromium/chrome/browser/vr/VrModalPresenter.java",
+  "java/src/org/chromium/chrome/browser/vr/VrPopupWindow.java",
+  "java/src/org/chromium/chrome/browser/vr/VrShell.java",
+  "java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java",
+  "java/src/org/chromium/chrome/browser/vr/VrToast.java",
+  "java/src/org/chromium/chrome/browser/vr/VrToastManager.java",
+  "java/src/org/chromium/chrome/browser/vr/VrUiWidgetFactory.java",
+  "java/src/org/chromium/chrome/browser/vr/VrViewContainer.java",
   "java/src/org/chromium/chrome/browser/webapps/ActivityAssigner.java",
   "java/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialog.java",
   "java/src/org/chromium/chrome/browser/webapps/AddToHomescreenManager.java",
@@ -1594,20 +1595,20 @@
 ]
 
 chrome_vr_java_sources = [
-  "java/src/org/chromium/chrome/browser/vr_shell/AndroidUiGestureTarget.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/AndroidVSyncHelper.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapperImpl.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrCoreInfo.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrCoreVersionCheckerImpl.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrDaydreamApiImpl.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrInputConnection.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/VrWindowAndroid.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/OnDispatchTouchEventCallback.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/keyboard/BuildConstants.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/keyboard/GvrKeyboardLoaderClient.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/keyboard/TextEditAction.java",
-  "java/src/org/chromium/chrome/browser/vr_shell/keyboard/VrInputMethodManagerWrapper.java",
+  "java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.java",
+  "java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.java",
+  "java/src/org/chromium/chrome/browser/vr/VrClassesWrapperImpl.java",
+  "java/src/org/chromium/chrome/browser/vr/VrCoreInfo.java",
+  "java/src/org/chromium/chrome/browser/vr/VrCoreVersionCheckerImpl.java",
+  "java/src/org/chromium/chrome/browser/vr/VrDaydreamApiImpl.java",
+  "java/src/org/chromium/chrome/browser/vr/VrInputConnection.java",
+  "java/src/org/chromium/chrome/browser/vr/VrShellImpl.java",
+  "java/src/org/chromium/chrome/browser/vr/VrWindowAndroid.java",
+  "java/src/org/chromium/chrome/browser/vr/OnDispatchTouchEventCallback.java",
+  "java/src/org/chromium/chrome/browser/vr/keyboard/BuildConstants.java",
+  "java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java",
+  "java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java",
+  "java/src/org/chromium/chrome/browser/vr/keyboard/VrInputMethodManagerWrapper.java",
 ]
 
 chrome_test_java_sources = [
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/EmulatedVrController.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/EmulatedVrController.java
similarity index 99%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/EmulatedVrController.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/EmulatedVrController.java
index 0d0b930..59e7e29e 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/EmulatedVrController.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/EmulatedVrController.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.content.Context;
 import android.os.SystemClock;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr/OWNERS b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/OWNERS
new file mode 100644
index 0000000..deaca35
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/OWNERS
@@ -0,0 +1,4 @@
+file://chrome/android/java/src/org/chromium/chrome/browser/vr/VR_JAVA_OWNERS
+bsheedy@chromium.org
+
+# COMPONENT: UI>Browser>VR
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/README.md b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/README.md
similarity index 100%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/README.md
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/README.md
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestFramework.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestFramework.java
similarity index 99%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestFramework.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestFramework.java
index efd1f0040..1c60a02 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestFramework.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestFramework.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.support.annotation.IntDef;
 import android.view.View;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestVrShellDelegate.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestVrShellDelegate.java
similarity index 98%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestVrShellDelegate.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestVrShellDelegate.java
index fecea69..e3a892f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/TestVrShellDelegate.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/TestVrShellDelegate.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.graphics.PointF;
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrFeedbackInfoBarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrFeedbackInfoBarTest.java
similarity index 87%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrFeedbackInfoBarTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrFeedbackInfoBarTest.java
index 1840e61..0f05f34e 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrFeedbackInfoBarTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrFeedbackInfoBarTest.java
@@ -2,11 +2,11 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_DEVICE_DAYDREAM;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
@@ -22,10 +22,10 @@
 import org.chromium.base.test.util.Restriction;
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.util.TransitionUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrInfoBarUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrShellDelegateUtils;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.util.TransitionUtils;
+import org.chromium.chrome.browser.vr.util.VrInfoBarUtils;
+import org.chromium.chrome.browser.vr.util.VrShellDelegateUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.util.ChromeTabUtils;
 
@@ -139,9 +139,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testFeedbackOnlyOnVrBrowsing_WebXr() throws InterruptedException, TimeoutException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testFeedbackOnlyOnVrBrowsing_WebXr()
+            throws InterruptedException, TimeoutException {
         feedbackOnlyOnVrBrowsingImpl(TEST_PAGE_WEBXR_URL, mXrTestFramework);
     }
 
@@ -175,10 +177,12 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    public void testExitPresentationInVr_WebXr() throws InterruptedException, TimeoutException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
+            public void testExitPresentationInVr_WebXr()
+            throws InterruptedException, TimeoutException {
         exitPresentationInVrImpl(TEST_PAGE_WEBXR_URL, mXrTestFramework);
     }
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrInstallUpdateInfoBarTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrInstallUpdateInfoBarTest.java
similarity index 94%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrInstallUpdateInfoBarTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrInstallUpdateInfoBarTest.java
index 1c2e4930..54da4c7 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrInstallUpdateInfoBarTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrInstallUpdateInfoBarTest.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.os.Build;
 import android.support.test.filters.MediumTest;
@@ -24,10 +24,10 @@
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction;
-import org.chromium.chrome.browser.vr_shell.util.VrInfoBarUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrShellDelegateUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction;
+import org.chromium.chrome.browser.vr.util.VrInfoBarUtils;
+import org.chromium.chrome.browser.vr.util.VrShellDelegateUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellCompositorViewHolderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellCompositorViewHolderTest.java
similarity index 97%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellCompositorViewHolderTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellCompositorViewHolderTest.java
index 5d9b3b2..bb1c298 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellCompositorViewHolderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellCompositorViewHolderTest.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import android.support.test.filters.MediumTest;
 import android.view.ViewGroup;
@@ -18,7 +18,7 @@
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.ChromeSwitches;
 import org.chromium.chrome.browser.compositor.CompositorViewHolder;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellControllerInputTest.java
similarity index 95%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellControllerInputTest.java
index bec3e546..855ce78 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellControllerInputTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellControllerInputTest.java
@@ -2,12 +2,12 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_CHECK_INTERVAL_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_CHECK_INTERVAL_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_DEVICE_DAYDREAM;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
@@ -26,8 +26,8 @@
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.chrome.browser.ChromeSwitches;
 import org.chromium.chrome.browser.history.HistoryPage;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.util.ChromeTabUtils;
 import org.chromium.content.browser.test.util.Criteria;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellDialogTest.java
similarity index 95%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellDialogTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellDialogTest.java
index b7aca21..54c2fe4 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellDialogTest.java
@@ -2,12 +2,12 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
 import android.graphics.PointF;
@@ -26,10 +26,10 @@
 import org.chromium.base.test.util.Restriction;
 import org.chromium.base.test.util.UrlUtils;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.rules.HeadTrackingMode;
-import org.chromium.chrome.browser.vr_shell.util.NativeUiUtils;
-import org.chromium.chrome.browser.vr_shell.util.TransitionUtils;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.rules.HeadTrackingMode;
+import org.chromium.chrome.browser.vr.util.NativeUiUtils;
+import org.chromium.chrome.browser.vr.util.TransitionUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.JavaScriptUtils;
 import org.chromium.net.test.EmbeddedTestServer;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNativeUiTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellNativeUiTest.java
similarity index 83%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNativeUiTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellNativeUiTest.java
index 923cdf6..2d394f0d 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNativeUiTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellNativeUiTest.java
@@ -2,11 +2,11 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.NATIVE_URLS_OF_INTEREST;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.NATIVE_URLS_OF_INTEREST;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
 import android.support.test.filters.MediumTest;
@@ -20,8 +20,8 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Restriction;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 
 import java.util.concurrent.TimeoutException;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNavigationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellNavigationTest.java
similarity index 91%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNavigationTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellNavigationTest.java
index b84817b..18e34bc 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellNavigationTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellNavigationTest.java
@@ -2,12 +2,12 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.NATIVE_URLS_OF_INTEREST;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.NATIVE_URLS_OF_INTEREST;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
 import android.support.test.InstrumentationRegistry;
@@ -28,10 +28,10 @@
 import org.chromium.chrome.browser.history.HistoryPage;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.util.TransitionUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrInfoBarUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.util.TransitionUtils;
+import org.chromium.chrome.browser.vr.util.VrInfoBarUtils;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.util.ChromeTabUtils;
@@ -183,9 +183,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void test2dToWebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void test2dToWebXr()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         impl2dToWeb(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -215,9 +216,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void test2dFullscreenToWebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void test2dFullscreenToWebXr()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         impl2dFullscreenToWeb(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -248,9 +250,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testWebXrTo2d()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testWebXrTo2d()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         webTo2dImpl(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -280,9 +283,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testWebXrToWebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testWebXrToWebXr()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         webToWebImpl(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -312,9 +316,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testWebXrPresentingTo2d()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testWebXrPresentingTo2d()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         webPresentingTo2dImpl(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -345,9 +350,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testWebXrPresentingToWebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testWebXrPresentingToWebXr()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         webPresentingToWebImpl(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -378,9 +384,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testWebXrFullscreenTo2d()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testWebXrFullscreenTo2d()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         webFullscreenTo2dImpl(Page.PAGE_WEBXR, mXrTestFramework);
     }
@@ -411,9 +418,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testWebXrFullscreenToWebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testWebXrFullscreenToWebXr()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         webFullscreenToWebImpl(Page.PAGE_WEBXR, mXrTestFramework);
     }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellTransitionTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellTransitionTest.java
similarity index 93%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellTransitionTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellTransitionTest.java
index 991b4c33..f68e60cb 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellTransitionTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellTransitionTest.java
@@ -2,13 +2,13 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_DEVICE_NON_DAYDREAM;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
@@ -36,13 +36,13 @@
 import org.chromium.chrome.browser.preferences.Preferences;
 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
 import org.chromium.chrome.browser.preferences.website.SingleWebsitePreferences;
-import org.chromium.chrome.browser.vr_shell.mock.MockVrDaydreamApi;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.util.NativeUiUtils;
-import org.chromium.chrome.browser.vr_shell.util.NfcSimUtils;
-import org.chromium.chrome.browser.vr_shell.util.TransitionUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrShellDelegateUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.mock.MockVrDaydreamApi;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.util.NativeUiUtils;
+import org.chromium.chrome.browser.vr.util.NfcSimUtils;
+import org.chromium.chrome.browser.vr.util.TransitionUtils;
+import org.chromium.chrome.browser.vr.util.VrShellDelegateUtils;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.chrome.test.util.ActivityUtils;
 import org.chromium.content.browser.test.util.Criteria;
@@ -405,9 +405,8 @@
                 context.startActivity(preferencesIntent);
             });
         });
-        ThreadUtils.runOnUiThreadBlocking(() -> {
-            VrShellDelegateUtils.getDelegateInstance().acceptDoffPromptForTesting();
-        });
+        ThreadUtils.runOnUiThreadBlocking(
+                () -> { VrShellDelegateUtils.getDelegateInstance().acceptDoffPromptForTesting(); });
 
         CriteriaHelper.pollUiThread(() -> { return mockApi.getExitFromVrCalled(); });
         Assert.assertFalse(mockApi.getLaunchVrHomescreenCalled());
@@ -474,8 +473,8 @@
         TransitionUtils.waitForVrEntry(POLL_TIMEOUT_LONG_MS);
         // Alerts block JavaScript execution until they're closed, so we can't use the normal
         // runJavaScriptOrFail, as that will time out.
-        JavaScriptUtils.executeJavaScript(mVrTestFramework.getFirstTabWebContents(),
-                "alert('Please no crash')");
+        JavaScriptUtils.executeJavaScript(
+                mVrTestFramework.getFirstTabWebContents(), "alert('Please no crash')");
         TransitionUtils.waitForNativeUiPrompt(POLL_TIMEOUT_LONG_MS);
         TransitionUtils.forceExitVr();
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellWebInputEditingTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellWebInputEditingTest.java
similarity index 87%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellWebInputEditingTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellWebInputEditingTest.java
index 70e58fe..8e90c30 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrShellWebInputEditingTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrShellWebInputEditingTest.java
@@ -2,11 +2,11 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_DEVICE_DAYDREAM;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
@@ -21,11 +21,11 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.Restriction;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.keyboard.TextEditAction;
-import org.chromium.chrome.browser.vr_shell.mock.MockBrowserKeyboardInterface;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.util.NativeUiUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.keyboard.TextEditAction;
+import org.chromium.chrome.browser.vr.mock.MockBrowserKeyboardInterface;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.util.NativeUiUtils;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrTestFramework.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrTestFramework.java
similarity index 94%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrTestFramework.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrTestFramework.java
index 698446d..b0019e69 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/VrTestFramework.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrTestFramework.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.content_public.browser.WebContents;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrDeviceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrDeviceTest.java
similarity index 88%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrDeviceTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrDeviceTest.java
index 5201e6d55..f0be5d63 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrDeviceTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrDeviceTest.java
@@ -2,9 +2,9 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
 
 import android.os.Build;
 import android.support.test.filters.MediumTest;
@@ -23,9 +23,9 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction;
-import org.chromium.chrome.browser.vr_shell.util.VrShellDelegateUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction;
+import org.chromium.chrome.browser.vr.util.VrShellDelegateUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 
@@ -108,10 +108,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWebXrCapabilities() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWebXrCapabilities() throws InterruptedException {
         mXrTestFramework.loadUrlAndAwaitInitialization(
                 XrTestFramework.getFileUrlForHtmlTestFile("test_webxr_capabilities"),
                 PAGE_LOAD_TIMEOUT_S);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrInputTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrInputTest.java
similarity index 86%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrInputTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrInputTest.java
index c3f8e4f..1922402 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrInputTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrInputTest.java
@@ -2,12 +2,12 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.TestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_NON_DAYDREAM;
 
@@ -37,12 +37,12 @@
 import org.chromium.base.test.util.Restriction;
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.mock.MockVrDaydreamApi;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction;
-import org.chromium.chrome.browser.vr_shell.util.TransitionUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrShellDelegateUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.mock.MockVrDaydreamApi;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction;
+import org.chromium.chrome.browser.vr.util.TransitionUtils;
+import org.chromium.chrome.browser.vr.util.VrShellDelegateUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 import org.chromium.content.browser.test.util.Criteria;
@@ -90,8 +90,8 @@
                 ? "!vrDisplay.isPresenting"
                 : "sessionInfos[sessionTypes.EXCLUSIVE].currentSession == null";
         Assert.assertEquals("App button exited presentation", shouldHaveExited,
-                TestFramework.pollJavaScriptBoolean(boolExpression, POLL_TIMEOUT_SHORT_MS,
-                        framework.getFirstTabWebContents()));
+                TestFramework.pollJavaScriptBoolean(
+                        boolExpression, POLL_TIMEOUT_SHORT_MS, framework.getFirstTabWebContents()));
     }
 
     /**
@@ -99,8 +99,8 @@
      */
     @Test
     @MediumTest
-    @DisableIf.Build(message = "Flaky on K/L crbug.com/762126",
-            sdk_is_less_than = Build.VERSION_CODES.M)
+    @DisableIf.
+    Build(message = "Flaky on K/L crbug.com/762126", sdk_is_less_than = Build.VERSION_CODES.M)
     @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
     public void testScreenTapsNotRegistered() throws InterruptedException {
         screenTapsNotRegisteredImpl(
@@ -113,12 +113,15 @@
      */
     @Test
     @MediumTest
-    @DisableIf.Build(message = "Flaky on K/L crbug.com/762126",
-            sdk_is_less_than = Build.VERSION_CODES.M)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testScreenTapsNotRegistered_WebXr() throws InterruptedException {
+    @DisableIf
+            .Build(message = "Flaky on K/L crbug.com/762126",
+                    sdk_is_less_than = Build.VERSION_CODES.M)
+            @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void
+            testScreenTapsNotRegistered_WebXr() throws InterruptedException {
         screenTapsNotRegisteredImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("webxr_test_screen_taps_not_registered"),
                 mXrTestFramework);
@@ -201,10 +204,12 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testControllerClicksRegisteredOnDaydream_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testControllerClicksRegisteredOnDaydream_WebXr()
+            throws InterruptedException {
         EmulatedVrController controller = new EmulatedVrController(mTestRule.getActivity());
         mXrTestFramework.loadUrlAndAwaitInitialization(
                 XrTestFramework.getFileUrlForHtmlTestFile("test_webxr_input"), PAGE_LOAD_TIMEOUT_S);
@@ -300,10 +305,11 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_NON_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testScreenTapsRegisteredOnCardboard_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testScreenTapsRegisteredOnCardboard_WebXr() throws InterruptedException {
         EmulatedVrController controller = new EmulatedVrController(mTestRule.getActivity());
         mXrTestFramework.loadUrlAndAwaitInitialization(
                 XrTestFramework.getFileUrlForHtmlTestFile("test_webxr_input"), PAGE_LOAD_TIMEOUT_S);
@@ -346,10 +352,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testPresentationLocksFocus_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testPresentationLocksFocus_WebXr() throws InterruptedException {
         presentationLocksFocusImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("webxr_test_presentation_locks_focus"),
                 mXrTestFramework);
@@ -384,10 +391,11 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @RetryOnFailure(message = "Very rarely, button press not registered (race condition?)")
-    public void testAppButtonExitsPresentation_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @RetryOnFailure(message = "Very rarely, button press not registered (race condition?)")
+            public void testAppButtonExitsPresentation_WebXr() throws InterruptedException {
         appButtonExitsPresentationImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("generic_webxr_page"), mXrTestFramework);
     }
@@ -438,9 +446,10 @@
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
     @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testAppButtonNoopsWhenBrowsingDisabled_WebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testAppButtonNoopsWhenBrowsingDisabled_WebXr()
             throws InterruptedException, ExecutionException {
         appButtonNoopsTestImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("generic_webxr_page"), mXrTestFramework);
@@ -455,9 +464,11 @@
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
     @VrActivityRestriction({VrActivityRestriction.SupportedActivity.WAA,
             VrActivityRestriction.SupportedActivity.CCT})
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testAppButtonNoopsWhenBrowsingNotSupported_WebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void
+            testAppButtonNoopsWhenBrowsingNotSupported_WebXr()
             throws InterruptedException, ExecutionException {
         appButtonNoopsTestImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("generic_webxr_page"), mXrTestFramework);
@@ -537,10 +548,11 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @RetryOnFailure(message = "Very rarely, button press not registered (race condition?)")
-    public void testAppButtonAfterPageStopsSubmitting_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @RetryOnFailure(message = "Very rarely, button press not registered (race condition?)")
+            public void testAppButtonAfterPageStopsSubmitting_WebXr() throws InterruptedException {
         appButtonAfterPageStopsSubmittingImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("webxr_page_submits_once"),
                 mXrTestFramework);
@@ -565,10 +577,12 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWebXrGamepadNotReturnedWithoutGamepadSupport() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWebXrGamepadNotReturnedWithoutGamepadSupport()
+            throws InterruptedException {
         webxrGamepadSupportImpl(
                 0 /* numExpectedGamepads */, true /* webxrPresent */, true /* daydream */);
     }
@@ -581,10 +595,11 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_NON_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWebXrGamepadNotReturnedWithoutGamepadSupport_Cardboard()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWebXrGamepadNotReturnedWithoutGamepadSupport_Cardboard()
             throws InterruptedException {
         webxrGamepadSupportImpl(
                 0 /* numExpectedGamepads */, true /* webxrPresent */, false /* daydream */);
@@ -597,10 +612,11 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR,WebXRGamepadSupport"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWebXrGamepadReturnedWithGamepadSupport() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR,WebXRGamepadSupport"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWebXrGamepadReturnedWithGamepadSupport() throws InterruptedException {
         webxrGamepadSupportImpl(
                 1 /* numExpectedGamepads */, true /* webxrPresent */, true /* daydream */);
     }
@@ -612,10 +628,11 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_NON_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR,WebXRGamepadSupport"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWebXrGamepadReturnedWithGamepadSupport_Cardboard()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR,WebXRGamepadSupport"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWebXrGamepadReturnedWithGamepadSupport_Cardboard()
             throws InterruptedException {
         webxrGamepadSupportImpl(
                 1 /* numExpectedGamepads */, true /* webxrPresent */, false /* daydream */);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTabTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrTabTest.java
similarity index 89%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTabTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrTabTest.java
index 2f7acb05..f87f1a63 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTabTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrTabTest.java
@@ -2,9 +2,9 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.VrTestFramework.PAGE_LOAD_TIMEOUT_S;
 
 import android.os.Build;
 import android.support.test.filters.MediumTest;
@@ -22,7 +22,7 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 
@@ -74,9 +74,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testPoseDataUnfocusedTab_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testPoseDataUnfocusedTab_WebXr() throws InterruptedException {
         testPoseDataUnfocusedTabImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("webxr_test_pose_data_unfocused_tab"),
                 mXrTestFramework);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTransitionTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrTransitionTest.java
similarity index 86%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTransitionTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrTransitionTest.java
index 398fe5f0..1275108 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebVrTransitionTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebVrTransitionTest.java
@@ -2,13 +2,13 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.TestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_CHECK_INTERVAL_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_CHECK_INTERVAL_LONG_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_SHORT_MS;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_DON_ENABLED;
 import static org.chromium.chrome.test.util.ChromeRestriction.RESTRICTION_TYPE_VIEWER_DAYDREAM;
 
@@ -39,11 +39,11 @@
 import org.chromium.base.test.util.RetryOnFailure;
 import org.chromium.chrome.browser.ChromeActivity;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction;
-import org.chromium.chrome.browser.vr_shell.util.NfcSimUtils;
-import org.chromium.chrome.browser.vr_shell.util.TransitionUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTransitionUtils;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction;
+import org.chromium.chrome.browser.vr.util.NfcSimUtils;
+import org.chromium.chrome.browser.vr.util.TransitionUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.util.VrTransitionUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 import org.chromium.content.browser.test.util.Criteria;
@@ -102,10 +102,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testRequestSessionEntersVr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testRequestSessionEntersVr() throws InterruptedException {
         testPresentationEntryImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("generic_webxr_page"), mXrTestFramework);
     }
@@ -232,10 +233,11 @@
     @Test
     @MediumTest
     @Restriction({RESTRICTION_TYPE_VIEWER_DAYDREAM, RESTRICTION_TYPE_DON_ENABLED})
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testPresentationPromiseUnresolvedDuringDon_WebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testPresentationPromiseUnresolvedDuringDon_WebXr()
             throws InterruptedException {
         presentationPromiseUnresolvedDuringDonImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile(
@@ -270,10 +272,11 @@
     @Test
     @MediumTest
     @Restriction({RESTRICTION_TYPE_VIEWER_DAYDREAM, RESTRICTION_TYPE_DON_ENABLED})
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testPresentationPromiseRejectedIfDonCanceled_WebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testPresentationPromiseRejectedIfDonCanceled_WebXr()
             throws InterruptedException {
         presentationPromiseRejectedIfDonCanceledImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile(
@@ -316,9 +319,10 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testControlsVisibleAfterExitingVr_WebXr() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testControlsVisibleAfterExitingVr_WebXr() throws InterruptedException {
         controlsVisibleAfterExitingVrImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("generic_webxr_page"), mXrTestFramework);
     }
@@ -362,10 +366,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWindowRafStopsFiringWhilePresenting_WebXr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWindowRafStopsFiringWhilePresenting_WebXr()
             throws InterruptedException {
         windowRafStopsFiringWhilePresentingImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile(
@@ -410,9 +415,10 @@
     @Test
     @MediumTest
     @Restriction(RESTRICTION_TYPE_VIEWER_DAYDREAM)
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    public void testRendererKilledInWebXrStaysInVr()
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            public void testRendererKilledInWebXrStaysInVr()
             throws IllegalArgumentException, InterruptedException, TimeoutException {
         rendererKilledInVrStaysInVrImpl(
                 XrTestFramework.getFileUrlForHtmlTestFile("generic_webxr_page"), mXrTestFramework);
@@ -431,10 +437,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testWindowRafFiresDuringNonExclusiveSession() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testWindowRafFiresDuringNonExclusiveSession() throws InterruptedException {
         mXrTestFramework.loadUrlAndAwaitInitialization(
                 XrTestFramework.getFileUrlForHtmlTestFile(
                         "test_window_raf_fires_during_non_exclusive_session"),
@@ -449,10 +456,11 @@
      */
     @Test
     @MediumTest
-    @CommandLineFlags.Remove({"enable-webvr"})
-    @CommandLineFlags.Add({"enable-features=WebXR"})
-    @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
-    public void testNonExclusiveStopsDuringExclusive() throws InterruptedException {
+    @CommandLineFlags
+            .Remove({"enable-webvr"})
+            @CommandLineFlags.Add({"enable-features=WebXR"})
+            @VrActivityRestriction({VrActivityRestriction.SupportedActivity.ALL})
+            public void testNonExclusiveStopsDuringExclusive() throws InterruptedException {
         mXrTestFramework.loadUrlAndAwaitInitialization(
                 XrTestFramework.getFileUrlForHtmlTestFile(
                         "test_non_exclusive_stops_during_exclusive"),
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebXrArSessionTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrArSessionTest.java
similarity index 93%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebXrArSessionTest.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrArSessionTest.java
index 3364ae4..097fdf26 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/WebXrArSessionTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/WebXrArSessionTest.java
@@ -2,10 +2,10 @@
 // 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.vr_shell;
+package org.chromium.chrome.browser.vr;
 
-import static org.chromium.chrome.browser.vr_shell.TestFramework.PAGE_LOAD_TIMEOUT_S;
-import static org.chromium.chrome.browser.vr_shell.XrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.PAGE_LOAD_TIMEOUT_S;
+import static org.chromium.chrome.browser.vr.XrTestFramework.POLL_TIMEOUT_LONG_MS;
 
 import android.os.Build;
 import android.support.test.InstrumentationRegistry;
@@ -26,9 +26,9 @@
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.MinAndroidSdkLevel;
 import org.chromium.chrome.browser.ChromeSwitches;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
-import org.chromium.chrome.browser.vr_shell.util.XrTransitionUtils;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.util.XrTransitionUtils;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 import org.chromium.net.test.EmbeddedTestServer;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/XrTestFramework.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/XrTestFramework.java
similarity index 94%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/XrTestFramework.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/XrTestFramework.java
index e274186..22543aa 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/XrTestFramework.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/XrTestFramework.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.chrome.browser.vr_shell;
+package org.chromium.chrome.browser.vr;
 
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.content_public.browser.WebContents;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockBrowserKeyboardInterface.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockBrowserKeyboardInterface.java
similarity index 93%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockBrowserKeyboardInterface.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockBrowserKeyboardInterface.java
index a685f64a..5baecf0c 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockBrowserKeyboardInterface.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockBrowserKeyboardInterface.java
@@ -2,9 +2,9 @@
 // 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.vr_shell.mock;
+package org.chromium.chrome.browser.vr.mock;
 
-import org.chromium.chrome.browser.vr_shell.keyboard.VrInputMethodManagerWrapper;
+import org.chromium.chrome.browser.vr.keyboard.VrInputMethodManagerWrapper;
 
 /**
  * Mock version of BrowserKeyboardInterface.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrCoreVersionCheckerImpl.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrCoreVersionCheckerImpl.java
similarity index 80%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrCoreVersionCheckerImpl.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrCoreVersionCheckerImpl.java
index a960f236..ee66c77 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrCoreVersionCheckerImpl.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrCoreVersionCheckerImpl.java
@@ -2,11 +2,11 @@
 // 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.vr_shell.mock;
+package org.chromium.chrome.browser.vr.mock;
 
-import org.chromium.chrome.browser.vr_shell.VrCoreCompatibility;
-import org.chromium.chrome.browser.vr_shell.VrCoreInfo;
-import org.chromium.chrome.browser.vr_shell.VrCoreVersionCheckerImpl;
+import org.chromium.chrome.browser.vr.VrCoreCompatibility;
+import org.chromium.chrome.browser.vr.VrCoreInfo;
+import org.chromium.chrome.browser.vr.VrCoreVersionCheckerImpl;
 
 /**
  * Mock version of VrCoreVersionCheckerImpl that allows setting of the return
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrDaydreamApi.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrDaydreamApi.java
similarity index 94%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrDaydreamApi.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrDaydreamApi.java
index 310020af..fca16f7 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/mock/MockVrDaydreamApi.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/mock/MockVrDaydreamApi.java
@@ -2,13 +2,13 @@
 // 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.vr_shell.mock;
+package org.chromium.chrome.browser.vr.mock;
 
 import android.app.Activity;
 import android.app.PendingIntent;
 import android.content.Intent;
 
-import org.chromium.chrome.browser.vr_shell.VrDaydreamApiImpl;
+import org.chromium.chrome.browser.vr.VrDaydreamApiImpl;
 
 // TODO(bsheedy): Make Mockito work in instrumentation tests and replace uses of this class with
 // Mockito spies.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/AndroidManifest.xml b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/nfc_apk/AndroidManifest.xml
similarity index 78%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/AndroidManifest.xml
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/nfc_apk/AndroidManifest.xml
index cf149339..70a65d0 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/AndroidManifest.xml
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/nfc_apk/AndroidManifest.xml
@@ -3,10 +3,10 @@
        this source code is governed by a BSD-style license that can be found
        in the LICENSE file. -->
   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="org.chromium.chrome.browser.vr_shell.nfc_apk">
+    package="org.chromium.chrome.browser.vr.nfc_apk">
     <uses-sdk android:minSdkVersion="24" android:targetSdkVersion="24" />
     <application>
-      <activity android:name="org.chromium.chrome.browser.vr_shell.nfc_apk.SimNfcActivity"
+      <activity android:name="org.chromium.chrome.browser.vr.nfc_apk.SimNfcActivity"
         android:exported="true"
         android:theme="@android:style/Theme.NoDisplay"
         android:excludeFromRecents="true"/>
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/SimNfcActivity.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/nfc_apk/SimNfcActivity.java
similarity index 85%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/SimNfcActivity.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/nfc_apk/SimNfcActivity.java
index 0699a9e8..168db489 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/nfc_apk/SimNfcActivity.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/nfc_apk/SimNfcActivity.java
@@ -2,12 +2,12 @@
 // 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.vr_shell.nfc_apk;
+package org.chromium.chrome.browser.vr.nfc_apk;
 
 import android.app.Activity;
 import android.os.Bundle;
 
-import org.chromium.chrome.browser.vr_shell.util.NfcSimUtils;
+import org.chromium.chrome.browser.vr.util.NfcSimUtils;
 
 /**
  * Activity to simulate an NFC scan of a Daydream View VR headset. This is so
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/ChromeTabbedActivityVrTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/ChromeTabbedActivityVrTestRule.java
similarity index 82%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/ChromeTabbedActivityVrTestRule.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/ChromeTabbedActivityVrTestRule.java
index 1152516..dab0a55 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/ChromeTabbedActivityVrTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/ChromeTabbedActivityVrTestRule.java
@@ -2,15 +2,15 @@
 // 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.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction.SupportedActivity;
-import org.chromium.chrome.browser.vr_shell.util.HeadTrackingUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction.SupportedActivity;
+import org.chromium.chrome.browser.vr.util.HeadTrackingUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
 
 /**
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/CustomTabActivityVrTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/CustomTabActivityVrTestRule.java
similarity index 84%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/CustomTabActivityVrTestRule.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/CustomTabActivityVrTestRule.java
index 320c388..f7b916de 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/CustomTabActivityVrTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/CustomTabActivityVrTestRule.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.chrome.browser.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
 import android.support.test.InstrumentationRegistry;
 
@@ -11,10 +11,10 @@
 
 import org.chromium.chrome.browser.customtabs.CustomTabActivityTestRule;
 import org.chromium.chrome.browser.customtabs.CustomTabsTestUtils;
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction.SupportedActivity;
-import org.chromium.chrome.browser.vr_shell.util.HeadTrackingUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction.SupportedActivity;
+import org.chromium.chrome.browser.vr.util.HeadTrackingUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 
 /**
  * VR extension of CustomTabActivityTestRule. Applies CustomTabActivityTestRule then
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/HeadTrackingMode.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/HeadTrackingMode.java
similarity index 97%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/HeadTrackingMode.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/HeadTrackingMode.java
index bcfb2de5..060c8f7 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/HeadTrackingMode.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/HeadTrackingMode.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.chrome.browser.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/README.md b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/README.md
similarity index 100%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/README.md
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/README.md
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestriction.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestriction.java
similarity index 96%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestriction.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestriction.java
index b43d0d54..2ed8513 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestriction.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestriction.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.chrome.browser.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestrictionRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestrictionRule.java
similarity index 90%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestrictionRule.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestrictionRule.java
index 37546e9..0e6eb60c 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrActivityRestrictionRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrActivityRestrictionRule.java
@@ -2,15 +2,15 @@
 // 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.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
 import org.junit.Assume;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction.SupportedActivity;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction.SupportedActivity;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 
 /**
  * Rule that conditionally skips a test if the current VrTestRule's Activity is not
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrTestRule.java
similarity index 84%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrTestRule.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrTestRule.java
index d3b8135..65a14ea 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/VrTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/VrTestRule.java
@@ -2,9 +2,9 @@
 // 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.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction.SupportedActivity;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction.SupportedActivity;
 
 /**
  * Interface to be implemented by *VrTestRule rules, which allows them to be
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/WebappActivityVrTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/WebappActivityVrTestRule.java
similarity index 82%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/WebappActivityVrTestRule.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/WebappActivityVrTestRule.java
index 92bee57..87f94f0 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/rules/WebappActivityVrTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/rules/WebappActivityVrTestRule.java
@@ -2,15 +2,15 @@
 // 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.vr_shell.rules;
+package org.chromium.chrome.browser.vr.rules;
 
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction.SupportedActivity;
-import org.chromium.chrome.browser.vr_shell.util.HeadTrackingUtils;
-import org.chromium.chrome.browser.vr_shell.util.VrTestRuleUtils;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction.SupportedActivity;
+import org.chromium.chrome.browser.vr.util.HeadTrackingUtils;
+import org.chromium.chrome.browser.vr.util.VrTestRuleUtils;
 import org.chromium.chrome.browser.webapps.WebappActivityTestRule;
 
 /**
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/HeadTrackingUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/HeadTrackingUtils.java
similarity index 96%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/HeadTrackingUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/HeadTrackingUtils.java
index ac38f42d..3068ce10 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/HeadTrackingUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/HeadTrackingUtils.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.chrome.browser.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
 import android.content.ComponentName;
 import android.content.Intent;
@@ -12,9 +12,9 @@
 import org.junit.Assert;
 import org.junit.runner.Description;
 
-import org.chromium.chrome.browser.vr_shell.rules.HeadTrackingMode;
-import org.chromium.chrome.browser.vr_shell.rules.HeadTrackingMode.SupportedMode;
-import org.chromium.chrome.browser.vr_shell.rules.VrTestRule;
+import org.chromium.chrome.browser.vr.rules.HeadTrackingMode;
+import org.chromium.chrome.browser.vr.rules.HeadTrackingMode.SupportedMode;
+import org.chromium.chrome.browser.vr.rules.VrTestRule;
 
 import java.util.Arrays;
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/NativeUiUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java
similarity index 92%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/NativeUiUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.java
index f9f897e..ed1fb61 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/NativeUiUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NativeUiUtils.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.chrome.browser.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
 import android.graphics.PointF;
 import android.view.Choreographer;
@@ -12,13 +12,13 @@
 
 import org.chromium.base.ThreadUtils;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.UserFriendlyElementName;
-import org.chromium.chrome.browser.vr_shell.VrControllerTestAction;
-import org.chromium.chrome.browser.vr_shell.VrDialog;
-import org.chromium.chrome.browser.vr_shell.VrShellImpl;
-import org.chromium.chrome.browser.vr_shell.VrUiTestActivityResult;
-import org.chromium.chrome.browser.vr_shell.VrViewContainer;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.UserFriendlyElementName;
+import org.chromium.chrome.browser.vr.VrControllerTestAction;
+import org.chromium.chrome.browser.vr.VrDialog;
+import org.chromium.chrome.browser.vr.VrShellImpl;
+import org.chromium.chrome.browser.vr.VrUiTestActivityResult;
+import org.chromium.chrome.browser.vr.VrViewContainer;
 
 import java.util.concurrent.CountDownLatch;
 
@@ -142,4 +142,4 @@
         PointF buttonCenter = new PointF(x, y);
         clickElementAndWaitForUiQuiescence(UserFriendlyElementName.BROWSING_DIALOG, buttonCenter);
     }
-}
\ No newline at end of file
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/NfcSimUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NfcSimUtils.java
similarity index 97%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/NfcSimUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NfcSimUtils.java
index ee69954..31f59d55 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/NfcSimUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/NfcSimUtils.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.chrome.browser.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
 import android.content.ActivityNotFoundException;
 import android.content.ComponentName;
@@ -12,7 +12,7 @@
 import android.nfc.NdefRecord;
 import android.nfc.NfcAdapter;
 
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/TransitionUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/TransitionUtils.java
similarity index 94%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/TransitionUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/TransitionUtils.java
index a12060a4..2bdbe68 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/TransitionUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/TransitionUtils.java
@@ -2,10 +2,10 @@
 // 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.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
-import static org.chromium.chrome.browser.vr_shell.TestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
+import static org.chromium.chrome.browser.vr.TestFramework.POLL_TIMEOUT_SHORT_MS;
 
 import android.content.Intent;
 import android.net.Uri;
@@ -16,13 +16,13 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.ThreadUtils;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
+import org.chromium.chrome.browser.vr.TestFramework;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.VrIntentUtils;
 import org.chromium.chrome.browser.vr.VrMainActivity;
-import org.chromium.chrome.browser.vr_shell.TestFramework;
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.VrIntentUtils;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.VrShellImpl;
-import org.chromium.chrome.browser.vr_shell.VrTestFramework;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrShellImpl;
+import org.chromium.chrome.browser.vr.VrTestFramework;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content.browser.test.util.DOMUtils;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrInfoBarUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrInfoBarUtils.java
similarity index 90%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrInfoBarUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrInfoBarUtils.java
index cfc72847..a2082e2 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrInfoBarUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrInfoBarUtils.java
@@ -2,14 +2,14 @@
 // 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.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_CHECK_INTERVAL_SHORT_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_SHORT_MS;
 
 import org.chromium.base.ThreadUtils;
 import org.chromium.chrome.browser.infobar.InfoBar;
-import org.chromium.chrome.browser.vr_shell.TestFramework;
+import org.chromium.chrome.browser.vr.TestFramework;
 import org.chromium.chrome.test.util.InfoBarUtil;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
@@ -22,7 +22,8 @@
  * a high level.
  */
 public class VrInfoBarUtils {
-    public enum Button { PRIMARY, SECONDARY };
+    public enum Button { PRIMARY, SECONDARY }
+    ;
 
     /**
      * Determines whether InfoBars are present in the current activity.
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrShellDelegateUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrShellDelegateUtils.java
similarity index 89%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrShellDelegateUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrShellDelegateUtils.java
index beb6ede0..150cba0 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrShellDelegateUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrShellDelegateUtils.java
@@ -2,14 +2,14 @@
 // 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.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
 import org.junit.Assert;
 
 import org.chromium.base.ThreadUtils;
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.VrCoreInfo;
-import org.chromium.chrome.browser.vr_shell.mock.MockVrCoreVersionCheckerImpl;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.VrCoreInfo;
+import org.chromium.chrome.browser.vr.mock.MockVrCoreVersionCheckerImpl;
 
 import java.util.concurrent.atomic.AtomicReference;
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTestRuleUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTestRuleUtils.java
similarity index 90%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTestRuleUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTestRuleUtils.java
index 60427dc..63a22f2 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTestRuleUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTestRuleUtils.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.chrome.browser.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
 import android.os.SystemClock;
 import android.support.test.InstrumentationRegistry;
@@ -13,12 +13,12 @@
 import org.junit.rules.TestRule;
 
 import org.chromium.base.test.params.ParameterSet;
-import org.chromium.chrome.browser.vr_shell.rules.ChromeTabbedActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.rules.CustomTabActivityVrTestRule;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestriction.SupportedActivity;
-import org.chromium.chrome.browser.vr_shell.rules.VrActivityRestrictionRule;
-import org.chromium.chrome.browser.vr_shell.rules.VrTestRule;
-import org.chromium.chrome.browser.vr_shell.rules.WebappActivityVrTestRule;
+import org.chromium.chrome.browser.vr.rules.ChromeTabbedActivityVrTestRule;
+import org.chromium.chrome.browser.vr.rules.CustomTabActivityVrTestRule;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestriction.SupportedActivity;
+import org.chromium.chrome.browser.vr.rules.VrActivityRestrictionRule;
+import org.chromium.chrome.browser.vr.rules.VrTestRule;
+import org.chromium.chrome.browser.vr.rules.WebappActivityVrTestRule;
 
 import java.util.ArrayList;
 import java.util.concurrent.Callable;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTransitionUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTransitionUtils.java
similarity index 82%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTransitionUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTransitionUtils.java
index dd4d8e5..dd63877 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/VrTransitionUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/VrTransitionUtils.java
@@ -2,14 +2,14 @@
 // 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.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
-import static org.chromium.chrome.browser.vr_shell.VrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.VrTestFramework.POLL_TIMEOUT_LONG_MS;
 
 import org.junit.Assert;
 
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.VrTestFramework;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.VrTestFramework;
 import org.chromium.content_public.browser.WebContents;
 
 /**
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/XrTransitionUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/XrTransitionUtils.java
similarity index 92%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/XrTransitionUtils.java
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/XrTransitionUtils.java
index e665fe4d..6a68c347 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/util/XrTransitionUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/util/XrTransitionUtils.java
@@ -2,10 +2,10 @@
 // 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.vr_shell.util;
+package org.chromium.chrome.browser.vr.util;
 
-import static org.chromium.chrome.browser.vr_shell.XrTestFramework.POLL_TIMEOUT_LONG_MS;
-import static org.chromium.chrome.browser.vr_shell.XrTestFramework.POLL_TIMEOUT_SHORT_MS;
+import static org.chromium.chrome.browser.vr.XrTestFramework.POLL_TIMEOUT_LONG_MS;
+import static org.chromium.chrome.browser.vr.XrTestFramework.POLL_TIMEOUT_SHORT_MS;
 
 import android.content.DialogInterface;
 
@@ -13,8 +13,8 @@
 
 import org.chromium.base.ThreadUtils;
 import org.chromium.chrome.browser.permissions.PermissionDialogController;
-import org.chromium.chrome.browser.vr_shell.TestVrShellDelegate;
-import org.chromium.chrome.browser.vr_shell.XrTestFramework;
+import org.chromium.chrome.browser.vr.TestVrShellDelegate;
+import org.chromium.chrome.browser.vr.XrTestFramework;
 import org.chromium.content.browser.test.util.Criteria;
 import org.chromium.content.browser.test.util.CriteriaHelper;
 import org.chromium.content_public.browser.WebContents;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/vr_test_framework.md b/chrome/android/javatests/src/org/chromium/chrome/browser/vr/vr_test_framework.md
similarity index 100%
rename from chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/vr_test_framework.md
rename to chrome/android/javatests/src/org/chromium/chrome/browser/vr/vr_test_framework.md
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/OWNERS b/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/OWNERS
deleted file mode 100644
index 2e95aa6..0000000
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/vr_shell/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-file://chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VR_JAVA_OWNERS
-bsheedy@chromium.org
-
-# COMPONENT: UI>Browser>VR
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java
index b533de1a..8026490 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java
@@ -97,7 +97,8 @@
 @Config(manifest = Config.NONE, shadows = {CustomShadowAsyncTask.class})
 @DisableFeatures({ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD,
         ChromeFeatureList.NTP_ARTICLE_SUGGESTIONS_EXPANDABLE_HEADER,
-        ChromeFeatureList.SIMPLIFIED_NTP, ChromeFeatureList.CHROME_DUET})
+        ChromeFeatureList.SIMPLIFIED_NTP, ChromeFeatureList.CHROME_DUET,
+        ChromeFeatureList.UNIFIED_CONSENT})
 public class NewTabPageAdapterTest {
     @Rule
     public DisableHistogramsRule mDisableHistogramsRule = new DisableHistogramsRule();
@@ -989,7 +990,7 @@
     public void testSigninPromoDismissal() {
         final String signInPromoText = "sign in";
         when(MyShadowResources.sResources.getText(
-                     R.string.signin_promo_description_ntp_content_suggestions))
+                     R.string.signin_promo_description_ntp_content_suggestions_legacy))
                 .thenReturn(signInPromoText);
 
         when(mMockSigninManager.isSignInAllowed()).thenReturn(true);
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp
index d8c95294..00cc329 100644
--- a/chrome/app/chromeos_strings.grdp
+++ b/chrome/app/chromeos_strings.grdp
@@ -4699,6 +4699,15 @@
   <message name="IDS_HATS_DONE_BUTTON_LABEL" desc="Label used for the done button at the end of survey">
     Done
   </message>
+  <message name="IDS_ARC_DATA_REMOVAL_CONFIRMATION_HEADING" desc="Heading text in the content area of the confirmation for data removal in case ARC comes to wrong state.">
+    To use apps from Google Play, your local app data needs to be reset.
+  </message>
+  <message name="IDS_ARC_DATA_REMOVAL_CONFIRMATION_OK_BUTTON" desc="Text for the OK button of the confirmation for data removal in case ARC comes to wrong state.">
+    Clear data and restore
+  </message>
+  <message name="IDS_ARC_DATA_REMOVAL_CONFIRMATION_TITLE" desc="Title of the confirmation for data removal in case in case ARC comes to wrong state.">
+    Something went wrong
+  </message>
   <message name="IDS_ARC_MIGRATE_ENCRYPTION_NOTIFICATION_TITLE" desc="Title of the notification to navigate the user to first update the device encryption before running Android apps.">
     Install critical update
   </message>
diff --git a/chrome/app/nibs/MainMenu.xib b/chrome/app/nibs/MainMenu.xib
index ba5febc..4ac904f 100644
--- a/chrome/app/nibs/MainMenu.xib
+++ b/chrome/app/nibs/MainMenu.xib
@@ -481,14 +481,20 @@
                                 </connections>
                             </menuItem>
                             <menuItem isSeparatorItem="YES" id="453"/>
-                            <menuItem title="^IDS_NEXT_TAB_MAC" tag="34016" keyEquivalent="" id="455">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
+                            <menuItem title="^IDS_NEXT_TAB_MAC" tag="34016" id="455">
+                                <string key="keyEquivalent" base64-UTF8="YES">
+CQ
+</string>
+                                <modifierMask key="keyEquivalentModifierMask" control="YES"/>
                                 <connections>
                                     <action selector="commandDispatch:" target="-1" id="529"/>
                                 </connections>
                             </menuItem>
-                            <menuItem title="^IDS_PREV_TAB_MAC" tag="34017" keyEquivalent="" id="454">
-                                <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
+                            <menuItem title="^IDS_PREV_TAB_MAC" tag="34017" id="454">
+                                <string key="keyEquivalent" base64-UTF8="YES">
+CQ
+</string>
+                                <modifierMask key="keyEquivalentModifierMask" shift="YES" control="YES"/>
                                 <connections>
                                     <action selector="commandDispatch:" target="-1" id="530"/>
                                 </connections>
diff --git a/chrome/app/resources/chromium_strings_am.xtb b/chrome/app/resources/chromium_strings_am.xtb
index 71969be..44dee0af 100644
--- a/chrome/app/resources/chromium_strings_am.xtb
+++ b/chrome/app/resources/chromium_strings_am.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">አሁን Chromiumን ዳግም ማስጀመር አለብዎት።</translation>
 <translation id="6400072781405947421">Chromium ከእንግዲህ በMac OS X 10.9 ላይ ስለማይደገፍ በአግባቡ ላይሰራ ይችላል።</translation>
 <translation id="6403826409255603130">Chromium ድረ-ገጾችን እና መተግበሪያዎችን እጅግ በጣም ፈጣን በሆነ ፍጥነት የሚያሄድ ድር አሳሽ ነው። ፈጣን፣ የረጋ እና ለመጠቀም ቀላል ነው። Chromium ውስጥ አብሮ በተሰራላቸው የተንኮል-አዘል ሶፍትዌር እና የማስገሪያ መከላከያዎች አማካኝነት ደህንነትዎ ይበልጥ በተጠበቀ ሁኔታ ድሩን ያስሱ።</translation>
+<translation id="641451971369018375">አሰሳን እና Chromiumን ለማሻሻል ከGoogle ጋር ይገናኛል</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium በ1 ሰከንድ ውስጥ ዳግም ይጀምራል}one{Chromium በ# ሰከንዶች ውስጥ ዳግም ይጀምራል}other{Chromium በ# ሰከንዶች ውስጥ ዳግም ይጀምራል}}</translation>
 <translation id="6475912303565314141">እንዲሁም Chromiumን ሲጀምሩት የሚታየውን ገጽ ይቆጣጠራል።</translation>
 <translation id="6485906693002546646">የChromium ነገሮችዎን ለማመሳሰል <ph name="PROFILE_EMAIL" />ን እየተጠቀሙ ነው። የማመሳሰል ምርጫዎን ለማዘመን ወይም Chromium ያለGoogle መለያ መጠቀም የሚፈልጉ ከሆኑ <ph name="SETTINGS_LINK" />ን ይጎብኙ።</translation>
 <translation id="6510925080656968729">Chromiumን ያራግፉ</translation>
+<translation id="6570579332384693436">የሥርዓተ ፊደል አጻጻፍ ስህተቶችን ለማስተካከል፣ Chromium እርስዎ በጽሑፍ መስኮች ውስጥ የሚተይቡትን ጽሑፍ ወደ Google ይልካል</translation>
 <translation id="6598877126913850652">ወደ የChromium ማሳወቂያ ቅንብሮች ይሂዱ</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium አሁን ዳግም ይጀመራል}=1{Chromium በ1 ሰከንድ ውስጥ ዳግም ይጀመራል}one{Chromium በ# ሰከንዶች ውስጥ ዳግም ይጀመራል}other{Chromium በ# ሰከንዶች ውስጥ ዳግም ይጀመራል}}</translation>
 <translation id="6676384891291319759">በይነመረብን ተዳረስ</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb
index 30ff9e6f..0190b44 100644
--- a/chrome/app/resources/chromium_strings_bg.xtb
+++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -153,10 +153,12 @@
 <translation id="6394232988457703198">Трябва да рестартирате Chromium сега.</translation>
 <translation id="6400072781405947421">Chromium може да не функционира правилно, защото вече не се поддържа под Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium е уеб браузър, който зарежда уеб страници и изпълнява приложения със светкавична скорост. Той е бърз, стабилен и лесен за употреба. Сърфирайте в мрежата по-безопасно с вградената защита на Chromium срещу злонамерен софтуер и фишинг.</translation>
+<translation id="641451971369018375">Комуникира с Google с цел подобряване на сърфирането и на Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ще се рестартира след 1 секунда}other{Chromium ще се рестартира след # секунди}}</translation>
 <translation id="6475912303565314141">То също контролира коя страница се показва при стартиране на Chromium.</translation>
 <translation id="6485906693002546646">Използвате <ph name="PROFILE_EMAIL" /> за синхронизиране на нещата си в Chromium. За да актуализирате съответното предпочитание или да ползвате браузъра без профил в Google, посетете <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Деинсталиране на Chromium</translation>
+<translation id="6570579332384693436">С цел поправка на правописни грешки Chromium изпраща до Google текста, който въвеждате в текстовите полета</translation>
 <translation id="6598877126913850652">Към настройките за известия в Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium ще се рестартира сега}=1{Chromium ще се рестартира след 1 секунда}other{Chromium ще се рестартира след # секунди}}</translation>
 <translation id="6676384891291319759">Достъп до интернет</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb
index a61e9813..ad9856e 100644
--- a/chrome/app/resources/chromium_strings_ca.xtb
+++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Reinicieu Chromium ara</translation>
 <translation id="6400072781405947421">Pot ser que Chromium no funcioni correctament perquè ja no és compatible amb Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium és un navegador web que executa les pàgines web i les aplicacions a gran velocitat. És ràpid, estable i fàcil d'utilitzar. Navegueu per Internet amb més seguretat amb protecció inserida a Chromium contra el programari maliciós i contra la pesca (suplantació d'identitat).</translation>
+<translation id="641451971369018375">Es comunica amb Google per millorar Chromium i la navegació</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium es reiniciarà d'aquí a 1 segon}other{Chromium es reiniciarà d'aquí a # segons}}</translation>
 <translation id="6475912303565314141">També controla la pàgina que es mostra quan inicieu Chromium.</translation>
 <translation id="6485906693002546646">Utilitzeu <ph name="PROFILE_EMAIL" /> per sincronitzar el contingut de Chromium. Per modificar la preferència de sincronització o per utilitzar Chromium sense cap compte de Google, dirigiu-vos a <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Desinstal·la Chromium</translation>
+<translation id="6570579332384693436">Per corregir els errors d'ortografia, Chromium envia a Google el que escrius als camps de text</translation>
 <translation id="6598877126913850652">Ves a la configuració de notificacions de Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium es reiniciarà ara}=1{Chromium es reiniciarà d'aquí a 1 segon}other{Chromium es reiniciarà d'aquí a # segons}}</translation>
 <translation id="6676384891291319759">Accedeix a Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_de.xtb b/chrome/app/resources/chromium_strings_de.xtb
index 9013fe6..20834f1f 100644
--- a/chrome/app/resources/chromium_strings_de.xtb
+++ b/chrome/app/resources/chromium_strings_de.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Chromium jetzt neu starten.</translation>
 <translation id="6400072781405947421">Chromium funktioniert unter Umständen nicht ordnungsgemäß, da es unter Mac OS X 10.9 nicht mehr unterstützt wird.</translation>
 <translation id="6403826409255603130">Chromium ist ein Webbrowser, der Webseiten und Apps in Sekundenschnelle lädt und dabei äußerst stabil und nutzerfreundlich ist. Dank des integrierten Malware- und Phishing-Schutzes können Sie bedenkenlos im Internet surfen.</translation>
+<translation id="641451971369018375">Mit Google kommunizieren, um das Surferlebnis und Chromium zu verbessern</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium wird in 1 Sekunde neu gestartet}other{Chromium wird in # Sekunden neu gestartet}}</translation>
 <translation id="6475912303565314141">Die Erweiterung legt auch die Seite fest, die beim Start von Chromium angezeigt wird.</translation>
 <translation id="6485906693002546646">Ihre E-Mail-Adresse <ph name="PROFILE_EMAIL" /> wird zurzeit für die Synchronisierung Ihrer Chromium-Inhalte verwendet. Wenn Sie Ihre Synchronisierungseinstellungen ändern oder Chromium ohne Google-Konto verwenden möchten, rufen Sie <ph name="SETTINGS_LINK" /> auf.</translation>
 <translation id="6510925080656968729">Chromium deinstallieren</translation>
+<translation id="6570579332384693436">Zur Behebung von Tippfehlern sendet Chromium eingegebenen Text an Google</translation>
 <translation id="6598877126913850652">Zu Chromium-Benachrichtigungseinstellungen wechseln</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium wird jetzt neu gestartet}=1{Chromium wird in 1 Sekunde neu gestartet}other{Chromium wird in # Sekunden neu gestartet}}</translation>
 <translation id="6676384891291319759">Internetzugriff</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb
index 9e4a014..d5ab72f1 100644
--- a/chrome/app/resources/chromium_strings_el.xtb
+++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Τώρα θα πρέπει να επανεκκινήσετε το Chromium.</translation>
 <translation id="6400072781405947421">Το Chromium μπορεί να μην λειτουργεί σωστά επειδή δεν υποστηρίζεται πλέον στο Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Το Chromium είναι ένα πρόγραμμα περιήγησης ιστού που εκτελεί εφαρμογές και ιστοσελίδες με απίστευτη ταχύτητα. Είναι γρήγορο, σταθερό και εύχρηστο. Περιηγηθείτε στον ιστό με μεγαλύτερη ασφάλεια με την ενσωματωμένη προστασία από κακόβουλα προγράμματα και ηλεκτρονικό "ψάρεμα" (phishing).</translation>
+<translation id="641451971369018375">Επικοινωνεί με την Google για τη βελτίωση της περιήγησης και του Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Θα γίνει επανεκκίνηση του Chromium σε 1 δευτερόλεπτο}other{Θα γίνει επανεκκίνηση του Chromium σε # δευτερόλεπτα}}</translation>
 <translation id="6475912303565314141">Επίσης, ελέγχει τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chromium.</translation>
 <translation id="6485906693002546646">Χρησιμοποιείτε το προφίλ <ph name="PROFILE_EMAIL" /> για το συγχρονισμό του περιεχομένου σας στο Chromium. Για να ενημερώσετε τις προτιμήσεις συγχρονισμού ή για να χρησιμοποιήστε το Chromium χωρίς Λογαριασμό Google, μεταβείτε στην περιοχή <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Απεγκατάσταση Chromium</translation>
+<translation id="6570579332384693436">Για τη διόρθωση ορθογραφικών λαθών, το Chromium στέλνει το κείμενο που πληκτρολογείτε σε πεδία κειμένου στο Google</translation>
 <translation id="6598877126913850652">Μετάβαση στις ρυθμίσεις ειδοποιήσεων του Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Η επανεκκίνηση του Chromium θα γίνει τώρα}=1{Η επανεκκίνηση του Chromium θα γίνει σε 1 δευτερόλεπτο}other{Η επανεκκίνηση του Chromium θα γίνει σε # δευτερόλεπτα}}</translation>
 <translation id="6676384891291319759">Πρόσβαση στο Διαδίκτυο</translation>
diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb
index 289d082..dee4323 100644
--- a/chrome/app/resources/chromium_strings_en-GB.xtb
+++ b/chrome/app/resources/chromium_strings_en-GB.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">You should restart Chromium now.</translation>
 <translation id="6400072781405947421">Chromium may not function correctly because it is no longer supported on Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium is a web browser that runs webpages and applications with lightning speed. It's fast, stable, and easy to use. Browse the web more safely with malware and phishing protection built into Chromium.</translation>
+<translation id="641451971369018375">Communicates with Google to improve browsing and Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium will restart in 1 second}other{Chromium will restart in # seconds}}</translation>
 <translation id="6475912303565314141">It also controls what page is shown when you start Chromium.</translation>
 <translation id="6485906693002546646">You're using <ph name="PROFILE_EMAIL" /> to sync your Chromium stuff. To update your sync preference or to use Chromium without a Google account, visit <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Uninstall Chromium</translation>
+<translation id="6570579332384693436">To fix spelling errors, Chromium sends the text that you type in text fields to Google</translation>
 <translation id="6598877126913850652">Go to Chromium notification settings</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium will relaunch now}=1{Chromium will relaunch in 1 second}other{Chromium will relaunch in # seconds}}</translation>
 <translation id="6676384891291319759">Access the Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb
index 7e71a050..dee210d 100644
--- a/chrome/app/resources/chromium_strings_es.xtb
+++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">Debes reiniciar Chromium ahora.</translation>
 <translation id="6400072781405947421">Es posible que Chromium no funcione correctamente porque ya no es compatible con Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium es un navegador web que ejecuta páginas web y aplicaciones a gran velocidad. Es rápido, estable y fácil de utilizar. Chromium te permite navegar en la Web de forma más segura, ya que incluye protección contra software malicioso y phishing.</translation>
+<translation id="641451971369018375">Se comunica con Google para mejorar la navegación y Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium se reiniciará en 1 segundo}other{Chromium se reiniciará en # segundos}}</translation>
 <translation id="6475912303565314141">También controla qué página se muestra al iniciar Chromium.</translation>
 <translation id="6485906693002546646">Estás utilizando <ph name="PROFILE_EMAIL" /> para sincronizar tu contenido de Chromium. Para actualizar tus preferencias de sincronización o utilizar Chromium sin una cuenta de Google, accede a <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Desinstalar Chromium</translation>
+<translation id="6570579332384693436">Para corregir errores ortográficos, Chromium envía a Google el texto que escribes en los campos de texto</translation>
 <translation id="6598877126913850652">Ir a los ajustes de notificaciones de Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium se volverá a iniciar ahora}=1{Chromium se volverá a iniciar en 1 segundo}other{Chromium se volverá a iniciar en # segundos}}</translation>
 <translation id="6676384891291319759">Accede a Internet.</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb
index a93e408..21b8f6f 100644
--- a/chrome/app/resources/chromium_strings_et.xtb
+++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Soovitame Chromiumi kohe taaskäivitada.</translation>
 <translation id="6400072781405947421">Chromium ei pruugi õigesti töötada, kuna seda ei toetata enam operatsioonisüsteemis Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium on veebibrauser, mis avab veebilehti ja rakendusi välgukiirusel. See on kiire, stabiilne ja hõlpsasti kasutatav. Sirvige veebi turvalisemalt tänu Chromiumi sisseehitatud pahavara- ja andmepüügikaitsele.</translation>
+<translation id="641451971369018375">Antakse Google'ile tagasisidet, et sirvimist ja Chromiumi paremaks muuta</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium taaskäivitub 1 sekundi pärast}other{Chromium taaskäivitub # sekundi pärast}}</translation>
 <translation id="6475912303565314141">Lisaks juhib see seda, mis leht kuvatakse Chromiumi käivitamisel.</translation>
 <translation id="6485906693002546646">Kasutate Chromiumi kraami sünkroonimiseks kontot <ph name="PROFILE_EMAIL" />. Sünkroonimiseelistuste värskendamiseks või Chromiumi kasutamiseks ilma Google'i kontota avage <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Desinstalli Chromium</translation>
+<translation id="6570579332384693436">Õigekirjavigade parandamiseks saadab Chromium teie tekstiväljadel sisestatud teksti Google'ile</translation>
 <translation id="6598877126913850652">Ava Chromiumi märguandeseaded</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium käivitatakse kohe uuesti}=1{Chromium käivitatakse uuesti 1 sekundi pärast}other{Chromium käivitatakse uuesti # sekundi pärast}}</translation>
 <translation id="6676384891291319759">Pääs Internetti</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb
index 821521b..f9cb0438 100644
--- a/chrome/app/resources/chromium_strings_fil.xtb
+++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">Dapat mo nang i-restart ngayon ang Chromium.</translation>
 <translation id="6400072781405947421">Maaaring hindi gumana nang maayos ang Chromium dahil hindi na ito sinusuportahan sa Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Ang Chromium ay isang web browser na nagpapatakbo ng mga webpage at application sa bilis ng kidlat. Ito ay mabilis, maaasahan, at madaling gamitin. Mas maingat na mag-browse sa web gamit ang proteksyon ng Chromium laban sa malware at phishing.</translation>
+<translation id="641451971369018375">Nakikipag-ugnayan sa Google para pahusayin ang pag-browse at Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Magre-restart ang Chromium pagkalipas ng 1 segundo}one{Magre-restart ang Chromium pagkalipas ng # segundo}other{Magre-restart ang Chromium pagkalipas ng # na segundo}}</translation>
 <translation id="6475912303565314141">Kinokontrol din nito kung anong pahina ang ipinapakita kapag sinimulan mo ang Chromium.</translation>
 <translation id="6485906693002546646">Ginagamit mo ang <ph name="PROFILE_EMAIL" /> upang i-sync ang iyong bagay sa Chromium. Upang ma-update ang iyong kagustuhan sa pag-sync o upang magamit ang Chromium nang walang Google account, bisitahin ang <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">I-uninstall ang Chromium</translation>
+<translation id="6570579332384693436">Para maayos ang mga error sa pagbabaybay, ipinapadala ng Chromium sa Google ang text na na-type mo sa mga text field</translation>
 <translation id="6598877126913850652">Pumunta sa mga setting ng notification ng Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Muli nang ilulunsad ang Chromium}=1{Muling ilulunsad ang Chromium sa loob ng 1 segundo}one{Muling ilulunsad ang Chromium sa loob ng # segundo}other{Muling ilulunsad ang Chromium sa loob ng # na segundo}}</translation>
 <translation id="6676384891291319759">I-access ang Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_fr.xtb b/chrome/app/resources/chromium_strings_fr.xtb
index 9473a3a..6d46e89 100644
--- a/chrome/app/resources/chromium_strings_fr.xtb
+++ b/chrome/app/resources/chromium_strings_fr.xtb
@@ -156,10 +156,12 @@
 <translation id="6394232988457703198">Redémarrez Chromium maintenant</translation>
 <translation id="6400072781405947421">Chromium risque de ne pas fonctionner correctement, car la compatibilité n'est plus assurée sur Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium est un navigateur Web qui exécute les pages Web et les applications à une vitesse fulgurante. Il est rapide, stable et simple d'utilisation. Naviguez sur le Web en toute sécurité tout en bénéficiant de la protection offerte par Chromium contre les logiciels malveillants et de phishing.</translation>
+<translation id="641451971369018375">Communique avec Google pour améliorer la navigation et Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium va redémarrer dans 1 seconde}one{Chromium va redémarrer dans # seconde}other{Chromium va redémarrer dans # secondes}}</translation>
 <translation id="6475912303565314141">Elle contrôle également la page qui s'affiche au démarrage de Chromium.</translation>
 <translation id="6485906693002546646">Vous utilisez le compte <ph name="PROFILE_EMAIL" /> pour synchroniser votre contenu dans Chromium. Pour mettre à jour vos préférences de synchronisation ou pour utiliser Chromium sans compte Google, accédez à la page <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Désinstaller Chromium</translation>
+<translation id="6570579332384693436">Pour corriger les fautes d'orthographe, Chromium envoie à Google le texte que vous saisissez dans les champs</translation>
 <translation id="6598877126913850652">Accéder aux paramètres de notification Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium va être relancé maintenant}=1{Chromium va être relancé dans 1 seconde}one{Chromium va être relancé dans # seconde}other{Chromium va être relancé dans # secondes}}</translation>
 <translation id="6676384891291319759">Accéder à Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_hi.xtb b/chrome/app/resources/chromium_strings_hi.xtb
index 11430d1f..3a03b22 100644
--- a/chrome/app/resources/chromium_strings_hi.xtb
+++ b/chrome/app/resources/chromium_strings_hi.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">आपको क्रोमियम को अभी पुन: प्रारंभ करना चाहिए.</translation>
 <translation id="6400072781405947421">हो सकता है कि क्रोमियम ठीक से काम ना करे क्योंकि अब Mac OS X 10.9 पर इसकी सुविधा नहीं है.</translation>
 <translation id="6403826409255603130">क्रोमियम वेब ब्राउज़र है जो बहुत तेज़ी से वेबपेज और ऐप्‍लिकेशन चलाता है. यह तेज़, स्‍थिर, और उपयोग में आसान है. क्रोमियम में अंतर्निहित मैलवेयर और फ़ीशिंग सुरक्षा के साथ अधिक आसानी से वेब ब्राउज़ करें.</translation>
+<translation id="641451971369018375">ब्राउज़िंग और क्रोमियम को बेहतर बनाने के लिए Google से संपर्क करती हैं</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{क्रोमियम 1 सेकंड में रीस्टार्ट होगा}one{क्रोमियम # सेकंड में रीस्टार्ट होगा}other{क्रोमियम # सेकंड में रीस्टार्ट होगा}}</translation>
 <translation id="6475912303565314141">इससे यह भी नियंत्रित होता है कि जब आप क्रोमियम प्रारंभ करते हैं तब कौन सा पृष्‍ठ दिखाया जाए.</translation>
 <translation id="6485906693002546646">आप अपनी क्रोमियम सामग्री को सिंक करने के लिए <ph name="PROFILE_EMAIL" /> का उपयोग कर रहे हैं. सिंक करने की अपनी प्राथमिकता को अपडेट करने या 'Google खाते' के बिना क्रोमियम का उपयोग करने के लिए, <ph name="SETTINGS_LINK" /> पर जाएं.</translation>
 <translation id="6510925080656968729">क्रोमियम को अनइंस्टाल करें</translation>
+<translation id="6570579332384693436">स्पेलिंग की गड़बड़ियां ठीक करने के लिए, क्रोमियम लेख फ़ील्ड में आपके लिखे गए लेख को Google को भेजती है</translation>
 <translation id="6598877126913850652">क्रोमियम की सूचना सेटिंग पर जाएं</translation>
 <translation id="6664239887951090350">{0,plural, =0{अब क्रोमियम फिर से लॉन्च होगा}=1{क्रोमियम 1 सेकंड में फिर से लॉन्च होगा}one{क्रोमियम # सेकंड में फिर से लॉन्च होगा}other{क्रोमियम # सेकंड में फिर से लॉन्च होगा}}</translation>
 <translation id="6676384891291319759">इंटरनेट तक पहुंच स्थापित करें</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb
index fa411e8..c9e519a 100644
--- a/chrome/app/resources/chromium_strings_hr.xtb
+++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Sada trebate ponovo pokrenuti Chromium.</translation>
 <translation id="6400072781405947421">Chromium možda neće ispravno raditi jer više nije podržan na sustavu Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium je web-preglednik koji munjevitom brzinom prikazuje web-stranice i aplikacije. Brz je, stabilan i jednostavan za upotrebu. Pregledavajte web sigurnije jer je zaštita od zlonamjernog softvera i krađe identiteta ugrađena u Chromium.</translation>
+<translation id="641451971369018375">Komunicira s Googleom radi poboljšanja pregledavanja i Chromiuma</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium će se ponovo pokrenuti za 1 sekundu}one{Chromium će se ponovo pokrenuti za # sekundu}few{Chromium će se ponovo pokrenuti za # sekunde}other{Chromium će se ponovo pokrenuti za # sekundi}}</translation>
 <translation id="6475912303565314141">Upravlja i time koja se stranica prikazuje prilikom pokretanja Chromiuma.</translation>
 <translation id="6485906693002546646">Upotrebljavate <ph name="PROFILE_EMAIL" /> za sinkronizaciju sadržaja u Chromiumu. Za ažuriranje postavki sinkroniziranja ili upotrebu Chromiuma bez Google računa posjetite <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Deinstaliranje Chromiuma</translation>
+<translation id="6570579332384693436">Chromium Googleu šalje tekst koji utipkate u tekstualna polja kako bi ispravio pravopisne pogreške</translation>
 <translation id="6598877126913850652">Otvori postavke obavijesti za Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium će se sada ponovo pokrenuti}=1{Chromium će se ponovo pokrenuti za 1 sekundu}one{Chromium će se ponovo pokrenuti za # sekundu}few{Chromium će se ponovo pokrenuti za # sekunde}other{Chromium će se ponovo pokrenuti za # sekundi}}</translation>
 <translation id="6676384891291319759">Pristup Internetu</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb
index 88e8294..3e6b98f8 100644
--- a/chrome/app/resources/chromium_strings_hu.xtb
+++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Indítsa újra a Chromiumot most.</translation>
 <translation id="6400072781405947421">Előfordulhat, hogy a Chromium nem működik majd megfelelően, mert a továbbiakban nem támogatja a Mac OS X 10.9 rendszert.</translation>
 <translation id="6403826409255603130">A Chromium olyan böngésző, amely villámgyorsan futtatja a weboldalakat és az alkalmazásokat. Gyors, stabil és könnyen használható. A beépített, adathalászat és kártékony programok elleni védelemmel biztonságosabban böngészhet az interneten.</translation>
+<translation id="641451971369018375">Kommunikáció a Google-lal a böngészés és a Chromium javítása érdekében</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{A Chromium 1 másodpercen belül újraindul}other{A Chromium # másodpercen belül újraindul}}</translation>
 <translation id="6475912303565314141">Továbbá azt is szabályozza, hogy melyik oldal jelenik meg a Chromium indításakor.</translation>
 <translation id="6485906693002546646">Chromiumos dolgainak szinkronizálásához a(z) <ph name="PROFILE_EMAIL" /> fiókot használja. Szinkronizálási beállításainak frissítéséhez, illetve a Chromium Google-fiók nélküli használatához keresse fel a <ph name="SETTINGS_LINK" /> linket.</translation>
 <translation id="6510925080656968729">Chromium eltávolítása</translation>
+<translation id="6570579332384693436">A nyelvtani hibák javítása érdekében a Chromium elküldi a szövegmezőkbe gépelt szöveget a Google-nak</translation>
 <translation id="6598877126913850652">A Chromium értesítési beállításainak megnyitása</translation>
 <translation id="6664239887951090350">{0,plural, =0{A Chromium most újraindul}=1{A Chromium 1 másodpercen belül újraindul}other{A Chromium # másodpercen belül újraindul}}</translation>
 <translation id="6676384891291319759">Internetelérés</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb
index 606527e2..9010c6a 100644
--- a/chrome/app/resources/chromium_strings_id.xtb
+++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Mulai ulang Chromium sekarang.</translation>
 <translation id="6400072781405947421">Chromium mungkin tidak berfungsi dengan semestinya karena sudah tidak didukung di Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium adalah browser web yang menjalankan halaman web dan aplikasi dengan kecepatan kilat. Browser ini cepat, stabil, dan mudah digunakan. Jelajahi web lebih aman dengan perlindungan dari software perusak dan phishing yang tertanam di dalam Chromium.</translation>
+<translation id="641451971369018375">Berkomunikasi dengan Google untuk menyempurnakan browsing internet dan Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium akan dimulai ulang dalam 1 detik}other{Chromium akan dimulai ulang dalam # detik}}</translation>
 <translation id="6475912303565314141">Juga mengontrol halaman apa yang ditampilkan saat Anda memulai Chromium.</translation>
 <translation id="6485906693002546646">Anda menggunakan <ph name="PROFILE_EMAIL" /> untuk menyinkronkan barang-barang Chromium. Untuk memperbarui preferensi sinkronisasi atau menggunakan Chromium tanpa akun Google, kunjungi <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Uninstal Chromium</translation>
+<translation id="6570579332384693436">Untuk memperbaiki kesalahan ejaan, Chromium mengirimkan teks yang Anda ketik di kolom teks ke Google</translation>
 <translation id="6598877126913850652">Buka setelan notifikasi Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium akan diluncurkan ulang sekarang}=1{Chromium akan diluncurkan ulang dalam 1 detik}other{Chromium akan diluncurkan ulang dalam # detik}}</translation>
 <translation id="6676384891291319759">Akses Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_it.xtb b/chrome/app/resources/chromium_strings_it.xtb
index 432b6b5..4dd37aa 100644
--- a/chrome/app/resources/chromium_strings_it.xtb
+++ b/chrome/app/resources/chromium_strings_it.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Chromium deve essere riavviato adesso.</translation>
 <translation id="6400072781405947421">Chromium potrebbe non funzionare correttamente perché non è più supportato su Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium è un browser web che esegue le pagine web e le applicazioni alla velocità della luce. È veloce, stabile e facile da utilizzare. Naviga su Internet in modo più sicuro grazie alla protezione da malware e phishing integrata in Chromium.</translation>
+<translation id="641451971369018375">Comunica con Google per migliorare Chromium e la navigazione</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium si riavvierà tra 1 secondo}other{Chromium si riavvierà tra # secondi}}</translation>
 <translation id="6475912303565314141">Controlla anche la pagina visualizzata all'avvio di Chromium.</translation>
 <translation id="6485906693002546646">Stai utilizzando <ph name="PROFILE_EMAIL" /> per sincronizzare i tuoi contenuti di Chromium. Per aggiornare la tua preferenza di sincronizzazione o per utilizzare Chromium senza un account Google, accedi alla pagina <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Disinstalla Chromium</translation>
+<translation id="6570579332384693436">Per correggere gli errori ortografici, Chromium invia a Google il testo digitato nei campi di testo</translation>
 <translation id="6598877126913850652">Vai alle impostazioni di notifica di Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium verrà riavviato ora}=1{Chromium verrà riavviato tra un secondo}other{Chromium verrà riavviato tra # secondi}}</translation>
 <translation id="6676384891291319759">Accesso a Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_iw.xtb b/chrome/app/resources/chromium_strings_iw.xtb
index 5f29556..c9fc9ca 100644
--- a/chrome/app/resources/chromium_strings_iw.xtb
+++ b/chrome/app/resources/chromium_strings_iw.xtb
@@ -153,10 +153,12 @@
 <translation id="6394232988457703198">‏עליך לאתחל את Chromium עכשיו.</translation>
 <translation id="6400072781405947421">‏ייתכן ש-Chromium לא יפעל כראוי כי הוא כבר לא נתמך בגירסה 10.9 של Mac OS X.</translation>
 <translation id="6403826409255603130">‏Chromium הוא דפדפן אינטרנט המפעיל דפי אינטרנט ואפליקציות במהירות הבזק. זהו דפדפן מהיר, יציב וקל לשימוש. תוכל לגלוש באינטרנט בצורה מאובטחת יותר הודות להגנה מפני תוכנות זדוניות ודיוג המובנית ב-Chromium.</translation>
+<translation id="641451971369018375">‏מתקשר עם Google כדי לשפר את הגלישה ואת Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{‏Chromium יבצע אתחול בעוד שנייה אחת}two{‏Chromium יבצע אתחול בעוד # שניות}many{‏Chromium יבצע אתחול בעוד # שניות}other{‏Chromium יבצע אתחול בעוד # שניות}}</translation>
 <translation id="6475912303565314141">‏הגדרה זו גם קובעת איזה דף מוצג כשאתה מפעיל את Chromium.</translation>
 <translation id="6485906693002546646">‏אתה משתמש ב-<ph name="PROFILE_EMAIL" /> כדי לסנכרן את הפריטים שלך ב-Chromium. עבור אל '<ph name="SETTINGS_LINK" />' כדי לעדכן את העדפות הסנכרון או להשתמש ב-Chromium ללא חשבון Google.</translation>
 <translation id="6510925080656968729">‏הסר את התקנת Chromium</translation>
+<translation id="6570579332384693436">‏Chromium שולח את הטקסט שמוקלד בשדות טקסט ל-Google כדי לתקן שגיאות כתיב</translation>
 <translation id="6598877126913850652">‏מעבר אל הגדרות ההודעות של Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{‏Chromium יופעל מחדש עכשיו}=1{‏Chromium יופעל מחדש בעוד שנייה}two{‏Chromium יופעל מחדש בעוד # שניות}many{‏Chromium יופעל מחדש בעוד # שניות}other{‏Chromium יופעל מחדש בעוד # שניות}}</translation>
 <translation id="6676384891291319759">גישה אל האינטרנט</translation>
diff --git a/chrome/app/resources/chromium_strings_kn.xtb b/chrome/app/resources/chromium_strings_kn.xtb
index f19616e9..6fd4a25 100644
--- a/chrome/app/resources/chromium_strings_kn.xtb
+++ b/chrome/app/resources/chromium_strings_kn.xtb
@@ -153,10 +153,12 @@
 <translation id="6394232988457703198">ಇದೀಗ ನೀವು Chromium ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕು.</translation>
 <translation id="6400072781405947421">Mac OS X 10.9 ನಲ್ಲಿ Chromium ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸದೇ ಇರುವುದರಿಂದ ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು.</translation>
 <translation id="6403826409255603130">Chromium ಒಂದು ವೆಬ್ ಬ್ರೌಸರ್ ಆಗಿದ್ದು ವೆಬ್‌ಪುಟಗಳನ್ನು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ವೇಗದೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ವೇಗವಾದ, ಸ್ಥಿರವಾದ, ಮತ್ತು ಬಳಸಲು ಸುಲಭವಾಗಿದೆ. ಮಾಲ್‌ವೇರ್‌ನೊಂದಿಗೆ ಹೆಚ್ಚು ಸುರಕ್ಷಿತವಾಗಿ ಹಾಗೂ Chromium ನಲ್ಲಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಫಿಶಿಂಗ್ ಸುರಕ್ಷೆಯೊಂದಿಗೆ ವೆಬ್ ಅನ್ನು ಬ್ರೌಸ್ ಮಾಡಿ.</translation>
+<translation id="641451971369018375">ಬ್ರೌಸಿಂಗ್ ಮತ್ತು Chromium ಅನ್ನು ಸುಧಾರಿಸಲು Google ನೊಂದಿಗೆ ಸಂವಹಿಸುತ್ತದೆ</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium 1 ಸೆಕೆಂಡ್‌ನಲ್ಲಿ ಮರುಪ್ರಾರಂಭವಾಗುತ್ತದೆ}one{Chromium # ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮರುಪ್ರಾರಂಭವಾಗುತ್ತದೆ}other{Chromium # ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮರುಪ್ರಾರಂಭವಾಗುತ್ತದೆ}}</translation>
 <translation id="6475912303565314141">ನೀವು Chromium ಪ್ರಾರಂಭಿಸಿದಾಗ ತೋರಿಸಬೇಕಾದ ಪುಟವನ್ನು ಕೂಡಾ ಇದು ನಿಯಂತ್ರಿಸುತ್ತದೆ.</translation>
 <translation id="6485906693002546646">ನಿಮ್ಮ Chromium ವಿಷಯವನ್ನು ಸಿಂಕ್ ಮಾಡಲು ನೀವು <ph name="PROFILE_EMAIL" /> ಅನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ. Google ಖಾತೆ ಇಲ್ಲದೆ ನಿಮ್ಮ ಸಿಂಕ್ ಪ್ರಾಶಸ್ತ್ಯಗಳನ್ನು ನವೀಕರಿಸಲು ಅಥವಾ Chromium ಬಳಸಲು, <ph name="SETTINGS_LINK" /> ಭೇಟಿ ನೀಡಿ.</translation>
 <translation id="6510925080656968729">Chromium ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ</translation>
+<translation id="6570579332384693436">ಕಾಗುಣಿತ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲು, ನೀವು ಪಠ್ಯ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಟೈಪ್ ಮಾಡುವ ಪಠ್ಯವನ್ನು, Chromium, Google ಗೆ ಕಳುಹಿಸುತ್ತದೆ</translation>
 <translation id="6598877126913850652">Chromium ಅಧಿಸೂಚನೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ</translation>
 <translation id="6664239887951090350">{0,plural, =0{ಇದೀಗ Chromium ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}=1{1 ಸೆಕೆಂಡ್‌ನಲ್ಲಿ Chromium ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}one{# ಸೆಕೆಂಡುಗಳಲ್ಲಿ Chromium ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}other{# ಸೆಕೆಂಡುಗಳಲ್ಲಿ Chromium ಮರುಪ್ರಾರಂಭಗೊಳ್ಳುತ್ತದೆ}}</translation>
 <translation id="6676384891291319759">ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ</translation>
diff --git a/chrome/app/resources/chromium_strings_lt.xtb b/chrome/app/resources/chromium_strings_lt.xtb
index 3a5ac83..a0a7086 100644
--- a/chrome/app/resources/chromium_strings_lt.xtb
+++ b/chrome/app/resources/chromium_strings_lt.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">Turėtumėte dabar iš naujo paleisti „Chromium“.</translation>
 <translation id="6400072781405947421">„Chromium“ gali tinkamai neveikti, nes ji nebepalaikoma naudojant 10.9 versijos „Mac OS X“.</translation>
 <translation id="6403826409255603130">„Chromium“ – tai žiniatinklio naršyklė, kurią naudojant akimirksniu paleidžiami tinklalapiai ir programos. Ji greita, stabili ir lengvai naudojama. Saugiau naršykite žiniatinklį naudodami į „Chromium“ integruotą apsaugą nuo kenkėjiškų programų ir sukčiavimo.</translation>
+<translation id="641451971369018375">Palaikomas ryšys su „Google“, siekiant tobulinti naršymą ir „Chromium“</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{„Chromium“ bus paleista iš naujo po 1 sekundės}one{„Chromium“ bus paleista iš naujo po # sekundės}few{„Chromium“ bus paleista iš naujo po # sekundžių}many{„Chromium“ bus paleista iš naujo po # sekundės}other{„Chromium“ bus paleista iš naujo po # sekundžių}}</translation>
 <translation id="6475912303565314141">Ji taip pat kontroliuoja, koks puslapis rodomas, kai paleidžiate „Chromium“.</translation>
 <translation id="6485906693002546646">Sinchronizuoti „Chromium“ duomenims naudojate <ph name="PROFILE_EMAIL" />. Jei norite atnaujinti sinchronizavimo nuostatą arba naudoti „Chromium“ be „Google“ paskyros, apsilankykite <ph name="SETTINGS_LINK" /> skiltyje.</translation>
 <translation id="6510925080656968729">Pašalinti „Chromium“</translation>
+<translation id="6570579332384693436">Kad ištaisytų rašybos klaidas, „Chromium“ siunčia „Google“ tekstą, kurį įvedate teksto laukuose</translation>
 <translation id="6598877126913850652">Eiti į „Chromium“ pranešimų nustatymus</translation>
 <translation id="6664239887951090350">{0,plural, =0{„Chromium“ bus paleista iš naujo dabar}=1{„Chromium“ bus paleista iš naujo po 1 sekundės}one{„Chromium“ bus paleista iš naujo po # sekundės}few{„Chromium“ bus paleista iš naujo po # sekundžių}many{„Chromium“ bus paleista iš naujo po # sekundės}other{„Chromium“ bus paleista iš naujo po # sekundžių}}</translation>
 <translation id="6676384891291319759">Interneto prieiga</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb
index d29143d..006f37be 100644
--- a/chrome/app/resources/chromium_strings_lv.xtb
+++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Restartējiet Chromium tūlīt.</translation>
 <translation id="6400072781405947421">Iespējams, Chromium nedarbosies pareizi, jo tas vairs netiek atbalstīts operētājsistēmā Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium ir tīmekļa pārlūks, kas darbina tīmekļa lapas un lietojumprogrammas zibenīgā ātrumā. Tas ir ātrs, stabils un ērti lietojams. Pārlūkojiet tīmekli vēl drošāk ar aizsardzību pret ļaunprātīgu programmatūru un pikšķerēšanu, kas iebūvēta pārlūkā Chromium.</translation>
+<translation id="641451971369018375">Sazinās ar Google, lai uzlabotu pārlūkošanu un pārlūku Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Pārlūks Chromium tiks restartēts pēc 1 sekundes.}zero{Pārlūks Chromium tiks restartēts pēc # sekundēm.}one{Pārlūks Chromium tiks restartēts pēc # sekundes.}other{Pārlūks Chromium tiks restartēts pēc # sekundēm.}}</translation>
 <translation id="6475912303565314141">Tas nosaka arī to, kāda lapa tiks rādīta, kad atvērsiet pārlūku Chromium.</translation>
 <translation id="6485906693002546646">Chromium satura sinhronizēšanai jūs izmantojat kontu <ph name="PROFILE_EMAIL" />. Lai atjauninātu savas sinhronizācijas preferences vai izmantotu Chromium bez Google konta, dodieties uz: <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Atinstalēt Chromium</translation>
+<translation id="6570579332384693436">Lai izlabotu pareizrakstības kļūdas, Chromium nosūta teksta laukos ievadīto tekstu Google serveriem.</translation>
 <translation id="6598877126913850652">Pāriet uz Chromium paziņojumu iestatījumiem</translation>
 <translation id="6664239887951090350">{0,plural, =0{Pārlūks Chromium tiks restartēts tūlīt}=1{Pārlūks Chromium tiks restartēts pēc 1 sekundes}zero{Pārlūks Chromium tiks restartēts pēc # sekundēm}one{Pārlūks Chromium tiks restartēts pēc # sekundes}other{Pārlūks Chromium tiks restartēts pēc # sekundēm}}</translation>
 <translation id="6676384891291319759">Piekļūt internetam</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb
index 7d4c518b..6659222 100644
--- a/chrome/app/resources/chromium_strings_ml.xtb
+++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">നിങ്ങൾ ഇപ്പോൾ Chromium പുനഃരാരംഭിക്കണം.</translation>
 <translation id="6400072781405947421">Chromium ഇനി Mac OS X 10.9.-നെ പിന്തുണയ്‌ക്കാത്തതിനാൽ ഇത് ശരിയായി പ്രവർത്തിക്കാനിടയില്ല.</translation>
 <translation id="6403826409255603130">മിന്നൽ വേഗത്തിൽ വെബ്‌പേജുകളും അപ്ലിക്കേഷനുകളും പ്രവർത്തിപ്പിക്കുന്ന ഒരു വെബ് ബ്രൗസറാണ് Chromium. ഇത് വേഗതയുള്ളതും സ്ഥിരതയാർന്നതും ഉപയോഗിക്കാൻ എളുപ്പമുള്ളതുമാണ്. Chromium-ൽ അന്തർനിർമ്മിതമായ ക്ഷുദ്രവെയർ, ഫിഷിംഗ് എന്നിവയ്‌ക്കെതിരായുള്ള പരിരക്ഷയോടൊപ്പം കൂടുതൽ സുരക്ഷിതമായി വെബ് ബ്രൗസുചെയ്യുക.</translation>
+<translation id="641451971369018375">ബ്രൗസിംഗ്, Chromium എന്നിവ മെച്ചപ്പെടുത്താൻ Google-മായി ആശയവിനിമയം നടത്തുന്നു</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ഒരു സെക്കൻഡിൽ പുനഃരാരംഭിക്കും}other{Chromium # സെക്കൻഡിൽ പുനഃരാരംഭിക്കും}}</translation>
 <translation id="6475912303565314141">നിങ്ങൾ Chromium ആരംഭിക്കുമ്പോൾ ദൃശ്യമാകുന്ന പേജും അത് നിയന്ത്രിയ്ക്കും.</translation>
 <translation id="6485906693002546646">Chromium ഫയൽ സമന്വയിപ്പിക്കാൻ നിങ്ങൾ <ph name="PROFILE_EMAIL" /> ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ സമന്വയ മുൻഗണനകൾ അപ്‌ഡേറ്റുചെയ്യാനോ ഒരു Google അക്കൗണ്ട് ഇല്ലാതെ Chromium ഉപയോഗിക്കാനോ, <ph name="SETTINGS_LINK" /> സന്ദർശിക്കുക.</translation>
 <translation id="6510925080656968729">Chromium അൺഇൻസ്റ്റാളുചെയ്യുക</translation>
+<translation id="6570579332384693436">അക്ഷരപ്പിശകുകൾ പരിഹരിക്കാൻ, ടെക്‌സ്‌റ്റ് ഫീൽഡുകളിൽ നിങ്ങൾ ടൈപ്പ് ചെയ്യുന്ന ടെക്‌സ്‌റ്റ് Chromium, Google-ന് അയയ്ക്കുന്നു</translation>
 <translation id="6598877126913850652">Chromium അറിയിപ്പ് ക്രമീകരണത്തിലേക്ക് പോവുക</translation>
 <translation id="6664239887951090350">{0,plural, =0{ ഇപ്പോൾ Chromium വീണ്ടും സമാരംഭിക്കും}=1{ഒരു സെക്കൻഡിനുള്ളിൽ Chromium വീണ്ടും സമാരംഭിക്കും}other{# സെക്കൻഡിനുള്ളിൽ Chromium വീണ്ടും സമാരംഭിക്കും}}</translation>
 <translation id="6676384891291319759">ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb
index 22239640..5880bfa 100644
--- a/chrome/app/resources/chromium_strings_ms.xtb
+++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Anda perlu memulakan semula Chromium sekarang.</translation>
 <translation id="6400072781405947421">Chromium mungkin tidak akan berfungsi dengan betul kerana tidak lagi disokong pada Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium merupakan penyemak imbas yang mengendalikan laman web dan aplikasi dengan kelajuan sepantas kilat. Chromium cepat, stabil dan mudah digunakan. Semak imbas web lebih selamat dengan perlindungan perisian hasad dan pancingan data terbina dalam Chromium.</translation>
+<translation id="641451971369018375">Berkomunikasi dengan Google untuk meningkatkan penyemakan imbas dan Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium akan dimulakan semula dalam 1 saat}other{Chromium akan dimulakan semula dalam # saat}}</translation>
 <translation id="6475912303565314141">Sambungan turut mengawal halaman yang ditunjukkan apabila anda memulakan Chromium.</translation>
 <translation id="6485906693002546646">Anda menggunakan <ph name="PROFILE_EMAIL" /> untuk menyegerakkan bahan digital chromium anda. Untuk mengemas kini pilihan penyegerakan anda atau menggunakan Chromium tanpa akaun Google, lawati <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Nyahpasang Chromium</translation>
+<translation id="6570579332384693436">Untuk membetulkan kesilapan ejaan, Chromium menghantar teks yang anda taip dalam medan teks kepada Google</translation>
 <translation id="6598877126913850652">Pergi ke tetapan pemberitahuan Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium akan dilancarkan semula sekarang}=1{Chromium akan dilancarkan semula dalam masa sesaat}other{Chromium akan dilancarkan semula dalam masa # saat}}</translation>
 <translation id="6676384891291319759">Akses Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_nl.xtb b/chrome/app/resources/chromium_strings_nl.xtb
index 330cf6d..b204b6cb 100644
--- a/chrome/app/resources/chromium_strings_nl.xtb
+++ b/chrome/app/resources/chromium_strings_nl.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">Je moet Chromium nu opnieuw starten.</translation>
 <translation id="6400072781405947421">Chromium werkt wellicht niet naar behoren omdat dit niet meer op Mac OS X 10.9 wordt ondersteund.</translation>
 <translation id="6403826409255603130">Chromium is een webbrowser die webpagina's en applicaties bliksemsnel uitvoert. Chromium is snel, stabiel en eenvoudig in gebruik. Surf veiliger op internet met de in Chromium ingebouwde beveiliging tegen malware en phishing.</translation>
+<translation id="641451971369018375">Communiceert met Google om de browsefunctionaliteit en Chromium te verbeteren</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium wordt over één seconde opnieuw gestart}other{Chromium wordt over # seconden opnieuw gestart}}</translation>
 <translation id="6475912303565314141">Hiermee wordt ook gecontroleerd welke pagina wordt weergegeven wanneer je Chromium start.</translation>
 <translation id="6485906693002546646">Je gebruikt <ph name="PROFILE_EMAIL" /> om je Chromium-bestanden te synchroniseren. Als je je synchronisatievoorkeur wilt bijwerken of Chromium zonder een Google-account wilt gebruiken, ga je naar '<ph name="SETTINGS_LINK" />'.</translation>
 <translation id="6510925080656968729">Chromium verwijderen</translation>
+<translation id="6570579332384693436">Chromium verzendt de tekst die je in tekstvelden typt naar Google om spelfouten te corrigeren</translation>
 <translation id="6598877126913850652">Ga naar instellingen voor Chromium-meldingen</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium wordt nu opnieuw gestart}=1{Chromium wordt over één seconde opnieuw gestart}other{Chromium wordt over # seconden opnieuw gestart}}</translation>
 <translation id="6676384891291319759">Verbinding maken met internet</translation>
diff --git a/chrome/app/resources/chromium_strings_pl.xtb b/chrome/app/resources/chromium_strings_pl.xtb
index 5d3de84f..8ddd43d6 100644
--- a/chrome/app/resources/chromium_strings_pl.xtb
+++ b/chrome/app/resources/chromium_strings_pl.xtb
@@ -153,10 +153,12 @@
 <translation id="6394232988457703198">Należy teraz ponownie uruchomić Chromium.</translation>
 <translation id="6400072781405947421">Chromium może działać nieprawidłowo, bo nie jest już zgodny z systemem Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium to przeglądarka obsługująca strony i aplikacje z szybkością błyskawicy. Jest szybka, stabilna i łatwa w użyciu. Bezpiecznie przeglądaj internet dzięki wbudowanej w Chromium ochronie przed złośliwym oprogramowaniem i phishingiem.</translation>
+<translation id="641451971369018375">Wysyła do Google dane, które pomagają ulepszać Chromium i funkcje przeglądania</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium uruchomi się ponownie za sekundę}few{Chromium uruchomi się ponownie za # sekundy}many{Chromium uruchomi się ponownie za # sekund}other{Chromium uruchomi się ponownie za # sekundy}}</translation>
 <translation id="6475912303565314141">Kontroluje także to, jaka strona wyświetla się po uruchomieniu Chromium.</translation>
 <translation id="6485906693002546646">Używasz adresu <ph name="PROFILE_EMAIL" /> do synchronizowania danych w Chromium. Aby zaktualizować ustawienia synchronizacji lub używać Chromium bez konta Google, wejdź na stronę <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Odinstaluj Chromium</translation>
+<translation id="6570579332384693436">Aby naprawić błędy pisowni, Chromium wysyła tekst wpisany w polach tekstowych do Google</translation>
 <translation id="6598877126913850652">Otwórz ustawienia powiadomień Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium uruchomi się ponownie teraz}=1{Chromium uruchomi się ponownie za sekundę}few{Chromium uruchomi się ponownie za # sekundy}many{Chromium uruchomi się ponownie za # sekund}other{Chromium uruchomi się ponownie za # sekundy}}</translation>
 <translation id="6676384891291319759">Skorzystaj z internetu</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb
index eb41ede5..47a1eb5 100644
--- a/chrome/app/resources/chromium_strings_ro.xtb
+++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Îți recomandăm să repornești Chromium acum.</translation>
 <translation id="6400072781405947421">Este posibil ca Chromium să nu funcționeze corespunzător, deoarece nu mai este acceptat pe Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium este un browser web care rulează pagini web și aplicații cu viteza fulgerului. Este rapid, stabil și ușor de utilizat. Navigați pe web în condiții de mai multă siguranță, beneficiind de o protecție sporită, încorporată în Chromium, împotriva programelor malware și a tentativelor de phishing.</translation>
+<translation id="641451971369018375">Comunică cu Google pentru a îmbunătăți navigarea și Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium va reporni într-o secundă}few{Chromium va reporni în # secunde}other{Chromium va reporni în # de secunde}}</translation>
 <translation id="6475912303565314141">Stabilește și ce pagină se afișează când porniți Chromium.</translation>
 <translation id="6485906693002546646">În prezent, folosiți <ph name="PROFILE_EMAIL" /> pentru a sincroniza datele Chromium. Pentru a actualiza preferințele de sincronizare sau pentru a folosi Chromium fără un Cont Google, accesați <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Dezinstalați Chromium</translation>
+<translation id="6570579332384693436">Pentru a corecta erorile de ortografie, Chromium trimite la Google textul pe care îl introduci în câmpurile de text</translation>
 <translation id="6598877126913850652">Accesează setările pentru notificări Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium se va relansa acum}=1{Chromium se va relansa într-o secundă}few{Chromium se va relansa în # secunde}other{Chromium se va relansa în # de secunde}}</translation>
 <translation id="6676384891291319759">Accesează internetul</translation>
diff --git a/chrome/app/resources/chromium_strings_ru.xtb b/chrome/app/resources/chromium_strings_ru.xtb
index 1c67b3cc0..ab9fa17 100644
--- a/chrome/app/resources/chromium_strings_ru.xtb
+++ b/chrome/app/resources/chromium_strings_ru.xtb
@@ -153,10 +153,12 @@
 <translation id="6394232988457703198">Перезапустите Chromium</translation>
 <translation id="6400072781405947421">В работе Chromium могут возникать сбои, так как браузер больше не поддерживает Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium – браузер, который открывает веб-страницы и приложения за секунды. Он быстр, стабилен в работе и прост в использовании. Встроенная в Chromium защита от мошенничества и вредоносного ПО обеспечивает максимально безопасную работу в Интернете.</translation>
+<translation id="641451971369018375">Обмен информацией с Google для улучшения работы Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium перезапустится через 1 секунду}one{Chromium перезапустится через # секунду}few{Chromium перезапустится через # секунды}many{Chromium перезапустится через # секунд}other{Chromium перезапустится через # секунды}}</translation>
 <translation id="6475912303565314141">Кроме того, расширение изменило стартовую страницу Chromium.</translation>
 <translation id="6485906693002546646">Для синхронизации данных Chromium используется аккаунт <ph name="PROFILE_EMAIL" />. Изменить параметры синхронизации или отключить аккаунт можно в <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Удаление Chromium</translation>
+<translation id="6570579332384693436">Для проверки правописания Chromium отправляет введенный вами текст в Google.</translation>
 <translation id="6598877126913850652">Открыть настройки уведомлений Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium перезапускается}=1{Chromium перезапустится через 1 секунду}one{Chromium перезапустится через # секунду}few{Chromium перезапустится через # секунды}many{Chromium перезапустится через # секунд}other{Chromium перезапустится через # секунды}}</translation>
 <translation id="6676384891291319759">Доступ в Интернет</translation>
diff --git a/chrome/app/resources/chromium_strings_sk.xtb b/chrome/app/resources/chromium_strings_sk.xtb
index 49c9974..fb6a56b 100644
--- a/chrome/app/resources/chromium_strings_sk.xtb
+++ b/chrome/app/resources/chromium_strings_sk.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">Mali by ste reštartovať Chromium.</translation>
 <translation id="6400072781405947421">Chromium nemusí fungovať správne, pretože v systéme Mac OS X 10.9 už nie je podporovaný.</translation>
 <translation id="6403826409255603130">Chromium je webový prehliadač, ktorý spúšťa webové stránky a aplikácie rýchlosťou svetla. Je rýchly, stabilný a ľahko sa používa. S ochranou proti škodlivému softvéru a phishingu, ktorá je zabudovaná do prehliadača Chromium, môžete prehliadať web bezpečnejšie.</translation>
+<translation id="641451971369018375">Komunikuje s Googlom s cieľom zlepšiť prehliadanie a Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium sa reštartuje o 1 sekundu}few{Chromium sa reštartujte o # sekundy}many{Chromium sa reštartujte o # sekundy}other{Chromium sa reštartujte o # sekúnd}}</translation>
 <translation id="6475912303565314141">Tiež určuje, ktorá stránka sa zobrazí pri spustení prehliadača Chromium.</translation>
 <translation id="6485906693002546646">Na synchronizáciu prehliadača Chromium používate účet <ph name="PROFILE_EMAIL" />. Ak chcete upraviť predvoľby synchronizácie alebo používať prehliadač Chromium bez účtu Google, prejdite na <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Odinštalovať Chromium</translation>
+<translation id="6570579332384693436">Chromium odošle text zadaný v textových poliach Googlu s cieľom opraviť pravopisné chyby</translation>
 <translation id="6598877126913850652">Prejsť do nastavení upozornení prehliadača Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium sa teraz reštartuje}=1{Chromium sa reštartuje o 1 sekundu}few{Chromium sa reštartuje o # sekundy}many{Chromium sa reštartuje o # sekundy}other{Chromium sa reštartuje o # sekúnd}}</translation>
 <translation id="6676384891291319759">Prístup do siete Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb
index bb45bf05..491af2c 100644
--- a/chrome/app/resources/chromium_strings_sr.xtb
+++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -157,10 +157,12 @@
 <translation id="6394232988457703198">Сада треба поново да покренете Chromium.</translation>
 <translation id="6400072781405947421">Chromium можда неће исправно функционисати зато што више није подржан на систему Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium је веб прегледач који покреће веб-странице и апликације муњевитом брзином. Брз је, стабилан и једноставан за коришћење. Прегледајте Веб безбедније са заштитом од малвера и „пецања“ која је уграђена у Chromium.</translation>
+<translation id="641451971369018375">Комуницира са Google-ом ради побољшања прегледања и Chromium-а</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium ће се рестартовати за 1 секунду}one{Chromium ће се рестартовати за # секунду}few{Chromium ће се рестартовати за # секунде}other{Chromium ће се рестартовати за # секунди}}</translation>
 <translation id="6475912303565314141">Контролише и страницу која се приказује када покренете Chromium.</translation>
 <translation id="6485906693002546646">Користите <ph name="PROFILE_EMAIL" /> за синхронизацију Chromium садржаја. Да бисте ажурирали подешавање синхронизације или користили Chromium без Google налога, посетите <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Деинсталирај Chromium</translation>
+<translation id="6570579332384693436">Да би исправио правописне грешке, Chromium шаље Google-овим серверима текст који уносите у поља за текст.</translation>
 <translation id="6598877126913850652">Иди на подешавања обавештења за Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Поново ћемо покренути Chromium}=1{Поново ћемо покренути Chromium за 1 секунду}one{Поново ћемо покренути Chromium за # секунду}few{Поново ћемо покренути Chromium за # секунде}other{Поново ћемо покренути Chromium за # секунди}}</translation>
 <translation id="6676384891291319759">Приступите Интернету</translation>
diff --git a/chrome/app/resources/chromium_strings_th.xtb b/chrome/app/resources/chromium_strings_th.xtb
index 39bc7df5..ba6c529c 100644
--- a/chrome/app/resources/chromium_strings_th.xtb
+++ b/chrome/app/resources/chromium_strings_th.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">คุณควรรีสตาร์ท Chromium เลย</translation>
 <translation id="6400072781405947421">Chromium อาจทำงานไม่ถูกต้องเนื่องจากไม่รองรับ Mac OS X 10.9 แล้ว</translation>
 <translation id="6403826409255603130">Chromium เป็นเว็บเบราว์เซอร์ที่เรียกใช้หน้าเว็บและแอปพลิเคชันด้วยความเร็วสูง มีความรวดเร็ว เสถียร และง่ายในการใช้งาน เรียกดูเว็บได้อย่างปลอดภัยมากขึ้นด้วยการป้องกันมัลแวร์และฟิชชิงที่สร้างอยู่ภายใน Chromium</translation>
+<translation id="641451971369018375">สื่อสารกับ Google เพื่อปรับปรุงการท่องเว็บและ Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium จะรีสตาร์ทใน 1 วินาที}other{Chromium จะรีสตาร์ทใน # วินาที}}</translation>
 <translation id="6475912303565314141">อีกทั้งยังควบคุมหน้าที่จะแสดงเมื่อคุณเปิด Chromium ด้วย</translation>
 <translation id="6485906693002546646">คุณกำลังใช้ <ph name="PROFILE_EMAIL" /> ในการซิงค์ข้อมูลใน Chromium หากต้องการอัปเดตค่ากำหนดการซิงค์หรือใช้ Chromium โดยไม่มีบัญชี Google โปรดไปที่ <ph name="SETTINGS_LINK" /></translation>
 <translation id="6510925080656968729">ถอนการติดตั้ง Chromium</translation>
+<translation id="6570579332384693436">Chromium จะส่งข้อความที่คุณพิมพ์ในช่องข้อความไปยัง Google เพื่อแก้ไขข้อผิดพลาดของการสะกดคำ</translation>
 <translation id="6598877126913850652">ไปที่การตั้งค่าการแจ้งเตือน Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium จะเปิดขึ้นมาใหม่ตอนนี้}=1{Chromium จะเปิดขึ้นมาใหม่ใน 1 วินาที}other{Chromium จะเปิดขึ้นมาใหม่ใน # วินาที}}</translation>
 <translation id="6676384891291319759">เข้าถึงอินเทอร์เน็ต</translation>
diff --git a/chrome/app/resources/chromium_strings_uk.xtb b/chrome/app/resources/chromium_strings_uk.xtb
index 9695ced..84b36d5f 100644
--- a/chrome/app/resources/chromium_strings_uk.xtb
+++ b/chrome/app/resources/chromium_strings_uk.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Перезапустіть Chromium.</translation>
 <translation id="6400072781405947421">Chromium може працювати неналежним чином, оскільки вже не підтримується в ОС Mac X 10.9.</translation>
 <translation id="6403826409255603130">Chromium – це веб-переглядач, який запускає веб-сторінки та програми з блискавичною швидкістю. Він швидкий, надійний і зручний у користуванні. Вбудований у Chromium захист від шкідливих програм і фішингу гарантує ще більшу безпеку під час перегляду веб-сторінок.</translation>
+<translation id="641451971369018375">Обмінюється даними з Google, щоб покращувати веб-перегляд і Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium перезапуститься через 1 секунду}one{Chromium перезапуститься через # секунду}few{Chromium перезапуститься через # секунди}many{Chromium перезапуститься через # секунд}other{Chromium перезапуститься через # секунди}}</translation>
 <translation id="6475912303565314141">Також указує сторінку, яка відкривається під час запуску Chromium.</translation>
 <translation id="6485906693002546646">Ви синхронізуєте дані Chromium через обліковий запис <ph name="PROFILE_EMAIL" />. Щоб оновити параметри синхронізації або використовувати Chromium без облікового запису Google, перейдіть на сторінку <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Видалити Chromium</translation>
+<translation id="6570579332384693436">Щоб виправляти орфографічні помилки, Chromium надсилає введений текст у Google</translation>
 <translation id="6598877126913850652">Перейти до налаштувань сповіщень Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium перезапуститься зараз}=1{Chromium перезапуститься через 1 секунду}one{Chromium перезапуститься через # секунду}few{Chromium перезапуститься через # секунди}many{Chromium перезапуститься через # секунд}other{Chromium перезапуститься через # секунди}}</translation>
 <translation id="6676384891291319759">Доступ до Інтернету</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb
index 498acdc..99d33be 100644
--- a/chrome/app/resources/chromium_strings_vi.xtb
+++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">Bạn phải khởi động lại Chromium ngay bây giờ.</translation>
 <translation id="6400072781405947421">Chromium có thể không hoạt động chính xác do không còn được hỗ trợ trên Mac OS X 10.9.</translation>
 <translation id="6403826409255603130">Chromium là trình duyệt web chạy các trang web và ứng dụng với tốc độ cực nhanh. Đây là một trình duyệt web nhanh, ổn định và dễ sử dụng. Duyệt web trở nên an toàn hơn với tính năng bảo vệ chống lại phần mềm độc hại và lừa đảo được tích hợp sẵn vào Chromium.</translation>
+<translation id="641451971369018375">Giao tiếp với Google để cải thiện tính năng duyệt web cũng như Chromium</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium sẽ khởi động lại sau 1 giây}other{Chromium sẽ khởi động lại sau # giây}}</translation>
 <translation id="6475912303565314141">Tiện ích này cũng điều khiển trang nào được hiển thị khi bạn khởi động Chromium.</translation>
 <translation id="6485906693002546646">Bạn đang sử dụng <ph name="PROFILE_EMAIL" /> để đồng bộ hóa nội dung Chromium của mình. Để cập nhật tùy chọn đồng bộ hóa hoặc sử dụng Chromium mà không cần tài khoản Google, hãy truy cập <ph name="SETTINGS_LINK" />.</translation>
 <translation id="6510925080656968729">Gỡ cài đặt Chromium</translation>
+<translation id="6570579332384693436">Để sửa lỗi chính tả, Chromium sẽ gửi cho Google văn bản bạn nhập vào các trường văn bản</translation>
 <translation id="6598877126913850652">Đi tới cài đặt thông báo của Chromium</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium sẽ chạy lại ngay bây giờ}=1{Chromium sẽ chạy lại sau 1 giây}other{Chromium sẽ chạy lại sau # giây}}</translation>
 <translation id="6676384891291319759">Truy cập Internet</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-TW.xtb b/chrome/app/resources/chromium_strings_zh-TW.xtb
index fc81453..be4d5aa7 100644
--- a/chrome/app/resources/chromium_strings_zh-TW.xtb
+++ b/chrome/app/resources/chromium_strings_zh-TW.xtb
@@ -155,10 +155,12 @@
 <translation id="6394232988457703198">建議您立即重新啟動 Chromium。</translation>
 <translation id="6400072781405947421">Chromium 已不再支援 Mac OS X 10.9,因此部分功能可能無法正常運作。</translation>
 <translation id="6403826409255603130">Chromium 網路瀏覽器開啟網頁和執行應用程式的速度十分迅速。除了迅速、穩定且易於使用之外,Chromium 的內建惡意軟體與網路釣魚防護功能,可讓你安心悠遊網路。</translation>
+<translation id="641451971369018375">與各項 Google 服務連結,讓瀏覽體驗和 Chromium 效能更臻完善</translation>
 <translation id="6457450909262716557">{SECONDS,plural, =1{Chromium 將於 1 秒後重新啟動}other{Chromium 將於 # 秒後重新啟動}}</translation>
 <translation id="6475912303565314141">這個擴充功能也會控管你啟動 Chromium 時所顯示的網頁。</translation>
 <translation id="6485906693002546646">你正使用 <ph name="PROFILE_EMAIL" /> 帳戶同步處理你的 Chromium 資料。如要更新你的偏好設定,或是在未登入 Google 帳戶的情況下使用 Chromium,請前往 [<ph name="SETTINGS_LINK" />]。</translation>
 <translation id="6510925080656968729">解除安裝 Chromium</translation>
+<translation id="6570579332384693436">為修正拼字錯誤,Chromium 會將你在文字欄位輸入的文字傳送給 Google</translation>
 <translation id="6598877126913850652">前往 Chromium 通知設定</translation>
 <translation id="6664239887951090350">{0,plural, =0{Chromium 將立即重新啟動}=1{Chromium 將於 1 秒後重新啟動}other{Chromium 將於 # 秒後重新啟動}}</translation>
 <translation id="6676384891291319759">連線到網際網路</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index bfb8779..f920a36 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">ለአፍታ አቁም</translation>
 <translation id="1181037720776840403">አስወግድ</translation>
 <translation id="1183237619868651138"><ph name="EXTERNAL_CRX_FILE" />ን በአካባቢያዊ መሸጎጫ ላይ መጫን አልተቻለም።</translation>
+<translation id="1183378459020939734">የደህንነት ቁልፍዎን ለማጣመር ዝግጁ ነዎት?</translation>
 <translation id="1185924365081634987">እንዲሁም ይህን የአውታረ መረብ ስህተት ለማስተካከል <ph name="GUEST_SIGNIN_LINK_START" />እንደ እንግዳ ሆነው ለማሰስ<ph name="GUEST_SIGNIN_LINK_END" /> መሞከርም ይችላሉ።</translation>
 <translation id="1186771945450942097">ጎጂ ሶፍትዌርን ያስወግዱ</translation>
 <translation id="1187722533808055681">ከመቦዘን ማንቂያዎች</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">የአጠቃቀም ስታቲክሶችን እና የስንኩል ሪፖርቶችን ወደ Google በቀጥታ በመላክ <ph name="PRODUCT_NAME" />ን የተሻለ ለማድረግ እገዛ ያድርጉ።</translation>
 <translation id="1658424621194652532">ይህ ገጽ ማይክሮፎንዎን እየደረሰበት ነው።</translation>
 <translation id="1660204651932907780">ጣቢያዎች ድምጽን እንዲያጫውቱ ፍቀድ (የሚመከር)</translation>
-<translation id="1660938185063657230">የእርስዎን የደህንነት ቁልፍ ያረጋግጡ</translation>
 <translation id="1661156625580498328">የAES ምሥጠራን ተግብር (የሚመከር)።</translation>
 <translation id="1661245713600520330">ይህ ገጽ ሁሉም በዋናው ሂደት ላይ የተጫኑ እና በኋላ የተወሰነ ጊዜ ላይ እንዲጫኑ የተመዘገቡ ሞዱሎችን ይዘረዝራል።</translation>
 <translation id="166179487779922818">የይለፍ ቃሉ በጣም አጭር ነው።</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">የንክኪ ኤችዩዲ ሁነታን ለውጥ</translation>
 <translation id="1784849162047402014">መሣሪያ ያለው ባዶ ቦታ ዝቅተኛ ነው</translation>
 <translation id="1786636458339910689">የቡድን Drives</translation>
+<translation id="1792161662640298233">የደህንነት ቁልፍዎን በማረጋገጥ ላይ</translation>
 <translation id="1792619191750875668">የተቀጠለ ማሳያ</translation>
 <translation id="1794791083288629568">እኛ ይህን ችግር እንድንፈታው ለማገዝ ግብረመልስ ይላኩ።</translation>
 <translation id="1795214765651529549">የታወቀ ገጽታን ተጠቀም</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">የ<ph name="USERNAME" /> ይለፍ ቃልን ሰርዝ</translation>
 <translation id="1819721979226826163">የመተግበሪያ ማሳወቂያዎች &gt; Google Play አገልግሎቶችን መታ ያድርጉ።</translation>
 <translation id="1826516787628120939">በመፈተሸ ላይ</translation>
-<translation id="1827750274519118478">በስዕል-ውስጥ-ስዕል ያለው ቪዲዮ ማጫወት ያቆማል</translation>
 <translation id="1828378091493947763">ይህ ተሰኪ በዚህ መሣሪያ ላይ አይደገፍም</translation>
 <translation id="1828901632669367785">የስርዓት መልዕክቱን ተጠቅመው ያትሙ…</translation>
 <translation id="1829192082282182671">&amp;አሳንስ</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">«<ph name="EXTENSION" />» ምልክት በተደረገባቸው አካባቢዎች ውስጥ ምስሎችን፣ ቪዲዮ እና የድምጽ ፋይሎችን ማንበብ እና መጻፍ ይችላል።</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> ጭነትዎን ለማጠናቀቅ ዝግጁ ነው</translation>
 <translation id="1871615898038944731">የእርስዎ <ph name="DEVICE_TYPE" /> የተዘመነ ነው</translation>
+<translation id="1875312262568496299">ጀምር</translation>
 <translation id="1875387611427697908">ይሄ ከ<ph name="CHROME_WEB_STORE" /> ብቻ ነው ሊታከል የሚችለው</translation>
 <translation id="1877520246462554164">የማረጋገጫ ማስመሰያውን ማግኘት አልተሳካም። እንደገና ለመሞከር እባክዎ ዘግተው ይውጡና እንደገና ይግቡ።</translation>
 <translation id="1878302395768190018">ይህን በማንኛውም ጊዜ በChrome ቅንብሮች ውስጥ ማበጀት ይችላሉ</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">ፎቶ በ<ph name="NAME" /></translation>
 <translation id="2115103655317273167">ወደ ስልክ ላክ</translation>
 <translation id="2119349053129246860">በ<ph name="APP" /> ውስጥ ክፈት</translation>
+<translation id="2120297377148151361">እንቅስቃሴ እና መስተጋብሮች</translation>
 <translation id="2121825465123208577">መጠን ቀይር</translation>
 <translation id="2124930039827422115">{1,plural, =1{በአንድ ተጠቃሚ <ph name="AVERAGE_RATING" /> ደረጃ ተሰጥቶታል።}one{በ# ተጠቃሚዎች <ph name="AVERAGE_RATING" /> ደረጃ ተሰጥቶታል።}other{በ# ተጠቃሚዎች <ph name="AVERAGE_RATING" /> ደረጃ ተሰጥቶታል።}}</translation>
 <translation id="2126167708562367080">ስምረት በእርስዎ አስተዳዳሪ ተሰናክሏል።</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">የወረቀት መጠን</translation>
 <translation id="2318817390901984578">የAndroid መተግበሪያዎችን ለመጠቀም የእርስዎን <ph name="DEVICE_TYPE" /> ኃይል ይሙሉ እና ያዘምኑ።</translation>
 <translation id="2318923050469484167">የአሁኑ ማንነት የማያሳውቅ ክፍለ-ጊዜ ብቻ (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">የእርስዎን የደህንነት ቁልፍ ከ<ph name="APP_NAME" /> ጋር ይጠቀሙ</translation>
 <translation id="2322193970951063277">ራስጌዎች እና ግርጌዎች</translation>
 <translation id="2325650632570794183">ይህ ፋይል አይነት አይደገፍም። የዚህ አይነት ፋይል መክፈት የሚችል መተግበሪያን ለማግኘት እባክዎ Chrome የድር ሱቁን ይጎብኙ።</translation>
 <translation id="2326931316514688470">&amp;መተግበሪያን ዳግም ጫን</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">ፋይል አጋራን ያክሉ</translation>
 <translation id="2367972762794486313">መተግበሪያዎችን አሳይ</translation>
 <translation id="2369536625682139252">ከኩኪዎች በስተቀር ሁሉም በ<ph name="SITE" /> የተከማቸው ውሂብ ይሰረዛል።</translation>
+<translation id="237058345584060620">ቁልፍዎን ተጠቅመው ወደ መለያዎ ለመግባት ከዚህ መሣሪያ ጋር ያጣምሩት</translation>
 <translation id="2371076942591664043">&amp;ሲጠናቀቅ ክፈት</translation>
 <translation id="2376559921867170420">የእርስዎ Chromebook ሲቀናበር፣ የረዳት አዝራሩን ይጫኑ ወይም ከእርስዎ ረዳት በማናቸውም ጊዜ እገዛ ለማግኘት «Ok Google» ይበሉ።</translation>
 <translation id="2377319039870049694">ወደ የዝርዝር እይታ ቀይር</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">የእርስዎን ስልክ ማግኘት አልተቻለም። የእርስዎ <ph name="DEVICE_TYPE" /> ብሉቱዝ መብራቱን ያረጋግጡ። &lt;a&gt;የበለጠ ለመረዳት&lt;/a&gt;</translation>
 <translation id="2489918096470125693">&amp;አቃፊ አክል...</translation>
 <translation id="249113932447298600">ይቅርታ፣ መሣሪያ <ph name="DEVICE_LABEL" /> በአሁኑ ጊዜ አይደገፍም።</translation>
+<translation id="2492040222276243256">በደህንነት ቁልፍዎ ላይ ያለውን አዝራር ቢያንስ ለ5 ሰከንዶች ተጭነው ይያዙት</translation>
 <translation id="2493021387995458222">«በአንድ ጊዜ አንድ ቃል»ን ይመርጣል</translation>
 <translation id="249303669840926644">ምዝገባን ማጠናቀቅ አልተቻለም</translation>
 <translation id="2495777824269688114">ተጨማሪ ባህሪዎችን ወይም መልሶችን ያግኙ። ለእገዛ «?» ን ይምረጡ።</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">የሚገኙ ሶኬቶችን በመጠባበቅ ላይ...</translation>
 <translation id="252219247728877310">ክፍለ አካል አልተዘመነም</translation>
 <translation id="2522791476825452208">በጣም ቅርብ</translation>
+<translation id="2523184218357549926">የሚጎበኙዋቸውን ገጾች ዩአርኤሎች ወደ Google ይልካል</translation>
 <translation id="2525250408503682495">Kryptonite! የኪዮስክ መተግበሪያው cryptohome ሊፈናጠጥ አልቻለም።</translation>
 <translation id="2526277209479171883">ይጫኑ እና ይቀጥሉ</translation>
 <translation id="2526590354069164005">ዴስክቶፕ</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011"><ph name="SHORT_PRODUCT_NAME" /> ውስጥ አልገቡም</translation>
 <translation id="2563856802393254086">እንኳን ደስ አለዎት! የእርስዎ «<ph name="NAME" />» ውሂብ አገልግሎት ገባሪ ሆኖ ለመሄድ ዝግጁ ነው።</translation>
 <translation id="2564520396658920462">ጃቫስክሪፕትን በAppleScript በኩል ማስፈጸም ጠፍቷል። እሱን ከምናሌ ሆነው ለማብራት ከApple Events ሆነው ወደ View &gt; Developer &gt; Allow JavaScript ይሂዱ። ተጨማሪ መረጃ ለማግኘት፦ https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">የላቀ ፊደል አራሚ</translation>
 <translation id="2566124945717127842">የ<ph name="IDS_SHORT_PRODUCT_NAME" /> መሣሪያዎ ልክ እንደ አዲስ እንዲሆን ዳግም ለማስጀመር Powerwash።</translation>
 <translation id="2567257616420533738">የይለፍ ቃል ተቀምጧል። <ph name="SAVED_PASSWORDS_LINK" /> ላይ የተቀመጡ የይለፍ ቃላትን ይመልከቱ እና ያቀናብሩ</translation>
 <translation id="2568774940984945469">መረጃ አሞሌ መያዣ</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> <ph name="USAGE" /> ሜባ የዲስክ ቦታ እየተጠቀመ ነው።</translation>
 <translation id="2633212996805280240">«<ph name="EXTENSION_NAME" />» ይወገድ?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> ጭነቱን ሊያጠናቅቅ አልቻለም፣ ግን ከዲስክ ምስሉ መሄዱን ይቀጥላል።</translation>
+<translation id="2633326789677284179">በቁልፍዎ ጀርባ ላይ የታተመውን ስም ያግኙ</translation>
 <translation id="2635276683026132559">መፈረም</translation>
 <translation id="2636625531157955190">Chrome ምስሉን ሊደርስበት አልቻለም።</translation>
 <translation id="2638087589890736295">ስምረትን ለመጀመር የይለፍ ሐረግ ያስፈልጋል</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">ውጫዊ የcrx ፋይል ወደ <ph name="TEMP_CRX_FILE" /> መቅዳት አልተቻለም።</translation>
 <translation id="3090871774332213558">«<ph name="DEVICE_NAME" />» ተጣምሯል</translation>
 <translation id="3101709781009526431">ቀን እና ሰዓት</translation>
+<translation id="3104900172193317662">የእርስዎን የደህንነት ቁልፍ አጠቃቀም ይፍቀዱ</translation>
 <translation id="310671807099593501">ጣቢያ ብሉቱዝን እየተጠቀመ ነው</translation>
 <translation id="3115128645424181617">የእርስዎን ስልክ ማግኘት አልተቻለም። በቅርብ ርቀት ላይ የሚችል መሆኑንና ብሉቱዝ መብራቱን ያረጋግጡ።</translation>
 <translation id="3115147772012638511">መሸጎጫ በመጠበቅ ላይ…</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468"><ph name="HOST" /> የቅንጥብ ሰሌዳው እንዳይመለከት አግድ</translation>
 <translation id="3840053866656739575">ከእርስዎ Chromebox ጋር የነበረው ግንኙነት ጠፍቷል። እባክዎ ጠጋ ይበሉ ወይም ዳግም ለማገናኘት ስንሞክር መሣሪያዎን ይመልከቱ።</translation>
 <translation id="3842552989725514455">ባለጭረት ቅርጸ-ቁምፊ</translation>
+<translation id="3846116211488856547">ድር ጣቢያዎችን፣ የAndroid መተግበሪያዎችን እና ተጨማሪ ነገሮችን ለመገንባት የሚሆኑ መሣሪያዎችን ያግኙ። Linuxን መጫን <ph name="DOWNLOAD_SIZE" /> ውሂብን ያወርዳል።</translation>
 <translation id="385051799172605136">ተመለስ</translation>
 <translation id="3851428669031642514">ደህንነታቸው አስተማማኝ ያልሆኑ የአጻጻፍ ስርዓቶችን ጫን</translation>
 <translation id="3855441664322950881">ቅጥያን ጠቅልል</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">የዲስክ ቦታ ያስለቅቁ፣ አለበለዚያ መሣሪያው ምላሽ የማይሰጥ ይሆናል</translation>
 <translation id="3878840326289104869">ቁጥጥር ላይ ያለ ተጠቃሚ በመፍጠር ላይ</translation>
 <translation id="3879748587602334249">የማውረድ አቀናባሪ</translation>
+<translation id="3880709822663530586">የደህንነት ቁልፍዎ የሚሠራው የመሣሪያዎ ብሉቱዝ ሲበራ ብቻ ነው</translation>
 <translation id="3888550877729210209">ማስታወሻዎችን በ<ph name="LOCK_SCREEN_APP_NAME" /> በመውሰድ ላይ</translation>
 <translation id="3892414795099177503">OpenVPN / L2TP ያክሉ...</translation>
 <translation id="3893536212201235195">የተደራሽነት ቅንብሮችዎን ያነብባል እና ይቀይራል</translation>
@@ -2359,6 +2370,7 @@
 <translation id="4681930562518940301">የመጀመሪያውን ምስል በአዲስ ትር ክፈት</translation>
 <translation id="4682551433947286597">የግድግዳ ወረቀቶች በመግቢያ ገጹ ላይ ይታያሉ።</translation>
 <translation id="4684427112815847243">ሁሉንም ያመሳስሉ</translation>
+<translation id="4689235506267737042">የእርስዎን ቅንጭብ ማሳያ ምርጫዎችን ይምረጡ</translation>
 <translation id="4689421377817139245">ይህን ዕልባት ከእርስዎ iPhone ጋር ያስምሩት</translation>
 <translation id="4690091457710545971">&lt;አራት ፋይሎች በIntel Wi-Fi ፈርምዌር መንጭተዋል፦ csr.lst፣ fh_regs.lst፣ radio_reg.lst፣ monitor.lst.sysmon። የመጀመሪያዎቹ ሦስት የመዝገብ ተወጋጆችን የያዙ የሁለትዮሽ ፋይሎች ናቸው፣ እና ምንም የግል ወይም መሣሪያን ለይቶ የሚያሳውቅ መረጃን እንዳልያዙ በIntel የተረጋገጡ ናቸው። የመጨረሻው ፋይል ከIntel ፈርምዌር የሥራ ማስፈጸሚያ ዱካ ነው፤ ማናቸውም የግል ወይም መሣሪያን ለይቶ የሚያሳውቅ መረጃው እንዲራገፍ ተደርጓል።  እነዚህ ፋይሎች የመነጩት በቅርቡ በእርስዎ መሣሪያ ላይ ከWi-Fi ጋር ለነበሩ ችግሮች እንደ ምላሽ ነው፣ እና ለእነዚህ ችግሮች መላ ለመፈለግ ለIntel ይጋራሉ።&gt;</translation>
 <translation id="4692302215262324251">የእርስዎ <ph name="DEVICE_TYPE" /> በተሳካ ሁኔታ በ<ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ለኢንተርፕራይዝ አስተዳደር ተመዝግቧል።
@@ -2464,7 +2476,6 @@
 <translation id="4856478137399998590">የተንቀሳቃሽ ስልክ ውሂብ አገልግሎትዎ የገበረና ስራ ላይ ለመዋል ዝግጁ ነው</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{ሁሉንም በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}=1{በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}one{ሁሉንም (#) በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}other{ሁሉንም (#) በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - ቪዲዮ በስዕል-ውስጥ-ስዕል ሁነታ በመጫወት ላይ</translation>
 <translation id="4862050643946421924">መሣሪያን በማከል ላይ...</translation>
 <translation id="4862642413395066333">OCSP ምላሾችን መፈረም</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> ይመስላል (ነባሪ)</translation>
@@ -2488,6 +2499,7 @@
 <translation id="4880827082731008257">የፍለጋ ታሪክ</translation>
 <translation id="4881695831933465202">ክፈት</translation>
 <translation id="4882473678324857464">ዕልባቶች ላይ ያተኩሩ</translation>
+<translation id="4882831918239250449">ፍለጋን፣ ማስታወቂያዎችን እና ተጨማሪ ነገሮችን ግላዊነት ለማላበስ የእርስዎ የአሰሳ ታሪክ እንዴት ጥቅም ላይ እንደሚውል ይቆጣጠሩ</translation>
 <translation id="4883178195103750615">ዕልባቶችን ወደ ኤችቲኤምኤል ፋይል ላክ...</translation>
 <translation id="4883436287898674711">ሁሉም የ<ph name="WEBSITE_1" /> ጣቢያዎች</translation>
 <translation id="48838266408104654">&amp;ተግባር አስተዳዳሪ</translation>
@@ -2763,6 +2775,7 @@
 <translation id="5288678174502918605">የተ&amp;ዘጋውን ትር ዳግም ክፈት</translation>
 <translation id="52912272896845572">የግል ቁልፍ ፋይል ልክ አይደለም።</translation>
 <translation id="529175790091471945">ይህን መሣሪያ ቅርጸት ይስሩለት</translation>
+<translation id="5292195676005197571">አብዛኛዎቹን ቁልፎችን ለመጠቀም አዝራሩን በቀላሉ ይጫኑት</translation>
 <translation id="5293170712604732402">ቅንብሮች ወደ የመጀመሪያቸው ነባሪዎች መልሳቸው</translation>
 <translation id="5298219193514155779">ገጽታ የተፈጠረው በ</translation>
 <translation id="5299109548848736476">አትከታተል</translation>
@@ -3023,11 +3036,13 @@
 <translation id="5658415415603568799">ለተጨማሪ ደህንነት ሲባል Smart Lock ከ20 ሰዓቶች በኋላ የእርስዎን የይለፍ ቃል እንዲያስገቡ ይጠይቀዎታል።</translation>
 <translation id="5659593005791499971">ኢሜይል</translation>
 <translation id="5659833766619490117">ይህ ገጽ ሊተረጎም አልቻለም</translation>
+<translation id="5660204307954428567">ከ<ph name="DEVICE_NAME" /> ጋር አጣምር</translation>
 <translation id="5662477687021125631">ዘላቂ</translation>
 <translation id="5667546120811588575">Google Playን በማዋቀር ላይ...</translation>
 <translation id="5669267381087807207">በማግበር ላይ</translation>
 <translation id="5669691691057771421">አዲስ ፒን ያስገቡ</translation>
 <translation id="5671641761787789573">ምስሎች ታግደዋል</translation>
+<translation id="5673076758299428095">Linuxን ዝጋ</translation>
 <translation id="5677503058916217575">የገጽ ቋንቋ፦</translation>
 <translation id="5677928146339483299">ታግዷል</translation>
 <translation id="5678550637669481956">ወደ <ph name="VOLUME_NAME" /> የማንበብ እና የመጻፍ መዳረሻ ተሰጥቷል።</translation>
@@ -3191,6 +3206,9 @@
 <translation id="5920835625712313205">የChrome OS ስርዓት ምስል ጸሐፊ</translation>
 <translation id="5921745308587794300">መስኮትን አሽከርክር</translation>
 <translation id="5924047253200400718">እገዛን ያግኙ<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">አዲስ ፎቶ ያንሱ ወይም አንድ ነባር ፎቶ ወይም አዶ ይምረጡ።
+          <ph name="LINE_BREAK" />
+          ይህ ሥዕል በChromebook መለያ መግቢያ ማያ ገጽ እና ማያ ገጽ ቁልፍ ላይ ይታያል።</translation>
 <translation id="5925147183566400388">የዕውቅና ማረጋገጫ ስራ መግለጫ ጠቋሚ</translation>
 <translation id="592880897588170157">በChrome ውስጥ በራስ-ሰር ከመክፈት ይልቅ የፒዲኤፍ ፋይሎችን አውርድ</translation>
 <translation id="5931146425219109062">በጎበኟቸው ድር ጣቢያዎች ላይ ያለው ሁሉም ውሂብዎን ያነብባል እና ይቀይራል</translation>
@@ -3287,6 +3305,7 @@
 <translation id="6078752646384677957">እባክዎ የእርስዎን ማይክሮፎን እና የኦዲዮ ደረጃዎች ይፈትሹ።</translation>
 <translation id="6080515710685820702">የተጋራ ኮምፒውተር ነው እየተጠቀሙ ያሉት? ማንነት የማያሳውቅ መስኮት ለመክፈት ይሞክሩ።</translation>
 <translation id="6080689532560039067">የስርዓት ጊዜዎን ይፈትሹ</translation>
+<translation id="6082111513049964958">ለመክፈት የሚሆን የይለፍ ቃል</translation>
 <translation id="6082651258230788217">በመሣሪያ አሞሌ ላይ አሳይ</translation>
 <translation id="6086846494333236931">በእርስዎ አስተዳዳሪ የተጫነ</translation>
 <translation id="6087960857463881712">ግሩም ፊት</translation>
@@ -3510,6 +3529,7 @@
 <translation id="642282551015776456">ይህ ስም የፋይል ወይም አቃፊ ስም ሆኖ ሊያገለግል አይችልም።</translation>
 <translation id="642469772702851743">ይህ መሣሪያ (SN፦ <ph name="SERIAL_NUMBER" />) በዋና ባለቤቱ ተቆልፎ ነበር።</translation>
 <translation id="6426200009596957090">የChromeVox ቅንብሮችን ክፈት</translation>
+<translation id="6427415464407526111">የእርስዎን የደህንነት ቁልፍ ይምረጡ</translation>
 <translation id="6429384232893414837">የማዘመን ስህተት</translation>
 <translation id="6430814529589430811">Base64-encoded ASCII፣ ነጠላ ሰርቲፊኬት</translation>
 <translation id="6431217872648827691">ከ<ph name="TIME" /> ጀምሮ ሁሉም ውሂብዎ በGoogle ይለፍ ቃልዎ
@@ -3936,6 +3956,7 @@
 <translation id="7099337801055912064">ትልቅ PPDን መጫን አልተቻለም። ከፍተኛው መጠን 250 ኪባ ነው።</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> ንጥሎች ተመርጠዋል</translation>
 <translation id="7102687220333134671">ራስ-ሰር ዝማኔዎች በርተዋል</translation>
+<translation id="7102832101143475489">ጥያቄው ጊዜውን ጨርሷል</translation>
 <translation id="7106346894903675391">ተጨማሪ ማከማቻ ይግዙ...</translation>
 <translation id="7108338896283013870">ደብቅ</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> ካሜራዎን መጠቀም ይፈልጋል</translation>
@@ -4144,7 +4165,6 @@
 <translation id="7427348830195639090">የጀርባው ገጽ፦ <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{ሁሉንም በ&amp;አዲስ መስኮት ውስጥ ክፈት}=1{&amp;በአዲስ መስኮት ውስጥ ክፈት}one{ሁሉንም (#) በ&amp;አዲስ መስኮት ውስጥ ክፈት}other{ሁሉንም (#) በ&amp;አዲስ መስኮት ውስጥ ክፈት}}</translation>
 <translation id="7434509671034404296">ገንቢ</translation>
-<translation id="7436470008146509879">Linuxን በእርስዎ <ph name="DEVICE_TYPE" /> ያቀናብሩ</translation>
 <translation id="7436921188514130341">ኧረ ቴች! ዳግም በሚሰየምበት ጊዜ የሆነ ስህተት ነበር።</translation>
 <translation id="7441830548568730290">ሌሎች ተጠቃሚዎች</translation>
 <translation id="7442465037756169001">የእርስዎ Hangouts Meet hardware ለመዋቀር ዝግጁ ነው።</translation>
@@ -4443,7 +4463,6 @@
 <translation id="7881969471599061635">የግርጌ ጽሑፎችን አሰናክል</translation>
 <translation id="7882358943899516840">የአቅራቢ አይነት</translation>
 <translation id="7885253890047913815">የቅርብ ጊዜ መድረሻዎች</translation>
-<translation id="7886917304091689118">በChrome ውስጥ በማሄድ ላይ</translation>
 <translation id="7887334752153342268">አባዛ</translation>
 <translation id="7887864092952184874">የብሉቱዝ መዳፊት ተጣምሯል</translation>
 <translation id="7889565820482017512">የማሳያ መጠን</translation>
@@ -4561,6 +4580,7 @@
 <translation id="8028993641010258682">መጠን</translation>
 <translation id="8030656706657716245">አታሚ አክል</translation>
 <translation id="8032244173881942855">ትሩን cast ማድረግ አልተቻለም።</translation>
+<translation id="8033958968890501070">ጊዜው አልቋል</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{ሁሉንም በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}=1{&amp;ማንነትን በማያሳውቅ መስኮት ውስጥ ክፈት}one{ሁሉንም (#) በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}other{ሁሉንም (#) በ&amp;ማንነት የማያሳውቅ መስኮት ውስጥ ክፈት}}</translation>
 <translation id="8037117027592400564">ተሰብስቦ በተሰራ ንግግር አማካኝነት ሁሉንም የተነገሩ ጽሑፎች ያነብባል</translation>
 <translation id="8037357227543935929">ጠይቅ (ነባሪ)</translation>
@@ -4619,7 +4639,6 @@
 <translation id="8118860139461251237">ማውረድዎችዎን ያስተዳድሩ</translation>
 <translation id="81238879832906896">ቢጫ እና ነጭ አበባ</translation>
 <translation id="8124313775439841391">የሚቀናበር ONC</translation>
-<translation id="8125562866093998907">ጣቢያው የእርስዎን የደህንነት ቁልፍ ለእርስዎ መለያ ተጨማሪ ደህንነትን ለማከል ሊያረጋግጠው ይፈልጋል።</translation>
 <translation id="813082847718468539">የጣቢያ መረጃን ይመልከቱ</translation>
 <translation id="8131740175452115882">አረጋግጥ</translation>
 <translation id="8133676275609324831">&amp;በአቃፊ ውስጥ አሳይ</translation>
@@ -4651,6 +4670,8 @@
 <translation id="8180239481735238521">ገፅ</translation>
 <translation id="8180786512391440389">«<ph name="EXTENSION" />» ምልክት በተደረገባቸው አካባቢዎች ላይ ያሉ ምስሎችን፣ ቪዲዮ እና የድምጽ ፋይሎችን ማንበብ እና መሰረዝ ይችላል።</translation>
 <translation id="8181215761849004992">ጎራውን መቀላቀል አልተቻለም። መሣሪያዎችን ለማክከል በቂ ልዩ መብቶች ካለዎት ለማረጋገጥ መለያዎን ይመልከቱ።</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+ይህ ጣቢያ መታገድ ያለበት አይመስለኝም!</translation>
 <translation id="8184288427634747179">ወደ <ph name="AVATAR_NAME" /> ቀይር</translation>
 <translation id="8184318863960255706">ተጨማሪ መረጃ</translation>
 <translation id="8185331656081929126">አዲስ አታሚዎች በአውታረ መረቡ ላይ ሲገኙ ማሳወቂያዎችን አሳይ።</translation>
@@ -4794,6 +4815,7 @@
 <translation id="8434480141477525001">NaCl ስህተት ማረሚያ ወደብ</translation>
 <translation id="843760761634048214">ክሬዲት ካርድ አስቀምጥ</translation>
 <translation id="8438328416656800239">ወደ ዘመናዊ አሳሽ ቀይር</translation>
+<translation id="8438566539970814960">ፍለጋዎችን እና አሰሳን የተሻለ አድርግ</translation>
 <translation id="8439506636278576865">በዚህ ቋንቋ ውስጥ ያሉ ገጾችን ለመተርጎም ያቅርቡ</translation>
 <translation id="8446884382197647889">ተጨማሪ ለመረዳት</translation>
 <translation id="8447409163267621480">Ctrl ወይም Alt ያካትቱ</translation>
@@ -4998,7 +5020,6 @@
 <translation id="8736288397686080465">ይህ ጣቢያ በበስተጀርባ ዘምኗል።</translation>
 <translation id="8737685506611670901"><ph name="PROTOCOL" /> አገናኞች በ<ph name="REPLACED_HANDLER_TITLE" /> ፈንታ ክፈት</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">በስዕል-ውስጥ-ስዕል</translation>
 <translation id="8743390665131937741">የሙሉ ገጽ እይታ ማጉያ ደረጃ፦</translation>
 <translation id="8743864605301774756">ከ1 ሰዓት በፊት ተዘምኗል</translation>
 <translation id="874689135111202667">{0,plural, =1{አንድ ፋይል ወደዚህ ጣቢያ ይሰቀል?}one{# ፋይሎች ወደዚህ ጣቢያ ይሰቀሉ?}other{# ፋይሎች ወደዚህ ጣቢያ ይሰቀሉ?}}</translation>
@@ -5150,6 +5171,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ተበላሽቷል</translation>
 <translation id="8983677657449185470">የጥንቃቄ አሰሳ እንዲሻሻል ያግዙ</translation>
 <translation id="8984654317541110628">የፋይል ማጋራት ዩአርኤል</translation>
+<translation id="8984872292925913496">ባለ6-አኃዝ ፒኑን በቁልፍዎ ጀርባ ላይ ያግኙት</translation>
 <translation id="8986362086234534611">እርሳ</translation>
 <translation id="8986494364107987395">የአጠቃቀም ስታስቲክስ እና የብልሽት ሪፖርቶች በራስ ሰር ወደ Google ይላኩ።</translation>
 <translation id="8987927404178983737">ወር</translation>
@@ -5272,6 +5294,7 @@
 <translation id="9158715103698450907">ውይ!  በማረጋገጥ ጊዜ ላይ አንድ የአውታረ መረብ ግንኙነት ችግር ተከስቷል። እባክዎ የአውታረ መረብዎን ግንኙነት ያረጋግጡና እንደገና ይሞክሩ።</translation>
 <translation id="9161070040817969420">ንዑስ ክፈፎች ለ፦ <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">የስርዓት ውሂብ ይላኩ። ይህ መሣሪያ በአሁኑ ጊዜ የምርመራ እና የመሣሪያ እ3ና የመተግበሪያ አጠቃቀም ውሂብን በራስ-ሰር ወደ Google ይልካል። ይህ ቅንብር በባለቤቱ አስገዳጅነት ያለው እንዲሆን ይደረጋል። ተጨማሪ የድር እና የመተግበሪያ እንቅስቃሴን ካበሩ ይህ መረጃ በእኔ እንቅስቃሴ ውስጥ ማቀናበር እንዲችሉ በእርስዎ መለያ ላይ ይከማቻል። <ph name="BEGIN_LINK1" />የበለጠ ለመረዳት<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">በሥዕል ላይ ሥዕል</translation>
 <translation id="9169496697824289689">የቁልፍ ሰሌዳ አቋራጮችን ይመልከቱ</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" />ን ወደ መነሻ ገጽ ያክሉ</translation>
 <translation id="9170397650136757332">አሁን ሁሉንም የተለያዩ የጣት አሻራዎን ክፍሎች ለማንሳት ጣትዎን በቀስታ ያንቀሳቅሱት</translation>
@@ -5322,7 +5345,6 @@
 <translation id="952992212772159698">አልገበረም</translation>
 <translation id="957960681186851048">ይህ ጣቢያ በርካታ ፋይሎችን በራስ-ሰር ለማውረድ ሞክሯል</translation>
 <translation id="9580706199804957">ከGoogle አገልግሎቶች ጋር መገናኘት አልተቻለም</translation>
-<translation id="958416628331784386">ይህ ትር አንድ ቪዲዮ በስዕል-ውስጥ-ስዕል ሁነታ እያጫወተ ነው።</translation>
 <translation id="960719561871045870">የከዋኝ ኮድ</translation>
 <translation id="960987915827980018">1 ሰዓት አካባቢ ቀርቷል</translation>
 <translation id="962802172452141067">የእልባት አቃፊ ዛፍ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 252e326..dc9ffe5 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">‏المساعدة في تحسين <ph name="PRODUCT_NAME" /> بإرسال إحصاءات الاستخدام وتقارير الأعطال إلى Google تلقائيًا</translation>
 <translation id="1658424621194652532">هذه الصفحة تحاول الدخول إلى الميكروفون.</translation>
 <translation id="1660204651932907780">السماح للمواقع بتشغيل الصوت (مُقترح)</translation>
-<translation id="1660938185063657230">التحقُّق من صحة مفتاح الأمان</translation>
 <translation id="1661156625580498328">‏فرض تشفير AES (مستحسن)</translation>
 <translation id="1661245713600520330">تدرج هذه الصفحة جميع الوحدات التي تم تحميلها في العملية الرئيسية والوحدات المسجلة للتحميل في وقت لاحق.</translation>
 <translation id="166179487779922818">كلمة المرور أقصر مما يجب.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752">حذف كلمة مرور <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">‏يُرجى النقر على "إشعارات التطبيق" &gt; خدمات Google Play.</translation>
 <translation id="1826516787628120939">حساب شيكات</translation>
-<translation id="1827750274519118478">سيتم إيقاف الفيديو الجاري تشغيله في وضع "نافذة ضمن نافذة".</translation>
 <translation id="1828378091493947763">هذا المكوِّن الإضافي غير مدعوم على هذا الجهاز</translation>
 <translation id="1828901632669367785">مربع حوار الطباعة باستخدام النظام…</translation>
 <translation id="1829192082282182671">ت&amp;صغير</translation>
@@ -2461,7 +2459,6 @@
 <translation id="4856478137399998590">تم تفعيل خدمة بيانات الجوال وهي جاهزة للاستخدام.</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{فتح الكل في &amp;نافذة التصفح المتخفي}=1{فتح في &amp;نافذة التصفح المتخفي}two{فتح كلا العنوانين (#) في &amp;نافذة التصفح المتخفي}few{فتح كل الـ (#) عناوين في &amp;نافذة التصفح المتخفي}many{فتح كل الـ (#) عنوانًا في &amp;نافذة التصفح المتخفي}other{فتح كل الـ (#) عنوان في &amp;نافذة التصفح المتخفي}}</translation>
 <translation id="4858913220355269194">فريتز</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - جارٍ تشغيل الفيديو في وضع "نافذة ضمن نافذة"</translation>
 <translation id="4862050643946421924">جارٍ إضافة جهاز...</translation>
 <translation id="4862642413395066333">‏توقيع استجابات OCSP</translation>
 <translation id="4863769717153320198">‏تبدو كـ <ph name="WIDTH" /> x <ph name="HEIGHT" /> (تلقائية)</translation>
@@ -4142,7 +4139,6 @@
 <translation id="7427348830195639090">صفحة الخلفية: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{فتح الكل في &amp;نافذة جديدة}=1{فتح في &amp;نافذة جديدة}two{فتح كلا العنوانين (#) في &amp;نافذة جديدة}few{فتح كل الـ (#) عناوين في &amp;نافذة جديدة}many{فتح كل الـ (#) عنوانًا في &amp;نافذة جديدة}other{فتح كل الـ (#) عنوان في &amp;نافذة جديدة}}</translation>
 <translation id="7434509671034404296">المطوِّر</translation>
-<translation id="7436470008146509879">‏إعداد نظام التشغيل Linux على جهاز <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">عذرًا، حدث خطأ في أثناء إعادة التسمية.</translation>
 <translation id="7441830548568730290">المستخدمون الآخرون</translation>
 <translation id="7442465037756169001">‏جهاز Hangouts Meet جاهز للإعداد.</translation>
@@ -4442,7 +4438,6 @@
 <translation id="7881969471599061635">إيقاف الترجمات المصاحبة</translation>
 <translation id="7882358943899516840">نوع مقدم الخدمة</translation>
 <translation id="7885253890047913815">أحدث الوجهات</translation>
-<translation id="7886917304091689118">‏قيد التشغيل في Chrome</translation>
 <translation id="7887334752153342268">تكرار</translation>
 <translation id="7887864092952184874">ماوس بلوتوث مقترن</translation>
 <translation id="7889565820482017512">حجم شاشة العرض</translation>
@@ -4613,7 +4608,6 @@
 <translation id="8118860139461251237">إدارة التنزيلات</translation>
 <translation id="81238879832906896">زهرة صفراء وبيضاء</translation>
 <translation id="8124313775439841391">‏ONC مُدار</translation>
-<translation id="8125562866093998907">يحتاج موقع الويب إلى التحقُّق من مفتاح الأمان لزيادة مستوى الأمان لحسابك.</translation>
 <translation id="813082847718468539">عرض معلومات الموقع</translation>
 <translation id="8131740175452115882">التأكيد</translation>
 <translation id="8133676275609324831">&amp;عرض في المجلد</translation>
@@ -4992,7 +4986,6 @@
 <translation id="8736288397686080465">تم تحديث هذا الموقع في الخلفية.</translation>
 <translation id="8737685506611670901">فتح روابط <ph name="PROTOCOL" /> بدلاً من <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">نافذة ضمن النافذة</translation>
 <translation id="8743390665131937741">مستوى التكبير بملء الشاشة:</translation>
 <translation id="8743864605301774756">تم التحديث قبل ساعة واحدة</translation>
 <translation id="874689135111202667">{0,plural, =1{هل تريد تحميل ملف واحد إلى هذا الموقع؟}zero{هل تريد تحميل # ملف إلى هذا الموقع؟}two{هل تريد تحميل ملفين (#) إلى هذا الموقع؟}few{هل تريد تحميل # ملفات إلى هذا الموقع؟}many{هل تريد تحميل # ملفًا إلى هذا الموقع؟}other{هل تريد تحميل # ملف إلى هذا الموقع؟}}</translation>
@@ -5266,6 +5259,7 @@
 <translation id="9158715103698450907">عفوًا!  حدثت مشكلة في الاتصال بالشبكة أثناء المصادقة. يرجى التحقق من الاتصال بالشبكة وإعادة المحاولة.</translation>
 <translation id="9161070040817969420">الإطارات الفرعية لـ: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">‏إرسال بيانات النظام. يُرسِل هذا الجهاز حاليًا بيانات التشخيص وبيانات استخدام التطبيق والجهاز تلقائيًا إلى Google. ويفرض المالك هذا الإعداد. وفي حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">نافذة ضمن النافذة</translation>
 <translation id="9169496697824289689">عرض اختصارات لوحة المفاتيح</translation>
 <translation id="9169931577761441333">إضافة تطبيق <ph name="APP_NAME" /> إلى الشاشة الرئيسية</translation>
 <translation id="9170397650136757332">حرِّك الآن إصبعك قليلاً لالتقاط جميع الأجزاء المختلفة لبصمة إصبعك</translation>
@@ -5316,7 +5310,6 @@
 <translation id="952992212772159698">غير نشطة</translation>
 <translation id="957960681186851048">حاول هذا الموقع تنزيل عدة ملفات تلقائيًا</translation>
 <translation id="9580706199804957">‏تعذر الاتصال بخدمات Google</translation>
-<translation id="958416628331784386">تشغِّل علامة التبويب هذه فيديو في وضع "نافذة ضمن نافذة".</translation>
 <translation id="960719561871045870">رمز مشغل شبكة الجوال</translation>
 <translation id="960987915827980018">تتبقى ساعة واحدة تقريبًا</translation>
 <translation id="962802172452141067">شجرة مجلد الإشارات المرجعية</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index a76fdf7..21c79bd 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Премахване</translation>
 <translation id="1183237619868651138">„<ph name="EXTERNAL_CRX_FILE" />“ не може да се инсталира в локалния кеш.</translation>
+<translation id="1183378459020939734">Готови ли сте да сдвоите ключа си за сигурност?</translation>
 <translation id="1185924365081634987">Може също да опитате <ph name="GUEST_SIGNIN_LINK_START" />да сърфирате като гост<ph name="GUEST_SIGNIN_LINK_END" />, за да се отстрани тази грешка в мрежата.</translation>
 <translation id="1186771945450942097">Премахнете опасния софтуер</translation>
 <translation id="1187722533808055681">Събуждания при неактивност</translation>
@@ -451,7 +452,6 @@
 <translation id="1657406563541664238">Помогнете ни да подобрим <ph name="PRODUCT_NAME" /> като автоматично изпращате на Google статистически данни за използването му и сигнали за сривове</translation>
 <translation id="1658424621194652532">Тази страница осъществява достъп до микрофона ви.</translation>
 <translation id="1660204651932907780">Разрешаване на сайтовете да възпроизвеждат звук (препоръчително)</translation>
-<translation id="1660938185063657230">Потвърждаване на ключа ви за сигурност</translation>
 <translation id="1661156625580498328">Задължително прилагане на AES шифроване (препоръчително).</translation>
 <translation id="1661245713600520330">Тази страница посочва всички модули, заредени в основния процес, и модулите, регистрирани за зареждане по-късно.</translation>
 <translation id="166179487779922818">Паролата е твърде кратка.</translation>
@@ -538,6 +538,7 @@
 <translation id="1782530111891678861">Промяна на режима на дисплея за точките на докосване</translation>
 <translation id="1784849162047402014">Дисковото пространство на устройството е малко</translation>
 <translation id="1786636458339910689">Екипни дискове</translation>
+<translation id="1792161662640298233">Ключът за сигурност се потвърждава</translation>
 <translation id="1792619191750875668">Разширен екран</translation>
 <translation id="1794791083288629568">Изпращане на отзиви, за да ни помогнете да отстраним този проблем.</translation>
 <translation id="1795214765651529549">Използване на класическата тема</translation>
@@ -563,7 +564,6 @@
 <translation id="1818007989243628752">Изтриване на паролата за <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Докоснете „Известия за прилож.“ &gt; Услуги за Google Play.</translation>
 <translation id="1826516787628120939">Извършва се проверка</translation>
-<translation id="1827750274519118478">Видеоклипът в режим „картина в картината“ ще спре.</translation>
 <translation id="1828378091493947763">Тази приставка не се поддържа на устройството</translation>
 <translation id="1828901632669367785">Печат чрез системния диалогов прозорец...</translation>
 <translation id="1829192082282182671">&amp;Намаляване</translation>
@@ -599,6 +599,7 @@
 <translation id="186612162884103683"><ph name="EXTENSION" /> може да чете и записва изображения, видео- и звукови файлове в местоположенията с отметка.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> е готов да завърши инсталирането</translation>
 <translation id="1871615898038944731">Устройството ви <ph name="DEVICE_TYPE" /> е актуално</translation>
+<translation id="1875312262568496299">Начало</translation>
 <translation id="1875387611427697908">Това може да бъде добавено само от <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Получаването на означение за удостоверяване не бе успешно. Моля, излезте от профила си и влезте отново в него, за да опитате пак.</translation>
 <translation id="1878302395768190018">Можете да персонализирате това по всяко време от настройките на Chrome</translation>
@@ -745,6 +746,7 @@
 <translation id="2114896190328250491">Снимка от <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Изпращане до телефона</translation>
 <translation id="2119349053129246860">Отваряне в/ъв <ph name="APP" /></translation>
+<translation id="2120297377148151361">Активност и взаимодействия</translation>
 <translation id="2121825465123208577">Преоразмеряване</translation>
 <translation id="2124930039827422115">{1,plural, =1{Оценка <ph name="AVERAGE_RATING" /> от един потребител.}other{Оценка <ph name="AVERAGE_RATING" /> от # потребители.}}</translation>
 <translation id="2126167708562367080">Синхронизирането е деактивирано от администратора ви.</translation>
@@ -878,6 +880,7 @@
 <translation id="2318143611928805047">Размер на хартията</translation>
 <translation id="2318817390901984578">За да използвате приложения за Android, заредете и актуализирайте своя <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Текущата сесия в режим „инкогнито“ (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Използване на ключа ви за сигурност с(ъс) <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Горен и долен колонтитул</translation>
 <translation id="2325650632570794183">Този файлов тип не се поддържа. Моля, посетете уеб магазина на Chrome, за да намерите приложение, което може да отвори съответния тип.</translation>
 <translation id="2326931316514688470">&amp;Презареждане на приложението</translation>
@@ -911,6 +914,7 @@
 <translation id="2367199180085172140">Добавяне на споделяне на файл</translation>
 <translation id="2367972762794486313">Показване на приложенията</translation>
 <translation id="2369536625682139252">Ще бъдат изтрити всички съхранявани от <ph name="SITE" /> данни освен „бисквитките“.</translation>
+<translation id="237058345584060620">Сдвоете ключа си с това устройство, за да можете да използвате ключа за вход в профила си</translation>
 <translation id="2371076942591664043">Отваряне &amp;след изтегляне</translation>
 <translation id="2376559921867170420">Когато вашият Chromebook бъде настроен, натиснете бутона за Асистент или кажете „Ok Google“, за да получите помощ от Асистент по всяко време.</translation>
 <translation id="2377319039870049694">Превключване към списъчен изглед</translation>
@@ -976,6 +980,7 @@
 <translation id="248861575772995840">Телефонът ви не може да бъде намерен. Уверете се, че функцията за Bluetooth на вашия <ph name="DEVICE_TYPE" /> е включена. &lt;a&gt;Научете повече&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Добавяне на &amp;папка...</translation>
 <translation id="249113932447298600">За съжаление понастоящем устройството <ph name="DEVICE_LABEL" /> не се поддържа.</translation>
+<translation id="2492040222276243256">Натиснете бутона на ключа си за сигурност и го задръжте поне 5 секунди</translation>
 <translation id="2493021387995458222">Избиране на дума по дума</translation>
 <translation id="249303669840926644">Регистрацията не можа да завърши</translation>
 <translation id="2495777824269688114">Открийте още функции или получете отговори. Изберете „?“ за помощ.</translation>
@@ -1003,6 +1008,7 @@
 <translation id="2520644704042891903">Изчаква се свободен сокет...</translation>
 <translation id="252219247728877310">Компонентът не е актуализиран</translation>
 <translation id="2522791476825452208">Много близо</translation>
+<translation id="2523184218357549926">Изпраща до Google URL адресите на страниците, които посещавате</translation>
 <translation id="2525250408503682495">Ами сега! Шифрованият основен дял за павилионното приложение не можа да бъде свързан.</translation>
 <translation id="2526277209479171883">Инсталиране и продължаване</translation>
 <translation id="2526590354069164005">Работен плот</translation>
@@ -1029,6 +1035,7 @@
 <translation id="2562743677925229011">Не сте влезли в <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Поздравления! Услугата ви за данни „<ph name="NAME" />“ е активирана и е готова за работа.</translation>
 <translation id="2564520396658920462">Функцията за изпълнение на JavaScript чрез AppleScript е изключена. За да я включите, от лентата с менюта отворете View &gt; Developer &gt; Allow JavaScript from Apple Events. За повече информация: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Подобрена проверка на правописа</translation>
 <translation id="2566124945717127842">Извършете Powerwash, за да възстановите устройството си с <ph name="IDS_SHORT_PRODUCT_NAME" />, така че да бъде като ново.</translation>
 <translation id="2567257616420533738">Паролата е запазена. Преглеждайте и управлявайте запазените пароли на адрес <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Контейнер на инфолента</translation>
@@ -1078,6 +1085,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> използва <ph name="USAGE" /> МБ място на диска.</translation>
 <translation id="2633212996805280240">Да се премахне ли „<ph name="EXTENSION_NAME" />“?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> не успя да завърши инсталацията, но ще продължи да работи от образа си на диска.</translation>
+<translation id="2633326789677284179">Намерете името, отпечатано на гърба на ключа</translation>
 <translation id="2635276683026132559">Подписване</translation>
 <translation id="2636625531157955190">Chrome няма достъп до изображението.</translation>
 <translation id="2638087589890736295">За стартиране на синхронизирането е необходим пропуск</translation>
@@ -1391,6 +1399,7 @@
 <translation id="3090819949319990166">Външният crx файл не може да се копира в/ъв „<ph name="TEMP_CRX_FILE" />“.</translation>
 <translation id="3090871774332213558">Успешно сдвояване на <ph name="DEVICE_NAME" /></translation>
 <translation id="3101709781009526431">Дата и час</translation>
+<translation id="3104900172193317662">Разрешаване на използването на ключа ви за сигурност</translation>
 <translation id="310671807099593501">Сайтът използва Bluetooth</translation>
 <translation id="3115128645424181617">Телефонът ви не може да бъде намерен. Уверете се, че е подръка и че функцията за Bluetooth е включена.</translation>
 <translation id="3115147772012638511">Кешът се изчаква...</translation>
@@ -1875,6 +1884,8 @@
 <translation id="3839516600093027468">Забраняване винаги на <ph name="HOST" /> да преглежда буферната памет</translation>
 <translation id="3840053866656739575">Връзката с вашия Chromebox прекъсна. Моля, приближете се или проверете устройството си, докато опитваме да я възстановим.</translation>
 <translation id="3842552989725514455">Серифен шрифт</translation>
+<translation id="3846116211488856547">Получете инструменти за разработка на уебсайтове, приложения за Android и др. 
+При инсталирането на Linux ще бъдат изтеглени <ph name="DOWNLOAD_SIZE" /> данни.</translation>
 <translation id="385051799172605136">Назад</translation>
 <translation id="3851428669031642514">Зареждане на опасните скриптове</translation>
 <translation id="3855441664322950881">Пакетиране на разширение</translation>
@@ -1898,6 +1909,7 @@
 <translation id="3872991219937722530">Освободете място на диска, в противен случай устройството ви ще престане да реагира.</translation>
 <translation id="3878840326289104869">Създаване на контролиран потребител</translation>
 <translation id="3879748587602334249">Мениджър на изтеглянията</translation>
+<translation id="3880709822663530586">Ключът ви за сигурност работи само когато сте включили Bluetooth на устройството си</translation>
 <translation id="3888550877729210209">Водене на бележки с/ъс <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Добавяне на OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">Да чете и променя настройките ви за достъпност</translation>
@@ -2359,6 +2371,7 @@
 <translation id="4681930562518940301">Отваряне на оригиналното изображение в нов раздел</translation>
 <translation id="4682551433947286597">Тапетите се показват на екрана за вход.</translation>
 <translation id="4684427112815847243">Синхронизиране на всичко</translation>
+<translation id="4689235506267737042">Изберете предпочитанията си за демонстрацията</translation>
 <translation id="4689421377817139245">Синхронизирайте тази отметка със своя iPhone</translation>
 <translation id="4690091457710545971">&lt;Фърмуерът на Intel за Wi-Fi генерира четири файла: csr.lst, fh_regs.lst, radio_reg.lst и monitor.lst.sysmon. Първите три са двоични файлове с копия на данни от системния регистър и според Intel не съдържат лични данни или информация, идентифицираща устройството. Последният е файл за трасиране на изпълнението от фърмуера на Intel. Личните данни и идентифициращата устройството информация са премахнати от него, но той е твърде голям, за да бъде показан тук. Тези файлове са генерирани поради скорошните проблеми с Wi-Fi на устройството ви и ще бъдат споделени с Intel с цел по-лесното им отстраняване.&gt;</translation>
 <translation id="4692302215262324251">Устройството ви <ph name="DEVICE_TYPE" /> е успешно записано за корпоративно управление от <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2464,7 +2477,6 @@
 <translation id="4856478137399998590">Услугата ви за данни е активирана и готова за употреба</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Отваряне на всички в прозорец в режим „&amp;инкогнито“}=1{Отваряне в прозорец в режим „&amp;инкогнито“}other{Отваряне на всички (#) в прозорец в режим „&amp;инкогнито“}}</translation>
 <translation id="4858913220355269194">Фриц</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – Видеоклипът се възпроизвежда в режим „Картина в картината“</translation>
 <translation id="4862050643946421924">Добавяне на устройство...</translation>
 <translation id="4862642413395066333">Подписване на OCSP отговори</translation>
 <translation id="4863769717153320198">Разделителната способност е <ph name="WIDTH" /> x <ph name="HEIGHT" /> (по подразбиране)</translation>
@@ -2488,6 +2500,7 @@
 <translation id="4880827082731008257">Търсене в историята</translation>
 <translation id="4881695831933465202">Отваряне</translation>
 <translation id="4882473678324857464">Преместване на фокуса върху отметките</translation>
+<translation id="4882831918239250449">Контролирайте начина, по който историята ви на сърфиране се използва за персонализиране на търсенето, рекламите и др.</translation>
 <translation id="4883178195103750615">Експортиране на отметки в HTML файл...</translation>
 <translation id="4883436287898674711">Всички <ph name="WEBSITE_1" /> сайта</translation>
 <translation id="48838266408104654">&amp;Диспечер на задачите</translation>
@@ -2763,6 +2776,7 @@
 <translation id="5288678174502918605">По&amp;вторно отваряне на затворения раздел</translation>
 <translation id="52912272896845572">Файлът с личен ключ е невалиден.</translation>
 <translation id="529175790091471945">Форматиране на това устройство</translation>
+<translation id="5292195676005197571">За да използвате повечето ключове, трябва само да натиснете бутона</translation>
 <translation id="5293170712604732402">Възстановяване на настройките към първоначалните им стандартни стойности</translation>
 <translation id="5298219193514155779">Темата е създадена от</translation>
 <translation id="5299109548848736476">Заявка „Do Not Track“</translation>
@@ -3024,11 +3038,13 @@
 <translation id="5658415415603568799">За допълнителна сигурност Smart Lock ще ви помоли да въведете паролата си след 20 часа.</translation>
 <translation id="5659593005791499971">Имейл</translation>
 <translation id="5659833766619490117">Тази страница не можа да бъде преведена</translation>
+<translation id="5660204307954428567">Сдвояване с(ъс) <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Постоянен</translation>
 <translation id="5667546120811588575">Google Play се настройва...</translation>
 <translation id="5669267381087807207">Активира се</translation>
 <translation id="5669691691057771421">Въведете новия ПИН</translation>
 <translation id="5671641761787789573">Изображенията са блокирани</translation>
+<translation id="5673076758299428095">Изключване на Linux</translation>
 <translation id="5677503058916217575">Език на страницата:</translation>
 <translation id="5677928146339483299">Блокирано</translation>
 <translation id="5678550637669481956">Предоставен е достъп до „<ph name="VOLUME_NAME" />“ за четене и запис.</translation>
@@ -3193,6 +3209,9 @@
 <translation id="5920835625712313205">Запис на системни образи на Chrome OS</translation>
 <translation id="5921745308587794300">Завъртане на прозореца</translation>
 <translation id="5924047253200400718">Получете помощ<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Направете нова снимка или изберете съществуващо изображение или икона.
+    <ph name="LINE_BREAK" />
+   Снимката ще се показва на заключения екран и на този за вход в Chromebook.</translation>
 <translation id="5925147183566400388">Показалец на Практиката при предоставяне на удостоверителни услуги</translation>
 <translation id="592880897588170157">PDF файловете да се изтеглят, вместо да се отварят автоматично в Chrome</translation>
 <translation id="5931146425219109062">Четене и промяна на всичките ви данни в посещаваните от вас уебсайтове</translation>
@@ -3289,6 +3308,7 @@
 <translation id="6078752646384677957">Моля, проверете микрофона си и нивата на звука.</translation>
 <translation id="6080515710685820702">Използвате общ компютър? Отворете прозорец в режим „инкогнито“.</translation>
 <translation id="6080689532560039067">Проверете системния си час</translation>
+<translation id="6082111513049964958">Парола за отключване</translation>
 <translation id="6082651258230788217">Показване в лентата с инструменти</translation>
 <translation id="6086846494333236931">Инсталирано от администратора ви</translation>
 <translation id="6087960857463881712">Страхотно лице</translation>
@@ -3512,6 +3532,7 @@
 <translation id="642282551015776456">Това име не може да се използва като име на файл или на папка</translation>
 <translation id="642469772702851743">Това устройство (сериен № <ph name="SERIAL_NUMBER" />) бе заключено от собственика.</translation>
 <translation id="6426200009596957090">Отваряне на настройките на ChromeVox</translation>
+<translation id="6427415464407526111">Избиране на ключ за сигурност</translation>
 <translation id="6429384232893414837">Грешка при актуализирането</translation>
 <translation id="6430814529589430811">ASCII с кодиране Base64, единичен сертификат</translation>
 <translation id="6431217872648827691">Всички данни бяха шифровани с паролата ви за Google на
@@ -3938,6 +3959,7 @@
 <translation id="7099337801055912064">PPD файлът е твърде голям, за да бъде зареден. Максималният размер е 250 КБ.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> избрани елемента</translation>
 <translation id="7102687220333134671">Автоматичните актуализации са включени</translation>
+<translation id="7102832101143475489">Времето за изчакване на заявката изтече</translation>
 <translation id="7106346894903675391">Купуване на още хранилище...</translation>
 <translation id="7108338896283013870">Скриване</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> иска да използва камерата ви</translation>
@@ -4146,7 +4168,6 @@
 <translation id="7427348830195639090">Фонова страница: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Отваряне на всички в &amp;нов прозорец}=1{Отваряне в &amp;нов прозорец}other{Отваряне на всички (#) в &amp;нов прозорец}}</translation>
 <translation id="7434509671034404296">Програмист</translation>
-<translation id="7436470008146509879">Настройте Linux на своя <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ужас! При преименуването възникна грешка.</translation>
 <translation id="7441830548568730290">Други потребители</translation>
 <translation id="7442465037756169001">Хардуерът Hangouts Meet е готов за настройване.</translation>
@@ -4445,7 +4466,6 @@
 <translation id="7881969471599061635">Деактивиране на субтитрите</translation>
 <translation id="7882358943899516840">Тип на доставчика</translation>
 <translation id="7885253890047913815">Скорошни местоназначения</translation>
-<translation id="7886917304091689118">Изпълнява се в Chrome</translation>
 <translation id="7887334752153342268">Дублиране</translation>
 <translation id="7887864092952184874">Мишката с Bluetooth е сдвоена</translation>
 <translation id="7889565820482017512">Екранен размер</translation>
@@ -4558,6 +4578,7 @@
 <translation id="8028993641010258682">Размер</translation>
 <translation id="8030656706657716245">Добавяне на принтер</translation>
 <translation id="8032244173881942855">Предаването на раздела не е възможно.</translation>
+<translation id="8033958968890501070">Времето за изчакване изтече</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Отваряне на всички в прозорец в режим „&amp;инкогнито“}=1{Отваряне в прозорец в режим „&amp;инкогнито“}other{Отваряне на всички (#) в прозорец в режим „&amp;инкогнито“}}</translation>
 <translation id="8037117027592400564">Четене на целия текст, произнесен посредством синтезирания говор</translation>
 <translation id="8037357227543935929">Извеждане на запитване (по подразбиране)</translation>
@@ -4616,7 +4637,6 @@
 <translation id="8118860139461251237">Управление на изтеглянията ви</translation>
 <translation id="81238879832906896">Жълто-бяло цвете</translation>
 <translation id="8124313775439841391">Управлявано ONC</translation>
-<translation id="8125562866093998907">С цел допълнителна защита на профила ви сайтът иска да потвърди ключа ви за сигурност.</translation>
 <translation id="813082847718468539">Преглед на информацията за сайта</translation>
 <translation id="8131740175452115882">Потвърждаване</translation>
 <translation id="8133676275609324831">&amp;Показване в папката</translation>
@@ -4648,6 +4668,8 @@
 <translation id="8180239481735238521">страница</translation>
 <translation id="8180786512391440389"><ph name="EXTENSION" /> може да чете и изтрива изображения, видео- и звукови файлове в местоположенията с отметка.</translation>
 <translation id="8181215761849004992">Присъединяването към домейна не успя. Проверете дали профилът ви има достатъчно права за добавяне на устройства.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Не смятам, че този сайт трябва да бъде блокиран!</translation>
 <translation id="8184288427634747179">Превключване към <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Още информация</translation>
 <translation id="8185331656081929126">Показване на известия, когато в мрежата бъдат открити нови принтери</translation>
@@ -4791,6 +4813,7 @@
 <translation id="8434480141477525001">Порт за отстраняване на грешки в клиента с директно изпълнение</translation>
 <translation id="843760761634048214">Запазване на кредитната карта</translation>
 <translation id="8438328416656800239">Преминете към интелигентен браузър</translation>
+<translation id="8438566539970814960">Подобряване на търсенията и сърфирането</translation>
 <translation id="8439506636278576865">Предлагане страниците на този език да се превеждат</translation>
 <translation id="8446884382197647889">Научете повече</translation>
 <translation id="8447409163267621480">Използвайте или Ctrl, или Alt</translation>
@@ -4995,7 +5018,6 @@
 <translation id="8736288397686080465">Този сайт бе актуализиран на заден план.</translation>
 <translation id="8737685506611670901">Да отваря връзки от типа „<ph name="PROTOCOL" />“ вместо <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Картина в картината</translation>
 <translation id="8743390665131937741">Ниво на мащаба при увеличаване на целия екран:</translation>
 <translation id="8743864605301774756">Актуализирано преди 1 ч</translation>
 <translation id="874689135111202667">{0,plural, =1{Искате ли да качите един файл на този сайт?}other{Искате ли да качите # файла на този сайт?}}</translation>
@@ -5147,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – възникна срив</translation>
 <translation id="8983677657449185470">Помощ за подобряването на Безопасно сърфиране</translation>
 <translation id="8984654317541110628">URL адрес за споделяне на файлове</translation>
+<translation id="8984872292925913496">Намерете шестцифрения ПИН на гърба на ключа си</translation>
 <translation id="8986362086234534611">Забравяне</translation>
 <translation id="8986494364107987395">Автоматично изпращане до Google на статистически данни за използването на Chrome и сигнали за сривове</translation>
 <translation id="8987927404178983737">Месец</translation>
@@ -5269,6 +5292,7 @@
 <translation id="9158715103698450907">Ами сега!  При удостоверяването възникна проблем във връзката с мрежата.  Моля, проверете я и опитайте отново.</translation>
 <translation id="9161070040817969420">Подрамки за: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Изпращане на системни данни. Понастоящем до Google автоматично се изпращат диагностична информация и данни за употребата на устройството и приложенията. Тази настройка е наложена от собственика. Ако сте включили Допълнителна активност в мрежата и приложенията, съответната информация ще се съхранява в профила ви, така че можете да я управлявате от „Моята активност“. <ph name="BEGIN_LINK1" />Научете повече<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Картина в картината</translation>
 <translation id="9169496697824289689">Преглед на клавишните комбинации</translation>
 <translation id="9169931577761441333">Добавяне на <ph name="APP_NAME" /> към началния екран</translation>
 <translation id="9170397650136757332">Сега преместете малко пръста си, за да бъдат заснети всички части от отпечатъка ви</translation>
@@ -5319,7 +5343,6 @@
 <translation id="952992212772159698">Не е активиран</translation>
 <translation id="957960681186851048">Този сайт опита да изтегли автоматично няколко файла</translation>
 <translation id="9580706199804957">Не можа да се установи връзка с услугите на Google</translation>
-<translation id="958416628331784386">В този раздел се възпроизвежда видеоклип в режим „Картина в картината“</translation>
 <translation id="960719561871045870">Код на оператора</translation>
 <translation id="960987915827980018">Остава около 1 час</translation>
 <translation id="962802172452141067">Дърво на папките с отметки</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index 30b78fe..707fbcb 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -443,7 +443,6 @@
 <translation id="1657406563541664238">Google-এ ব্যবহার পরিসংখ্যান এবং ক্র্যাশ প্রতিবেদন স্বয়ংক্রিয়ভাবে পাঠিয়ে <ph name="PRODUCT_NAME" />-কে সর্বোত্তম করে তুলতে সাহায্য করুন</translation>
 <translation id="1658424621194652532">এই পৃষ্ঠাটি আপনার মাইক্রোফোন অ্যাক্সেস করছে৷</translation>
 <translation id="1660204651932907780">সাউন্ডটি প্লে করার জন্য সাইটটিতে অনুমতি দিন (প্রস্তাবিত)</translation>
-<translation id="1660938185063657230">আপনার নিরাপত্তা কী যাচাই করুন</translation>
 <translation id="1661156625580498328">AES এনক্রিপশন প্রয়োগ করুন (প্রস্তাবিত)।</translation>
 <translation id="1661245713600520330">এই পৃষ্ঠাটি মূল প্রক্রিয়া এবং পরবর্তীকালে লোড করতে নিবন্ধীকৃত মডিউলগুলিতে লোড হওয়া সকল মডিউল তালিকাবদ্ধ করে৷</translation>
 <translation id="166179487779922818">পাসওয়ার্ডটি অত্যন্ত ছোট৷</translation>
@@ -2402,7 +2401,6 @@
 <translation id="4856478137399998590">আপনার মোবাইল ডেটা পরিষেবা সক্রিয় করা হয়েছে এবং তা ব্যবহারের জন্য তৈরি আছে</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{সবগুলি &amp;ছদ্মবেশী উইন্ডোতে খুলুন}=1{&amp;ছদ্মবেশী উইন্ডোতে খুলুন}one{সবগুলি (#টি) &amp;ছদ্মবেশী উইন্ডোতে খুলুন}other{সবগুলি (#টি) &amp;ছদ্মবেশী উইন্ডোতে খুলুন}}</translation>
 <translation id="4858913220355269194">ফ্রিটজ</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - ভিডিওটি ছবির-মধ্যে-ছবি মোডে চালানো হচ্ছে</translation>
 <translation id="4862050643946421924">ডিভাইস যোগ করা হচ্ছে...</translation>
 <translation id="4862642413395066333">OCSP টি প্রতিক্রিয়া স্বাক্ষরিত হচ্ছে</translation>
 <translation id="4863769717153320198">মনে হচ্ছে <ph name="WIDTH" /> x <ph name="HEIGHT" /> (ডিফল্ট)</translation>
@@ -4350,7 +4348,6 @@
 <translation id="7881969471599061635">সাবটাইটেল অক্ষম করুন</translation>
 <translation id="7882358943899516840">পরিষেবা প্রদানকারীর ধরন</translation>
 <translation id="7885253890047913815">সাম্প্রতিক গন্তব্যস্থল</translation>
-<translation id="7886917304091689118">Chrome এ চালানো হচ্ছে</translation>
 <translation id="7887334752153342268">ডুপ্লিকেট</translation>
 <translation id="7887864092952184874">ব্লুটুথ মাউস যুক্ত হয়েছে</translation>
 <translation id="7889565820482017512">ডিসপ্লের মাপ</translation>
@@ -4516,7 +4513,6 @@
 <translation id="8118860139461251237">আপনার ডাউনলোডগুলি পরিচালনা করুন</translation>
 <translation id="81238879832906896">হলুদ এবং সাদা ফুল</translation>
 <translation id="8124313775439841391">ONC পরিচালিত করা হযেছে</translation>
-<translation id="8125562866093998907">আপনার অ্যাকাউন্টের অতিরিক্ত নিরাপত্তার জন্য সাইটটি আপনার নিরাপত্তা কী যাচাই করতে চায়।</translation>
 <translation id="813082847718468539">সাইটের তথ্য দর্শন করুন</translation>
 <translation id="8131740175452115882">নিশ্চিত হন</translation>
 <translation id="8133676275609324831">&amp;ফোল্ডারে দেখান</translation>
@@ -4890,7 +4886,6 @@
 <translation id="8736288397686080465">পটভূমিতে এই সাইটটি আপডেট করা হয়েছে৷</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />-এর পরিবর্তে <ph name="PROTOCOL" /> লিঙ্কসমূহ খুলুন</translation>
 <translation id="8737709691285775803">শিল</translation>
-<translation id="8741316211671074806">ছবির-মধ্যে-ছবি</translation>
 <translation id="8743390665131937741">ফুলস্ক্রিন জুম লেবেল:</translation>
 <translation id="8743864605301774756">১ঘণ্টা আগে আপডেট করা হয়েছে</translation>
 <translation id="874689135111202667">{0,plural, =1{এই সাইটে একটি ফাইল আপলোড করবেন?}one{এই সাইটে #টি ফাইল আপলোড করবেন?}other{এই সাইটে #টি ফাইল আপলোড করবেন?}}</translation>
@@ -5160,6 +5155,7 @@
 <translation id="9158715103698450907">ওহো! প্রমাণীকরণের সময় একটি নেটওয়ার্ক যোগাযোগ সমস্যা ঘটেছে৷ দয়া করে আপনার নেটওয়ার্ক সংযোগ পরীক্ষা করুন এবং আবার চেষ্টা করুন৷</translation>
 <translation id="9161070040817969420"><ph name="PARENT_SITE" /> এর জন্য উপফ্রেমগুলি</translation>
 <translation id="916501514001398070">সিস্টেম ডেটা পাঠান। এই ডিভাইসটি বর্তমানে Google-এ ডায়গনস্টিক ও ব্যবহারের ডেটা পাঠায়। এই সেটিংসটি মালিকের মাধ্যমে জারি করা হয়। আপনি যদি অতিরিক্ত ওয়েব ও অ্যাপ অ্যাক্টিভিটি চালু করে থাকেন, তাহলে এই তথ্যটি আপনার অ্যাকাউন্টে সেভ করা হবে, যাতে আপনি আমার অ্যাক্টিভিটিতে সেটি পরিচালনা করতে পারেন। <ph name="BEGIN_LINK1" />আরও জানুন<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">ছবির-মধ্যে-ছবি</translation>
 <translation id="9169496697824289689">কীবোর্ড শর্টকাটগুলি দেখুন</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> অ্যাপটি হোম স্ক্রিনে যোগ করুন</translation>
 <translation id="9170397650136757332">এবার আপনার আঙ্গুলের ছাপের সমস্ত অংশ ক্যাপচার করতে আপনার আঙ্গুল সামান্য সরান</translation>
@@ -5208,7 +5204,6 @@
 <translation id="952992212772159698">সক্রিয় নেই</translation>
 <translation id="957960681186851048">এই সাইটটি নিজে থেকে একাধিক ফাইল ডাউনলোড করার চেষ্টা করেছে</translation>
 <translation id="9580706199804957">Google পরিষেবাগুলির সাথে সংযুক্ত করা যায়নি</translation>
-<translation id="958416628331784386">এই ট্যাবটি ছবির-মধ্যে-ছবি মোডে একটি ভিডিও চালাচ্ছে।</translation>
 <translation id="960719561871045870">অপারেটরের কোড</translation>
 <translation id="960987915827980018">প্রায় 1 ঘণ্টা বাকি</translation>
 <translation id="962802172452141067">বুকমার্ক ফোল্ডার ট্রি</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index fc690fb..5f69a07 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Posa en pausa</translation>
 <translation id="1181037720776840403">Suprimeix</translation>
 <translation id="1183237619868651138">No es pot instal·lar <ph name="EXTERNAL_CRX_FILE" /> a la memòria cau local.</translation>
+<translation id="1183378459020939734">Estàs a punt per vincular la clau de seguretat?</translation>
 <translation id="1185924365081634987">També podeu provar de <ph name="GUEST_SIGNIN_LINK_START" />navegar com a convidat<ph name="GUEST_SIGNIN_LINK_END" /> per corregir aquest error de xarxa.</translation>
 <translation id="1186771945450942097">Suprimeix el programari maliciós</translation>
 <translation id="1187722533808055681">Activacions en estat de repòs</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Ajuda'ns a millorar <ph name="PRODUCT_NAME" /> enviant estadístiques d'ús i informes d'error a Google automàticament.</translation>
 <translation id="1658424621194652532">Aquesta pàgina té accés al micròfon.</translation>
 <translation id="1660204651932907780">Permet que els llocs web reprodueixin so (opció recomanada)</translation>
-<translation id="1660938185063657230">Verifica la clau de seguretat</translation>
 <translation id="1661156625580498328">Força l'encriptació AES (opció recomanada).</translation>
 <translation id="1661245713600520330">En aquesta pàgina s'enumeren tots els mòduls carregats al procés principal i els mòduls registrats per carregar-se més endavant.</translation>
 <translation id="166179487779922818">La contrasenya és massa curta.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Canvia al mode HUD tàctil</translation>
 <translation id="1784849162047402014">Queda poc espai al disc del dispositiu</translation>
 <translation id="1786636458339910689">Unitats d'equip</translation>
+<translation id="1792161662640298233">S'està verificant la clau de seguretat</translation>
 <translation id="1792619191750875668">Pantalla ampliada</translation>
 <translation id="1794791083288629568">Envia suggeriments per ajudar-nos a solucionar el problema.</translation>
 <translation id="1795214765651529549">Utilitza el tema clàssic</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Suprimeix la contrasenya de: <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Toca Notificacions d'aplicacions &gt; Serveis de Google Play.</translation>
 <translation id="1826516787628120939">S'està comprovant</translation>
-<translation id="1827750274519118478">El vídeo en mode de pantalla en pantalla deixarà de reproduir-se.</translation>
 <translation id="1828378091493947763">Aquest connector no és compatible amb el dispositiu</translation>
 <translation id="1828901632669367785">Imprimeix des de la finestra de diàleg del sistema…</translation>
 <translation id="1829192082282182671">&amp;Redueix</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" pot llegir imatges, vídeos i fitxers d'àudio de les ubicacions marcades, així com escriure-hi.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> està llest per completar la instal·lació</translation>
 <translation id="1871615898038944731">El dispositiu <ph name="DEVICE_TYPE" /> està actualitzat</translation>
+<translation id="1875312262568496299">Comença</translation>
 <translation id="1875387611427697908">Només pot afegir-se des de <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">No s'ha pogut obtenir el testimoni d'autenticació. Tanca la sessió i torna-la a iniciar per tornar-ho a provar.</translation>
 <translation id="1878302395768190018">Pots personalitzar aquesta opció en qualsevol moment des de la configuració de Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto feta per <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Envia al telèfon</translation>
 <translation id="2119349053129246860">Obre a <ph name="APP" /></translation>
+<translation id="2120297377148151361">Activitat i interaccions</translation>
 <translation id="2121825465123208577">Canvia la mida</translation>
 <translation id="2124930039827422115">{1,plural, =1{Puntuació mitjana d'1 usuari: <ph name="AVERAGE_RATING" />}other{Puntuació mitjana de # usuaris: <ph name="AVERAGE_RATING" />}}</translation>
 <translation id="2126167708562367080">L'administrador ha desactivat la sincronització.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Mida del paper</translation>
 <translation id="2318817390901984578">Per utilitzar les aplicacions d'Android, canvia i actualitza el dispositiu <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Sessió d'incògnit actual (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Utilitza la clau de seguretat amb <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Capçalera i peu de pàgina</translation>
 <translation id="2325650632570794183">Aquest tipus de fitxer no és compatible. Visiteu Chrome Web Store per trobar una aplicació que pugui obrir aquest tipus de fitxer.</translation>
 <translation id="2326931316514688470">&amp;Tornar a carregar l'aplicació</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Afegeix un nou ús compartit de fitxers</translation>
 <translation id="2367972762794486313">Mostra les aplicacions</translation>
 <translation id="2369536625682139252">Se suprimiran totes les dades que <ph name="SITE" /> hagi emmagatzemat, tret de les galetes.</translation>
+<translation id="237058345584060620">Vincula la teva clau amb aquest dispositiu per poder utilitzar-la per iniciar la sessió al teu compte</translation>
 <translation id="2371076942591664043">Obre quan &amp;acabi</translation>
 <translation id="2376559921867170420">Quan el dispositiu Chromebook estigui configurat, prem el botó de l'Assistent o digues "Ok Google" per obtenir ajuda de l'Assistent en qualsevol moment.</translation>
 <translation id="2377319039870049694">Canvia a la visualització de llista</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">No es troba el telèfon. Comprova que <ph name="DEVICE_TYPE" /> tingui el Bluetooth activat. &lt;a&gt;Més informació&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Afegeix una &amp;carpeta...</translation>
 <translation id="249113932447298600">El dispositiu <ph name="DEVICE_LABEL" /> no és compatible en aquests moments.</translation>
+<translation id="2492040222276243256">Mantén premut el botó de la clau de seguretat durant 5 segons com a mínim</translation>
 <translation id="2493021387995458222">Selecciona "una paraula cada vegada"</translation>
 <translation id="249303669840926644">El registre no s'ha pogut completar</translation>
 <translation id="2495777824269688114">Descobreix més funcions o obtén respostes. Selecciona ? per obtenir ajuda.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Estem esperant que hi hagi un sòcol disponible...</translation>
 <translation id="252219247728877310">Component no actualitzat</translation>
 <translation id="2522791476825452208">Molt a prop</translation>
+<translation id="2523184218357549926">Envia a Google els URL de les pàgines que visites</translation>
 <translation id="2525250408503682495">S'ha produït un error. No s'ha pogut muntar el cryptohome de l'aplicació de quiosc.</translation>
 <translation id="2526277209479171883">Instal·la i continua</translation>
 <translation id="2526590354069164005">Escriptori</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">No heu iniciat la sessió a <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Enhorabona. El servei de dades "<ph name="NAME" />" s'ha activat i ja es pot fer servir.</translation>
 <translation id="2564520396658920462">L'execució de JavaScript amb AppleScript està desactivada. Per activar-la, ves a la barra de menú i selecciona Visualitza &gt; Desenvolupador &gt; Permet JavaScript des d'Apple Events. Per obtenir més informació, consulta: https://support.google.com/chrome/?p=applescript.</translation>
+<translation id="2564653188463346023">Corrector ortogràfic millorat</translation>
 <translation id="2566124945717127842">Utilitzeu una operació Powerwash per restablir el dispositiu <ph name="IDS_SHORT_PRODUCT_NAME" /> i deixar-lo com si fos nou.</translation>
 <translation id="2567257616420533738">S'ha desat la contrasenya. Consulta i gestiona les contrasenyes desades a <ph name="SAVED_PASSWORDS_LINK" />.</translation>
 <translation id="2568774940984945469">Contenidor de la barra d'informació</translation>
@@ -1080,6 +1087,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> està utilitzant <ph name="USAGE" /> MB d'espai de disc.</translation>
 <translation id="2633212996805280240">Voleu eliminar "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> no ha pogut completar la instal·lació, però es continuarà executant des de la imatge de disc.</translation>
+<translation id="2633326789677284179">Cerca el nom imprès a la part posterior de la clau</translation>
 <translation id="2635276683026132559">Signatura</translation>
 <translation id="2636625531157955190">Chrome no pot accedir a la imatge.</translation>
 <translation id="2638087589890736295">Cal una frase de contrasenya per iniciar la sincronització</translation>
@@ -1393,6 +1401,7 @@
 <translation id="3090819949319990166">No es pot copiar el fitxer crx extern a <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" vinculat</translation>
 <translation id="3101709781009526431">Data i hora</translation>
+<translation id="3104900172193317662">Permet que s'utilitzi la teva clau de seguretat</translation>
 <translation id="310671807099593501">El lloc web està utilitzant el Bluetooth</translation>
 <translation id="3115128645424181617">No es troba el telèfon. Comprova que sigui a prop i que tingui el Bluetooth activat.</translation>
 <translation id="3115147772012638511">Esperant la memòria cau...</translation>
@@ -1875,6 +1884,7 @@
 <translation id="3839516600093027468">No permetis mai que <ph name="HOST" /> vegi el porta-retalls</translation>
 <translation id="3840053866656739575">S'ha perdut la connexió amb Chromebox. Apropeu-vos més o comproveu el dispositiu mentre provem de tornar a connectar.</translation>
 <translation id="3842552989725514455">Tipus de lletra Serif</translation>
+<translation id="3846116211488856547">Obtén eines per desenvolupar llocs web i aplicacions d'Android, entre d'altres. En instal·lar Linux, es baixaran <ph name="DOWNLOAD_SIZE" /> de dades.</translation>
 <translation id="385051799172605136">Enrere</translation>
 <translation id="3851428669031642514">Carrega els scripts insegurs</translation>
 <translation id="3855441664322950881">Empaqueta l'extensió</translation>
@@ -1898,6 +1908,7 @@
 <translation id="3872991219937722530">Allibera espai al disc o el dispositiu deixarà de respondre.</translation>
 <translation id="3878840326289104869">S'està creant un usuari supervisat</translation>
 <translation id="3879748587602334249">Gestor de baixades</translation>
+<translation id="3880709822663530586">La clau de seguretat només funciona quan el Bluetooth del dispositiu està activat</translation>
 <translation id="3888550877729210209">Escriu notes amb <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Afegeix OpenVPN/L2TP…</translation>
 <translation id="3893536212201235195">Llegir i canviar la configuració d'accessibilitat</translation>
@@ -2358,6 +2369,7 @@
 <translation id="4681930562518940301">Obre la &amp;imatge original en una pestanya nova</translation>
 <translation id="4682551433947286597">Els fons de pantalla apareixen a la pantalla d'inici de sessió.</translation>
 <translation id="4684427112815847243">Sincronitza-ho tot</translation>
+<translation id="4689235506267737042">Tria les teves preferències de demostració</translation>
 <translation id="4689421377817139245">Sincronitza aquesta adreça d'interès amb el teu iPhone</translation>
 <translation id="4690091457710545971">&lt;Quatre fitxers generats pel microprogramari per a Wi-Fi d'Intel: csr.lst, fh_regs.lst, radio_reg.lst i monitor.lst.sysmon. Els tres primers són fitxers binaris que contenen abocaments de registres i que Intel ha confirmat que no contenen informació personal ni dades que permetin identificar el dispositiu. L'últim fitxer és una traça d'execució del microprogramari d'Intel. Se n'ha suprimit tota la informació personal i les dades que permeten identificar el dispositiu, però és massa gran per mostrar-lo aquí. Aquests fitxers s'han generat per respondre a problemes recents relacionats amb la connexió Wi-Fi del dispositiu i es compartiran amb Intel per ajudar a resoldre'ls.&gt;</translation>
 <translation id="4692302215262324251"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ha inscrit <ph name="DEVICE_TYPE" /> correctament a la gestió empresarial.
@@ -2464,7 +2476,6 @@
 <translation id="4856478137399998590">El servei de dades mòbils està activat i a punt per fer servir</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Obre-les totes en una &amp;finestra d'incògnit}=1{Obre en una &amp;finestra d'incògnit}other{Obre-les totes (#) en una &amp;finestra d'incògnit}}</translation>
 <translation id="4858913220355269194">Pilota</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" />: s'està reproduint el vídeo en mode de pantalla en pantalla</translation>
 <translation id="4862050643946421924">S'està afegint el dispositiu...</translation>
 <translation id="4862642413395066333">Signatura de respostes OCSP</translation>
 <translation id="4863769717153320198">Resolució: <ph name="WIDTH" /> x <ph name="HEIGHT" /> (predeterminada)</translation>
@@ -2488,6 +2499,7 @@
 <translation id="4880827082731008257">Cerca a l'historial</translation>
 <translation id="4881695831933465202">Obre</translation>
 <translation id="4882473678324857464">Mou el focus a les adreces d'interès</translation>
+<translation id="4882831918239250449">Controla com s'utilitza l'historial de navegació per personalitzar la Cerca, els anuncis i molt més</translation>
 <translation id="4883178195103750615">Exporta les adreces d'interès a un fitxer HTML...</translation>
 <translation id="4883436287898674711">Tots els llocs de <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Gestor de tasques</translation>
@@ -2764,6 +2776,7 @@
 <translation id="5288678174502918605">T&amp;orna a obrir la pestanya tancada</translation>
 <translation id="52912272896845572">El fitxer de clau privada no és vàlid.</translation>
 <translation id="529175790091471945">Formata aquest dispositiu</translation>
+<translation id="5292195676005197571">Per fer servir la majoria de les claus, només cal prémer el botó</translation>
 <translation id="5293170712604732402">Restableix la configuració als valors predeterminats originals</translation>
 <translation id="5298219193514155779">Tema creat per</translation>
 <translation id="5299109548848736476">Opció de no seguiment</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Per a més seguretat, Smart Lock et demanarà que introdueixis la contrasenya al cap de 20 hores.</translation>
 <translation id="5659593005791499971">Correu electrònic</translation>
 <translation id="5659833766619490117">Aquesta pàgina no s'ha pogut traduir</translation>
+<translation id="5660204307954428567">Vincula la clau amb <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Permanent</translation>
 <translation id="5667546120811588575">S'està configurant Google Play...</translation>
 <translation id="5669267381087807207">S'està activant</translation>
 <translation id="5669691691057771421">Introdueix el PIN nou</translation>
 <translation id="5671641761787789573">S'han bloquejat les imatges</translation>
+<translation id="5673076758299428095">Atura Linux</translation>
 <translation id="5677503058916217575">Idioma de la pàgina:</translation>
 <translation id="5677928146339483299">Bloquejades</translation>
 <translation id="5678550637669481956">S'ha concedit accés de lectura i d'escriptura a <ph name="VOLUME_NAME" />.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Escriptor d'imatges del sistema Chrome OS</translation>
 <translation id="5921745308587794300">Gira la finestra</translation>
 <translation id="5924047253200400718">Obtén ajuda <ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Fes una foto o tria una foto o una icona existents.
+          <ph name="LINE_BREAK" />
+          Aquesta foto es mostrarà a les pantalles de bloqueig i d'inici de sessió de Chromebook.</translation>
 <translation id="5925147183566400388">Punter de declaració de pràctiques de certificació</translation>
 <translation id="592880897588170157">Baixa els fitxers PDF en lloc d'obrir-los automàticament a Chrome</translation>
 <translation id="5931146425219109062">Llegir i modificar les dades dels llocs web que es visitin</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Comprova els nivells del micròfon i de l'àudio.</translation>
 <translation id="6080515710685820702">Utilitzes un ordinador compartit? Prova d'obrir una finestra d'incògnit.</translation>
 <translation id="6080689532560039067">Comprova l'hora del sistema</translation>
+<translation id="6082111513049964958">Contrasenya per desbloquejar</translation>
 <translation id="6082651258230788217">Mostra a la barra d'eines</translation>
 <translation id="6086846494333236931">Extensió instal·lada per l'administrador</translation>
 <translation id="6087960857463881712">Cara de fascinació</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Aquest nom no es pot utilitzar com a nom de fitxer o de carpeta</translation>
 <translation id="642469772702851743">El propietari ha bloquejat aquest dispositiu (NS: <ph name="SERIAL_NUMBER" />).</translation>
 <translation id="6426200009596957090">Obre la configuració de ChromeVox</translation>
+<translation id="6427415464407526111">Selecciona la teva clau de seguretat</translation>
 <translation id="6429384232893414837">Error d'actualització</translation>
 <translation id="6430814529589430811">ASCII codificat en Base64, certificat únic</translation>
 <translation id="6431217872648827691">Totes les dades s'han encriptat amb la vostra contrasenya de Google en la data següent: <ph name="TIME" /></translation>
@@ -3938,6 +3958,7 @@
 <translation id="7099337801055912064">No es poden carregar fitxers PPD grans. La mida màxima és de 250 kB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> elements seleccionats</translation>
 <translation id="7102687220333134671">Les actualitzacions automàtiques estan activades</translation>
+<translation id="7102832101143475489">S'ha esgotat el temps d'espera de la sol·licitud</translation>
 <translation id="7106346894903675391">Compra més emmagatzematge...</translation>
 <translation id="7108338896283013870">Amaga</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> vol utilitzar la càmera</translation>
@@ -4146,7 +4167,6 @@
 <translation id="7427348830195639090">Pàgina en segon pla: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Obre-les totes en una &amp;finestra nova}=1{Obre en una &amp;finestra nova}other{Obre-les totes (#) en una &amp;finestra nova}}</translation>
 <translation id="7434509671034404296">Desenvolupador</translation>
-<translation id="7436470008146509879">Configura Linux al dispositiu <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">S'ha produït un error durant el canvi de nom.</translation>
 <translation id="7441830548568730290">Altres usuaris</translation>
 <translation id="7442465037756169001">El programari de Hangouts Meet ja es pot configurar.</translation>
@@ -4443,7 +4463,6 @@
 <translation id="7881969471599061635">Desactiva els subtítols</translation>
 <translation id="7882358943899516840">Tipus de proveïdor</translation>
 <translation id="7885253890047913815">Destinacions recents</translation>
-<translation id="7886917304091689118">S'està executant a Chrome</translation>
 <translation id="7887334752153342268">Duplica</translation>
 <translation id="7887864092952184874">Ratolí Bluetooth vinculat</translation>
 <translation id="7889565820482017512">Mida de visualització</translation>
@@ -4556,6 +4575,7 @@
 <translation id="8028993641010258682">Mida</translation>
 <translation id="8030656706657716245">Afegeix una impressora</translation>
 <translation id="8032244173881942855">No es pot emetre la pestanya.</translation>
+<translation id="8033958968890501070">Temps d'espera esgotat</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Obre-les totes en una &amp;finestra d'incògnit}=1{Obre en una &amp;finestra d'incògnit}other{Obre-les totes (#) en una &amp;finestra d'incògnit}}</translation>
 <translation id="8037117027592400564">Llegeix tot el text en veu alta mitjançant una síntesi de veu</translation>
 <translation id="8037357227543935929">Pregunta (opció predeterminada)</translation>
@@ -4614,7 +4634,6 @@
 <translation id="8118860139461251237">Gestionar les baixades</translation>
 <translation id="81238879832906896">Flor groga i blanca</translation>
 <translation id="8124313775439841391">ONC gestionat</translation>
-<translation id="8125562866093998907">El lloc web vol verificar la clau de seguretat per protegir millor el teu compte.</translation>
 <translation id="813082847718468539">Mostra la informació del lloc</translation>
 <translation id="8131740175452115882">Confirma</translation>
 <translation id="8133676275609324831">&amp;Mostra a la carpeta</translation>
@@ -4646,6 +4665,8 @@
 <translation id="8180239481735238521">pàgina</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" pot llegir imatges, vídeos i fitxers d'àudio a les ubicacions marcades, així com suprimir aquest contingut.</translation>
 <translation id="8181215761849004992">No es pot connectar el domini. Comprova al compte si tens prou privilegis per afegir-hi dispositius.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    No crec que calgui bloquejar aquest lloc web.</translation>
 <translation id="8184288427634747179">Canvia a <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Més informació</translation>
 <translation id="8185331656081929126">Mostra notificacions quan es detectin impressores noves a la xarxa</translation>
@@ -4789,6 +4810,7 @@
 <translation id="8434480141477525001">Port de depuració NaCI</translation>
 <translation id="843760761634048214">Desa la targeta de crèdit</translation>
 <translation id="8438328416656800239">Canvia a un navegador intel·ligent</translation>
+<translation id="8438566539970814960">Millora les cerques i la navegació</translation>
 <translation id="8439506636278576865">Proposa'm traduir pàgines en aquest idioma</translation>
 <translation id="8446884382197647889">Més informació</translation>
 <translation id="8447409163267621480">Inclou la tecla Ctrl o Alt</translation>
@@ -4993,7 +5015,6 @@
 <translation id="8736288397686080465">El lloc s'ha actualitzat en segon pla.</translation>
 <translation id="8737685506611670901">Obrir els enllaços del protocol <ph name="PROTOCOL" /> en lloc del gestor <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Pantalla en pantalla</translation>
 <translation id="8743390665131937741">Nivell de zoom de la pantalla completa:</translation>
 <translation id="8743864605301774756">S'ha actualitzat fa 1 hora</translation>
 <translation id="874689135111202667">{0,plural, =1{Vols penjar 1 fitxer a aquest lloc web?}other{Vols penjar # fitxers a aquest lloc web?}}</translation>
@@ -5145,6 +5166,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: ha fallat</translation>
 <translation id="8983677657449185470">Ajuda a millorar Navegació segura</translation>
 <translation id="8984654317541110628">URL de l'ús compartit del fitxer</translation>
+<translation id="8984872292925913496">Cerca el PIN de 6 dígits a la part posterior de la clau</translation>
 <translation id="8986362086234534611">Oblida</translation>
 <translation id="8986494364107987395">Envia automàticament estadístiques d'ús i informes d'error a Google</translation>
 <translation id="8987927404178983737">Mes</translation>
@@ -5267,6 +5289,7 @@
 <translation id="9158715103698450907">S'ha produït un problema de comunicació de xarxa durant l'autenticació. Comproveu la connexió de xarxa i torneu-ho a provar.</translation>
 <translation id="9161070040817969420">Submarcs per a: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Envia dades del sistema. Actualment, aquest dispositiu envia automàticament a Google dades de diagnòstic i d'ús del dispositiu i de les aplicacions. El propietari ha definit aquesta opció de configuració. Si també has activat l'opció Activitat al web i en aplicacions, aquesta informació es desarà al teu compte perquè la puguis gestionar a La meva activitat. <ph name="BEGIN_LINK1" />Obtén més informació<ph name="END_LINK1" />.</translation>
+<translation id="916607977885256133">Pantalla en pantalla</translation>
 <translation id="9169496697824289689">Mostra les tecles de drecera</translation>
 <translation id="9169931577761441333">Afegeix <ph name="APP_NAME" /> a la pantalla d'inici</translation>
 <translation id="9170397650136757332">Ara mou el dit lleugerament perquè es pugui captar l’empremta digital sencera</translation>
@@ -5317,7 +5340,6 @@
 <translation id="952992212772159698">No activat</translation>
 <translation id="957960681186851048">Aquest lloc web ha provat de baixar diversos fitxers automàticament</translation>
 <translation id="9580706199804957">No s'ha pogut establir la connexió amb els serveis de Google</translation>
-<translation id="958416628331784386">En aquesta pestanya s'està reproduint un vídeo en mode de pantalla en pantalla.</translation>
 <translation id="960719561871045870">Codi d'operador</translation>
 <translation id="960987915827980018">Queda cosa d'una hora</translation>
 <translation id="962802172452141067">Arbre de carpetes d'adreces d'interès</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 93fcbc30..4273d7e 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Pomozte <ph name="PRODUCT_NAME" /> zlepšit tím, že budete Googlu automaticky zasílat statistiky využití a zprávy o selhání aplikace</translation>
 <translation id="1658424621194652532">Tato stránka používá váš mikrofon.</translation>
 <translation id="1660204651932907780">Povolit webům přehrávat zvuky (doporučeno)</translation>
-<translation id="1660938185063657230">Ověření Bezpečnostního klíče</translation>
 <translation id="1661156625580498328">Vynutit šifrování AES (doporučeno).</translation>
 <translation id="1661245713600520330">Tato stránka uvádí všechny moduly načtené v hlavním procesu a moduly registrované k pozdějšímu načtení.</translation>
 <translation id="166179487779922818">Heslo je příliš krátké.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752">Smazat heslo uživatele <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Klepněte na Oznámení z aplikací &gt; Služby Google Play.</translation>
 <translation id="1826516787628120939">Probíhá kontrola</translation>
-<translation id="1827750274519118478">Video v režimu obraz v obraze se přestane přehrávat.</translation>
 <translation id="1828378091493947763">Tento plugin v tomto zařízení není podporován</translation>
 <translation id="1828901632669367785">Vytisknout prostřednictvím dialogového okna systému...</translation>
 <translation id="1829192082282182671">&amp;Oddálit</translation>
@@ -2463,7 +2461,6 @@
 <translation id="4856478137399998590">Datové služby jsou aktivovány a můžete je začít používat</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Otevřít vše v &amp;anonymním okně}=1{Otevřít v &amp;anonymním okně}few{Otevřít vše (#) v &amp;anonymním okně}many{Otevřít vše (#) v &amp;anonymním okně}other{Otevřít vše (#) v &amp;anonymním okně}}</translation>
 <translation id="4858913220355269194">Fotbal</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – video se přehrává v režimu obrazu v obraze</translation>
 <translation id="4862050643946421924">Přidávání zařízení...</translation>
 <translation id="4862642413395066333">Podepisování odpovědí OCSP</translation>
 <translation id="4863769717153320198">Vypadá jako <ph name="WIDTH" /> × <ph name="HEIGHT" /> (výchozí)</translation>
@@ -4143,7 +4140,6 @@
 <translation id="7427348830195639090">Stránka na pozadí: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Otevřít vše v &amp;novém okně}=1{Otevřít v &amp;novém okně}few{Otevřít vše (#) v &amp;novém okně}many{Otevřít vše (#) v &amp;novém okně}other{Otevřít vše (#) v &amp;novém okně}}</translation>
 <translation id="7434509671034404296">Vývojář</translation>
-<translation id="7436470008146509879">Nainstalujte si do zařízení <ph name="DEVICE_TYPE" /> systém Linux</translation>
 <translation id="7436921188514130341">Aj, chyba! Při přejmenovávání došlo k chybě.</translation>
 <translation id="7441830548568730290">Ostatní uživatelé</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware je připraven k nastavení.</translation>
@@ -4440,7 +4436,6 @@
 <translation id="7881969471599061635">Vypnout titulky</translation>
 <translation id="7882358943899516840">Typ poskytovatele</translation>
 <translation id="7885253890047913815">Nedávné cíle</translation>
-<translation id="7886917304091689118">Spuštěno v Chromu</translation>
 <translation id="7887334752153342268">Duplikovat</translation>
 <translation id="7887864092952184874">Myš Bluetooth byla spárována</translation>
 <translation id="7889565820482017512">Velikost zobrazení</translation>
@@ -4611,7 +4606,6 @@
 <translation id="8118860139461251237">Správa stahování</translation>
 <translation id="81238879832906896">Žluto-bílá květina</translation>
 <translation id="8124313775439841391">Spravovaná ONC</translation>
-<translation id="8125562866093998907">Web chce kvůli lepšímu zabezpečení vašeho účtu ověřit váš bezpečnostní klíč.</translation>
 <translation id="813082847718468539">Zobrazit informace o stránkách</translation>
 <translation id="8131740175452115882">Potvrdit</translation>
 <translation id="8133676275609324831">Zobrazit ve &amp;složce</translation>
@@ -4990,7 +4984,6 @@
 <translation id="8736288397686080465">Tento web byl na pozadí aktualizován.</translation>
 <translation id="8737685506611670901">Otevírat odkazy <ph name="PROTOCOL" /> namísto aplikace <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Obraz v obraze</translation>
 <translation id="8743390665131937741">Úroveň přiblížení lupy celé obrazovky:</translation>
 <translation id="8743864605301774756">Aktualizováno před 1 h</translation>
 <translation id="874689135111202667">{0,plural, =1{Nahrát jeden soubor na tento web?}few{Nahrát # soubory na tento web?}many{Nahrát # souboru na tento web?}other{Nahrát # souborů na tento web?}}</translation>
@@ -5264,6 +5257,7 @@
 <translation id="9158715103698450907">Jejda! Během ověřování došlo k problému s komunikací se sítí. Zkontrolujte prosím připojení k síti a zkuste to znovu.</translation>
 <translation id="9161070040817969420">Dílčí rámce webu: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Odesílání údajů o systému. Toto zařízení v současné době do Googlu automaticky odesílá diagnostické údaje a údaje o využití zařízení a aplikací. Toto nastavení je vynuceno vlastníkem. Pokud jste zapnuli další Aktivitu na webu a v aplikacích, budou tyto informace uloženy ve vašem účtu a budete je moci spravovat na panelu Moje aktivita. <ph name="BEGIN_LINK1" />Další informace<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Obraz v obraze</translation>
 <translation id="9169496697824289689">Zobrazit klávesové zkratky</translation>
 <translation id="9169931577761441333">Přidat aplikaci <ph name="APP_NAME" /> na plochu</translation>
 <translation id="9170397650136757332">Nyní prst lehce natočte, aby se zaznamenaly všechny části otisku</translation>
@@ -5314,7 +5308,6 @@
 <translation id="952992212772159698">Není aktivováno</translation>
 <translation id="957960681186851048">Tento web se pokusil automaticky stáhnout několik souborů</translation>
 <translation id="9580706199804957">Ke službám Google se nelze připojit</translation>
-<translation id="958416628331784386">Na této kartě se přehrává video v režimu obrazu v obraze</translation>
 <translation id="960719561871045870">Kód operátora</translation>
 <translation id="960987915827980018">Zbývá přibližně hodina</translation>
 <translation id="962802172452141067">Strom seznamu záložek</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 593a09b4..16be8800 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -451,7 +451,6 @@
 <translation id="1657406563541664238">Vær med til at gøre <ph name="PRODUCT_NAME" /> bedre ved automatisk at sende forbrugsstatistikker og rapportere om nedbrud til Google</translation>
 <translation id="1658424621194652532">Denne side har adgang til din mikrofon.</translation>
 <translation id="1660204651932907780">Tillad, at websites afspiller lyd (anbefales)</translation>
-<translation id="1660938185063657230">Bekræft din sikkerhedsnøgle</translation>
 <translation id="1661156625580498328">Gennemtving AES-kryptering (anbefalet).</translation>
 <translation id="1661245713600520330">Denne side angiver alle moduler, der er indlæst i hovedprocessen, og moduler, der er registreret til at blive indlæst på et senere tidspunkt.</translation>
 <translation id="166179487779922818">Adgangskoden er for kort.</translation>
@@ -563,7 +562,6 @@
 <translation id="1818007989243628752">Slet adgangskoden til <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Tryk på Appunderretninger &gt; Google Play-tjenester.</translation>
 <translation id="1826516787628120939">Kontrollerer</translation>
-<translation id="1827750274519118478">Afspilningen af videoen i integreret billede afbrydes.</translation>
 <translation id="1828378091493947763">Dette plugin understøttes ikke på denne enhed</translation>
 <translation id="1828901632669367785">Dialogboks til Udskriv via system...</translation>
 <translation id="1829192082282182671">Zoom &amp;ud</translation>
@@ -2464,7 +2462,6 @@
 <translation id="4856478137399998590">Din mobildatatjeneste er aktiveret og klar til brug</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Åbn alle i &amp;inkognitovindue}=1{Åbn i &amp;inkognitovindue}one{Åbn (#) i &amp;inkognitovindue}other{Åbn alle (#) i &amp;inkognitovindue}}</translation>
 <translation id="4858913220355269194">Laudrup</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – Afspiller video i integreret billede</translation>
 <translation id="4862050643946421924">Tilføjer enhed…</translation>
 <translation id="4862642413395066333">Signering af OCSP-svar</translation>
 <translation id="4863769717153320198">Ligner <ph name="WIDTH" /> x <ph name="HEIGHT" /> (standard)</translation>
@@ -2530,7 +2527,7 @@
 <translation id="4925542575807923399">Kontoadministratoren kræver, at denne konto er den første konto, der logges ind på, i en session med samlet login fra flere konti.</translation>
 <translation id="4927753642311223124">Der er intet at se her, så du kan bare gå videre.</translation>
 <translation id="4927846293686536410">Log ind for at få dine bogmærker, din historik, dine adgangskoder og dine øvrige indstillinger på alle dine enheder. Du bliver også automatisk logget ind på dine Google-tjenester.</translation>
-<translation id="4929386379796360314">Udskriv destinationer</translation>
+<translation id="4929386379796360314">Udskriftsdestinationer</translation>
 <translation id="4931132176527519925">Brug altid spejling</translation>
 <translation id="4933484234309072027">indlejret på <ph name="URL" /></translation>
 <translation id="493571969993549666">Tilføj en administreret bruger</translation>
@@ -4146,7 +4143,6 @@
 <translation id="7427348830195639090">Baggrundsside: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Åbn alle i &amp;nyt vindue}=1{Åbn i &amp;nyt vindue}one{Åbn (#) i &amp;nyt vindue}other{Åbn alle (#) i &amp;nyt vindue}}</translation>
 <translation id="7434509671034404296">Udvikler</translation>
-<translation id="7436470008146509879">Konfigurer Linux på din <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Øv, surt! Der opstod en fejl under omdøbningen.</translation>
 <translation id="7441830548568730290">Andre brugere</translation>
 <translation id="7442465037756169001">Dit Hangouts Meet-hardware er klar til konfiguration.</translation>
@@ -4444,7 +4440,6 @@
 <translation id="7881969471599061635">Deaktiver undertekster</translation>
 <translation id="7882358943899516840">Udbydertype</translation>
 <translation id="7885253890047913815">Seneste destinationer</translation>
-<translation id="7886917304091689118">Kører i Chrome</translation>
 <translation id="7887334752153342268">Dupliker</translation>
 <translation id="7887864092952184874">Bluetooth-mus er parret</translation>
 <translation id="7889565820482017512">Skærmstørrelse</translation>
@@ -4615,7 +4610,6 @@
 <translation id="8118860139461251237">Administrere dine downloads</translation>
 <translation id="81238879832906896">Gul og hvid blomst</translation>
 <translation id="8124313775439841391">Administreret ONC</translation>
-<translation id="8125562866093998907">Websitet vil gerne bekræfte din sikkerhedsnøgle for at føje et ekstra lag sikkerhed til din konto.</translation>
 <translation id="813082847718468539">Se websiteoplysninger</translation>
 <translation id="8131740175452115882">Bekræft</translation>
 <translation id="8133676275609324831">&amp;Vis i mappe</translation>
@@ -4994,7 +4988,6 @@
 <translation id="8736288397686080465">Dette website er blevet opdateret i baggrunden.</translation>
 <translation id="8737685506611670901">Åbne <ph name="PROTOCOL" />-links i stedet for <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Integreret billede</translation>
 <translation id="8743390665131937741">Zoomniveau i fuld skærm:</translation>
 <translation id="8743864605301774756">Opdateret for én time siden</translation>
 <translation id="874689135111202667">{0,plural, =1{Vil du uploade én fil til dette website?}one{Vil du uploade # fil til dette website?}other{Vil du uploade # filer til dette website?}}</translation>
@@ -5269,6 +5262,7 @@
 <translation id="9158715103698450907">Ups! Der opstod et problem med netværkskommunikationen under godkendelsen. Kontrollér din netværksforbindelse, og prøv igen.</translation>
 <translation id="9161070040817969420">Underrammer til: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Send systemdata. Denne enhed sender i øjeblikket diagnostik og data om enheds- og appforbrug til Google. Indstillingen håndhæves af ejeren. Hvis du derudover har aktiveret Web- og app-aktivitet, gemmes disse oplysninger på din konto, så du kan administrere dem i Min aktivitet. <ph name="BEGIN_LINK1" />Få flere oplysninger<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Integreret billede</translation>
 <translation id="9169496697824289689">Se tastaturgenveje</translation>
 <translation id="9169931577761441333">Føj <ph name="APP_NAME" /> til startskærmen</translation>
 <translation id="9170397650136757332">Bevæg derefter fingeren en smule for at registrere hele fingeraftrykket</translation>
@@ -5319,7 +5313,6 @@
 <translation id="952992212772159698">Ikke aktiveret</translation>
 <translation id="957960681186851048">Dette website har forsøgt at downloade flere filer automatisk</translation>
 <translation id="9580706199804957">Der kunne ikke oprettes forbindelse til Google-tjenester</translation>
-<translation id="958416628331784386">Denne fane afspiller en video i integreret billede.</translation>
 <translation id="960719561871045870">Operatørkode</translation>
 <translation id="960987915827980018">Omkring én time tilbage</translation>
 <translation id="962802172452141067">Bogmærkemappe i trævisning</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 72f181b..604abd5 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Anhalten</translation>
 <translation id="1181037720776840403">Entfernen</translation>
 <translation id="1183237619868651138"><ph name="EXTERNAL_CRX_FILE" /> kann nicht im lokalen Cache installiert werden.</translation>
+<translation id="1183378459020939734">Bereit zum Koppeln des Sicherheitsschlüssels?</translation>
 <translation id="1185924365081634987">Sie können auch <ph name="GUEST_SIGNIN_LINK_START" />als Gast surfen<ph name="GUEST_SIGNIN_LINK_END" />, um den Netzwerkfehler zu beheben.</translation>
 <translation id="1186771945450942097">Schädliche Software entfernen</translation>
 <translation id="1187722533808055681">Inaktive Weckbefehle</translation>
@@ -451,7 +452,6 @@
 <translation id="1657406563541664238">Zur Verbesserung von <ph name="PRODUCT_NAME" /> Nutzungsstatistiken und Absturzberichte automatisch an Google senden</translation>
 <translation id="1658424621194652532">Diese Seite greift auf Ihr Mikrofon zu.</translation>
 <translation id="1660204651932907780">Wiedergabe von Ton auf Websites zulassen (empfohlen)</translation>
-<translation id="1660938185063657230">Sicherheitsschlüssel überprüfen</translation>
 <translation id="1661156625580498328">AES-Verschlüsselung durchsetzen (empfohlen).</translation>
 <translation id="1661245713600520330">Auf dieser Seite werden alle Module aufgelistet, die im Hauptprozess geladen werden, sowie Module, die zu einem späteren Zeitpunkt geladen werden.</translation>
 <translation id="166179487779922818">Das Passwort ist zu kurz.</translation>
@@ -538,6 +538,7 @@
 <translation id="1782530111891678861">Touch-HUD-Modus ändern</translation>
 <translation id="1784849162047402014">Gerät verfügt über wenig Speicherplatz</translation>
 <translation id="1786636458339910689">Teamablagen</translation>
+<translation id="1792161662640298233">Sicherheitsschlüssel wird geprüft</translation>
 <translation id="1792619191750875668">Erweiterter Bildschirm</translation>
 <translation id="1794791083288629568">Helfen Sie uns, dieses Problem zu beheben, indem Sie uns Feedback senden.</translation>
 <translation id="1795214765651529549">Klassisches Design verwenden</translation>
@@ -563,7 +564,6 @@
 <translation id="1818007989243628752">Passwort löschen für <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Tippen Sie auf "App-Benachrichtigungen" &gt; "Google Play-Dienste".</translation>
 <translation id="1826516787628120939">Überprüfung läuft</translation>
-<translation id="1827750274519118478">Die Wiedergabe des Videos im Bild-im-Bild-Modus wird gestoppt.</translation>
 <translation id="1828378091493947763">Dieses Plug-in wird auf diesem Gerät nicht unterstützt</translation>
 <translation id="1828901632669367785">Über das Systemdialogfeld drucken...</translation>
 <translation id="1829192082282182671">Ver&amp;kleinern</translation>
@@ -599,6 +599,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" kann Bilder, Video- und Sounddateien an den geprüften Orten lesen und schreiben.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> ist zum Abschließen der Installation bereit.</translation>
 <translation id="1871615898038944731">Ihr <ph name="DEVICE_TYPE" /> ist auf dem neuesten Stand</translation>
+<translation id="1875312262568496299">Starten</translation>
 <translation id="1875387611427697908">Dieser Artikel kann nur über den <ph name="CHROME_WEB_STORE" /> hinzugefügt werden</translation>
 <translation id="1877520246462554164">Authentifizierungs-Token konnte nicht abgerufen werden. Bitte melden Sie sich ab und dann wieder an, um es noch einmal zu versuchen.</translation>
 <translation id="1878302395768190018">Diese Option lässt sich jederzeit in den Chrome-Einstellungen anpassen</translation>
@@ -745,6 +746,7 @@
 <translation id="2114896190328250491">Foto von <ph name="NAME" /></translation>
 <translation id="2115103655317273167">An Smartphone senden</translation>
 <translation id="2119349053129246860">In <ph name="APP" /> öffnen</translation>
+<translation id="2120297377148151361">Aktivitäten und Interaktionen</translation>
 <translation id="2121825465123208577">Größe anpassen</translation>
 <translation id="2124930039827422115">{1,plural, =1{Von 1 Nutzer als <ph name="AVERAGE_RATING" /> bewertet.}other{Von # Nutzern als <ph name="AVERAGE_RATING" /> bewertet.}}</translation>
 <translation id="2126167708562367080">Synchronisierung wurde von Ihrem Administrator deaktiviert.</translation>
@@ -878,6 +880,7 @@
 <translation id="2318143611928805047">Papierformat</translation>
 <translation id="2318817390901984578">Um Android-Apps zu nutzen, müssen Sie Ihr <ph name="DEVICE_TYPE" /> aufladen und aktualisieren.</translation>
 <translation id="2318923050469484167">Aktuelle Inkognitositzung (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Sicherheitsschlüssel mit <ph name="APP_NAME" /> verwenden</translation>
 <translation id="2322193970951063277">Kopf- und Fußzeilen</translation>
 <translation id="2325650632570794183">Dieser Dateityp wird nicht unterstützt. Finden Sie im Chrome Web Store eine App, mit der Sie diesen Dateityp öffnen können.</translation>
 <translation id="2326931316514688470">App &amp;neu laden</translation>
@@ -911,6 +914,7 @@
 <translation id="2367199180085172140">Netzwerkfreigabe hinzufügen</translation>
 <translation id="2367972762794486313">Apps anzeigen</translation>
 <translation id="2369536625682139252">Alle von <ph name="SITE" /> gespeicherten Daten werden gelöscht, mit Ausnahme von Cookies.</translation>
+<translation id="237058345584060620">Koppeln Sie Ihren Schlüssel mit diesem Gerät, um sich damit in Ihrem Konto anmelden zu können</translation>
 <translation id="2371076942591664043">Nach &amp;Download öffnen</translation>
 <translation id="2376559921867170420">Wenn Ihr Chromebook eingerichtet ist, können Sie die Assistant-Taste drücken oder "Ok Google" sagen, um sich jederzeit von Assistant helfen zu lassen.</translation>
 <translation id="2377319039870049694">Zur Listenansicht wechseln</translation>
@@ -939,7 +943,7 @@
 <translation id="2431027948063157455">Google Assistant konnte nicht geladen werden. Überprüfen Sie Ihre Netzverbindung und versuchen Sie es noch einmal.</translation>
 <translation id="2433452467737464329">Fügen Sie einen Anfrageparameter zur URL hinzu, damit die Seite automatisch aktualisiert wird: chrome://network/?refresh=&lt;sec&gt;</translation>
 <translation id="2433507940547922241">Darstellung</translation>
-<translation id="2433836460518180625">Nur Gerät entsperren</translation>
+<translation id="2433836460518180625">Gerät nur entsperren</translation>
 <translation id="2435248616906486374">Netzwerkverbindung getrennt</translation>
 <translation id="2435457462613246316">Passwort anzeigen</translation>
 <translation id="2436186046335138073">Öffnen aller <ph name="PROTOCOL" />-Links durch <ph name="HANDLER_HOSTNAME" /> zulassen?</translation>
@@ -976,6 +980,7 @@
 <translation id="248861575772995840">Smartphone wurde nicht gefunden. Vergewissern Sie sich, dass auf Ihrem <ph name="DEVICE_TYPE" /> Bluetooth aktiviert ist. &lt;a&gt;Weitere Informationen&lt;/a&gt;</translation>
 <translation id="2489918096470125693">&amp;Ordner hinzufügen...</translation>
 <translation id="249113932447298600">Das Gerät <ph name="DEVICE_LABEL" /> wird derzeit nicht unterstützt.</translation>
+<translation id="2492040222276243256">Halten Sie die Taste auf Ihrem Sicherheitsschlüssel mindestens fünf Sekunden lang gedrückt</translation>
 <translation id="2493021387995458222">"Jeweils ein Wort" auswählen</translation>
 <translation id="249303669840926644">Registrierung konnte nicht abgeschlossen werden</translation>
 <translation id="2495777824269688114">Lernen Sie weitere Funktionen kennen oder erhalten Sie Antworten auf Ihre Fragen. Wählen Sie "?", um die Hilfe aufzurufen.</translation>
@@ -1003,6 +1008,7 @@
 <translation id="2520644704042891903">Warten auf verfügbaren Socket...</translation>
 <translation id="252219247728877310">Komponente nicht aktualisiert</translation>
 <translation id="2522791476825452208">Sehr nah</translation>
+<translation id="2523184218357549926">URLs der von Ihnen besuchten Seiten werden an Google gesendet</translation>
 <translation id="2525250408503682495">Cryptohome für die Kioskanwendung konnte nicht bereitgestellt werden.</translation>
 <translation id="2526277209479171883">Installieren und fortfahren</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1029,6 +1035,7 @@
 <translation id="2562743677925229011">Nicht in <ph name="SHORT_PRODUCT_NAME" /> angemeldet</translation>
 <translation id="2563856802393254086">Herzlichen Glückwunsch! Ihr Datendienst "<ph name="NAME" />" wurde aktiviert und ist einsatzbereit.</translation>
 <translation id="2564520396658920462">Die Ausführung von JavaScript über AppleScript ist deaktiviert. Wenn Sie diese Funktion aktivieren möchten, gehen Sie zu "Ansicht" &gt; "Entwickler" &gt; "JavaScript von Apple Events erlauben". Weitere Informationen finden Sie unter https://support.google.com/chrome/?p=applescript.</translation>
+<translation id="2564653188463346023">Erweiterte Rechtschreibprüfung</translation>
 <translation id="2566124945717127842">Durch einen Powerwash wird Ihr <ph name="IDS_SHORT_PRODUCT_NAME" />-Gerät auf den Werkszustand zurückgesetzt.</translation>
 <translation id="2567257616420533738">Passwort gespeichert. Sie können gespeicherte Passwörter unter <ph name="SAVED_PASSWORDS_LINK" /> aufrufen und verwalten</translation>
 <translation id="2568774940984945469">Infoleisten-Container</translation>
@@ -1077,6 +1084,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> nutzt <ph name="USAGE" /> MB an Festplattenspeicher.</translation>
 <translation id="2633212996805280240">"<ph name="EXTENSION_NAME" />" entfernen?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> konnte die Installation nicht abschließen, wird jedoch weiterhin über das Datenträgerabbild ausgeführt.</translation>
+<translation id="2633326789677284179">Den Namen finden Sie auf der Rückseite Ihres Schlüssels</translation>
 <translation id="2635276683026132559">Signatur</translation>
 <translation id="2636625531157955190">Chrome kann nicht auf das Bild zugreifen.</translation>
 <translation id="2638087589890736295">Geben Sie Ihre Passphrase ein, um die Synchronisierung zu starten</translation>
@@ -1390,6 +1398,7 @@
 <translation id="3090819949319990166">Externe CRX-Datei konnte nicht als <ph name="TEMP_CRX_FILE" /> kopiert werden.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" ist gekoppelt</translation>
 <translation id="3101709781009526431">Datum und Uhrzeit</translation>
+<translation id="3104900172193317662">Verwendung Ihres Sicherheitsschlüssels zulassen</translation>
 <translation id="310671807099593501">Die Website verwendet Bluetooth</translation>
 <translation id="3115128645424181617">Smartphone wurde nicht gefunden. Vergewissern Sie sich, dass es sich in Reichweite befindet und dass Bluetooth aktiviert ist.</translation>
 <translation id="3115147772012638511">Warten auf den Cache...</translation>
@@ -1873,6 +1882,7 @@
 <translation id="3839516600093027468">Immer verhindern, dass <ph name="HOST" /> die Zwischenablage aufruft</translation>
 <translation id="3840053866656739575">Die Verbindung zur Chromebox wurde unterbrochen. Verringern Sie den Abstand zur Chromebox oder überprüfen Sie Ihr Gerät. Ein erneuter Verbindungsversuch wird gestartet.</translation>
 <translation id="3842552989725514455">Schriftart Serif</translation>
+<translation id="3846116211488856547">Tools für die Entwicklung erhalten, z. B. von Websites und Android-Apps. Für die Installation von Linux werden <ph name="DOWNLOAD_SIZE" /> an Daten heruntergeladen.</translation>
 <translation id="385051799172605136">Zurück</translation>
 <translation id="3851428669031642514">Unsichere Skripts laden</translation>
 <translation id="3855441664322950881">Erweiterung packen</translation>
@@ -1896,6 +1906,7 @@
 <translation id="3872991219937722530">Geben Sie Speicherplatz frei oder Ihr Gerät reagiert nicht mehr.</translation>
 <translation id="3878840326289104869">Betreuter Nutzer wird erstellt...</translation>
 <translation id="3879748587602334249">Download-Manager</translation>
+<translation id="3880709822663530586">Ihr Sicherheitsschlüssel funktioniert nur, wenn auf Ihrem Gerät Bluetooth aktiviert ist</translation>
 <translation id="3888550877729210209">Notizerstellung mit <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">OpenVPN/L2TP hinzufügen…</translation>
 <translation id="3893536212201235195">Einstellungen für Eingabehilfen lesen und ändern</translation>
@@ -2357,6 +2368,7 @@
 <translation id="4681930562518940301">&amp;Original in neuem Tab öffnen</translation>
 <translation id="4682551433947286597">Hintergründe werden auf dem Anmeldebildschirm angezeigt.</translation>
 <translation id="4684427112815847243">Alles synchronisieren</translation>
+<translation id="4689235506267737042">Einstellungen für den Demomodus auswählen</translation>
 <translation id="4689421377817139245">Lesezeichen mit meinem iPhone synchronisieren</translation>
 <translation id="4690091457710545971">&lt;Vier Dateien wurden von der Intel-WLAN-Firmware erstellt: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Bei den ersten drei handelt es sich um Binärdateien mit Registrierungsabbildern, für die Intel angibt, dass sie keine personenbezogenen oder zur Geräteidentifikation nutzbaren Informationen enthält. Die letzte Datei ist eine Ablaufverfolgungsdatei von der Intel-Firmware, aus der alle personenbezogenen oder zur Geräteidentifikation nutzbaren Informationen entfernt wurden. Sie ist allerdings zu groß, um hier angezeigt zu werden. Diese Dateien wurden wegen WLAN-Problemen auf Ihrem Gerät erstellt, die kürzlich aufgetreten sind. Sie werden zur Fehlerbehebung an Intel weitergegeben.&gt;</translation>
 <translation id="4692302215262324251">Ihr <ph name="DEVICE_TYPE" /> wurde von <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> erfolgreich für die Unternehmensverwaltung angemeldet.
@@ -2462,7 +2474,6 @@
 <translation id="4856478137399998590">Ihr mobiler Datendienst ist aktiviert und einsatzbereit.</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Alle in &amp;Inkognitofenster öffnen}=1{In &amp;Inkognitofenster öffnen}other{Alle (#) in &amp;Inkognitofenster öffnen}}</translation>
 <translation id="4858913220355269194">Fußball</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – Video wird im Bild-im-Bild-Modus abgespielt</translation>
 <translation id="4862050643946421924">Gerät hinzufügen...</translation>
 <translation id="4862642413395066333">Signatur von OCSP-Antworten</translation>
 <translation id="4863769717153320198">Auflösung <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Standard)</translation>
@@ -2486,6 +2497,7 @@
 <translation id="4880827082731008257">Im Verlauf suchen</translation>
 <translation id="4881695831933465202">Öffnen</translation>
 <translation id="4882473678324857464">Fokus auf Lesezeichen</translation>
+<translation id="4882831918239250449">Festlegen, wie Ihr Browserverlauf zur Personalisierung verwendet wird, z. B. bei der Suche und bei Werbung</translation>
 <translation id="4883178195103750615">Lesezeichen in HTML-Datei exportieren...</translation>
 <translation id="4883436287898674711">Alle <ph name="WEBSITE_1" />-Websites</translation>
 <translation id="48838266408104654">&amp;Taskmanager</translation>
@@ -2761,6 +2773,7 @@
 <translation id="5288678174502918605">Geschlossenen Tab wieder öffn&amp;en</translation>
 <translation id="52912272896845572">Private Schlüsseldatei ist ungültig.</translation>
 <translation id="529175790091471945">Gerät formatieren</translation>
+<translation id="5292195676005197571">Bei den meisten Schlüsseln genügt es, zur Verwendung die Taste drücken</translation>
 <translation id="5293170712604732402">Einstellungen auf ursprüngliche Standardwerte zurücksetzen</translation>
 <translation id="5298219193514155779">Design von</translation>
 <translation id="5299109548848736476">Do Not Track</translation>
@@ -3021,11 +3034,13 @@
 <translation id="5658415415603568799">Aus Sicherheitsgründen werden Sie von Smart Lock gebeten, Ihr Passwort nach 20 Stunden noch einmal einzugeben.</translation>
 <translation id="5659593005791499971">E-Mail-Adresse</translation>
 <translation id="5659833766619490117">Diese Seite konnte nicht übersetzt werden</translation>
+<translation id="5660204307954428567">Mit <ph name="DEVICE_NAME" /> koppeln</translation>
 <translation id="5662477687021125631">Unbefristet</translation>
 <translation id="5667546120811588575">Google Play wird eingerichtet...</translation>
 <translation id="5669267381087807207">Wird aktiviert...</translation>
 <translation id="5669691691057771421">Neue PIN eingeben</translation>
 <translation id="5671641761787789573">Bilder blockiert</translation>
+<translation id="5673076758299428095">Linux herunterfahren</translation>
 <translation id="5677503058916217575">Sprache der Seite:</translation>
 <translation id="5677928146339483299">Blockiert</translation>
 <translation id="5678550637669481956">Lese- und Schreibzugriff auf <ph name="VOLUME_NAME" /> wurde zugelassen.</translation>
@@ -3190,6 +3205,9 @@
 <translation id="5920835625712313205">Chrome OS-Systemabbild-Writer</translation>
 <translation id="5921745308587794300">Fenster drehen</translation>
 <translation id="5924047253200400718">Hilfe aufrufen, <ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Nehmen Sie ein neues Foto auf oder wählen Sie ein vorhandenes Foto oder Symbol aus.
+    <ph name="LINE_BREAK" />
+    Dieses Bild wird auf dem Anmelde- und dem Sperrbildschirm Ihres Chromebooks angezeigt.</translation>
 <translation id="5925147183566400388">Verweis auf Certification Practice Statement</translation>
 <translation id="592880897588170157">PDF-Dateien herunterladen, anstatt sie automatisch in Chrome zu öffnen</translation>
 <translation id="5931146425219109062">Alle Ihre Daten auf von Ihnen besuchten Websites lesen und ändern</translation>
@@ -3286,6 +3304,7 @@
 <translation id="6078752646384677957">Überprüfen Sie Ihr Mikrofon und die Audio-Lautstärke.</translation>
 <translation id="6080515710685820702">Sie teilen sich einen Computer? Dann können Sie ganz einfach ein Inkognitofenster nutzen.</translation>
 <translation id="6080689532560039067">Systemzeit überprüfen</translation>
+<translation id="6082111513049964958">Passwort zum Entsperren</translation>
 <translation id="6082651258230788217">In Symbolleiste anzeigen</translation>
 <translation id="6086846494333236931">Von Ihrem Administrator installiert</translation>
 <translation id="6087960857463881712">Cooles Gesicht</translation>
@@ -3509,6 +3528,7 @@
 <translation id="642282551015776456">Dieser Name darf nicht als Datei- oder Ordnername verwendet werden.</translation>
 <translation id="642469772702851743">Dieses Gerät (SN: <ph name="SERIAL_NUMBER" />) wurde vom Eigentümer gesperrt.</translation>
 <translation id="6426200009596957090">ChromeVox-Einstellungen öffnen</translation>
+<translation id="6427415464407526111">Sicherheitsschlüssel auswählen</translation>
 <translation id="6429384232893414837">Fehler beim Aktualisieren</translation>
 <translation id="6430814529589430811">Base64-codierter ASCII-Code, Einzelzertifikat</translation>
 <translation id="6431217872648827691">Die Verschlüsselung aller Daten mit Ihrem Google-Passwort erfolgte am
@@ -3935,6 +3955,7 @@
 <translation id="7099337801055912064">Große PPD-Datei kann nicht geladen werden. Die Maximalgröße beträgt 250 KB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> Elemente ausgewählt</translation>
 <translation id="7102687220333134671">Automatische Updates sind aktiviert</translation>
+<translation id="7102832101143475489">Zeitüberschreitung bei der Anfrage</translation>
 <translation id="7106346894903675391">Mehr Speicherplatz erwerben...</translation>
 <translation id="7108338896283013870">Ausblenden</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> möchte Ihre Kamera verwenden</translation>
@@ -4143,7 +4164,6 @@
 <translation id="7427348830195639090">Hintergrundseite: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Alle in &amp;neuem Fenster öffnen}=1{In &amp;neuem Fenster öffnen}other{Alle (#) in &amp;neuem Fenster öffnen}}</translation>
 <translation id="7434509671034404296">Entwickler</translation>
-<translation id="7436470008146509879">Linux auf Ihrem <ph name="DEVICE_TYPE" /> einrichten</translation>
 <translation id="7436921188514130341">Oh nein! Beim Umbenennen ist ein Fehler aufgetreten.</translation>
 <translation id="7441830548568730290">Andere Nutzer</translation>
 <translation id="7442465037756169001">Sie können Ihre Hangouts Meet-Hardware jetzt einrichten.</translation>
@@ -4442,7 +4462,6 @@
 <translation id="7881969471599061635">Untertitel deaktivieren</translation>
 <translation id="7882358943899516840">Providertyp</translation>
 <translation id="7885253890047913815">Letzte Ziele</translation>
-<translation id="7886917304091689118">Wird in Chrome ausgeführt</translation>
 <translation id="7887334752153342268">Duplizieren</translation>
 <translation id="7887864092952184874">Bluetooth-Maus ist gekoppelt</translation>
 <translation id="7889565820482017512">Displayanzeige</translation>
@@ -4555,6 +4574,7 @@
 <translation id="8028993641010258682">Größe</translation>
 <translation id="8030656706657716245">Drucker hinzufügen</translation>
 <translation id="8032244173881942855">Tab kann nicht gestreamt werden.</translation>
+<translation id="8033958968890501070">Zeitüberschreitung</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Alle in &amp;Inkognitofenster öffnen}=1{In &amp;Inkognitofenster öffnen}other{Alle (#) in &amp;Inkognitofenster öffnen}}</translation>
 <translation id="8037117027592400564">Alle mit künstlicher Sprachausgabe gesprochenen Texte lesen</translation>
 <translation id="8037357227543935929">Nachfragen (Standardeinstellung)</translation>
@@ -4613,7 +4633,6 @@
 <translation id="8118860139461251237">Downloads verwalten</translation>
 <translation id="81238879832906896">Gelbe und weiße Blume</translation>
 <translation id="8124313775439841391">Verwaltete ONC-Eigenschaften</translation>
-<translation id="8125562866093998907">Die Website möchte Ihren Sicherheitsschlüssel überprüfen, um die Sicherheit für Ihr Konto zu erhöhen.</translation>
 <translation id="813082847718468539">Website-Informationen anzeigen</translation>
 <translation id="8131740175452115882">Bestätigen</translation>
 <translation id="8133676275609324831">&amp;In Ordner anzeigen</translation>
@@ -4645,6 +4664,8 @@
 <translation id="8180239481735238521">Seite</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" kann Bilder, Video- und Sounddateien an den angegebenen Orten lesen und löschen.</translation>
 <translation id="8181215761849004992">Beitritt zur Domain nicht möglich. Prüfen Sie in Ihrem Konto, ob Sie Geräte hinzufügen dürfen.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Meiner Meinung nach sollte diese Website nicht blockiert werden.</translation>
 <translation id="8184288427634747179">Zu <ph name="AVATAR_NAME" /> wechseln</translation>
 <translation id="8184318863960255706">Weitere Informationen</translation>
 <translation id="8185331656081929126">Benachrichtigung anzeigen, wenn neue Drucker im Netzwerk gefunden werden</translation>
@@ -4789,6 +4810,7 @@
 <translation id="8434480141477525001">NaCl-Debug-Port</translation>
 <translation id="843760761634048214">Kreditkarte speichern</translation>
 <translation id="8438328416656800239">Steigen Sie auf einen intelligenten Browser um</translation>
+<translation id="8438566539970814960">Suchanfragen und das Surfen verbessern</translation>
 <translation id="8439506636278576865">Übersetzung für Seiten in dieser Sprache anbieten</translation>
 <translation id="8446884382197647889">Weitere Informationen</translation>
 <translation id="8447409163267621480">Entweder Strg oder Alt integrieren</translation>
@@ -4993,7 +5015,6 @@
 <translation id="8736288397686080465">Diese Website wurde im Hintergrund aktualisiert.</translation>
 <translation id="8737685506611670901"><ph name="PROTOCOL" />-Links anstelle von <ph name="REPLACED_HANDLER_TITLE" /> öffnen</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Bild im Bild</translation>
 <translation id="8743390665131937741">Zoomstufe für Vollbildlupe:</translation>
 <translation id="8743864605301774756">Vor einer Stunde aktualisiert</translation>
 <translation id="874689135111202667">{0,plural, =1{Soll eine Datei auf diese Website hochgeladen werden?}other{Sollen # Dateien auf diese Website hochgeladen werden?}}</translation>
@@ -5145,6 +5166,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – abgestürzt</translation>
 <translation id="8983677657449185470">Ich möchte bei der Optimierung von Safe Browsing helfen</translation>
 <translation id="8984654317541110628">Dateifreigabe-URL</translation>
+<translation id="8984872292925913496">Sie finden die sechsstellige PIN auf der Rückseite Ihres Schlüssels</translation>
 <translation id="8986362086234534611">Entfernen</translation>
 <translation id="8986494364107987395">Nutzungsstatistiken und Absturzberichte automatisch an Google senden</translation>
 <translation id="8987927404178983737">Monat</translation>
@@ -5268,6 +5290,7 @@
 <translation id="9158715103698450907">Hoppla! Während der Authentifizierung ist ein Kommunikationsproblem mit dem Netzwerk aufgetreten. Überprüfen Sie bitte Ihre Netzwerkverbindung und versuchen Sie es erneut.</translation>
 <translation id="9161070040817969420">Subframes für: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Systemdaten senden. Das Gerät sendet automatisch Diagnose- sowie Geräte- und App-Nutzungsdaten an Google. Diese Einstellung wird durch den Eigentümer erzwungen. Wenn Sie zusätzliche Web- &amp; App-Aktivitäten aktiviert haben, werden diese Informationen in Ihrem Konto gespeichert, damit Sie sie unter "Meine Aktivitäten" verwalten können. <ph name="BEGIN_LINK1" />Weitere Informationen<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Bild-in-Bild</translation>
 <translation id="9169496697824289689">Tastenkombinationen ansehen</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> zum Startbildschirm hinzufügen</translation>
 <translation id="9170397650136757332">Bewegen Sie Ihren Finger nun etwas, damit Ihr Fingerabdruck vollständig erfasst wird</translation>
@@ -5318,7 +5341,6 @@
 <translation id="952992212772159698">Nicht aktiviert</translation>
 <translation id="957960681186851048">Diese Website hat versucht, automatisch mehrere Dateien herunterzuladen</translation>
 <translation id="9580706199804957">Keine Verbindung mit Google-Diensten möglich</translation>
-<translation id="958416628331784386">Auf diesem Tab wird ein Video im Bild-im-Bild-Modus abgespielt.</translation>
 <translation id="960719561871045870">Betreibercode</translation>
 <translation id="960987915827980018">Noch etwa 1 Stunde</translation>
 <translation id="962802172452141067">Lesezeichenordnerstruktur</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index 8b1c156..783cba2 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Παύση</translation>
 <translation id="1181037720776840403">Κατάργηση</translation>
 <translation id="1183237619868651138">Δεν είναι δυνατή η εγκατάσταση του <ph name="EXTERNAL_CRX_FILE" /> σε τοπική κρυφή μνήμη.</translation>
+<translation id="1183378459020939734">Είστε έτοιμοι για τη σύζευξη του Κλειδιού ασφαλείας σας;</translation>
 <translation id="1185924365081634987">Μπορείτε επίσης να δοκιμάσετε να <ph name="GUEST_SIGNIN_LINK_START" />περιηγηθείτε ως επισκέπτης<ph name="GUEST_SIGNIN_LINK_END" /> για να διορθώσετε αυτό το σφάλμα δικτύου.</translation>
 <translation id="1186771945450942097">Κατάργηση επιβλαβούς λογισμικού</translation>
 <translation id="1187722533808055681">Έξοδος από την κατάσταση αδράνειας</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Συμβάλετε στη βελτίωση του <ph name="PRODUCT_NAME" /> στέλνοντας αυτόματα στην Google στατιστικά στοιχεία χρήσης και αναφορές σφαλμάτων</translation>
 <translation id="1658424621194652532">Αυτή η σελίδα έχει πρόσβαση στο μικρόφωνό σας.</translation>
 <translation id="1660204651932907780">Να επιτρέπεται στους ιστοτόπους να αναπαράγουν ήχο (συνιστάται)</translation>
-<translation id="1660938185063657230">Επαληθεύστε το Κλειδί ασφαλείας σας</translation>
 <translation id="1661156625580498328">Επιβολή κρυπτογράφησης AES (συνιστάται).</translation>
 <translation id="1661245713600520330">Σε αυτήν τη σελίδα αναφέρονται όλες οι λειτουργικές μονάδες που φορτώθηκαν στην κύρια διαδικασία και οι λειτουργικές μονάδες που εγγράφηκαν για φόρτωση αργότερα.</translation>
 <translation id="166179487779922818">Ο κωδικός πρόσβασης είναι πολύ σύντομος.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Αλλαγή λειτουργίας αφής HUD</translation>
 <translation id="1784849162047402014">Ο ελεύθερος χώρος στον δίσκο της συσκευής είναι περιορισμένος</translation>
 <translation id="1786636458339910689">Drive ομάδας</translation>
+<translation id="1792161662640298233">Επαλήθευση του Κλειδιού ασφαλείας σας</translation>
 <translation id="1792619191750875668">Διευρυμένη οθόνη</translation>
 <translation id="1794791083288629568">Στείλτε τα σχόλιά σας για να μας βοηθήσετε να επιλύσουμε αυτό το πρόβλημα.</translation>
 <translation id="1795214765651529549">Χρήση κλασικού</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Διαγραφή κωδικού πρόσβασης για τον λογαριασμό <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Πατήστε Ειδοποιήσεις εφαρμογών &gt; Υπηρεσίες Google Play.</translation>
 <translation id="1826516787628120939">Έλεγχος</translation>
-<translation id="1827750274519118478">Θα σταματήσει η αναπαραγωγή του βίντεο σε λειτουργία Picture-in-Picture.</translation>
 <translation id="1828378091493947763">Αυτή η προσθήκη δεν υποστηρίζεται σε αυτήν τη συσκευή</translation>
 <translation id="1828901632669367785">Εκτύπωση με χρήση του παραθύρου διαλόγου του συστήματος...</translation>
 <translation id="1829192082282182671">Σμίκρυνση</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">Η επέκταση "<ph name="EXTENSION" />" μπορεί να διαβάσει και να εγγράψει εικόνες, βίντεο και αρχεία ήχου στις επιλεγμένες τοποθεσίες.</translation>
 <translation id="1867780286110144690">Το <ph name="PRODUCT_NAME" /> είναι έτοιμο για την ολοκλήρωση της εγκατάστασής σας</translation>
 <translation id="1871615898038944731">Η συσκευή <ph name="DEVICE_TYPE" /> είναι ενημερωμένη</translation>
+<translation id="1875312262568496299">Έναρξη</translation>
 <translation id="1875387611427697908">Η προσθήκη αυτού του στοιχείου είναι δυνατή μόνο από το <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Απέτυχε η λήψη του διακριτικού ελέγχου ταυτότητας. Αποσυνδεθείτε και συνδεθείτε εκ νέου για να προσπαθήσετε ξανά.</translation>
 <translation id="1878302395768190018">Μπορείτε να προσαρμόσετε την επιλογή ανά πάσα στιγμή από τις ρυθμίσεις του Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Φωτογραφία από <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Αποστολή στο τηλέφωνο</translation>
 <translation id="2119349053129246860">Άνοιγμα σε <ph name="APP" /></translation>
+<translation id="2120297377148151361">Δραστηριότητα και αλληλεπιδράσεις</translation>
 <translation id="2121825465123208577">Προσαρμογή μεγέθους</translation>
 <translation id="2124930039827422115">{1,plural, =1{Αξιολογήθηκε ως <ph name="AVERAGE_RATING" /> από έναν χρήστη.}other{Αξιολογήθηκε ως <ph name="AVERAGE_RATING" /> από # χρήστες.}}</translation>
 <translation id="2126167708562367080">Ο συγχρονισμός έχει απενεργοποιηθεί από τον διαχειριστή σας.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Μέγεθος χαρτιού</translation>
 <translation id="2318817390901984578">Για να χρησιμοποιήσετε εφαρμογές Android, φορτίστε και ενημερώστε τη συσκευή <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Για την τρέχουσα περίοδο λειτουργίας σε κατάσταση ανώνυμης περιήγησης ( <ph name="EMBEDDING" /> )</translation>
+<translation id="2321482478556590128">Χρήση του Κλειδιού ασφαλείας σας με την εφαρμογή <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Κεφαλίδες και υποσέλιδα</translation>
 <translation id="2325650632570794183">Αυτός ο τύπος αρχείου δεν υποστηρίζεται. Επισκεφτείτε το Chrome Web Store για να εντοπίσετε μια εφαρμογή που να μπορεί να ανοίξει αυτόν τον τύπο αρχείου.</translation>
 <translation id="2326931316514688470">Ε&amp;πανάληψη φόρτωσης εφαρμογής</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Προσθήκη κοινόχρηστου αρχείου</translation>
 <translation id="2367972762794486313">Εμφάνιση εφαρμογών</translation>
 <translation id="2369536625682139252">Όλα τα δεδομένα που αποθηκεύτηκαν από τον ιστότοπο <ph name="SITE" /> θα διαγραφούν, εκτός από τα cookie.</translation>
+<translation id="237058345584060620">Δημιουργήστε σύζευξη μεταξύ του κλειδιού σας και αυτής της συσκευής, για να μπορείτε να τη χρησιμοποιήσετε για σύνδεση στον λογαριασμό σας</translation>
 <translation id="2371076942591664043">Άνοιγμα κατά την &amp;ολοκλήρωση</translation>
 <translation id="2376559921867170420">Μετά τη ρύθμιση του Chromebook, πατήστε το κουμπί Βοηθού ή πείτε "OK Google" για να λάβετε βοήθεια από τον Βοηθό σας οποιαδήποτε στιγμή.</translation>
 <translation id="2377319039870049694">Εναλλαγή σε προβολή λίστας</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Δεν είναι δυνατή η εύρεση του τηλεφώνου σας. Βεβαιωθείτε ότι το Bluetooth του <ph name="DEVICE_TYPE" /> είναι ενεργοποιημένο. &lt;a&gt;Μάθετε περισσότερα&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Προσθήκη &amp;φακέλου...</translation>
 <translation id="249113932447298600">Λυπούμαστε, η συσκευή <ph name="DEVICE_LABEL" /> δεν υποστηρίζεται προς το παρόν.</translation>
+<translation id="2492040222276243256">Πατήστε παρατεταμένα το κουμπί στο κλειδί ασφαλείας σας για τουλάχιστον 5 δευτερόλεπτα</translation>
 <translation id="2493021387995458222">Επιλέξτε "μία λέξη κάθε φορά"</translation>
 <translation id="249303669840926644">Αδυναμία ολοκλήρωσης εγγραφής</translation>
 <translation id="2495777824269688114">Ανακαλύψτε περισσότερες λειτουργίες ή λάβετε απαντήσεις. Επιλέξτε το στοιχείο "?" για βοήθεια.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Αναμονή για διαθέσιμη υποδοχή…</translation>
 <translation id="252219247728877310">Το στοιχείο δεν ενημερώθηκε</translation>
 <translation id="2522791476825452208">Πολύ κοντά</translation>
+<translation id="2523184218357549926">Αποστέλλει στην Google URL των σελίδων που επισκέπτεστε</translation>
 <translation id="2525250408503682495">Kryptonite! Το cryptohome για την εφαρμογή kiosk δεν έχει τοποθετηθεί.</translation>
 <translation id="2526277209479171883">Εγκατάσταση και συνέχεια</translation>
 <translation id="2526590354069164005">Επιφάνεια εργασίας</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Δεν είστε συνδεδεμένος στο <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Συγχαρητήρια! Η υπηρεσία δεδομένων "<ph name="NAME" />" έχει ενεργοποιηθεί και είναι έτοιμη για χρήση.</translation>
 <translation id="2564520396658920462">Η εκτέλεση JavaScript μέσω του AppleScript είναι απενεργοποιημένη. Για να την ενεργοποιήσετε, από τη γραμμή μενού, μεταβείτε στο μενού Προβολή &gt; Προγραμματιστής &gt; Να επιτρέπεται η JavaScript από τα Apple Events. Για περισσότερες πληροφορίες: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Ενισχυμένος ορθογραφικός έλεγχος</translation>
 <translation id="2566124945717127842">Το Powerwash θα επαναφέρει τη συσκευή σας <ph name="IDS_SHORT_PRODUCT_NAME" /> και θα την κάνει σαν καινούρια.</translation>
 <translation id="2567257616420533738">Ο κωδικός πρόσβασης αποθηκεύτηκε. Δείτε και διαχειριστείτε τους αποθηκευμένους κωδικούς πρόσβασης στη διεύθυνση <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Υποδοχέας γραμμής πληροφοριών</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344">Η εφαρμογή <ph name="NAME" /> χρησιμοποιεί <ph name="USAGE" /> MB από το χώρο του δίσκου.</translation>
 <translation id="2633212996805280240">Να γίνει κατάργηση του "<ph name="EXTENSION_NAME" />";</translation>
 <translation id="263325223718984101">Το <ph name="PRODUCT_NAME" /> δεν ήταν δυνατό να ολοκληρώσει την εγκατάσταση, όμως θα συνεχίσει να εκτελείται από το είδωλο δίσκου.</translation>
+<translation id="2633326789677284179">Βρείτε το όνομα που αναγράφεται στο πίσω μέρος του κλειδιού σας</translation>
 <translation id="2635276683026132559">Υπογραφή</translation>
 <translation id="2636625531157955190">Το Chrome δεν μπορεί να αποκτήσει πρόσβαση στην εικόνα.</translation>
 <translation id="2638087589890736295">Για να ξεκινήσει ο συγχρονισμός, απαιτείται φράση πρόσβασης</translation>
@@ -1157,7 +1165,7 @@
 <translation id="2731392572903530958">Εκ νέου ά&amp;νοιγμα κλειστού παραθύρου</translation>
 <translation id="2731700343119398978">Περιμένετε…</translation>
 <translation id="2731710757838467317">Δημιουργία του χρήστη υπό επίβλεψη. Η διαδικασία ενδέχεται να διαρκέσει λίγη ώρα.</translation>
-<translation id="2734760316755174687">Θα γίνει επίσης επαναφορών των ιστοτόπων της ομάδας <ph name="SITE_GROUP_NAME" />.</translation>
+<translation id="2734760316755174687">Θα γίνει επίσης επαναφορά των ιστοτόπων της ομάδας <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">Να γίνεται αυτόματα κλικ όταν σταματά ο δείκτης του ποντικιού</translation>
 <translation id="2735712963799620190">Χρονοδιάγραμμα</translation>
 <translation id="2737363922397526254">Σύμπτυξη...</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Δεν είναι δυνατή η αντιγραφή του εξωτερικού αρχείου crx στο <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Έγινε σύζευξη της συσκευής "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3101709781009526431">Ημερομηνία και ώρα</translation>
+<translation id="3104900172193317662">Επιτρέψτε τη χρήση του Κλειδιού ασφαλείας σας</translation>
 <translation id="310671807099593501">Ο ιστότοπος χρησιμοποιεί bluetooth</translation>
 <translation id="3115128645424181617">Δεν είναι δυνατή η εύρεση του τηλεφώνου σας. Βεβαιωθείτε ότι είναι διαθέσιμο και ότι το Bluetooth είναι ενεργοποιημένο.</translation>
 <translation id="3115147772012638511">Αναμονή για προσωρινή μνήμη...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Να γίνεται πάντα αποκλεισμός της προβολής του προχείρου από <ph name="HOST" /></translation>
 <translation id="3840053866656739575">Η σύνδεση με το Chromebox σας χάθηκε. Θα πρέπει να έρθετε πιο κοντά ή να ελέγξετε τη συσκευή σας όσο προσπαθούμε να συνδεθούμε ξανά.</translation>
 <translation id="3842552989725514455">Γραμματοσειρά Serif</translation>
+<translation id="3846116211488856547">Αποκτήστε εργαλεία για τον προγραμματισμό ιστοτόπων, εφαρμογών Android και άλλων στοιχείων. Με την εγκατάσταση του Linux, θα ληφθούν <ph name="DOWNLOAD_SIZE" /> δεδομένα.</translation>
 <translation id="385051799172605136">Πίσω</translation>
 <translation id="3851428669031642514">Φόρτωση μη ασφαλών σεναρίων</translation>
 <translation id="3855441664322950881">Στοίβαξη επέκτασης</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Ελευθερώστε χώρο στον δίσκο, διαφορετικά η συσκευή θα σταματήσει να ανταποκρίνεται.</translation>
 <translation id="3878840326289104869">Δημιουργία εποπτευόμενου χρήστη</translation>
 <translation id="3879748587602334249">Διαχείριση λήψεων</translation>
+<translation id="3880709822663530586">Το Κλειδί ασφαλείας λειτουργεί μόνο όταν το Bluetooth της συσκευής σας είναι ενεργό</translation>
 <translation id="3888550877729210209">Λήψη σημειώσεων με την εφαρμογή <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Προσθήκη OpenVPN / L2TP…</translation>
 <translation id="3893536212201235195">Ανάγνωση και αλλαγή των ρυθμίσεων προσβασιμότητας</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Άνοιγμα αρχικής εικόνας σε νέα καρτέλα</translation>
 <translation id="4682551433947286597">Οι ταπετσαρίες εμφανίζονται στην οθόνη σύνδεσης.</translation>
 <translation id="4684427112815847243">Συγχρονισμός όλων</translation>
+<translation id="4689235506267737042">Επιλέξτε τις προτιμήσεις επίδειξής σας</translation>
 <translation id="4689421377817139245">Συγχρονίστε αυτόν τον σελιδοδείκτη στο iPhone</translation>
 <translation id="4690091457710545971">&lt;Δημιουργήθηκαν τέσσερα αρχεία από το υλικολογισμικό Intel Wi-Fi: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Τα τρία πρώτα είναι δυαδικά αρχεία τα οποία περιέχουν αρχεία ένδειξης σφαλμάτων εγγραφής και η Intel διαβεβαιώνει ότι δεν περιέχουν στοιχεία προσωπικής ταυτοποίησης ή ταυτοποίησης συσκευής.  Το τελευταίο αρχείο αποτελεί ίχνος εκτέλεσης από το υλικολογισμικό της Intel. Έχει εκκαθαριστεί από τυχόν στοιχεία προσωπικής ταυτοποίησης ή ταυτοποίησης συσκευής, αλλά είναι πάρα πολύ μεγάλο για να προβληθεί εδώ.  Αυτά τα αρχεία δημιουργήθηκαν ως απόκριση στα προβλήματα σχετικά με τη σύνδεση Wi-Fi που αντιμετώπισε η συσκευή σας και θα κοινοποιηθεί στην Intel προκειμένου να λάβετε βοήθεια για την αντιμετώπιση αυτών των προβλημάτων.&gt;</translation>
 <translation id="4692302215262324251">Η συσκευή <ph name="DEVICE_TYPE" /> εγγράφηκε επιτυχώς για εταιρική διαχείριση από <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Η υπηρεσία δεδομένων κινητής συσκευής είναι ενεργοποιημένη και έτοιμη προς χρήση</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Άνοιγμα όλων σε παράθυρο για &amp;ανώνυμη περιήγηση}=1{Άνοιγμα σε παράθυρο για &amp;ανώνυμη περιήγηση}other{Άνοιγμα όλων (#) σε παράθυρο για &amp;ανώνυμη περιήγηση}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Αναπαραγωγή βίντεο σε λειτουργία Picture-in-Picture</translation>
 <translation id="4862050643946421924">Προσθήκη συσκευής…</translation>
 <translation id="4862642413395066333">Υπογραφή αποκρίσεων OCSP</translation>
 <translation id="4863769717153320198">Θα εμφανίζεται ως <ph name="WIDTH" /> x <ph name="HEIGHT" /> (προεπιλογή)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Αναζήτηση ιστορικού</translation>
 <translation id="4881695831933465202">Άνοιγμα</translation>
 <translation id="4882473678324857464">Σελιδοδείκτες εστίασης</translation>
+<translation id="4882831918239250449">Ελέγξτε τον τρόπο με τον οποίο το ιστορικό περιήγησής σας χρησιμοποιείται για την εξατομίκευση της Αναζήτησης, των διαφημίσεων και άλλων στοιχείων</translation>
 <translation id="4883178195103750615">Εξαγωγή σελιδοδεικτών σε αρχείο HTML...</translation>
 <translation id="4883436287898674711">Όλοι οι ιστότοποι <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Διαχείριση Εργασιών</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">Εκ νέου ά&amp;νοιγμα κλειστής καρτέλας</translation>
 <translation id="52912272896845572">Το ιδιωτικό κλειδί δεν είναι έγκυρο.</translation>
 <translation id="529175790091471945">Μορφοποίηση αυτής της συσκευής</translation>
+<translation id="5292195676005197571">Για να χρησιμοποιήσετε τα περισσότερα κλειδιά, απλώς πατήστε το κουμπί</translation>
 <translation id="5293170712604732402">Επαναφορά των ρυθμίσεων στις αρχικές προεπιλογές</translation>
 <translation id="5298219193514155779">Το θέμα δημιουργήθηκε από τον/την</translation>
 <translation id="5299109548848736476">Να μην γίνεται εντοπισμός</translation>
@@ -3026,11 +3039,13 @@
 <translation id="5658415415603568799">Για πρόσθετη ασφάλεια, το Smart Lock θα σας ζητήσει να καταχωρίσετε τον κωδικό πρόσβασης μετά από 20 ώρες.</translation>
 <translation id="5659593005791499971">Διεύθυνση ηλεκτρονικού ταχυδρομείου</translation>
 <translation id="5659833766619490117">Δεν ήταν δυνατή η μετάφραση αυτής της σελίδας</translation>
+<translation id="5660204307954428567">Σύζευξη με τη συσκευή <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Οριστική</translation>
 <translation id="5667546120811588575">Ρύθμιση του Google Play…</translation>
 <translation id="5669267381087807207">Ενεργοποίηση</translation>
 <translation id="5669691691057771421">Εισαγωγή νέου κωδικού PIN</translation>
 <translation id="5671641761787789573">Οι εικόνες αποκλείστηκαν</translation>
+<translation id="5673076758299428095">Τερματισμός λειτουργίας Linux</translation>
 <translation id="5677503058916217575">Γλώσσα σελίδας:</translation>
 <translation id="5677928146339483299">Αποκλεισμένος</translation>
 <translation id="5678550637669481956">Παραχωρήθηκε πρόσβαση ανάγνωσης και εγγραφής σε <ph name="VOLUME_NAME" />.</translation>
@@ -3195,6 +3210,9 @@
 <translation id="5920835625712313205">Εργαλείο εγγραφής εικόνων συστήματος Chrome OS</translation>
 <translation id="5921745308587794300">Περιστροφή παραθύρου</translation>
 <translation id="5924047253200400718">Λήψη βοήθειας<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Τραβήξτε μια νέα φωτογραφία ή επιλέξτε μια υπάρχουσα φωτογραφία ή ένα υπάρχον εικονίδιο.
+    <ph name="LINE_BREAK" />
+    Αυτή η εικόνα θα εμφανιστεί στην οθόνη σύνδεσης και στην οθόνη κλειδώματος του Chromebook.</translation>
 <translation id="5925147183566400388">Δείκτης για τη Δήλωση πρακτικής πιστοποίησης</translation>
 <translation id="592880897588170157">Λήψη αρχείων PDF αντί για αυτόματο άνοιγμα στο Chrome</translation>
 <translation id="5931146425219109062">Ανάγνωση και αλλαγή όλων των δεδομένων σας στους ιστότοπους που επισκέπτεστε</translation>
@@ -3291,6 +3309,7 @@
 <translation id="6078752646384677957">Ελέγξτε τα επίπεδα έντασης του μικροφώνου και του ήχου σας.</translation>
 <translation id="6080515710685820702">Χρησιμοποιείτε έναν κοινόχρηστο υπολογιστή; Δοκιμάστε να ανοίξετε ένα παράθυρο για ανώνυμη περιήγηση.</translation>
 <translation id="6080689532560039067">Ελέγξτε την ώρα του συστήματός σας</translation>
+<translation id="6082111513049964958">Κωδικός πρόσβασης για ξεκλείδωμα</translation>
 <translation id="6082651258230788217">Εμφάνιση στη γραμμή εργαλείων</translation>
 <translation id="6086846494333236931">Εγκαταστάθηκε από το διαχειριστή σας</translation>
 <translation id="6087960857463881712">Καταπληκτικό πρόσωπο</translation>
@@ -3514,6 +3533,7 @@
 <translation id="642282551015776456">Αυτό το όνομα δεν μπορεί να χρησιμοποιηθεί ως όνομα αρχείου ή φακέλου</translation>
 <translation id="642469772702851743">Αυτή η συσκευή (σειριακός αριθμός: <ph name="SERIAL_NUMBER" />) κλειδώθηκε από τον κάτοχο.</translation>
 <translation id="6426200009596957090">Άνοιγμα ρυθμίσεων ChromeVox</translation>
+<translation id="6427415464407526111">Επιλέξτε το Κλειδί ασφαλείας σας</translation>
 <translation id="6429384232893414837">Σφάλμα ενημέρωσης</translation>
 <translation id="6430814529589430811">ASCII με κωδικοποίηση Base64, πιστοποιητικό</translation>
 <translation id="6431217872648827691">Όλα τα δεδομένα κρυπτογραφήθηκαν με τον κωδικό πρόσβασής σας Google στις
@@ -3940,6 +3960,7 @@
 <translation id="7099337801055912064">Δεν είναι δυνατή η φόρτωση μεγάλου PPD. Το μέγιστο μέγεθος είναι 250 KB.</translation>
 <translation id="7100897339030255923">Έχουν επιλεγεί <ph name="COUNT" /> στοιχεία</translation>
 <translation id="7102687220333134671">Οι αυτόματες ενημερώσεις είναι ενεργοποιημένες</translation>
+<translation id="7102832101143475489">Το χρονικό όριο αιτήματος έληξε</translation>
 <translation id="7106346894903675391">Αγοράστε περισσότερο αποθηκευτικό χώρο...</translation>
 <translation id="7108338896283013870">Απόκρυψη</translation>
 <translation id="7108634116785509031">Ο ιστότοπος <ph name="HOST" /> επιθυμεί να χρησιμοποιήσει την κάμερα σας</translation>
@@ -4148,7 +4169,6 @@
 <translation id="7427348830195639090"> σελίδα: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Άνοιγμα όλων σε &amp;νέο παράθυρο}=1{Άνοιγμα σε &amp;νέο παράθυρο}other{Άνοιγμα όλων (#) σε &amp;νέο παράθυρο}}</translation>
 <translation id="7434509671034404296">Για Προγραμματιστές</translation>
-<translation id="7436470008146509879">Ρύθμιση του Linux στη συσκευή <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Δυστυχώς, παρουσιάστηκε σφάλμα κατά τη μετονομασία.</translation>
 <translation id="7441830548568730290">Άλλοι χρήστες</translation>
 <translation id="7442465037756169001">Το Hangouts Meet hardware είναι έτοιμο για ρύθμιση.</translation>
@@ -4447,7 +4467,6 @@
 <translation id="7881969471599061635">Απενεργοποίηση υπότιτλων</translation>
 <translation id="7882358943899516840">Τύπος παρόχου</translation>
 <translation id="7885253890047913815">Πρόσφατοι προορισμοί</translation>
-<translation id="7886917304091689118">Εκτέλεση στο Chrome</translation>
 <translation id="7887334752153342268">Αντιγραφή</translation>
 <translation id="7887864092952184874">Έγινε σύζευξη του ποντικιού Bluetooth</translation>
 <translation id="7889565820482017512">Μέγεθος οθόνης</translation>
@@ -4560,6 +4579,7 @@
 <translation id="8028993641010258682">Μέγεθος</translation>
 <translation id="8030656706657716245">Προσθήκη εκτυπωτή</translation>
 <translation id="8032244173881942855">Δεν είναι δυνατή η μετάδοση της καρτέλας.</translation>
+<translation id="8033958968890501070">Λήξη ορίου χρόνου</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Άνοιγμα όλων σε παράθυρο για &amp;ανώνυμη περιήγηση}=1{Άνοιγμα σε παράθυρο για &amp;ανώνυμη περιήγηση}other{Άνοιγμα όλων (#) σε παράθυρο για &amp;ανώνυμη περιήγηση}}</translation>
 <translation id="8037117027592400564">Ανάγνωση όλου του κειμένου που εκφωνείται με χρήση ομιλίας σύνθεσης</translation>
 <translation id="8037357227543935929">Να γίνεται ερώτηση (προεπιλογή)</translation>
@@ -4618,7 +4638,6 @@
 <translation id="8118860139461251237">Διαχείριση των λήψεών σας</translation>
 <translation id="81238879832906896">Κίτρινο και λευκό λουλούδι</translation>
 <translation id="8124313775439841391">ONC με ιδιότητες διαχείρισης</translation>
-<translation id="8125562866093998907">Ο ιστότοπος θέλει να επαληθεύσει το Κλειδί ασφαλείας σας για πρόσθετη ασφάλεια για τον λογαριασμό σας.</translation>
 <translation id="813082847718468539">Προβολή πληροφοριών τοποθεσίας</translation>
 <translation id="8131740175452115882">Επιβεβαίωση</translation>
 <translation id="8133676275609324831">&amp;Εμφάνιση στο φάκελο</translation>
@@ -4650,6 +4669,8 @@
 <translation id="8180239481735238521">σελίδα</translation>
 <translation id="8180786512391440389">Η επέκταση "<ph name="EXTENSION" />" μπορεί να διαβάσει και να εγγράψει εικόνες, βίντεο και αρχεία ήχου σε επιλεγμένες τοποθεσίες.</translation>
 <translation id="8181215761849004992">Δεν είναι δυνατή η σύνδεση στον τομέα. Ελέγξτε τον λογαριασμό σας, για να δείτε εάν έχετε επαρκή προνόμια για την προσθήκη συσκευών.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Πιστεύω ότι αυτός ο ιστότοπος δεν πρέπει να είναι αποκλεισμένος!</translation>
 <translation id="8184288427634747179">Εναλλαγή σε <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Περισσότερες πληροφορίες</translation>
 <translation id="8185331656081929126">Εμφάνιση ειδοποιήσεων κατά τον εντοπισμό νέων εκτυπωτών στο δίκτυο</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">NaCl Εντοπισμός σφαλμάτων θύρας</translation>
 <translation id="843760761634048214">Αποθήκευση πιστωτικής κάρτας</translation>
 <translation id="8438328416656800239">Εναλλαγή σε ένα έξυπνο πρόγραμμα περιήγησης</translation>
+<translation id="8438566539970814960">Βελτιώστε τις αναζητήσεις και την περιήγηση</translation>
 <translation id="8439506636278576865">Ερώτηση για τη μετάφραση σελίδων σε αυτήν τη γλώσσα</translation>
 <translation id="8446884382197647889">Μάθετε περισσότερα</translation>
 <translation id="8447409163267621480">Συμπερίληψη είτε του Ctrl είτε του Alt</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Αυτός ο ιστότοπος έχει ενημερωθεί στο παρασκήνιο.</translation>
 <translation id="8737685506611670901">Άνοιγμα συνδέσμων <ph name="PROTOCOL" /> αντί για <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-picture</translation>
 <translation id="8743390665131937741">Επίπεδο εστίασης σε πλήρη οθόνη:</translation>
 <translation id="8743864605301774756">Ενημερώθηκε πριν από 1 ώρα</translation>
 <translation id="874689135111202667">{0,plural, =1{Θέλετε να ανεβάσετε ένα αρχείο σε αυτόν τον ιστότοπο;}other{Θέλετε να ανεβάσετε # αρχεία σε αυτόν τον ιστότοπο;}}</translation>
@@ -5147,6 +5168,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Παρουσίασε σφάλμα</translation>
 <translation id="8983677657449185470">Συμβάλλετε στη βελτίωση της Ασφαλούς περιήγησης</translation>
 <translation id="8984654317541110628">URL κοινής χρήσης αρχείου</translation>
+<translation id="8984872292925913496">Βρείτε τον 6ψήφιο αριθμό PIN που βρίσκεται στο πίσω μέρος του κλειδιού σας</translation>
 <translation id="8986362086234534611">Διαγραφή από τη μνήμη</translation>
 <translation id="8986494364107987395">Αυτόματη αποστολή στατιστικών στοιχείων χρήσης και αναφορών σφαλμάτων στην Google</translation>
 <translation id="8987927404178983737">Μήνας</translation>
@@ -5269,6 +5291,7 @@
 <translation id="9158715103698450907">Ωχ!  Προέκυψε κάποιο πρόβλημα σχετικά με την επικοινωνία του δικτύου κατά τη διάρκεια του ελέγχου ταυτότητας.  Ελέγξτε τη σύνδεση του δικτύου σας και δοκιμάστε ξανά.</translation>
 <translation id="9161070040817969420">Υποπλαίσια για: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Αποστολή δεδομένων συστήματος. Αυτήν τη στιγμή, αυτή η συσκευή στέλνει διαγνωστικά στοιχεία και δεδομένα χρήσης στην Google. Αυτή η ρύθμιση επιβάλλεται από τον κάτοχο. Εάν έχετε ενεργοποιήσει την επιπλέον Δραστηριότητα ιστού και εφαρμογών, αυτές οι πληροφορίες θα αποθηκεύονται στον λογαριασμό σας, έτσι ώστε να μπορείτε να τις διαχειριστείτε στην ενότητα "Η δραστηριότητά μου". <ph name="BEGIN_LINK1" />Μάθετε περισσότερα<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Παράθεση εικόνων</translation>
 <translation id="9169496697824289689">Προβολή συντομεύσεων πληκτρολογίου</translation>
 <translation id="9169931577761441333">Προσθήκη του <ph name="APP_NAME" /> στην Αρχική οθόνη</translation>
 <translation id="9170397650136757332">Μετακινήστε ελαφρώς το δάχτυλό σας για να καταγράψετε όλα τα διαφορετικά τμήματα του δαχτυλικού σας αποτυπώματος</translation>
@@ -5319,7 +5342,6 @@
 <translation id="952992212772159698">Μη ενεργοποιημένο</translation>
 <translation id="957960681186851048">Αυτός ο ιστότοπος επιχείρησε να κατεβάσει αυτόματα πολλά αρχεία</translation>
 <translation id="9580706199804957">Δεν ήταν δυνατή η σύνδεση με τις υπηρεσίες Google</translation>
-<translation id="958416628331784386">Αυτή η καρτέλα αναπαράγει κάποιο βίντεο σε λειτουργία Picture-in-Picture.</translation>
 <translation id="960719561871045870">Κωδικός τελεστή</translation>
 <translation id="960987915827980018">Απομένει περίπου 1 ώρα</translation>
 <translation id="962802172452141067">Δέντρο φακέλου σελιδοδεικτών</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index d9d4531..0e3fd72 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pause</translation>
 <translation id="1181037720776840403">Remove</translation>
 <translation id="1183237619868651138">Can't install <ph name="EXTERNAL_CRX_FILE" /> in local cache.</translation>
+<translation id="1183378459020939734">Ready to pair your security key?</translation>
 <translation id="1185924365081634987">You may also try to <ph name="GUEST_SIGNIN_LINK_START" />browse as guest<ph name="GUEST_SIGNIN_LINK_END" /> to fix this network error.</translation>
 <translation id="1186771945450942097">Remove harmful software</translation>
 <translation id="1187722533808055681">Idle wake ups</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Help make <ph name="PRODUCT_NAME" /> better by automatically sending usage statistics and crash reports to Google.</translation>
 <translation id="1658424621194652532">This page is accessing your microphone.</translation>
 <translation id="1660204651932907780">Allow sites to play sound (recommended)</translation>
-<translation id="1660938185063657230">Verify your Security Key</translation>
 <translation id="1661156625580498328">Enforce AES encryption (recommended).</translation>
 <translation id="1661245713600520330">This page lists all modules loaded into the main process and modules registered to be loaded at a later point.</translation>
 <translation id="166179487779922818">Password is too short.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Change touch HUD mode</translation>
 <translation id="1784849162047402014">Device is low on disk space</translation>
 <translation id="1786636458339910689">Team Drives</translation>
+<translation id="1792161662640298233">Verifying your security key</translation>
 <translation id="1792619191750875668">Extended display</translation>
 <translation id="1794791083288629568">Send feedback to help us fix this issue.</translation>
 <translation id="1795214765651529549">Use Classic</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Delete password for <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Tap App notifications &gt; Google Play services.</translation>
 <translation id="1826516787628120939">Checking</translation>
-<translation id="1827750274519118478">The video in Picture-in-Picture will stop playing.</translation>
 <translation id="1828378091493947763">This plug-in is not supported on this device</translation>
 <translation id="1828901632669367785">Print Using System Dialogue...</translation>
 <translation id="1829192082282182671">Zoom &amp;Out</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" can read and write images, video and sound files in the ticked locations.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> is ready to complete your installation</translation>
 <translation id="1871615898038944731">Your <ph name="DEVICE_TYPE" /> is up to date</translation>
+<translation id="1875312262568496299">Begin</translation>
 <translation id="1875387611427697908">This can only be added from the <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Failed to get authentication token. Please sign out then sign in again to try again.</translation>
 <translation id="1878302395768190018">You can customise this at any time in Chrome Settings</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Photo by <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Send to phone</translation>
 <translation id="2119349053129246860">Open in <ph name="APP" /></translation>
+<translation id="2120297377148151361">Activity and interactions</translation>
 <translation id="2121825465123208577">Re-size</translation>
 <translation id="2124930039827422115">{1,plural, =1{Rated <ph name="AVERAGE_RATING" /> by one user.}other{Rated <ph name="AVERAGE_RATING" /> by # users.}}</translation>
 <translation id="2126167708562367080">Sync is disabled by your administrator.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Paper size</translation>
 <translation id="2318817390901984578">To use Android apps, charge &amp; update your <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Current incognito session (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Use your security key with <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Headers and footers</translation>
 <translation id="2325650632570794183">This file type is not supported. Please visit the Chrome Web Store to find an app that can open this type of file.</translation>
 <translation id="2326931316514688470">&amp;Reload app</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Add File Share</translation>
 <translation id="2367972762794486313">Show apps</translation>
 <translation id="2369536625682139252">All data stored by <ph name="SITE" /> will be deleted, except for cookies.</translation>
+<translation id="237058345584060620">Pair your key to this device so that you can use it to sign into your account</translation>
 <translation id="2371076942591664043">Open when &amp;done</translation>
 <translation id="2376559921867170420">When your Chromebook is set up, press the Assistant button or say "Ok Google" to get help from your Assistant at any time.</translation>
 <translation id="2377319039870049694">Switch to list view</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Can’t find your phone. Make sure that your <ph name="DEVICE_TYPE" />'s Bluetooth is turned on. &lt;a&gt;Learn more&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Add &amp;Folder...</translation>
 <translation id="249113932447298600">Sorry, the device <ph name="DEVICE_LABEL" /> is not supported at this time.</translation>
+<translation id="2492040222276243256">Press and hold the button on your security key for at least 5 seconds</translation>
 <translation id="2493021387995458222">Select "word at a time"</translation>
 <translation id="249303669840926644">Could not complete registration</translation>
 <translation id="2495777824269688114">Discover more features or get answers. Select '?' for help.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Waiting for available socket...</translation>
 <translation id="252219247728877310">Component not updated</translation>
 <translation id="2522791476825452208">Very close</translation>
+<translation id="2523184218357549926">Sends URLs of pages that you visit to Google</translation>
 <translation id="2525250408503682495">Kryptonite! The cryptohome for the kiosk application could not be mounted.</translation>
 <translation id="2526277209479171883">Install and continue</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Not signed in to <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Congratulations! Your '<ph name="NAME" />' data service has been activated and is ready to go.</translation>
 <translation id="2564520396658920462">Executing JavaScript through AppleScript is turned off. To turn it on, from the menu bar, go to View &gt; Developer &gt; Allow JavaScript from Apple Events. For more information: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Enhanced spell check</translation>
 <translation id="2566124945717127842">Powerwash to reset your <ph name="IDS_SHORT_PRODUCT_NAME" /> device to be just like new.</translation>
 <translation id="2567257616420533738">Password saved. View and manage saved passwords at <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Infobar Container</translation>
@@ -1080,6 +1087,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> is using <ph name="USAGE" /> MB of disk space.</translation>
 <translation id="2633212996805280240">Remove "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> couldn't complete installation, but will continue to run from its disk image.</translation>
+<translation id="2633326789677284179">Find the name printed on the back of your key</translation>
 <translation id="2635276683026132559">Signing</translation>
 <translation id="2636625531157955190">Chrome cannot access the image.</translation>
 <translation id="2638087589890736295">Passphrase required to start sync</translation>
@@ -1393,6 +1401,7 @@
 <translation id="3090819949319990166">Can't copy external crx file to <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" paired</translation>
 <translation id="3101709781009526431">Date and time</translation>
+<translation id="3104900172193317662">Allow the use of your security key</translation>
 <translation id="310671807099593501">Site is using Bluetooth</translation>
 <translation id="3115128645424181617">Can’t find your phone. Make sure that it’s handy and Bluetooth is turned on.</translation>
 <translation id="3115147772012638511">Waiting for cache...</translation>
@@ -1876,6 +1885,7 @@
 <translation id="3839516600093027468">Always block <ph name="HOST" /> from seeing the clipboard</translation>
 <translation id="3840053866656739575">Lost connection to your Chromebox. Please move closer, or check your device while we try to reconnect.</translation>
 <translation id="3842552989725514455">Serif font</translation>
+<translation id="3846116211488856547">Get tools for developing websites, Android apps and more. Installing Linux will download <ph name="DOWNLOAD_SIZE" /> of data.</translation>
 <translation id="385051799172605136">Back</translation>
 <translation id="3851428669031642514">Load unsafe scripts</translation>
 <translation id="3855441664322950881">Pack extension</translation>
@@ -1899,6 +1909,7 @@
 <translation id="3872991219937722530">Free up disk space or device will become unresponsive.</translation>
 <translation id="3878840326289104869">Creating supervised user</translation>
 <translation id="3879748587602334249">Download manager</translation>
+<translation id="3880709822663530586">Your security key only works when your device's Bluetooth is on</translation>
 <translation id="3888550877729210209">Taking notes with <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Add OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">Read and change your accessibility settings</translation>
@@ -2360,6 +2371,7 @@
 <translation id="4681930562518940301">Open original image in new tab</translation>
 <translation id="4682551433947286597">Wallpapers appear on the Sign-in Screen.</translation>
 <translation id="4684427112815847243">Sync everything</translation>
+<translation id="4689235506267737042">Choose your demo preferences</translation>
 <translation id="4689421377817139245">Sync this bookmark to your iPhone</translation>
 <translation id="4690091457710545971">&lt;Four files generated by Intel Wi-Fi firmware: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. The first three are binary files containing register dumps, and are asserted by Intel to contain no personal or device-identifying information. The last file is an execution trace from the Intel firmware; it has been scrubbed of any personal or device-identifying information, but is too large to display here. These files were generated in response to recent Wi-Fi problems with your device, and will be shared with Intel to help troubleshoot these problems.&gt;</translation>
 <translation id="4692302215262324251">Your <ph name="DEVICE_TYPE" /> has successfully been enrolled for enterprise management by <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2465,7 +2477,6 @@
 <translation id="4856478137399998590">Your data service is activated and ready to use</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Open All in &amp;incognito Window}=1{Open in &amp;incognito Window}other{Open All (#) in &amp;incognito Window}}</translation>
 <translation id="4858913220355269194">Footy</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – Video playing in picture-in-picture</translation>
 <translation id="4862050643946421924">Adding device...</translation>
 <translation id="4862642413395066333">Signing OCSP Responses</translation>
 <translation id="4863769717153320198">Looks like <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Default)</translation>
@@ -2489,6 +2500,7 @@
 <translation id="4880827082731008257">Search history</translation>
 <translation id="4881695831933465202">Open</translation>
 <translation id="4882473678324857464">Focus bookmarks</translation>
+<translation id="4882831918239250449">Control how your browsing history is used to personalise Search, ads and more</translation>
 <translation id="4883178195103750615">Export bookmarks to HTML file...</translation>
 <translation id="4883436287898674711">All <ph name="WEBSITE_1" /> sites</translation>
 <translation id="48838266408104654">&amp;Task Manager</translation>
@@ -2764,6 +2776,7 @@
 <translation id="5288678174502918605">R&amp;eopen Closed Tab</translation>
 <translation id="52912272896845572">Private key file is invalid.</translation>
 <translation id="529175790091471945">Format this device</translation>
+<translation id="5292195676005197571">To use most keys, simply press the button</translation>
 <translation id="5293170712604732402">Restore settings to their original defaults</translation>
 <translation id="5298219193514155779">Theme created by</translation>
 <translation id="5299109548848736476">Do Not Track</translation>
@@ -3024,11 +3037,13 @@
 <translation id="5658415415603568799">For added security, Smart Lock will ask you to enter your password after 20 hours.</translation>
 <translation id="5659593005791499971">Email</translation>
 <translation id="5659833766619490117">This page could not be translated</translation>
+<translation id="5660204307954428567">Pair with <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Perpetual</translation>
 <translation id="5667546120811588575">Setting up Google Play…</translation>
 <translation id="5669267381087807207">Activating</translation>
 <translation id="5669691691057771421">Enter new PIN</translation>
 <translation id="5671641761787789573">Images blocked</translation>
+<translation id="5673076758299428095">Shut down Linux</translation>
 <translation id="5677503058916217575">Page language:</translation>
 <translation id="5677928146339483299">Blocked</translation>
 <translation id="5678550637669481956">Read and write access to <ph name="VOLUME_NAME" /> has been granted.</translation>
@@ -3193,6 +3208,9 @@
 <translation id="5920835625712313205">Chrome OS System Image Writer</translation>
 <translation id="5921745308587794300">Rotate window</translation>
 <translation id="5924047253200400718">Get help<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Take a new photo or choose an existing photo or icon.
+    <ph name="LINE_BREAK" />
+    This picture will appear on the Chromebook sign-in screen and lock screen.</translation>
 <translation id="5925147183566400388">Certification Practice Statement Pointer</translation>
 <translation id="592880897588170157">Download PDF files instead of automatically opening them in Chrome</translation>
 <translation id="5931146425219109062">Read and change all your data on the websites that you visit</translation>
@@ -3289,6 +3307,7 @@
 <translation id="6078752646384677957">Please check your microphone and audio levels.</translation>
 <translation id="6080515710685820702">Using a shared computer? Try opening an incognito window.</translation>
 <translation id="6080689532560039067">Check your system time</translation>
+<translation id="6082111513049964958">Password to unlock</translation>
 <translation id="6082651258230788217">Show in toolbar</translation>
 <translation id="6086846494333236931">Installed by your administrator</translation>
 <translation id="6087960857463881712">Awesome face</translation>
@@ -3512,6 +3531,7 @@
 <translation id="642282551015776456">This name may not be used as a file or folder name</translation>
 <translation id="642469772702851743">This device (SN: <ph name="SERIAL_NUMBER" />) was locked by the owner.</translation>
 <translation id="6426200009596957090">Open ChromeVox settings</translation>
+<translation id="6427415464407526111">Select your security key</translation>
 <translation id="6429384232893414837">Update error</translation>
 <translation id="6430814529589430811">Base64-encoded ASCII, single certificate</translation>
 <translation id="6431217872648827691">All data was encrypted with your Google password as of
@@ -3938,6 +3958,7 @@
 <translation id="7099337801055912064">Can’t load large PPD. Maximum size is 250 KB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> items selected</translation>
 <translation id="7102687220333134671">Automatic updates are turned on</translation>
+<translation id="7102832101143475489">The request timed out</translation>
 <translation id="7106346894903675391">Buy more storage...</translation>
 <translation id="7108338896283013870">Hide</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> wants to use your camera</translation>
@@ -4146,7 +4167,6 @@
 <translation id="7427348830195639090">Background Page: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Open All in &amp;New Window}=1{Open in &amp;New Window}other{Open All (#) in &amp;New Window}}</translation>
 <translation id="7434509671034404296">Developer</translation>
-<translation id="7436470008146509879">Set up Linux on your <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Oh no! There was an error during renaming.</translation>
 <translation id="7441830548568730290">Other users</translation>
 <translation id="7442465037756169001">Your Hangouts Meet hardware is ready to be set up.</translation>
@@ -4445,7 +4465,6 @@
 <translation id="7881969471599061635">Disable subtitles</translation>
 <translation id="7882358943899516840">Provider type</translation>
 <translation id="7885253890047913815">Recent destinations</translation>
-<translation id="7886917304091689118">Running in Chrome</translation>
 <translation id="7887334752153342268">Duplicate</translation>
 <translation id="7887864092952184874">Bluetooth mouse paired</translation>
 <translation id="7889565820482017512">Display Size</translation>
@@ -4558,6 +4577,7 @@
 <translation id="8028993641010258682">Size</translation>
 <translation id="8030656706657716245">Add Printer</translation>
 <translation id="8032244173881942855">Unable to cast tab.</translation>
+<translation id="8033958968890501070">Time out</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Open all in &amp;incognito window}=1{Open in &amp;incognito window}other{Open all (#) in &amp;incognito window}}</translation>
 <translation id="8037117027592400564">Read all text spoken using synthesised speech</translation>
 <translation id="8037357227543935929">Ask (default)</translation>
@@ -4616,7 +4636,6 @@
 <translation id="8118860139461251237">Manage your downloads</translation>
 <translation id="81238879832906896">Yellow and white flower</translation>
 <translation id="8124313775439841391">Managed ONC</translation>
-<translation id="8125562866093998907">The site wants to verify your Security Key for added security for your account.</translation>
 <translation id="813082847718468539">View site information</translation>
 <translation id="8131740175452115882">Confirm</translation>
 <translation id="8133676275609324831">&amp;Show in folder</translation>
@@ -4648,6 +4667,8 @@
 <translation id="8180239481735238521">page</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" can read and delete images, video and sound files in the ticked locations.</translation>
 <translation id="8181215761849004992">Can't join the domain. Check your account to see if you have sufficient privileges to add devices.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    I don't think this site should be blocked.</translation>
 <translation id="8184288427634747179">Switch to <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">More info</translation>
 <translation id="8185331656081929126">Show notifications when new printers are detected on the network</translation>
@@ -4791,6 +4812,7 @@
 <translation id="8434480141477525001">NaCl Debug Port</translation>
 <translation id="843760761634048214">Save credit card</translation>
 <translation id="8438328416656800239">Switch to a smart browser</translation>
+<translation id="8438566539970814960">Make searches and browsing better</translation>
 <translation id="8439506636278576865">Offer to translate pages in this language</translation>
 <translation id="8446884382197647889">Learn More</translation>
 <translation id="8447409163267621480">Include either Ctrl or Alt</translation>
@@ -4995,7 +5017,6 @@
 <translation id="8736288397686080465">This site has been updated in the background.</translation>
 <translation id="8737685506611670901">Open <ph name="PROTOCOL" /> links instead of <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-picture</translation>
 <translation id="8743390665131937741">Full-screen zoom level:</translation>
 <translation id="8743864605301774756">Updated 1hr ago</translation>
 <translation id="874689135111202667">{0,plural, =1{Upload one file to this site?}other{Upload # files to this site?}}</translation>
@@ -5147,6 +5168,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Crashed</translation>
 <translation id="8983677657449185470">Help improve Safe Browsing</translation>
 <translation id="8984654317541110628">File Share URL</translation>
+<translation id="8984872292925913496">Find the 6-digit PIN on the back of your key</translation>
 <translation id="8986362086234534611">Forget</translation>
 <translation id="8986494364107987395">Automatically send usage statistics and crash reports to Google</translation>
 <translation id="8987927404178983737">Month</translation>
@@ -5269,6 +5291,7 @@
 <translation id="9158715103698450907">Oops!  A network communication problem occurred during authentication. Please check your network connection and try again.</translation>
 <translation id="9161070040817969420">Subframes for: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Send system data. This device automatically sends diagnostic and device and app usage data currently to Google. This setting is enforced by the owner. If you turned on additional Web &amp; App Activity, this information will be stored with your account so that you can manage it in My Activity. <ph name="BEGIN_LINK1" />Learn More<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture in Picture</translation>
 <translation id="9169496697824289689">View keyboard shortcuts</translation>
 <translation id="9169931577761441333">Add <ph name="APP_NAME" /> to Home screen</translation>
 <translation id="9170397650136757332">Now move your finger slightly to capture all the different parts of your fingerprint</translation>
@@ -5319,7 +5342,6 @@
 <translation id="952992212772159698">Not activated</translation>
 <translation id="957960681186851048">This site attempted to download multiple files automatically</translation>
 <translation id="9580706199804957">Couldn’t connect with Google services</translation>
-<translation id="958416628331784386">This tab is playing a video in picture-in-picture.</translation>
 <translation id="960719561871045870">Operator code</translation>
 <translation id="960987915827980018">About 1 hour left</translation>
 <translation id="962802172452141067">Bookmark folder tree</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index be88fab..8378ba95 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -451,7 +451,6 @@
 <translation id="1657406563541664238">Ayúdanos a <ph name="PRODUCT_NAME" /> mejorar enviando automáticamente estadísticas de uso e informes de fallos a Google.</translation>
 <translation id="1658424621194652532">Esta página está accediendo al micrófono.</translation>
 <translation id="1660204651932907780">Permitir que los sitios reproduzcan sonido (recomendado)</translation>
-<translation id="1660938185063657230">Verificar la llave de seguridad</translation>
 <translation id="1661156625580498328">Implementa la encriptación AES (recomendado).</translation>
 <translation id="1661245713600520330">Esta página enumera todos los módulos que se cargaron en el proceso principal y los módulos registrados para cargarse más adelante.</translation>
 <translation id="166179487779922818">La contraseña es demasiado corta.</translation>
@@ -563,7 +562,6 @@
 <translation id="1818007989243628752">Borrar la contraseña para <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Presiona Notificaciones de apps &gt; Servicios de Google Play.</translation>
 <translation id="1826516787628120939">Comprobando</translation>
-<translation id="1827750274519118478">Se dejará de reproducir el video en modo de pantalla en pantalla.</translation>
 <translation id="1828378091493947763">Este complemento no es compatible con este dispositivo</translation>
 <translation id="1828901632669367785">Imprimir utilizando el diálogo del sistema…</translation>
 <translation id="1829192082282182671">Alejar</translation>
@@ -675,6 +673,7 @@
 <translation id="1997616988432401742">Tus certificados</translation>
 <translation id="1999115740519098545">En inicio</translation>
 <translation id="2001796770603320721">Administrar en Drive</translation>
+<translation id="2004663115385769400">No se puede abrir con $1</translation>
 <translation id="200544492091181894">Puedes cambiar esta opción más tarde en Configuración</translation>
 <translation id="2006638907958895361">Abrir vínculo en <ph name="APP" /></translation>
 <translation id="2007404777272201486">Informar de un problema...</translation>
@@ -721,6 +720,7 @@
 <translation id="2084108471225856927">Configuración del dispositivo</translation>
 <translation id="2085470240340828803">Ya existe un archivo llamado "<ph name="FILENAME" />". ¿Qué acción quieres realizar?</translation>
 <translation id="2085483813371386023">Para ver tus opciones de "Mejor juntos", accede a la <ph name="LINK_BEGIN" />Configuración<ph name="LINK_END" /></translation>
+<translation id="208586643495776849">Vuelve a intentarlo</translation>
 <translation id="2087822576218954668">Imprimir: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">Navega de forma segura con Google Chrome</translation>
 <translation id="2089795179672254991">Preguntarme cuando un sitio desee ver el texto y las imágenes copiados en el portapapeles (recomendado)</translation>
@@ -1152,6 +1152,7 @@
 <translation id="2731392572903530958">Volv&amp;er a abrir una ventana cerrada</translation>
 <translation id="2731700343119398978">Espera...</translation>
 <translation id="2731710757838467317">Se está creando el usuario supervisado. Esta acción puede tardar unos minutos.</translation>
+<translation id="2734760316755174687">También se restablecerán los sitios en <ph name="SITE_GROUP_NAME" />.</translation>
 <translation id="2735438478659026460">Hacer clic automáticamente cuando se detenga el cursor del mouse</translation>
 <translation id="2735712963799620190">Cronograma</translation>
 <translation id="2737363922397526254">Contraer...</translation>
@@ -1186,6 +1187,7 @@
 <translation id="2784407158394623927">Activando el servicio de datos para celulares</translation>
 <translation id="2785873697295365461">Descriptores de archivo</translation>
 <translation id="2787047795752739979">Sobrescribir en el original</translation>
+<translation id="2787354132612937472">—</translation>
 <translation id="2788135150614412178">+</translation>
 <translation id="2789486458103222910">Aceptar</translation>
 <translation id="2791952154587244007">Se produjo un error. La aplicación del kiosco no podrá iniciarse automáticamente en este dispositivo.</translation>
@@ -1239,6 +1241,7 @@
 <translation id="287286579981869940">Agregar <ph name="PROVIDER_NAME" />...</translation>
 <translation id="2874343608108773609">Para obtener tus contraseñas en todos los dispositivos, accede a Chrome.</translation>
 <translation id="2875698561019555027">(Páginas de error de Chrome)</translation>
+<translation id="2876441201733326392">Usar la llave de seguridad USB</translation>
 <translation id="288042212351694283">Accede a tus dispositivos U2F (Universal 2nd Factor).</translation>
 <translation id="2881966438216424900">Último acceso:</translation>
 <translation id="2882943222317434580"><ph name="IDS_SHORT_PRODUCT_NAME" /> se reiniciará y se restablecerá en un momento.</translation>
@@ -1348,6 +1351,7 @@
 <translation id="3031601332414921114">Reanudar la impresión</translation>
 <translation id="303198083543495566">Geografía</translation>
 <translation id="3036546437875325427">Habilitar Flash</translation>
+<translation id="3037754279345160234">No se puede analizar la configuración para vincular el dominio. Comunícate con el administrador.</translation>
 <translation id="3038612606416062604">Agregar una impresora manualmente</translation>
 <translation id="3038675903128704560">No permitir que los sitios usen complementos para acceder a tu computadora</translation>
 <translation id="3039828483675273919">Moviendo $1 elementos…</translation>
@@ -1482,6 +1486,7 @@
 <translation id="3271648667212143903"><ph name="ORIGIN" /> desea conectarse</translation>
 <translation id="3274763671541996799">Has activado el modo de pantalla completa.</translation>
 <translation id="3275778913554317645">Abrir como ventana</translation>
+<translation id="3279230909244266691">Este proceso puede demorar unos minutos. Se está iniciando la máquina virtual.</translation>
 <translation id="3279741024917655738">Activar opción de mostrar los videos en pantalla completa</translation>
 <translation id="3280237271814976245">Gu&amp;ardar como...</translation>
 <translation id="3280243678470289153">Seguir en Chrome</translation>
@@ -1713,7 +1718,7 @@
 <translation id="3624567683873126087">Desbloquear el dispositivo y acceder a la cuenta de Google</translation>
 <translation id="3625258641415618104">Capturas de pantalla inhabilitadas</translation>
 <translation id="3625481642044239431">Seleccionaste un archivo no válido. Vuelve a intentarlo.</translation>
-<translation id="3625538291267447988">Para configurar "Smart Lock", ingresa tu contraseña</translation>
+<translation id="3625538291267447988">Para configurar Smart Lock, ingresa tu contraseña</translation>
 <translation id="3625870480639975468">Restablecer el zoom</translation>
 <translation id="3626281679859535460">Brillo</translation>
 <translation id="3627320433825461852">Falta menos de un minuto.</translation>
@@ -1756,6 +1761,7 @@
 <translation id="3688526734140524629">Cambiar canal</translation>
 <translation id="3688578402379768763">Actualizado</translation>
 <translation id="3691214267321877444">Formas de pago y direcciones con Google Pay.</translation>
+<translation id="3691231116639905343">Apps de teclados</translation>
 <translation id="3691267899302886494"><ph name="HOST" /> desea compartir tu pantalla</translation>
 <translation id="3693415264595406141">Contraseña:</translation>
 <translation id="3694027410380121301">Seleccionar la pestaña anterior</translation>
@@ -1959,6 +1965,7 @@
 <translation id="3979748722126423326">Habilitar <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981760180856053153">Se ingresó un tipo de almacenaje no válido.</translation>
 <translation id="3983586614702900908">dispositivos de un proveedor desconocido</translation>
+<translation id="3984159763196946143">No se pudo iniciar el modo de demostración</translation>
 <translation id="3985261842049607969">Crea una copia de seguridad en Google Drive. Restablece fácilmente tus datos o cambia de dispositivo en cualquier momento. Tu copia de seguridad incluye datos de las apps. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">Consumo de datos reducido</translation>
 <translation id="3987938432087324095">No entendí.</translation>
@@ -1979,6 +1986,7 @@
 <translation id="4022426551683927403">&amp;Agregar a diccionario</translation>
 <translation id="4023146161712577481">Determinando configuración del dispositivo</translation>
 <translation id="4027804175521224372">(Te estás perdiendo <ph name="IDS_SYNC_PROMO_NOT_SIGNED_IN_STATUS_LINK" />)</translation>
+<translation id="4027951648498485763">Se mantendrá la configuración de Flash hasta que salgas de Chrome.</translation>
 <translation id="4031179711345676612">Micrófono permitido</translation>
 <translation id="4031527940632463547">Se bloqueó el acceso a los sensores</translation>
 <translation id="4031910098617850788">F5</translation>
@@ -2300,6 +2308,7 @@
 <translation id="4598776695426288251">Wi-Fi disponible mediante varios dispositivos</translation>
 <translation id="4602466770786743961">Siempre permitir que <ph name="HOST" /> acceda a la cámara y al micrófono</translation>
 <translation id="4608500690299898628">&amp;Buscar</translation>
+<translation id="4608520674724523647">Ilustración de inscripción correcta</translation>
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> detectó un error</translation>
 <translation id="4610637590575890427">¿Tal vez quieres ir a <ph name="SITE" />?</translation>
 <translation id="4611114513649582138">Conexión de datos disponible</translation>
@@ -2452,7 +2461,6 @@
 <translation id="4856478137399998590">Tu servicio de datos para celulares está activado y listo para ser utilizado</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Abrir todo en una ventana de &amp;incógnito}=1{Abrir en una ventana de &amp;incógnito}other{Abrir todo (#) en una ventana de &amp;incógnito}}</translation>
 <translation id="4858913220355269194">Balón</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - El video se está reproduciendo en el modo de pantalla en pantalla</translation>
 <translation id="4862050643946421924">Agregando dispositivo…</translation>
 <translation id="4862642413395066333">Firma de respuestas de OCSP</translation>
 <translation id="4863769717153320198">Resolución: <ph name="WIDTH" /> × <ph name="HEIGHT" /> (predeterminada)</translation>
@@ -2503,6 +2511,7 @@
 <translation id="4907824805858067479">Tu administrador inhabilitó las tarjetas guardadas</translation>
 <translation id="4908811072292128752">Abre una pestaña nueva para navegar en dos sitios al mismo tiempo</translation>
 <translation id="4909038193460299775">Debido a que esta cuenta la administra <ph name="DOMAIN" />, tus favoritos, historial, contraseñas y otras opciones de configuración se borrarán de este dispositivo. Sin embargo, tus datos permanecerán almacenados en tu cuenta de Google y se podrán administrar en el <ph name="BEGIN_LINK" />Panel de control de Google<ph name="END_LINK" />.</translation>
+<translation id="4909359680501173791">Te inscribiste correctamente</translation>
 <translation id="4912643508233590958">Reactivaciones</translation>
 <translation id="491691592645955587">Cambiar a un navegador seguro</translation>
 <translation id="4917385247580444890">Fuerte</translation>
@@ -2754,6 +2763,7 @@
 <translation id="5298219193514155779">Tema creado por</translation>
 <translation id="5299109548848736476">No realizar seguimiento</translation>
 <translation id="5299682071747318445">Todos los datos se encriptan con tu frase de contraseña para sincronización.</translation>
+<translation id="5300287940468717207">¿Quieres restablecer los permisos de sitios?</translation>
 <translation id="5300589172476337783">Mostrar</translation>
 <translation id="5301751748813680278">Accediendo como invitado</translation>
 <translation id="5301954838959518834">Entendido</translation>
@@ -3118,6 +3128,7 @@
 <translation id="5835486486592033703"><ph name="WINDOW_TITLE" />: La cámara o el micrófono están grabando</translation>
 <translation id="5835754902560991078">extremadamente corto (0.6 s)</translation>
 <translation id="5838456317242088717">Sesión en modo incógnito actual</translation>
+<translation id="5842053879378944309">Usar tu llave de seguridad USB con <ph name="APP_NAME" /></translation>
 <translation id="5842497610951477805">Activación de Bluetooth</translation>
 <translation id="5843250171025351504">Tu dispositivo ya no cumple con la versión mínima del cliente que especificó el administrador. Actualiza la versión para poder acceder.</translation>
 <translation id="5846929185714966548">Pestaña 4</translation>
@@ -3602,7 +3613,7 @@
 <translation id="6589706261477377614">Aumentar el brillo del teclado</translation>
 <translation id="6590458744723262880">Cambiar nombre de carpeta</translation>
 <translation id="6592267180249644460">Fecha y hora de captura de registro de WebRTC: <ph name="WEBRTC_LOG_CAPTURE_TIME" /></translation>
-<translation id="6594883168703494535">Usar "Smart Lock" para acceder a tu cuenta de Google</translation>
+<translation id="6594883168703494535">Usar Smart Lock para acceder a tu cuenta de Google</translation>
 <translation id="6596325263575161958">Opciones de encriptación</translation>
 <translation id="6596745167571172521">Inhabilitar el bloqueo de mayúsculas</translation>
 <translation id="6596816719288285829">Dirección IP</translation>
@@ -3651,7 +3662,7 @@
 <translation id="6655190889273724601">Modo de programador</translation>
 <translation id="6655458902729017087">Ocultar cuentas</translation>
 <translation id="6657585470893396449">Contraseña</translation>
-<translation id="6658023813581644008">A fin de configurar "Smart Lock" para acceder a tu cuenta, ingresa tu contraseña</translation>
+<translation id="6658023813581644008">A fin de configurar Smart Lock para acceder a tu cuenta, ingresa tu contraseña</translation>
 <translation id="6659213950629089752">La extensión "<ph name="NAME" />" hizo zoom en esta página</translation>
 <translation id="6659594942844771486">Pestaña</translation>
 <translation id="6664237456442406323">Desafortunadamente, la computadora está configurada con un identificador de hardware incorrecto. Esto impide que el Sistema operativo Chrome se actualice con las últimas correcciones de seguridad, y la computadora <ph name="BEGIN_BOLD" />puede quedar vulnerable a ataques maliciosos<ph name="END_BOLD" />.</translation>
@@ -3788,6 +3799,7 @@
 <translation id="6885771755599377173">Vista previa de la información del sistema</translation>
 <translation id="6886871292305414135">Abrir enlace en una pes&amp;taña nueva</translation>
 <translation id="6892812721183419409">Abrir vínculo como <ph name="USER" /></translation>
+<translation id="6896398788631624004">Conecta la llave de seguridad y actívala</translation>
 <translation id="6896758677409633944">Copiar</translation>
 <translation id="6898440773573063262">Ahora se pueden configurar las aplicaciones del kiosco para que se inicien de forma automática en este dispositivo.</translation>
 <translation id="6898699227549475383">Organización (O)</translation>
@@ -3950,6 +3962,7 @@
 <translation id="713888829801648570">La contraseña no se pudo verificar porque no tienes conexión a Internet.</translation>
 <translation id="7140928199327930795">No hay otros dispositivos disponibles.</translation>
 <translation id="7141105143012495934">Se produjo un error de acceso porque no se pudieron recuperar los datos de tu cuenta. Comunícate con el administrador o vuelve a intentarlo.</translation>
+<translation id="7143092389027215216">Iniciar el modo de demostración</translation>
 <translation id="7143207342074048698">Conectando</translation>
 <translation id="7144878232160441200">Volver a intentarlo</translation>
 <translation id="7149893636342594995">Últimas 24 horas</translation>
@@ -4077,6 +4090,7 @@
 <translation id="7347751611463936647">Para usar esta extensión, escribe "<ph name="EXTENSION_KEYWORD" />", luego TAB, luego tu comando o búsqueda.</translation>
 <translation id="7348093485538360975">Teclado en pantalla</translation>
 <translation id="7352651011704765696">Se produjo un error</translation>
+<translation id="735361434055555355">Instalando Linux…</translation>
 <translation id="735745346212279324">VPN desconectada</translation>
 <translation id="7359588939039777303">Se bloquearon anuncios.</translation>
 <translation id="7360183604634508679">Menú de favoritos</translation>
@@ -4101,6 +4115,7 @@
 <translation id="7387829944233909572">Diálogo "Eliminar datos de navegación"</translation>
 <translation id="7388044238629873883">Falta muy poco</translation>
 <translation id="7388222713940428051">Abrir una ventana como invitado</translation>
+<translation id="7391648274628927397">Se agregó un favorito para ti</translation>
 <translation id="7392118418926456391">Error en el análisis antivirus</translation>
 <translation id="7392915005464253525">Volver a abrir una ventana cerrada</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>
@@ -4126,7 +4141,6 @@
 <translation id="7427348830195639090">Página de fondo: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Abrir todo en una ventana &amp;nueva}=1{Abrir en una ventana &amp;nueva}other{Abrir todo (#) en una ventana &amp;nueva}}</translation>
 <translation id="7434509671034404296">Opciones para desarrolladores</translation>
-<translation id="7436470008146509879">Configurar Linux en tu <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Se produjo un error al cambiar el nombre.</translation>
 <translation id="7441830548568730290">Otros usuarios</translation>
 <translation id="7442465037756169001">El hardware de Hangouts Meet ya está listo para su configuración.</translation>
@@ -4288,6 +4302,7 @@
 <translation id="7709152031285164251">Error: <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;Transmitir…</translation>
 <translation id="7711920809702896782">Información de la imagen</translation>
+<translation id="7712836429117959503">Extensión desconocida con ID <ph name="EXTENSION_ID" /></translation>
 <translation id="7714307061282548371">Se permiten las cookies de <ph name="DOMAIN" /></translation>
 <translation id="7714464543167945231">Certificado</translation>
 <translation id="7716781361494605745">URL de directivas de la autoridad de certificación de Netscape</translation>
@@ -4424,7 +4439,6 @@
 <translation id="7881969471599061635">Inhabilitar subtítulos</translation>
 <translation id="7882358943899516840">Tipo de proveedor</translation>
 <translation id="7885253890047913815">Destinos recientes</translation>
-<translation id="7886917304091689118">Se está ejecutando en Chrome</translation>
 <translation id="7887334752153342268">Duplicar</translation>
 <translation id="7887864092952184874">Mouse Bluetooth sincronizado</translation>
 <translation id="7889565820482017512">Tamaño de la pantalla</translation>
@@ -4595,7 +4609,6 @@
 <translation id="8118860139461251237">Administrar tus descargas</translation>
 <translation id="81238879832906896">Flor amarilla y blanca</translation>
 <translation id="8124313775439841391">ONC administrado</translation>
-<translation id="8125562866093998907">El sitio quiere verificar la llave de seguridad para mejorar la protección de tu cuenta.</translation>
 <translation id="813082847718468539">Consulta la información del sitio</translation>
 <translation id="8131740175452115882">Confirmar</translation>
 <translation id="8133676275609324831">Mo&amp;strar en carpeta</translation>
@@ -4975,11 +4988,10 @@
 <translation id="8736288397686080465">Este sitio se actualizó en segundo plano.</translation>
 <translation id="8737685506611670901">Abrir vínculos de <ph name="PROTOCOL" /> en lugar de <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Pantalla en pantalla</translation>
 <translation id="8743390665131937741">Nivel de zoom en pantalla completa:</translation>
 <translation id="8743864605301774756">Se actualizó hace 1 h</translation>
 <translation id="874689135111202667">{0,plural, =1{¿Deseas cargar un archivo a este sitio?}other{¿Deseas cargar # archivos a este sitio?}}</translation>
-<translation id="8748384418490037181">Opciones de "Smart Lock"</translation>
+<translation id="8748384418490037181">Opciones de Smart Lock</translation>
 <translation id="8749863574775030885">Acceder a dispositivos USB de un proveedor desconocido</translation>
 <translation id="8754200782896249056">&lt;p&gt;Al ejecutar <ph name="PRODUCT_NAME" /> en un entorno admitido de escritorio, se utiliza la configuración proxy del sistema. Sin embargo, o bien el sistema no es admitido, o hubo un problema al lanzar la configuración del sistema.&lt;/p&gt;
 
@@ -5045,6 +5057,7 @@
 <translation id="8845001906332463065">Obtener ayuda</translation>
 <translation id="8846141544112579928">Buscando teclado…</translation>
 <translation id="8847988622838149491">USB</translation>
+<translation id="885217322790849332">Para abrir archivos con $1, primero cópiala a la carpeta Archivos de Linux.</translation>
 <translation id="8858798938034909167">Accede a tus contraseñas desde cualquier dispositivo en <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="8859057652521303089">Selecciona tu idioma:</translation>
 <translation id="8859174528519900719">Submarco: <ph name="SUBFRAME_SITE" /></translation>
@@ -5067,6 +5080,7 @@
 <translation id="8884961208881553398">Agregar nuevos servicios</translation>
 <translation id="8885197664446363138">Smart Lock no está disponible</translation>
 <translation id="8888432776533519951">Color:</translation>
+<translation id="8890516388109605451">Fuentes</translation>
 <translation id="8892168913673237979">¡Listo!</translation>
 <translation id="8893928184421379330">Lo sentimos, no se reconoció el dispositivo <ph name="DEVICE_LABEL" />.</translation>
 <translation id="8895454554629927345">Lista de favoritos</translation>
@@ -5152,6 +5166,7 @@
 <translation id="9024331582947483881">pantalla completa</translation>
 <translation id="9025098623496448965">De acuerdo, volver a la pantalla de acceso</translation>
 <translation id="9026731007018893674">descarga</translation>
+<translation id="9026852570893462412">Este proceso puede demorar unos minutos. Se está descargando la máquina virtual.</translation>
 <translation id="9027459031423301635">Abrir vínculo en la pes&amp;taña nueva</translation>
 <translation id="9030515284705930323">Tu organización no habilitó Google Play Store para tu cuenta. Comunícate con tu administrador para obtener más información.</translation>
 <translation id="9033857511263905942">&amp;Pegar</translation>
@@ -5246,6 +5261,7 @@
 <translation id="9158715103698450907">Se produjo un problema de comunicación de red durante la autenticación. Verifica tu conexión de red y vuelve a intentarlo.</translation>
 <translation id="9161070040817969420">Submarcos para: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Envía los datos del sistema. Este dispositivo envía datos de diagnóstico y uso del dispositivo y de apps a Google automáticamente. El propietario aplica esta configuración. Si activaste la Actividad web y de aplicaciones, esta información se almacenará con tu cuenta para que puedas administrarla en Mi actividad. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Pantalla en pantalla</translation>
 <translation id="9169496697824289689">Ver combinación de teclas para acceso directo</translation>
 <translation id="9169931577761441333">Agrega <ph name="APP_NAME" /> a la pantalla principal</translation>
 <translation id="9170397650136757332">Mueve el dedo ligeramente para capturar todas las partes de tu huella digital</translation>
@@ -5254,6 +5270,7 @@
 <translation id="9173995187295789444">Buscando dispositivos Bluetooth…</translation>
 <translation id="9176611096776448349"><ph name="WINDOW_TITLE" />: Se conectó un dispositivo Bluetooth</translation>
 <translation id="9177499212658576372">Actualmente, estás conectado a la red <ph name="NETWORK_TYPE" />.</translation>
+<translation id="9180281769944411366">Este proceso puede demorar unos minutos. Se está iniciando el contenedor de Linux.</translation>
 <translation id="9180380851667544951">El sitio puede compartir la pantalla</translation>
 <translation id="9188441292293901223">Actualiza el teléfono a una nueva versión de Android para desbloquear el dispositivo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="9190063653747922532">L2TP/IPsec + clave previamente compartida</translation>
@@ -5295,7 +5312,6 @@
 <translation id="952992212772159698">No activado</translation>
 <translation id="957960681186851048">Este sitio intentó descargar varios archivos automáticamente</translation>
 <translation id="9580706199804957">No se pudo establecer una conexión con los servicios de Google</translation>
-<translation id="958416628331784386">Esta pestaña está reproduciendo un video en el modo de pantalla en pantalla.</translation>
 <translation id="960719561871045870">Código del operador</translation>
 <translation id="960987915827980018">Falta aproximadamente una hora.</translation>
 <translation id="962802172452141067">Árbol de carpetas de favoritos</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index f2402a9..a82fceb 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pausar</translation>
 <translation id="1181037720776840403">Eliminar</translation>
 <translation id="1183237619868651138">No se puede instalar <ph name="EXTERNAL_CRX_FILE" /> en la memoria caché local.</translation>
+<translation id="1183378459020939734">¿Todo listo para vincular tu llave de seguridad?</translation>
 <translation id="1185924365081634987">También puedes intentar <ph name="GUEST_SIGNIN_LINK_START" />navegar como invitado<ph name="GUEST_SIGNIN_LINK_END" /> para solucionar el problema de red.</translation>
 <translation id="1186771945450942097">Elimina el software dañino</translation>
 <translation id="1187722533808055681">Activación inactiva</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Ayúdanos a mejorar <ph name="PRODUCT_NAME" /> enviando estadísticas de uso e informes sobre fallos.</translation>
 <translation id="1658424621194652532">Esta página está accediendo al micrófono</translation>
 <translation id="1660204651932907780">Permitir que los sitios web reproduzcan sonidos (recomendado)</translation>
-<translation id="1660938185063657230">Verifica tu llave de seguridad</translation>
 <translation id="1661156625580498328">Fuerza el cifrado AES (recomendado).</translation>
 <translation id="1661245713600520330">En esta página, se incluyen todos los módulos cargados en el proceso principal y los módulos registrados para cargarse más adelante.</translation>
 <translation id="166179487779922818">La contraseña es demasiado corta.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Cambia el modo HUD táctil</translation>
 <translation id="1784849162047402014">Queda poco espacio en el disco del dispositivo</translation>
 <translation id="1786636458339910689">Unidades de equipo</translation>
+<translation id="1792161662640298233">Verificando la llave de seguridad</translation>
 <translation id="1792619191750875668">Pantalla extendida</translation>
 <translation id="1794791083288629568">Envíanos un comentario para ayudarnos a solucionar el problema.</translation>
 <translation id="1795214765651529549">Utilizar tema clásico</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Eliminar la contraseña de <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Toca Notificaciones de aplicaciones &gt; Servicios de Google Play.</translation>
 <translation id="1826516787628120939">Comprobando</translation>
-<translation id="1827750274519118478">Se dejará de reproducir el vídeo en modo imagen en imagen.</translation>
 <translation id="1828378091493947763">Este complemento no se admite en este dispositivo</translation>
 <translation id="1828901632669367785">Imprimir utilizando el cuadro de diálogo del sistema</translation>
 <translation id="1829192082282182671">&amp;Reducir zoom</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" puede leer y escribir en archivos de sonido, vídeo e imágenes en las ubicaciones seleccionadas.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> está listo para completar la instalación.</translation>
 <translation id="1871615898038944731">Tu <ph name="DEVICE_TYPE" /> está actualizado</translation>
+<translation id="1875312262568496299">Empezar</translation>
 <translation id="1875387611427697908">Este elemento solo se puede añadir desde <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">No se ha podido obtener el token de autenticación. Cierra la sesión y vuelve a iniciarla para intentarlo de nuevo.</translation>
 <translation id="1878302395768190018">Puedes personalizarla en cualquier momento en la configuración de Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto de <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Enviar al teléfono</translation>
 <translation id="2119349053129246860">Abrir en <ph name="APP" /></translation>
+<translation id="2120297377148151361">Actividad e interacciones</translation>
 <translation id="2121825465123208577">Modificar tamaño</translation>
 <translation id="2124930039827422115">{1,plural, =1{Valorada con un <ph name="AVERAGE_RATING" /> por 1 usuario.}other{Valorada con un <ph name="AVERAGE_RATING" /> por # usuarios.}}</translation>
 <translation id="2126167708562367080">El administrador ha inhabilitado la sincronización.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Tamaño del papel</translation>
 <translation id="2318817390901984578">Para usar aplicaciones de Android, carga y actualiza tu <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Sesión de incógnito actual (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Usar la llave de seguridad con <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Encabezado y pie de página</translation>
 <translation id="2325650632570794183">No se admite este tipo de archivo. Accede a Chrome Web Store para buscar una aplicación que pueda abrir este tipo de archivo.</translation>
 <translation id="2326931316514688470">&amp;Volver a cargar aplicación</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Añadir uso compartido de archivo</translation>
 <translation id="2367972762794486313">Mostrar aplicaciones</translation>
 <translation id="2369536625682139252">Se eliminarán todos los datos que almacena <ph name="SITE" />, excepto las cookies.</translation>
+<translation id="237058345584060620">Vincula la llave con este dispositivo y podrás usarla para iniciar sesión en tu cuenta</translation>
 <translation id="2371076942591664043">Abrir al &amp;finalizar</translation>
 <translation id="2376559921867170420">Cuando hayas configurado el Chromebook, pulsa el botón del Asistente o di "Ok Google" para recibir ayuda del Asistente en cualquier momento.</translation>
 <translation id="2377319039870049694">Cambiar a vista de lista</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">No se encuentra tu teléfono. Asegúrate de que el Bluetooth esté activado en tu <ph name="DEVICE_TYPE" />. &lt;a&gt;Más información&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Añadir &amp;carpeta...</translation>
 <translation id="249113932447298600">Lo sentimos, pero el dispositivo <ph name="DEVICE_LABEL" /> no se admite en este momento.</translation>
+<translation id="2492040222276243256">Mantén pulsado el botón de la llave de seguridad durante al menos 5 segundos</translation>
 <translation id="2493021387995458222">Seleccionar "palabra por palabra"</translation>
 <translation id="249303669840926644">No se ha podido completar el registro</translation>
 <translation id="2495777824269688114">Descubre más funciones o consigue respuestas. Selecciona ? para obtener ayuda.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Esperando conector disponible...</translation>
 <translation id="252219247728877310">Componente no actualizado</translation>
 <translation id="2522791476825452208">Muy cerca</translation>
+<translation id="2523184218357549926">Envía las URL de las páginas que visitas en Google</translation>
 <translation id="2525250408503682495">¡Kriptonita! No se ha podido montar la "criptocasa" de la aplicación del kiosco.</translation>
 <translation id="2526277209479171883">Instalar y continuar</translation>
 <translation id="2526590354069164005">Escritorio</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">No has iniciado sesión en <ph name="SHORT_PRODUCT_NAME" />.</translation>
 <translation id="2563856802393254086">¡Enhorabuena! Tu servicio de datos <ph name="NAME" /> se ha activado y está listo para que lo uses.</translation>
 <translation id="2564520396658920462">La ejecución de JavaScript a través de AppleScript está desactivada. Para activarla, en la barra de menú, accede a Ver &gt; Opciones para desarrolladores &gt; Permitir JavaScript desde Eventos de Apple. Puedes consultar más información en la página https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Revisión ortográfica mejorada</translation>
 <translation id="2566124945717127842">Haz un Powerwash y restablece el estado de fábrica de tu dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /> para que quede como nuevo.</translation>
 <translation id="2567257616420533738">Se ha guardado la contraseña. Consulta y administra las contraseñas guardadas en la página <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Contenedor de barra de información</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> utiliza <ph name="USAGE" /> MB del espacio en disco.</translation>
 <translation id="2633212996805280240">¿Quieres eliminar "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> no ha podido completar la instalación, pero se seguirá ejecutando desde la imagen de disco.</translation>
+<translation id="2633326789677284179">Encuentra el nombre impreso en la parte posterior de la llave</translation>
 <translation id="2635276683026132559">Firma</translation>
 <translation id="2636625531157955190">Chrome no puede acceder a la imagen.</translation>
 <translation id="2638087589890736295">Se necesita una frase de contraseña para iniciar la sincronización</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">No se puede copiar el archivo crx externo en <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558"><ph name="DEVICE_NAME" /> vinculado</translation>
 <translation id="3101709781009526431">Fecha y hora</translation>
+<translation id="3104900172193317662">Permitir que se utilice tu llave de seguridad</translation>
 <translation id="310671807099593501">El sitio web está usando el Bluetooth</translation>
 <translation id="3115128645424181617">No se encuentra tu teléfono. Asegúrate de que lo tienes cerca y de que el Bluetooth está activado.</translation>
 <translation id="3115147772012638511">Esperando caché...</translation>
@@ -1875,6 +1884,7 @@
 <translation id="3839516600093027468">No permitir nunca que <ph name="HOST" /> vea el portapapeles</translation>
 <translation id="3840053866656739575">Se ha perdido la conexión con tu Chromebox. Acércate más o comprueba el dispositivo mientras intentamos volver a establecer la conexión.</translation>
 <translation id="3842552989725514455">Fuente Serif</translation>
+<translation id="3846116211488856547">Consigue herramientas para desarrollar sitios web, aplicaciones de Android y mucho más. Al instalar Linux, se descargarán <ph name="DOWNLOAD_SIZE" /> de datos.</translation>
 <translation id="385051799172605136">Atrás</translation>
 <translation id="3851428669031642514">Cargar scripts no seguros</translation>
 <translation id="3855441664322950881">Empaquetar extensión</translation>
@@ -1898,6 +1908,7 @@
 <translation id="3872991219937722530">Libera espacio del disco o el dispositivo no responderá.</translation>
 <translation id="3878840326289104869">Creando usuario supervisado</translation>
 <translation id="3879748587602334249">Administrador de descargas</translation>
+<translation id="3880709822663530586">La llave de seguridad solo funciona cuando la conexión Bluetooth del dispositivo está activada</translation>
 <translation id="3888550877729210209">Tomando notas con <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Añadir OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">Leer y cambiar tu configuración de accesibilidad</translation>
@@ -2358,6 +2369,7 @@
 <translation id="4681930562518940301">Abrir &amp;imagen original en una pestaña nueva</translation>
 <translation id="4682551433947286597">Aparecen fondos de pantalla en la pantalla de inicio de sesión.</translation>
 <translation id="4684427112815847243">Sincronizar todo</translation>
+<translation id="4689235506267737042">Elegir tus preferencias de demostración</translation>
 <translation id="4689421377817139245">Sincronizar este marcador con tu iPhone</translation>
 <translation id="4690091457710545971">&lt;El firmware del Wi‑Fi de Intel ha generado cuatro archivos: csr.lst, fh_regs.lst, radio_reg.lst y monitor.lst.sysmon. Los tres primeros son archivos binarios que contienen volcados de registro, e Intel afirma que no contienen información personal o que identifique el dispositivo. El último archivo es un seguimiento de ejecución del firmware de Intel del cual se ha eliminado toda la información personal o que identifique el dispositivo, pero es demasiado grande para mostrarse aquí. Estos archivos se han generado como respuesta a los problemas recientes de tu dispositivo con la conexión Wi‑Fi y se compartirán con Intel para que ayude a solucionarlos.&gt;</translation>
 <translation id="4692302215262324251"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ha registrado el dispositivo <ph name="DEVICE_TYPE" /> para ser administrado por la empresa.
@@ -2463,7 +2475,6 @@
 <translation id="4856478137399998590">Tu servicio de datos móviles se ha activado y está listo para utilizarse.</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Abrir todas en una &amp;ventana de incógnito}=1{Abrir en una &amp;ventana de incógnito}other{Abrir (#) en una &amp;ventana de incógnito}}</translation>
 <translation id="4858913220355269194">Balón</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Reproduciendo vídeo en modo imagen en imagen</translation>
 <translation id="4862050643946421924">Añadiendo dispositivo...</translation>
 <translation id="4862642413395066333">Firma de respuestas de OCSP</translation>
 <translation id="4863769717153320198">Resolución de <ph name="WIDTH" />x<ph name="HEIGHT" /> (predeterminada)</translation>
@@ -2487,6 +2498,7 @@
 <translation id="4880827082731008257">Buscar en el historial</translation>
 <translation id="4881695831933465202">Abrir</translation>
 <translation id="4882473678324857464">Seleccionar marcadores</translation>
+<translation id="4882831918239250449">Controlar cómo se utiliza el historial de navegación para personalizar la Búsqueda, los anuncios y mucho más</translation>
 <translation id="4883178195103750615">Exportar marcadores a archivo HTML...</translation>
 <translation id="4883436287898674711">Todos los sitios de <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Administrador de tareas</translation>
@@ -2761,6 +2773,7 @@
 <translation id="5288678174502918605">Volv&amp;er a abrir pestaña cerrada</translation>
 <translation id="52912272896845572">El archivo de clave privada no es válido.</translation>
 <translation id="529175790091471945">Formatear este dispositivo</translation>
+<translation id="5292195676005197571">Para utilizar la mayoría de las llaves, solo tienes que pulsar el botón</translation>
 <translation id="5293170712604732402">Restaura los valores predeterminados originales de la configuración</translation>
 <translation id="5298219193514155779">Tema creado por</translation>
 <translation id="5299109548848736476">No realizar seguimiento</translation>
@@ -3021,11 +3034,13 @@
 <translation id="5658415415603568799">Para mayor seguridad, Smart Lock te pedirá que introduzcas la contraseña después de 20 horas.</translation>
 <translation id="5659593005791499971">Correo electrónico</translation>
 <translation id="5659833766619490117">No se ha podido traducir la página</translation>
+<translation id="5660204307954428567">Vincular con <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Perpetua</translation>
 <translation id="5667546120811588575">Configurando Google Play...</translation>
 <translation id="5669267381087807207">Activando</translation>
 <translation id="5669691691057771421">Introducir el nuevo PIN</translation>
 <translation id="5671641761787789573">Imágenes bloqueadas</translation>
+<translation id="5673076758299428095">Apagar Linux</translation>
 <translation id="5677503058916217575">Idioma de la página:</translation>
 <translation id="5677928146339483299">Con bloqueo</translation>
 <translation id="5678550637669481956">Se ha concedido acceso de lectura y escritura a <ph name="VOLUME_NAME" />.</translation>
@@ -3190,6 +3205,9 @@
 <translation id="5920835625712313205">Escritor de imágenes del sistema de Chrome OS</translation>
 <translation id="5921745308587794300">Gira la ventana</translation>
 <translation id="5924047253200400718">Obtener ayuda<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Haz una foto o selecciona una foto o un icono que ya tengas.
+    <ph name="LINE_BREAK" />
+    Esta imagen se mostrará en la pantalla de bloqueo y en la de inicio de sesión del Chromebook.</translation>
 <translation id="5925147183566400388">Identificador de declaración de prácticas de certificación</translation>
 <translation id="592880897588170157">Descargar archivos PDF en lugar de abrirlos automáticamente en Chrome</translation>
 <translation id="5931146425219109062">Leer y modificar todos los datos de los sitios web que visites</translation>
@@ -3286,6 +3304,7 @@
 <translation id="6078752646384677957">Comprueba el volumen del micrófono y del audio.</translation>
 <translation id="6080515710685820702">¿Utilizas un ordenador compartido? Prueba a abrir una ventana de incógnito.</translation>
 <translation id="6080689532560039067">Comprueba la hora del sistema</translation>
+<translation id="6082111513049964958">Contraseña de desbloqueo</translation>
 <translation id="6082651258230788217">Mostrar en la barra de herramientas</translation>
 <translation id="6086846494333236931">Instalada por tu administrador</translation>
 <translation id="6087960857463881712">Cara de emoción</translation>
@@ -3509,6 +3528,7 @@
 <translation id="642282551015776456">Este nombre no se puede utilizar como nombre de archivo de carpeta.</translation>
 <translation id="642469772702851743">El propietario ha bloqueado este dispositivo (número de serie: <ph name="SERIAL_NUMBER" />).</translation>
 <translation id="6426200009596957090">Abrir la configuración de ChromeVox</translation>
+<translation id="6427415464407526111">Seleccionar la llave de seguridad</translation>
 <translation id="6429384232893414837">Error de actualización</translation>
 <translation id="6430814529589430811">ASCII codificado en Base64, certificado único</translation>
 <translation id="6431217872648827691">Todos los datos se cifraron con tu contraseña de Google el <ph name="TIME" /></translation>
@@ -3934,6 +3954,7 @@
 <translation id="7099337801055912064">No se pueden cargar archivos PPD grandes. El tamaño máximo es 250 kB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> elementos seleccionados</translation>
 <translation id="7102687220333134671">Las actualizaciones automáticas están activadas</translation>
+<translation id="7102832101143475489">Se ha agotado el tiempo de espera de la petición</translation>
 <translation id="7106346894903675391">Comprar más almacenamiento...</translation>
 <translation id="7108338896283013870">Ocultar</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> quiere utilizar la cámara</translation>
@@ -4142,7 +4163,6 @@
 <translation id="7427348830195639090">Página en segundo plano: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Abrir todas en una &amp;nueva ventana}=1{Abrir en una &amp;nueva ventana}other{Abrir (#) en una &amp;nueva ventana}}</translation>
 <translation id="7434509671034404296">Opciones para desarrolladores</translation>
-<translation id="7436470008146509879">Configura Linux en tu <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">¡Vaya! No se ha podido cambiar el nombre.</translation>
 <translation id="7441830548568730290">Otros usuarios</translation>
 <translation id="7442465037756169001">Ya puedes configurar el hardware de Hangouts Meet.</translation>
@@ -4441,7 +4461,6 @@
 <translation id="7881969471599061635">Inhabilitar subtítulos</translation>
 <translation id="7882358943899516840">Tipo de proveedor</translation>
 <translation id="7885253890047913815">Destinos recientes</translation>
-<translation id="7886917304091689118">Se está ejecutando en Chrome</translation>
 <translation id="7887334752153342268">Duplicar</translation>
 <translation id="7887864092952184874">Ratón Bluetooth vinculado</translation>
 <translation id="7889565820482017512">Tamaño de la pantalla</translation>
@@ -4554,6 +4573,7 @@
 <translation id="8028993641010258682">Tamaño</translation>
 <translation id="8030656706657716245">Añadir impresora</translation>
 <translation id="8032244173881942855">No se puede enviar la pestaña.</translation>
+<translation id="8033958968890501070">Tiempo de espera agotado</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Abrir todas en una &amp;ventana de incógnito}=1{Abrir en una &amp;ventana de incógnito}other{Abrir (#) en una &amp;ventana de incógnito}}</translation>
 <translation id="8037117027592400564">Leer todo el texto hablado con la síntesis de voz</translation>
 <translation id="8037357227543935929">Preguntar (predeterminado)</translation>
@@ -4612,7 +4632,6 @@
 <translation id="8118860139461251237">Gestionar tus descargas</translation>
 <translation id="81238879832906896">Flor blanca y amarilla</translation>
 <translation id="8124313775439841391">ONC administrado</translation>
-<translation id="8125562866093998907">El sitio web quiere verificar tu llave de seguridad para ofrecerte una mayor seguridad en tu cuenta.</translation>
 <translation id="813082847718468539">Ver información del sitio</translation>
 <translation id="8131740175452115882">Confirmar</translation>
 <translation id="8133676275609324831">&amp;Mostrar en carpeta</translation>
@@ -4644,6 +4663,8 @@
 <translation id="8180239481735238521">página</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" puede leer y eliminar imágenes, vídeos y archivos de sonido en las ubicaciones seleccionadas.</translation>
 <translation id="8181215761849004992">No se puede vincular el dispositivo. Consulta en tu cuenta si tienes permisos suficientes para añadir dispositivos.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    No creo que este sitio deba bloquearse.</translation>
 <translation id="8184288427634747179">Cambiar a <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Más información</translation>
 <translation id="8185331656081929126">Mostrar notificaciones cuando se detecten nuevas impresoras en la red</translation>
@@ -4787,6 +4808,7 @@
 <translation id="8434480141477525001">Puerto de depuración NaCl</translation>
 <translation id="843760761634048214">Guarda la tarjeta de crédito</translation>
 <translation id="8438328416656800239">Cambia a un navegador inteligente</translation>
+<translation id="8438566539970814960">Mejorar las búsquedas y la navegación</translation>
 <translation id="8439506636278576865">Ofrecer la traducción de páginas en este idioma</translation>
 <translation id="8446884382197647889">Más información</translation>
 <translation id="8447409163267621480">Incluye Ctrl o Alt</translation>
@@ -4991,7 +5013,6 @@
 <translation id="8736288397686080465">Este sitio se ha actualizado en segundo plano.</translation>
 <translation id="8737685506611670901">Abrir enlaces de <ph name="PROTOCOL" /> en lugar de <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Imagen en imagen</translation>
 <translation id="8743390665131937741">Nivel de zoom de pantalla completa:</translation>
 <translation id="8743864605301774756">Actualizada hace 1 hora</translation>
 <translation id="874689135111202667">{0,plural, =1{¿Quieres subir un archivo a este sitio web?}other{¿Quieres subir # archivos a este sitio web?}}</translation>
@@ -5143,6 +5164,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: ha fallado</translation>
 <translation id="8983677657449185470">Ayudar a mejorar la función Navegación Segura</translation>
 <translation id="8984654317541110628">URL de recurso compartido</translation>
+<translation id="8984872292925913496">Busca el PIN de 6 dígitos situado en la parte trasera de la llave</translation>
 <translation id="8986362086234534611">Dejar de recordar</translation>
 <translation id="8986494364107987395">Enviar automáticamente estadísticas de uso e informes sobre fallos a Google</translation>
 <translation id="8987927404178983737">Mes</translation>
@@ -5265,6 +5287,7 @@
 <translation id="9158715103698450907">¡Vaya! Se ha producido un problema de comunicación de red durante el proceso de autenticación. Comprueba tu conexión de red e inténtalo de nuevo.</translation>
 <translation id="9161070040817969420">Submarcos de: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Enviar datos del sistema. Este dispositivo envía a Google datos de diagnósticos y uso del dispositivo y las aplicaciones automáticamente. El propietario aplica esta configuración. Si has activado la opción Actividad en la Web y en Aplicaciones, esta información se almacenará en tu cuenta para que puedas gestionarla en la sección Mi Actividad. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Imagen en imagen</translation>
 <translation id="9169496697824289689">Ver combinaciones de teclas</translation>
 <translation id="9169931577761441333">Añadir <ph name="APP_NAME" /> a la pantalla de inicio</translation>
 <translation id="9170397650136757332">Mueve el dedo ligeramente para capturar todas las partes de tu huella digital</translation>
@@ -5315,7 +5338,6 @@
 <translation id="952992212772159698">Sin activar</translation>
 <translation id="957960681186851048">Este sitio web ha intentado descargar varios archivos automáticamente</translation>
 <translation id="9580706199804957">No se ha podido conectar con los servicios de Google</translation>
-<translation id="958416628331784386">En esta pestaña se está reproduciendo un vídeo en modo imagen en imagen.</translation>
 <translation id="960719561871045870">Código del operador</translation>
 <translation id="960987915827980018">Aproximadamente 1 hora</translation>
 <translation id="962802172452141067">Árbol de la carpeta de marcadores</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index 6ca2636..205cf10 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Peata</translation>
 <translation id="1181037720776840403">Eemalda</translation>
 <translation id="1183237619868651138">Faili <ph name="EXTERNAL_CRX_FILE" /> ei saa kohalikku vahemällu installida.</translation>
+<translation id="1183378459020939734">Kas olete valmis oma turvavõtme sidumiseks?</translation>
 <translation id="1185924365081634987">Võrguvea parandamiseks võite proovida ka <ph name="GUEST_SIGNIN_LINK_START" />külalisena sirvimist<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Kahjuliku tarkvara eemaldamine</translation>
 <translation id="1187722533808055681">Jõuderežiimist äratamine</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Aidake muuta rakendus <ph name="PRODUCT_NAME" /> paremaks, saates Google'ile automaatselt kasutusstatistikat ja veaaruandeid</translation>
 <translation id="1658424621194652532">See leht pääseb teie mikrofoni juurde.</translation>
 <translation id="1660204651932907780">Saitidel lubatakse esitada heli (soovitatav)</translation>
-<translation id="1660938185063657230">Turvavõtme kinnitamine</translation>
 <translation id="1661156625580498328">AES-krüpteerimise jõustamine (soovitatud).</translation>
 <translation id="1661245713600520330">Sellel lehel on loetletud kõik põhiprotsessi laaditud moodulid ja hilisemaks laadimiseks registreeritud moodulid.</translation>
 <translation id="166179487779922818">Parool on liiga lühike.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Puute-HUD-režiimi muutmine</translation>
 <translation id="1784849162047402014">Seadmes on vähe kettaruumi</translation>
 <translation id="1786636458339910689">Tiimikettad</translation>
+<translation id="1792161662640298233">Turvavõtme kinnitamine</translation>
 <translation id="1792619191750875668">Lisaekraan</translation>
 <translation id="1794791083288629568">Saatke tagasisidet, et aidata meil see probleem lahendada.</translation>
 <translation id="1795214765651529549">Kasuta klassikalist</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Kustuta kasutaja <ph name="USERNAME" /> parool</translation>
 <translation id="1819721979226826163">Puudutage valikuid Rakenduse märguanded &gt; Google Play teenused.</translation>
 <translation id="1826516787628120939">Kontrollimine</translation>
-<translation id="1827750274519118478">Video esitamine režiimis Pilt pildis peatatakse.</translation>
 <translation id="1828378091493947763">Seda pistikprogrammi selles seadmes ei toetata</translation>
 <translation id="1828901632669367785">Prindi, kasutades süsteemidialoogi ...</translation>
 <translation id="1829192082282182671">&amp;Vähenda</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">„<ph name="EXTENSION" />” saab loa märgitud asukohtade pildi-, video- ja helifaile lugeda ja kirjutada.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> oma valmis teie installi lõpuni viima</translation>
 <translation id="1871615898038944731">Teie seade <ph name="DEVICE_TYPE" /> on ajakohane</translation>
+<translation id="1875312262568496299">Alusta</translation>
 <translation id="1875387611427697908">Seda on võimalik lisada vaid teenusest <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Autentimismärgi hankimine ebaõnnestus. Uuesti proovimiseks logige välja ja seejärel uuesti sisse.</translation>
 <translation id="1878302395768190018">Seda saate Chrome'i seadetes igal ajal kohandada</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto autor: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Saada telefoni</translation>
 <translation id="2119349053129246860">Avamine rakenduses <ph name="APP" /></translation>
+<translation id="2120297377148151361">Tegevused ja interaktsioonid</translation>
 <translation id="2121825465123208577">Muuda suurust</translation>
 <translation id="2124930039827422115">{1,plural, =1{Hinnang <ph name="AVERAGE_RATING" /> ühelt kasutajalt.}other{Hinnang <ph name="AVERAGE_RATING" /> # kasutajalt.}}</translation>
 <translation id="2126167708562367080">Administraator on sünkroonimise keelanud.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Paberi suurus</translation>
 <translation id="2318817390901984578">Androidi rakenduste kasutamiseks laadige ja värskendage oma seadet <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Praegune inkognito seanss (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Turvavõtme kasutamine rakendusega <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Päised ja jalused</translation>
 <translation id="2325650632570794183">Seda failitüüpi ei toetata. Külastage Chrome'i veebipoodi, et leida rakendus, mis avaks seda tüüpi faili.</translation>
 <translation id="2326931316514688470">&amp;Laadi rakendus uuesti</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Lisa failide võrguhoidla</translation>
 <translation id="2367972762794486313">Rakenduste kuvamine</translation>
 <translation id="2369536625682139252">Kõik saidi <ph name="SITE" /> talletatud andmed peale küpsisefailide kustutatakse.</translation>
+<translation id="237058345584060620">Siduge oma võti selle seadmega, et saaksite seda kasutada oma kontole sisselogimiseks</translation>
 <translation id="2371076942591664043">Ava, kui on &amp;valmis</translation>
 <translation id="2376559921867170420">Kui teie Chromebook on seadistatud, vajutage assistendi nuppu või öelge otsetee sõna „Ok Google”, et assistendilt abi paluda.</translation>
 <translation id="2377319039870049694">Lülita loendivaatele</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Teie telefoni ei õnnestu leida. Veenduge, et seadme <ph name="DEVICE_TYPE" /> Bluetooth oleks sisse lülitatud. &lt;a&gt;Lisateave&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Lisa &amp;kaust ...</translation>
 <translation id="249113932447298600">Kahjuks praegu seadet <ph name="DEVICE_LABEL" /> ei toetata.</translation>
+<translation id="2492040222276243256">Vajutage ja hoidke turvavõtmel olevat nuppu all vähemalt viis sekundit</translation>
 <translation id="2493021387995458222">Valib ühe sõna korraga</translation>
 <translation id="249303669840926644">Registreerimise lõpetamine ebaõnnestus</translation>
 <translation id="2495777824269688114">Avastage rohkem funktsioone või hankige vastuseid. Abi saamiseks tehke valik „?”.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Vaba pesa ootamine ...</translation>
 <translation id="252219247728877310">Komponenti ei värskendatud</translation>
 <translation id="2522791476825452208">Väga lähedal</translation>
+<translation id="2523184218357549926">Saadab Google'ile teie külastatud lehtede URL-id</translation>
 <translation id="2525250408503682495">Krüptoniit! Kioski rakenduse krüptokodu ei saanud ühendada.</translation>
 <translation id="2526277209479171883">Installi ja jätka</translation>
 <translation id="2526590354069164005">Töölaud</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Pole teenusesse <ph name="SHORT_PRODUCT_NAME" /> sisse logitud</translation>
 <translation id="2563856802393254086">Õnnitleme! Teie võrgu „<ph name="NAME" />” andmeteenus on aktiveeritud ja kasutamiseks valmis.</translation>
 <translation id="2564520396658920462">JavaScripti käitamine AppleScripti kaudu on välja lülitatud. Selle sisselülitamiseks tehke menüüribal valikud View &gt; Developer &gt; Allow JavaScript from Apple Events. Vaadake lisateavet aadressilt https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Täiustatud õigekirjakontroll</translation>
 <translation id="2566124945717127842">Pärast Powerwashiga lähtestamist on teie toote <ph name="IDS_SHORT_PRODUCT_NAME" /> seade just nagu uus.</translation>
 <translation id="2567257616420533738">Parool salvestati. Vaadake ja hallake salvestatud paroole saidil <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Teaberiba ümbris</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> kasutab <ph name="USAGE" /> MB kettaruumi.</translation>
 <translation id="2633212996805280240">Kas eemaldada „<ph name="EXTENSION_NAME" />”?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> ei suutnud installimist lõpule viia, kuid jätkab käitamist kettakujutiselt.</translation>
+<translation id="2633326789677284179">Otsige üles võtme tagaküljele prinditud nimi</translation>
 <translation id="2635276683026132559">Allkirjastamine</translation>
 <translation id="2636625531157955190">Chrome ei pääse kujutisele juurde.</translation>
 <translation id="2638087589890736295">Sünkroonimise alustamiseks on vaja parooli</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Välist crx-faili ei saa faili <ph name="TEMP_CRX_FILE" /> kopeerida.</translation>
 <translation id="3090871774332213558">Seade „<ph name="DEVICE_NAME" />” on seotud</translation>
 <translation id="3101709781009526431">Kuupäev ja kellaaeg</translation>
+<translation id="3104900172193317662">Turvavõtme kasutamise lubamine</translation>
 <translation id="310671807099593501">Sait kasutab Bluetoothi</translation>
 <translation id="3115128645424181617">Teie telefoni ei õnnestu leida. Veenduge, et see oleks käepärast ja Bluetooth oleks sisse lülitatud.</translation>
 <translation id="3115147772012638511">Puhvri ootel...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Blokeeri hosti <ph name="HOST" /> jaoks alati lõikelaua nägemine</translation>
 <translation id="3840053866656739575">Chromeboxiga on ühendus katkenud. Liikuge lähemale või kontrollige oma seadet. Püüame sel ajal uuesti ühendust luua.</translation>
 <translation id="3842552989725514455">Seriifidega font</translation>
+<translation id="3846116211488856547">Hankige tööriistad veebisaitide, Androidi rakenduste ja muu arendamiseks. Linuxi installimisel laaditakse alla <ph name="DOWNLOAD_SIZE" /> ulatuses andmeid.</translation>
 <translation id="385051799172605136">Tagasi</translation>
 <translation id="3851428669031642514">Laadi ohtlikud skriptid</translation>
 <translation id="3855441664322950881">Paki laiendus</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Vabastage kettaruumi, muidu seade ei reageeri.</translation>
 <translation id="3878840326289104869">Jälgitava kasutaja loomine</translation>
 <translation id="3879748587602334249">Allalaadimishaldur</translation>
+<translation id="3880709822663530586">Teie turvavõti töötab ainult siis, kui seadme Bluetooth on sisse lülitatud</translation>
 <translation id="3888550877729210209">Märkmete tegemine rakendusega <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Lisa OpenVPN/L2TP …</translation>
 <translation id="3893536212201235195">Juurdepääsetavuse seadete lugemine ja muutmine</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Ava &amp;algkujutis uuel vahelehel</translation>
 <translation id="4682551433947286597">Taustapildid kuvatakse sisselogimisekraanil.</translation>
 <translation id="4684427112815847243">Sünkrooni kõik</translation>
+<translation id="4689235506267737042">Demoeelistuste valimine</translation>
 <translation id="4689421377817139245">Sünkroonige see järjehoidja oma iPhone'iga</translation>
 <translation id="4690091457710545971">&lt;Inteli WiFi püsivara lõi neli faili: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Esimesed kolm on binaarfailid, mis sisaldavad registritõmmiseid, ja Intel kinnitab, et need ei hõlma isiklikke andmeid ega seadme tuvastamist võimaldavat teavet. Viimane fail on Inteli püsivara käivitusjälg, kust on eemaldatud kõik isiklikud ja seadme andmed, ent fail on siin kuvamiseks liiga suur. Need failid loodi seadmes hiljuti esinenud WiFi probleemide tõttu ning neid jagatakse Inteliga, et hõlbustada probleemide veaotsingut.&gt;</translation>
 <translation id="4692302215262324251">Teie <ph name="DEVICE_TYPE" /> registreeriti ettevõtte halduse jaoks domeenil <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Teie mobiilne andmesideteenus on aktiveeritud ja kasutamiseks valmis</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Ava kõik &amp;inkognito aknas}=1{Ava &amp;inkognito aknas}other{Ava kõik (#) &amp;inkognito aknas}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – videot esitatakse režiimis Pilt pildis</translation>
 <translation id="4862050643946421924">Seadme lisamine ...</translation>
 <translation id="4862642413395066333">Signeerimise OCSP vastused</translation>
 <translation id="4863769717153320198">Näib kui <ph name="WIDTH" /> × <ph name="HEIGHT" /> (vaikeseade)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Otsi ajaloost</translation>
 <translation id="4881695831933465202">Ava</translation>
 <translation id="4882473678324857464">Fookus järjehoidjatele</translation>
+<translation id="4882831918239250449">Juhtige, kuidas teie sirvimisajalugu kasutatakse otsingu, reklaamide ja muu isikupärastamiseks</translation>
 <translation id="4883178195103750615">Järjehoidjate eksportimine HTML-faili ...</translation>
 <translation id="4883436287898674711">Kõik domeeni <ph name="WEBSITE_1" /> saidid</translation>
 <translation id="48838266408104654">Tegumihal&amp;dur</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">Ava suletud vaheleht &amp;uuesti</translation>
 <translation id="52912272896845572">Privaatvõtme fail on kehtetu.</translation>
 <translation id="529175790091471945">Vorminda see seade</translation>
+<translation id="5292195676005197571">Enamiku võtmete kasutamiseks vajutage lihtsalt nuppu</translation>
 <translation id="5293170712604732402">Seadete taastamine algsetele vaikevalikutele</translation>
 <translation id="5298219193514155779">Teema on loonud</translation>
 <translation id="5299109548848736476">Ära jälgi</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Turvalisuse suurendamiseks palub Smart Lock teil 20 tunni möödudes sisestada parooli.</translation>
 <translation id="5659593005791499971">Meil</translation>
 <translation id="5659833766619490117">Seda lehte ei õnnestunud tõlkida.</translation>
+<translation id="5660204307954428567">Seadmega <ph name="DEVICE_NAME" /> sidumine</translation>
 <translation id="5662477687021125631">Jätkuv</translation>
 <translation id="5667546120811588575">Google Play seadistamine …</translation>
 <translation id="5669267381087807207">Aktiveerimine</translation>
 <translation id="5669691691057771421">Sisestage uus PIN-kood</translation>
 <translation id="5671641761787789573">Kujutised on blokeeritud</translation>
+<translation id="5673076758299428095">Lülita Linux välja</translation>
 <translation id="5677503058916217575">Lehe keel:</translation>
 <translation id="5677928146339483299">Blokeeritud</translation>
 <translation id="5678550637669481956">On antud lugemise ja kirjutamise juurdepääs seadmele <ph name="VOLUME_NAME" />.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Chrome OS-i süsteemi pildikirjutaja</translation>
 <translation id="5921745308587794300">Akna pööramine</translation>
 <translation id="5924047253200400718">Hankige abi<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Jäädvustage uus foto või valige olemasolev foto või ikoon.
+    <ph name="LINE_BREAK" />
+    See pilt kuvatakse Chromebooki sisselogimisekraanil ja lukustuskuval.</translation>
 <translation id="5925147183566400388">Sertifitseerimistegevuse väljavõtte viit</translation>
 <translation id="592880897588170157">Laadige PDF-failid alla selle asemel, et need Chrome'is automaatselt avada</translation>
 <translation id="5931146425219109062">Külastatavate veebisaitide andmete lugemine ja muutmine</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Kontrollige mikrofoni ja helitasemeid.</translation>
 <translation id="6080515710685820702">Kas kasutate jagatud arvutit? Proovige avada inkognito aken.</translation>
 <translation id="6080689532560039067">Süsteemiaja kontrollimine</translation>
+<translation id="6082111513049964958">Avamise parool</translation>
 <translation id="6082651258230788217">Tööriistaribal kuvamine</translation>
 <translation id="6086846494333236931">Selle installis administraator</translation>
 <translation id="6087960857463881712">Lahe nägu</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Seda nime ei saa faili või kausta nimena kasutada</translation>
 <translation id="642469772702851743">Selle seadme (seerianumber: <ph name="SERIAL_NUMBER" />) lukustas omanik.</translation>
 <translation id="6426200009596957090">Ava ChromeVoxi seaded</translation>
+<translation id="6427415464407526111">Turvavõtme valimine</translation>
 <translation id="6429384232893414837">Viga värskendamisel</translation>
 <translation id="6430814529589430811">Base64 kodeeritud ASCII, üks sertifikaat</translation>
 <translation id="6431217872648827691">Kõik andmed on krüptitud teie Google'i parooliga
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Suurt PPD-d ei saa laadida. Maksimaalne suurus on 250 kB.</translation>
 <translation id="7100897339030255923">Valitud on <ph name="COUNT" /> üksust</translation>
 <translation id="7102687220333134671">Automaatsed värskendused on sisse lülitatud</translation>
+<translation id="7102832101143475489">Taotlus aegus</translation>
 <translation id="7106346894903675391">Ostke rohkem salvestusruumi ...</translation>
 <translation id="7108338896283013870">Peida</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> soovib kasutada teie kaamerat</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Taustleht: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Ava kõik &amp;uues aknas}=1{Ava &amp;uues aknas}other{Ava kõik (#) &amp;uues aknas}}</translation>
 <translation id="7434509671034404296">Arendaja</translation>
-<translation id="7436470008146509879">Linuxi seadistamine seadmes <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ups, ebaõnn! Ümbernimetamisel ilmnes viga.</translation>
 <translation id="7441830548568730290">Teised kasutajad</translation>
 <translation id="7442465037756169001">Rakenduse Hangouts Meet riistvara on seadistamiseks valmis.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Keela subtiitrid</translation>
 <translation id="7882358943899516840">Teenusepakkuja tüüp</translation>
 <translation id="7885253890047913815">Hiljutised sihtkohad</translation>
-<translation id="7886917304091689118">Töötab Chrome'is</translation>
 <translation id="7887334752153342268">Tee koopia</translation>
 <translation id="7887864092952184874">Bluetoothi hiir on seotud</translation>
 <translation id="7889565820482017512">Kuvamissuurus</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Suurus</translation>
 <translation id="8030656706657716245">Lisa printer</translation>
 <translation id="8032244173881942855">Vahelehte ei õnnestu üle kanda.</translation>
+<translation id="8033958968890501070">Ajalõpp</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Ava kõik &amp;inkognito aknas}=1{Ava &amp;inkognito aknas}other{Ava kõik (#) &amp;inkognito aknas}}</translation>
 <translation id="8037117027592400564">Kogu kõnesünteesil põhineva teksti lugemine</translation>
 <translation id="8037357227543935929">Küsi (vaikimisi)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Allalaadimiste haldamine</translation>
 <translation id="81238879832906896">Kollane ja valge lill</translation>
 <translation id="8124313775439841391">Hallatud ONC</translation>
-<translation id="8125562866093998907">Sait soovib teie turvavõtme kinnitada, et teie kontot kaitsta.</translation>
 <translation id="813082847718468539">Kuvab saidi teabe</translation>
 <translation id="8131740175452115882">Kinnita</translation>
 <translation id="8133676275609324831">&amp;Kuva kaustas</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">lk</translation>
 <translation id="8180786512391440389">„<ph name="EXTENSION" />” saab märgitud asukohtade pildi-, video- ja helifaile lugeda ning kirjutada.</translation>
 <translation id="8181215761849004992">Domeeniga ei saa liituda. Kontrollige oma kontot ja veenduge, et teil oleks seadmete lisamiseks piisavad õigused.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Ma arvan, et see sait ei tohiks olla blokeeritud.</translation>
 <translation id="8184288427634747179">Aktiveeri <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Lisateave</translation>
 <translation id="8185331656081929126">Kuva märguanne, kui võrgus tuvastatakse mõni uus printer</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">NaCl silumisport</translation>
 <translation id="843760761634048214">Krediitkaardi salvestamine</translation>
 <translation id="8438328416656800239">Minge üle nutikale brauserile</translation>
+<translation id="8438566539970814960">Otsingute ja sirvimise paremaks muutmine</translation>
 <translation id="8439506636278576865">Paku selles keeles olevate lehtede tõlkimist</translation>
 <translation id="8446884382197647889">Lisateave</translation>
 <translation id="8447409163267621480">Kaasake Ctrl või Alt</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Saiti värskendati taustal.</translation>
 <translation id="8737685506611670901">Ava protokolli <ph name="PROTOCOL" /> lingid teenuse <ph name="REPLACED_HANDLER_TITLE" /> asemel</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Pilt pildis</translation>
 <translation id="8743390665131937741">Täisekraani suumitase:</translation>
 <translation id="8743864605301774756">Värskendatud 1 tund tagasi</translation>
 <translation id="874689135111202667">{0,plural, =1{Kas laadida sellele saidile üles üks fail?}other{Kas laadida sellele saidile üles # faili?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – jooksis kokku</translation>
 <translation id="8983677657449185470">Aidake ohutut sirvimist paremaks muuta</translation>
 <translation id="8984654317541110628">Failide jagamise URL</translation>
+<translation id="8984872292925913496">Leidke võtme tagaküljelt kuuekohaline PIN-kood</translation>
 <translation id="8986362086234534611">Unusta</translation>
 <translation id="8986494364107987395">Saada kasutusstatistika ja krahhiaruanded automaatselt Google'ile</translation>
 <translation id="8987927404178983737">kuu</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Vabandust! Autentimise ajal ilmnes võrguside probleem. Kontrollige võrguühendust ja proovige uuesti.</translation>
 <translation id="9161070040817969420">Alamraamid: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Saatke süsteemi andmeid. See seade saadab Google'ile praegu diagnostika- ja kasutusandmeid. Selle seade on jõustanud omanik. Kui lülitasite sisse rohkem veebi- ja rakendustegevusi, salvestatakse see teave teie kontole, et saaksite seda hallata jaotises Minu tegevused. <ph name="BEGIN_LINK1" />Lisateave<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Pilt pildis</translation>
 <translation id="9169496697824289689">Kuva klaviatuuri otseteed</translation>
 <translation id="9169931577761441333">Lisa <ph name="APP_NAME" /> avaekraanile</translation>
 <translation id="9170397650136757332">Nüüd liigutage veidi oma sõrme, et jäädvustada oma sõrmejälje kõik eri osad</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Aktiveerimata</translation>
 <translation id="957960681186851048">Sait püüdis automaatselt mitut faili alla laadida</translation>
 <translation id="9580706199804957">Google'i teenustega ei õnnestunud ühendust luua</translation>
-<translation id="958416628331784386">Vahelehel esitatakse videot režiimis Pilt pildis.</translation>
 <translation id="960719561871045870">Operaatori kood</translation>
 <translation id="960987915827980018">Jäänud on umbes 1 tund</translation>
 <translation id="962802172452141067">Järjehoidjate kausta puu</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 76b5fe1..fff7b93 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -451,7 +451,6 @@
 <translation id="1657406563541664238">‏با ارسال خودکار آمار استفاده و گزارش‌های خرابی به Google، به بهتر شدن <ph name="PRODUCT_NAME" /> کمک کنید.</translation>
 <translation id="1658424621194652532">این صفحه به میکروفون شما دسترسی دارد.</translation>
 <translation id="1660204651932907780">به سایت‌ها اجازه داده شود صدا پخش کنند (توصیه می‌شود)</translation>
-<translation id="1660938185063657230">به تأیید رساندن کلید امنیتی</translation>
 <translation id="1661156625580498328">اجرای اجباری استاندارد رمزگذاری پیشرفته (توصیه‌شده).</translation>
 <translation id="1661245713600520330">این صفحه همه مدول های بارگیری شده در پردازش اصلی و مدول های فهرست شده را برای بارگیری در فرصت دیگری فهرست می‌کند.</translation>
 <translation id="166179487779922818">گذرواژه بیش از حد کوتاه است.</translation>
@@ -563,7 +562,6 @@
 <translation id="1818007989243628752">گذرواژه مربوط به <ph name="USERNAME" /> حذف شود</translation>
 <translation id="1819721979226826163">‏روی «اعلان‌های برنامه &gt; خدمات Google Play» ضربه بزنید.</translation>
 <translation id="1826516787628120939">در حال بررسی</translation>
-<translation id="1827750274519118478">پخش ویدیو در حالت «تصویر در تصویر» متوقف خواهد شد.</translation>
 <translation id="1828378091493947763">این افزایه در این دستگاه پشتیبانی نمی‌شود</translation>
 <translation id="1828901632669367785">چاپ با استفاده از گفتگوی سیستم...</translation>
 <translation id="1829192082282182671">کوچک&amp; نمایی</translation>
@@ -2462,7 +2460,6 @@
 <translation id="4856478137399998590">سرویس داده تلفن همراه شما فعال شده و آمادهٔ استفاده است.</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{باز کردن همه در پنجره ناشناس}=1{باز کردن در پنجره ناشناس}one{باز کردن همه (#) در پنجره ناشناس}other{باز کردن همه (#) در پنجره ناشناس}}</translation>
 <translation id="4858913220355269194">فوتبالی</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - ویدیو در حالت تصویر در تصویر پخش می‌شود</translation>
 <translation id="4862050643946421924">در حال افزودن دستگاه...</translation>
 <translation id="4862642413395066333">‏امضا کردن پاسخ‌های OCSP</translation>
 <translation id="4863769717153320198">‏‎<ph name="WIDTH" /> × <ph name="HEIGHT" />‎ به‌نظر می‌رسد (پیش‌فرض)</translation>
@@ -4143,7 +4140,6 @@
 <translation id="7427348830195639090">صفحه پس‌زمینه: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{باز کردن همه در پنجره جدید}=1{باز کردن در پنجره جدید}one{باز کردن همه (#) در پنجره جدید}other{باز کردن همه (#) در پنجره جدید}}</translation>
 <translation id="7434509671034404296">برنامه‌نویس</translation>
-<translation id="7436470008146509879">‏راه‌اندازی Linux در <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">اوه، نه! درحین تغییر نام خطایی رخ داد.</translation>
 <translation id="7441830548568730290">کاربران دیگر</translation>
 <translation id="7442465037756169001">‏Hangouts Meet hardware شما آماده راه‌اندازی است.</translation>
@@ -4442,7 +4438,6 @@
 <translation id="7881969471599061635">غیرفعال کردن زیرنویس</translation>
 <translation id="7882358943899516840">نوع ارائه‌دهنده</translation>
 <translation id="7885253890047913815">مقصدهای اخیر</translation>
-<translation id="7886917304091689118">‏درحال اجرا در Chrome</translation>
 <translation id="7887334752153342268">کپی‌برداری</translation>
 <translation id="7887864092952184874">موشواره بلوتوث مرتبط شد</translation>
 <translation id="7889565820482017512">اندازه صفحه‌نمایش</translation>
@@ -4613,7 +4608,6 @@
 <translation id="8118860139461251237">مدیریت بارگیری‌ها</translation>
 <translation id="81238879832906896">گل زرد و سفید</translation>
 <translation id="8124313775439841391">‏ONC مدیریت شده</translation>
-<translation id="8125562866093998907">این سایت می‌خواهد «کلید امنیتی» مربوط به امنیت اضافه‌شده حسابتان را به تأیید برساند.</translation>
 <translation id="813082847718468539">مشاهدهٔ اطلاعات سایت</translation>
 <translation id="8131740175452115882">تأیید</translation>
 <translation id="8133676275609324831">&amp;نمایش در پوشه</translation>
@@ -4992,7 +4986,6 @@
 <translation id="8736288397686080465">این سایت در پس‌زمینه به‌روزرسانی شده است.</translation>
 <translation id="8737685506611670901">باز کردن پیوندهای <ph name="PROTOCOL" /> به جای <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">تصویردرتصویر</translation>
 <translation id="8743390665131937741">میزان بزرگ‌نمایی تمام‌صفحه:</translation>
 <translation id="8743864605301774756">۱ ساعت قبل به‌روز‌رسانی شد</translation>
 <translation id="874689135111202667">{0,plural, =1{یک فایل در این سایت بارگذاری شود؟}one{# فایل در این سایت بارگذاری شود؟}other{# فایل در این سایت بارگذاری شود؟}}</translation>
@@ -5266,6 +5259,7 @@
 <translation id="9158715103698450907">اوه! هنگام راستی‌آزمایی مشکلی در ارتباط شبکه رخ داد. لطفاً اتصال شبکه را بررسی کنید و دوباره امتحان کنید.</translation>
 <translation id="9161070040817969420">قاب‌های فرعی برای: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">‏ارسال داده‌های سیستم. درحال‌حاضر این دستگاه داده‌های عیب‌یابی و میزان استفاده دستگاه و برنامه را به‌طور خودکار به Google ارسال می‌کند. این تنظیم توسط مالک اعمال می‌شود. اگر «فعالیت وب و برنامه» تکمیلی را روشن کرده باشید، این اطلاعات در حسابتان ذخیره خواهد شد تا بتوانید آن‌ها را در «فعالیت من» مدیریت کنید. <ph name="BEGIN_LINK1" />بیشتر بدانید<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">تصویر در تصویر</translation>
 <translation id="9169496697824289689">مشاهده میان‌برهای صفحه‌کلید</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> را به صفحه اصلی اضافه کنید</translation>
 <translation id="9170397650136757332">حالا کمی انگشتتان را حرکت دهید تا قسمت‌های متفاوت اثرانگشتتان ثبت شود</translation>
@@ -5316,7 +5310,6 @@
 <translation id="952992212772159698">فعال نشد</translation>
 <translation id="957960681186851048">این سایت تلاش کرده است چند فایل را به‌طور خودکار بارگیری کند</translation>
 <translation id="9580706199804957">‏به سرویس‌های Google متصل نشد</translation>
-<translation id="958416628331784386">این برگه درحال پخش ویدیو در حالت تصویر در تصویر است.</translation>
 <translation id="960719561871045870">کد اپراتور</translation>
 <translation id="960987915827980018">حدود ۱ ساعت باقی مانده است</translation>
 <translation id="962802172452141067">درخت پوشه نشانک</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 4eba923..374b9def 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Auta parantamaan tuotetta <ph name="PRODUCT_NAME" /> lähettämällä automaattisesti käyttötilastoja ja virheraportteja Googlelle.</translation>
 <translation id="1658424621194652532">Tämä sivu käyttää mikrofoniasi.</translation>
 <translation id="1660204651932907780">Salli sivustojen toistaa ääniä (suositus)</translation>
-<translation id="1660938185063657230">Vahvista suojausavain</translation>
 <translation id="1661156625580498328">Pakota AES-salaus (suositus).</translation>
 <translation id="1661245713600520330">Tällä sivulla luetellaan kaikki pääprosessiin ladatut moduulit sekä myöhemmin ladattavaksi rekisteröidyt moduulit.</translation>
 <translation id="166179487779922818">Salasana on liian lyhyt.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752">Poista salasana: <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Valitse Sovellusilmoitukset &gt; Google Play Palvelut.</translation>
 <translation id="1826516787628120939">Tarkistetaan</translation>
-<translation id="1827750274519118478">Videon toisto kuva kuvassa ‑tilassa lopetetaan.</translation>
 <translation id="1828378091493947763">Laite ei tue tätä laajennusta.</translation>
 <translation id="1828901632669367785">Tulosta järjestelmän tulostusikkunalla...</translation>
 <translation id="1829192082282182671">L&amp;oitonna</translation>
@@ -2464,7 +2462,6 @@
 <translation id="4856478137399998590">Tiedonsiirtopalvelu on aktivoitu ja valmis käyttöön</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Avaa kaikki incognito-ikkunassa}=1{Avaa incognito-ikkunassa}other{Avaa kaikki # incognito-ikkunassa}}</translation>
 <translation id="4858913220355269194">Litti</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – Video toistetaan kuva kuvassa ‑tilassa</translation>
 <translation id="4862050643946421924">Laitetta lisätään…</translation>
 <translation id="4862642413395066333">OCSP-vastauksien allekirjoittaminen</translation>
 <translation id="4863769717153320198">Näyttää olevan <ph name="WIDTH" /> x <ph name="HEIGHT" /> (oletus)</translation>
@@ -4147,7 +4144,6 @@
 <translation id="7427348830195639090">Taustasivu: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Avaa kaikki uudessa ikkunassa}=1{Avaa kaikki uudessa ikkunassa}other{Avaa kaikki # uudessa ikkunassa}}</translation>
 <translation id="7434509671034404296">Kehittäjille</translation>
-<translation id="7436470008146509879">Määritä Linux: <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Harmin paikka! Uudelleennimeämisen aikana tapahtui virhe.</translation>
 <translation id="7441830548568730290">Muut käyttäjät</translation>
 <translation id="7442465037756169001">Hangouts Meet ‑laitteistosi on valmis määritettäväksi.</translation>
@@ -4445,7 +4441,6 @@
 <translation id="7881969471599061635">Poista tekstitykset käytöstä</translation>
 <translation id="7882358943899516840">Palveluntarjoajan tyyppi</translation>
 <translation id="7885253890047913815">Uusimmat kohteet</translation>
-<translation id="7886917304091689118">Käynnissä Chromessa</translation>
 <translation id="7887334752153342268">Monista</translation>
 <translation id="7887864092952184874">Laitepari muodostettu Bluetooth-hiiren kanssa</translation>
 <translation id="7889565820482017512">Näyttökoko</translation>
@@ -4616,7 +4611,6 @@
 <translation id="8118860139461251237">hallinnoida latauksiasi</translation>
 <translation id="81238879832906896">Kelta-valkoinen kukka</translation>
 <translation id="8124313775439841391">Hallinnoitu ONC</translation>
-<translation id="8125562866093998907">Sivusto haluaa vahvistaa suojausavaimesi parantaakseen tilisi turvallisuutta.</translation>
 <translation id="813082847718468539">Näytä sivuston tiedot</translation>
 <translation id="8131740175452115882">Vahvista</translation>
 <translation id="8133676275609324831">Näytä kan&amp;siossa</translation>
@@ -4995,7 +4989,6 @@
 <translation id="8736288397686080465">Tämä sivusto on päivitetty taustalla.</translation>
 <translation id="8737685506611670901">Avata <ph name="PROTOCOL" />-linkit palvelun <ph name="REPLACED_HANDLER_TITLE" /> sijaan.</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Kuva kuvassa</translation>
 <translation id="8743390665131937741">Koko näytön zoomauksen taso:</translation>
 <translation id="8743864605301774756">Päivitetty 1 t sitten</translation>
 <translation id="874689135111202667">{0,plural, =1{Ladataanko sivustoon yksi tiedosto?}other{Ladataanko sivustoon # tiedostoa?}}</translation>
@@ -5269,6 +5262,7 @@
 <translation id="9158715103698450907">Hups! Todennuksen aikana tapahtui verkkovirhe. Tarkista internetyhteytesi ja yritä uudelleen.</translation>
 <translation id="9161070040817969420">Alakehykset sivustolle <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Lähetä järjestelmädataa. Tämä laite lähettää tällä hetkellä diagnostiikkadataa ja laitteen ja sovellusten käyttödataa automaattisesti Googlelle. Omistaja on ottanut tämän asetuksen käyttöön. Jos olet ottanut käyttöön verkko- ja sovellustoiminnan lisäominaisuuksia, tietoja säilytetään tililläsi, joten voit hallinnoida niitä Omat tapahtumat ‑sivulla. <ph name="BEGIN_LINK1" />Lisätietoja<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Kuva kuvassa</translation>
 <translation id="9169496697824289689">Näytä pikanäppäimet</translation>
 <translation id="9169931577761441333">Lisää <ph name="APP_NAME" /> aloitusnäytölle</translation>
 <translation id="9170397650136757332">Tallenna sormenjälkesi kokonaisuudessaan liikuttamalla sormeasi varovasti.</translation>
@@ -5319,7 +5313,6 @@
 <translation id="952992212772159698">Ei aktivoitu</translation>
 <translation id="957960681186851048">Tämä sivusto yrittää ladata useita tiedostoja automaattisesti</translation>
 <translation id="9580706199804957">Google-palveluihin ei saatu yhteyttä.</translation>
-<translation id="958416628331784386">Tämä välilehti toistaa videota kuva kuvassa ‑tilassa.</translation>
 <translation id="960719561871045870">Operaattorikoodi</translation>
 <translation id="960987915827980018">Noin tunti jäljellä</translation>
 <translation id="962802172452141067">Kirjanmerkkien kansiopuu</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index 2e9d4d2..e051eb2 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">I-pause</translation>
 <translation id="1181037720776840403">Alisin</translation>
 <translation id="1183237619868651138">Hindi ma-install ang <ph name="EXTERNAL_CRX_FILE" /> sa lokal na cache.</translation>
+<translation id="1183378459020939734">Handa ka na bang ipares ang iyong Security Key?</translation>
 <translation id="1185924365081634987">Maaari mo ring subukang <ph name="GUEST_SIGNIN_LINK_START" />mag-browse bilang bisita<ph name="GUEST_SIGNIN_LINK_END" /> upang ayusin ang error sa network na ito.</translation>
 <translation id="1186771945450942097">Alisin ang mapaminsalang software</translation>
 <translation id="1187722533808055681">Mga idle na pag-wake up</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Tulungan ang <ph name="PRODUCT_NAME" /> na maging mas mahusay sa pamamagitan ng awtomatikong pagpapadala ng mga istatistika ng paggamit at mga crash report sa Google</translation>
 <translation id="1658424621194652532">Ina-access ng pahinang ito ang iyong mikropono.</translation>
 <translation id="1660204651932907780">Payagan ang mga site na mag-play ng tunog (inirerekomenda)</translation>
-<translation id="1660938185063657230">I-verify ang iyong Security Key</translation>
 <translation id="1661156625580498328">Ipatupad ang AES encryption (inirerekomenda).</translation>
 <translation id="1661245713600520330">Inililista ng pahinang ito ang lahat ng mga module na na-load sa pangunahing pagpoproseso at mga module na nairehistro upang i-load sa ibang pagkakataon.</translation>
 <translation id="166179487779922818">Masyadong maikli ang password.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Baguhin ang touch HUD mode</translation>
 <translation id="1784849162047402014">Kaunti na lang ang espasyo sa disk ng device</translation>
 <translation id="1786636458339910689">Mga Drive ng Team</translation>
+<translation id="1792161662640298233">Vine-verify ang iyong Security Key</translation>
 <translation id="1792619191750875668">Pinalawak na display</translation>
 <translation id="1794791083288629568">Magpadala ng feedback upang tulungan kaming ayusin ang isyung ito.</translation>
 <translation id="1795214765651529549">Gamitin ang Classic</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">I-delete ang password para sa <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">I-tap ang Mga notification ng app &gt; Mga serbisyo ng Google Play.</translation>
 <translation id="1826516787628120939">Sinusuri</translation>
-<translation id="1827750274519118478">Hihinto sa pag-play ang video sa Picture-in-Picture.</translation>
 <translation id="1828378091493947763">Hindi sinusuportahan ang plugin na ito para sa device na ito</translation>
 <translation id="1828901632669367785">I-print Gamit ang Dialog ng System...</translation>
 <translation id="1829192082282182671">Mag-zoom &amp;Out</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">Ang "<ph name="EXTENSION" />" ay nakakabasa at nakakapagsulat ng mga larawan, video, file ng tunog sa mga may check na lokasyon.</translation>
 <translation id="1867780286110144690">Ang <ph name="PRODUCT_NAME" /> ay handa nang kumpletuhin ang iyong pag-install</translation>
 <translation id="1871615898038944731">Napapanahon ang iyong <ph name="DEVICE_TYPE" /></translation>
+<translation id="1875312262568496299">Magsimula</translation>
 <translation id="1875387611427697908">Maaari lang itong idagdag mula sa <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Hindi nakuha ang token sa pag-authenticate. Mag-sign out at muling mag-sign in upang subukang muli.</translation>
 <translation id="1878302395768190018">Mako-customize mo ito anumang oras sa Mga Setting ng Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Larawan ni <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Ipadala sa telepono</translation>
 <translation id="2119349053129246860">Buksan sa <ph name="APP" /></translation>
+<translation id="2120297377148151361">Aktibidad at mga pakikipag-ugnayan</translation>
 <translation id="2121825465123208577">Baguhin ang laki</translation>
 <translation id="2124930039827422115">{1,plural, =1{Na-rate ng <ph name="AVERAGE_RATING" /> ng isang user.}one{Na-rate ng <ph name="AVERAGE_RATING" /> ng # user.}other{Na-rate ng <ph name="AVERAGE_RATING" /> ng # na user.}}</translation>
 <translation id="2126167708562367080">Na-disable ng iyong administrator ang pag-sync.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Sukat ng papel</translation>
 <translation id="2318817390901984578">Upang gamitin ang mga Android app, i-charge at i-update ang iyong <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Kasalukuyang incognito na session (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Gamitin ang iyong Security Key sa <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Mga header at footer</translation>
 <translation id="2325650632570794183">Hindi sinusuportahan ang uri ng file na ito. Pakibisita ang Chrome Web Store upang makahanap ng app na makakapagbukas ng ganitong uri ng file.</translation>
 <translation id="2326931316514688470">I-&amp;reload ang app</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Magdagdag ng Pagbabahagi ng File</translation>
 <translation id="2367972762794486313">Ipakita ang apps</translation>
 <translation id="2369536625682139252">Ide-delete ang lahat ng data na na-store ng <ph name="SITE" />, maliban sa cookies.</translation>
+<translation id="237058345584060620">Ipares ang iyong key sa device na ito para magamit mo ito sa pag-sign in sa iyong account.</translation>
 <translation id="2371076942591664043">Buksan kapag &amp;tapos na</translation>
 <translation id="2376559921867170420">Kapag na-set up ang iyong Chromebook, pindutin ang button ng Assistant o sabihin ang "Ok Google" para humingi ng tulong sa Assistant mo anumang oras.</translation>
 <translation id="2377319039870049694">Lumipat sa list view</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Hindi mahanap ang iyong telepono. Siguraduhing naka-on ang Bluetooth ng <ph name="DEVICE_TYPE" /> mo. &lt;a&gt;Matuto pa&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Magdagdag ng &amp;Folder...</translation>
 <translation id="249113932447298600">Paumanhin, hindi sinusuportahan ang device na <ph name="DEVICE_LABEL" /> sa oras na ito.</translation>
+<translation id="2492040222276243256">Pindutin nang matagal ang button sa iyong Security Key sa loob ng hindi bababa sa 5 segundo</translation>
 <translation id="2493021387995458222">Piliin ang "isa-isang salita"</translation>
 <translation id="249303669840926644">Hindi makumpleto ang pagpaparehistro</translation>
 <translation id="2495777824269688114">Tumuklas ng higit pang feature o makakuha ng mga sagot. Piliin ang “?” para sa tulong.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Naghihintay ng available na socket...</translation>
 <translation id="252219247728877310">Hindi na-update ang bahagi</translation>
 <translation id="2522791476825452208">Napakalapit</translation>
+<translation id="2523184218357549926">Ipinapadala sa Google ang mga URL ng mga page na binibisita mo</translation>
 <translation id="2525250408503682495">Kryptonite! Hindi mai-mount ang cryptohome para sa kiosk application.</translation>
 <translation id="2526277209479171883">I-install at ipagpatuloy</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Hindi naka-sign in sa <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Binabati kita! Na-activate ang iyong serbisyo ng data ng '<ph name="NAME" />' at handa nang gamitin.</translation>
 <translation id="2564520396658920462">Na-off ang pagpapatupad ng JavaScript sa pamamagitan ng AppleScript. Para i-on ito, mula sa menu bar, pumunta sa Tingnan &gt; Developer &gt; Payagan ang JavaScript mula sa Mga Event ng Apple. Para sa higit pang impormasyon: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Pinahusay na pang-check ng pagbabaybay</translation>
 <translation id="2566124945717127842">Mag-powerwash upang i-reset ang iyong <ph name="IDS_SHORT_PRODUCT_NAME" /> device upang maging parang bago.</translation>
 <translation id="2567257616420533738">Na-save ang password. Tingnan at pamahalaan ang mga naka-save na password sa <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Infobar Container</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344">Gumagamit ang <ph name="NAME" /> ng <ph name="USAGE" /> MB ng disk space.</translation>
 <translation id="2633212996805280240">Alisin ang "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101">Hindi makumpleto ng <ph name="PRODUCT_NAME" /> ang pag-install, ngunit patuloy na gagana mula sa larawan ng disk nito.</translation>
+<translation id="2633326789677284179">Hanapin ang pangalang naka-print sa likod ng iyong key</translation>
 <translation id="2635276683026132559">Paglagda</translation>
 <translation id="2636625531157955190">Hindi ma-access ng Chrome ang larawan.</translation>
 <translation id="2638087589890736295">Kinakailangan ang passphrase upang masimulan ang pag-sync</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Hindi makopya ang external na crx file sa <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Napares na ang "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3101709781009526431">Petsa at oras</translation>
+<translation id="3104900172193317662">Payagan ang paggamit ng iyong Security Key</translation>
 <translation id="310671807099593501">Gumagamit ng bluetooth ang site</translation>
 <translation id="3115128645424181617">Hindi mahanap ang iyong telepono. Siguraduhing malapit ito at naka-on ang Bluetooth.</translation>
 <translation id="3115147772012638511">Naghihintay para sa cache...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Palaging i-block ang <ph name="HOST" /> sa pagtingin sa clipboard</translation>
 <translation id="3840053866656739575">Nawalan ng koneksyon sa iyong Chromebox. Mangyaring mas lumapit o suriin ang iyong device habang sinusubukan naming muling kumonekta.</translation>
 <translation id="3842552989725514455">Serif font</translation>
+<translation id="3846116211488856547">Kumuha ng mga tool sa paggawa ng mga website, Android app, at higit pa. Kapag na-install ang Linux, mada-download ang <ph name="DOWNLOAD_SIZE" /> ng data.</translation>
 <translation id="385051799172605136">Bumalik</translation>
 <translation id="3851428669031642514">I-load ang mga hindi ligtas na script</translation>
 <translation id="3855441664322950881">Extension ng pack</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Magbakante ng espasyo sa disk o hindi gagana nang maayos ang iyong device.</translation>
 <translation id="3878840326289104869">Gumagawa ng pinangangasiwaang user</translation>
 <translation id="3879748587602334249">Download manager</translation>
+<translation id="3880709822663530586">Gumagana lang ang iyong Security Key kapag naka-on ang Bluetooth ng device mo</translation>
 <translation id="3888550877729210209">Nagtatala gamit ang <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Idagdag ang OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">Basahin at baguhin ang iyong mga setting ng accessibility</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Buksan ang or&amp;ihinal na larawan sa bagong tab</translation>
 <translation id="4682551433947286597">Lumalabas ang mga wallpaper sa Screen sa Pag-sign in.</translation>
 <translation id="4684427112815847243">I-sync lahat</translation>
+<translation id="4689235506267737042">Piliin ang mga kagustuhan mo sa demo</translation>
 <translation id="4689421377817139245">I-sync ang bookmark na ito sa iyong iPhone</translation>
 <translation id="4690091457710545971">&lt;Apat na file na ginawa ng Intel Wi-Fi firmware: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Ang unang tatlo ay mga binary file na may mga dump sa pagpaparehistro at iginiit ng Intel na walang personal na impormasyon o impormasyong nakakapagpakilala sa device.  Ang panghuling file ay isang execution trace mula sa Intel firmware; tinanggalan ito ng anumang personal na impormasyon o impormasyong nakakapagpakilala sa device, ngunit masyado itong malaki para maipakita rito.  Nagawa ang mga file na ito bilang tugon sa mga kamakailang naging problema sa Wi-Fi sa iyong device, at ibabahagi ito sa Intel para makatulong sa pag-troubleshoot ng mga problemang ito.&gt;</translation>
 <translation id="4692302215262324251">Matagumpay na na-enroll ang iyong <ph name="DEVICE_TYPE" /> para sa pamamahala ng enterprise ng <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Na-activate na ang iyong serbisyo ng data ng mobile at handa nang magamit</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Buksan Lahat sa &amp;Incognito Window}=1{Buksan sa &amp;Incognito Window}one{Buksan Lahat (#) sa &amp;Incognito Window}other{Buksan Lahat (#) sa &amp;Incognito Window}}</translation>
 <translation id="4858913220355269194">Azkals</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Nagpe-play ang video sa Picture-in-Picture</translation>
 <translation id="4862050643946421924">Nagdaragdag ng device...</translation>
 <translation id="4862642413395066333">Paglagda sa Mga Pagtugon sa OCSP</translation>
 <translation id="4863769717153320198">Mukhang <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Default)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">History ng paghahanap</translation>
 <translation id="4881695831933465202">Buksan</translation>
 <translation id="4882473678324857464">Tumuon sa mga bookmark</translation>
+<translation id="4882831918239250449">Kontrolin kung paano ginagamit ang iyong history ng pag-browse para i-personalize ang Paghahanap, mga ad, at iba pa</translation>
 <translation id="4883178195103750615">I-export ang mga bookmark sa file na HTML...</translation>
 <translation id="4883436287898674711">Lahat ng site ng <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Task Manager</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">M&amp;uling Buksan ang Nakasarang Tab</translation>
 <translation id="52912272896845572">Hindi wasto ang file ng private na key.</translation>
 <translation id="529175790091471945">I-format ang device na ito</translation>
+<translation id="5292195676005197571">Para magamit ang karamihan sa mga key, pindutin lang ang button</translation>
 <translation id="5293170712604732402">I-restore ang mga setting sa mga orihinal na default ng mga ito</translation>
 <translation id="5298219193514155779">Ang tema ay nilikha ni</translation>
 <translation id="5299109548848736476">Huwag Subaybayan</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Para sa karagdagang seguridad, hihilingin sa iyo ng Smart Lock na ilagay ang iyong password pagkatapos ng 20 oras.</translation>
 <translation id="5659593005791499971">Email</translation>
 <translation id="5659833766619490117">Hindi maisalin ang page na ito</translation>
+<translation id="5660204307954428567">Ipares sa <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Perpetual</translation>
 <translation id="5667546120811588575">Sine-set up ang Google Play...</translation>
 <translation id="5669267381087807207">Ina-activate</translation>
 <translation id="5669691691057771421">Ilagay ang bagong PIN</translation>
 <translation id="5671641761787789573">Na-block ang mga larawan</translation>
+<translation id="5673076758299428095">I-shut Down ang Linux</translation>
 <translation id="5677503058916217575">Wika ng page:</translation>
 <translation id="5677928146339483299">Naka-block</translation>
 <translation id="5678550637669481956">Ipinagkaloob na sa <ph name="VOLUME_NAME" /> ang access sa pagbasa at pagsulat.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Image Writer ng Chrome OS System</translation>
 <translation id="5921745308587794300">I-rotate ang window</translation>
 <translation id="5924047253200400718">Humingi ng tulong<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Kumuha ng bagong larawan o pumili ng dati nang larawan o icon.
+    <ph name="LINE_BREAK" />
+    Lalabas ang larawang ito sa screen ng pag-sign in at lock screen ng Chromebook.</translation>
 <translation id="5925147183566400388">Pointer ng Pahayag ng Kasanayan sa Pagpapatunay</translation>
 <translation id="592880897588170157">I-download ang mga PDF file sa halip na awtomatikong buksan ang mga ito sa Chrome</translation>
 <translation id="5931146425219109062">Basahin at baguhin ang lahat ng iyong data sa mga website na iyong binibisita</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Pakisuri ang mga antas ng iyong mikropono at audio.</translation>
 <translation id="6080515710685820702">Gumagamit ng nakabahaging computer? Subukang magbukas ng incognito window.</translation>
 <translation id="6080689532560039067">Tingnan ang iyong oras sa system</translation>
+<translation id="6082111513049964958">Password sa pag-unlock</translation>
 <translation id="6082651258230788217">Ipakita sa toolbar</translation>
 <translation id="6086846494333236931">Na-install ng iyong administrator</translation>
 <translation id="6087960857463881712">Astig na mukha</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Hindi maaaring gamitin ang pangalang ito bilang isang pangalan ng file o folder</translation>
 <translation id="642469772702851743">Na-lock ng may-ari ang device na ito (SN: <ph name="SERIAL_NUMBER" />).</translation>
 <translation id="6426200009596957090">Buksan ang mga setting ng ChromeVox</translation>
+<translation id="6427415464407526111">Piliin ang iyong Security Key</translation>
 <translation id="6429384232893414837">Error sa pag-update</translation>
 <translation id="6430814529589430811">Base64-encoded ASCII, single certificate</translation>
 <translation id="6431217872648827691">Ang lahat ng data ay na-encrypt gamit ang iyong Google password sa oras na
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Hindi makapag-load ng malaking PPD. 250kB ang maximum na laki.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> (na) item ang pinili</translation>
 <translation id="7102687220333134671">Naka-on ang mga awtomatikong update</translation>
+<translation id="7102832101143475489">Nag-time out ang kahilingan</translation>
 <translation id="7106346894903675391">Bumili ng higit pang storage...</translation>
 <translation id="7108338896283013870">Itago</translation>
 <translation id="7108634116785509031">Gustong gamitin ng <ph name="HOST" /> ang iyong camera</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Pahina ng Background: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Buksan Lahat sa &amp;Bagong Window}=1{Buksan sa &amp;Bagong Window}one{Buksan Lahat (#) sa &amp;Bagong Window}other{Buksan Lahat (#) sa &amp;Bagong Window}}</translation>
 <translation id="7434509671034404296">Bumubuo</translation>
-<translation id="7436470008146509879">I-set up ang Linux sa iyong <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Naku! Nagka-error habang pinapalitan ang pangalan.</translation>
 <translation id="7441830548568730290">Iba pang mga user</translation>
 <translation id="7442465037756169001">Handa nang ma-set up ang iyong Hangouts Meet hardware.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">I-disable ang mga subtitle</translation>
 <translation id="7882358943899516840">Uri ng provider</translation>
 <translation id="7885253890047913815">Mga Kamakailang Patutunguhan</translation>
-<translation id="7886917304091689118">Gumagana sa Chrome</translation>
 <translation id="7887334752153342268">Doblehin</translation>
 <translation id="7887864092952184874">Naipares ang bluetooth mouse</translation>
 <translation id="7889565820482017512">Laki ng Display</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Laki</translation>
 <translation id="8030656706657716245">Magdagdag ng Printer</translation>
 <translation id="8032244173881942855">Hindi ma-cast ang tab.</translation>
+<translation id="8033958968890501070">Time out</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Buksan lahat sa &amp;incognito window}=1{Buksan lahat sa &amp;incognito window}one{Buksan lahat (#) sa &amp;incognito window}other{Buksan lahat (#) sa &amp;incognito window}}</translation>
 <translation id="8037117027592400564">Basahin ang lahat ng binigkas na text gamit ang naka-synthesize na pagsasalita</translation>
 <translation id="8037357227543935929">Magtanong (default)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Pamahalaan ang iyong mga download</translation>
 <translation id="81238879832906896">Dilaw at puting bulaklak</translation>
 <translation id="8124313775439841391">Pinamamahalaang ONC</translation>
-<translation id="8125562866093998907">Gustong i-verify ng site ang iyong Security Key para sa pinaigting na seguridad para sa account mo.</translation>
 <translation id="813082847718468539">Tingnan ang impormasyon ng site</translation>
 <translation id="8131740175452115882">Kumpirmahin</translation>
 <translation id="8133676275609324831">&amp;Ipakita sa folder</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">pahina</translation>
 <translation id="8180786512391440389">Magagawa ng "<ph name="EXTENSION" />" na magbasa at magtanggal ng mga larawan, video, at sound file sa mga may check na lokasyon.</translation>
 <translation id="8181215761849004992">Hindi maisali sa domain. Suriin ang iyong account para makita kung mayroon kang sapat na mga pribilehiyo para magdagdag ng mga device.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Sa palagay ko, hindi dapat i-block ang site na ito!</translation>
 <translation id="8184288427634747179">Lumipat sa <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Higit pang impormasyon</translation>
 <translation id="8185331656081929126">Magpakita ng mga notification kapag may nakitang mga bagong printer sa network</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">NaCl Debug Port</translation>
 <translation id="843760761634048214">I-save ang credit card</translation>
 <translation id="8438328416656800239">Lumipat sa isang mahusay na browser</translation>
+<translation id="8438566539970814960">Mas pahusayin ang mga paghahanap at pag-browse</translation>
 <translation id="8439506636278576865">Mag-alok na magsalin ng mga page sa wikang ito
 </translation>
 <translation id="8446884382197647889">Matuto nang Higit Pa</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Na-update ang site na ito sa background.</translation>
 <translation id="8737685506611670901">Buksan ang mga link ng <ph name="PROTOCOL" /> sa halip na ang <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8743390665131937741">Antas ng fullscreen na pag-zoom:</translation>
 <translation id="8743864605301774756">Na-update 1 oras ang nakalipas</translation>
 <translation id="874689135111202667">{0,plural, =1{Mag-upload ng isang file sa site na ito?}one{Mag-upload ng # file sa site na ito?}other{Mag-upload ng # na file sa site na ito?}}</translation>
@@ -5150,6 +5171,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Nag-crash</translation>
 <translation id="8983677657449185470">Tumulong na pahusayin ang Ligtas na Pag-browse</translation>
 <translation id="8984654317541110628">URL ng File Share</translation>
+<translation id="8984872292925913496">Hanapin ang 6 na digit na PIN sa likod ng iyong key</translation>
 <translation id="8986362086234534611">Kalimutan</translation>
 <translation id="8986494364107987395">Awtomatikong ipadala ang mga istatistika ng paggamit at mga ulat ng pag-crash sa Google</translation>
 <translation id="8987927404178983737">Buwan</translation>
@@ -5272,6 +5294,7 @@
 <translation id="9158715103698450907">Naku! Nagkaroon ng problema sa pakikipag-ugnay sa network sa panahon ng pagpapatotoo. Mangyaring suriin ang iyong koneksyon sa network at subukang muli.</translation>
 <translation id="9161070040817969420">Mga subframe para sa: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Magpadala ng data ng system. Kasalukuyang awtomatikong nagpapadala sa Google ang device na ito ng diagnostic at data ng paggamit sa device at app. Ang may-ari ang nagpapatupad sa setting na ito. Kung in-on mo ang karagdagang Aktibidad sa Web at App, iso-store ang impormasyong ito sa iyong account para mapamahalaan mo ito sa Aking Aktibidad. <ph name="BEGIN_LINK1" />Matuto Pa<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture in Picture</translation>
 <translation id="9169496697824289689">Tingnan ang mga keyboard shortcut</translation>
 <translation id="9169931577761441333">Idagdag ang <ph name="APP_NAME" /> sa Home screen</translation>
 <translation id="9170397650136757332">Ngayon, bahagya mong igalaw ang iyong daliri upang makunan ang lahat ng iba't ibang bahagi ng fingerprint mo</translation>
@@ -5322,7 +5345,6 @@
 <translation id="952992212772159698">Hindi na-activate</translation>
 <translation id="957960681186851048">Sinubukan ng site na ito na awtomatikong mag-download ng maraming file</translation>
 <translation id="9580706199804957">Hindi makakonekta sa mga serbisyo ng Google</translation>
-<translation id="958416628331784386">Nagpe-play ang tab na ito ng video sa Picture-in-Picture.</translation>
 <translation id="960719561871045870">Operator code</translation>
 <translation id="960987915827980018">Mga 1 oras ang natitira</translation>
 <translation id="962802172452141067">Folder tree ng bookmark</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index ef2b7a44..6957f18a 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Suspendre</translation>
 <translation id="1181037720776840403">Supprimer</translation>
 <translation id="1183237619868651138">Impossible d'installer le fichier <ph name="EXTERNAL_CRX_FILE" /> dans le cache local.</translation>
+<translation id="1183378459020939734">Prêt à associer votre clé de sécurité ?</translation>
 <translation id="1185924365081634987">Vous pouvez également essayer de <ph name="GUEST_SIGNIN_LINK_START" />naviguer en tant qu'invité<ph name="GUEST_SIGNIN_LINK_END" /> pour corriger cette erreur réseau.</translation>
 <translation id="1186771945450942097">Supprimez le logiciel malveillant</translation>
 <translation id="1187722533808055681">Sorties de veille</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Nous aider à améliorer <ph name="PRODUCT_NAME" /> en envoyant automatiquement les statistiques d'utilisation et les rapports d'erreur à Google</translation>
 <translation id="1658424621194652532">Cette page a accès à votre micro</translation>
 <translation id="1660204651932907780">Autoriser l'activation du son des sites (recommandé)</translation>
-<translation id="1660938185063657230">Valider votre clé de sécurité</translation>
 <translation id="1661156625580498328">Appliquer le chiffrement AES (recommandé)</translation>
 <translation id="1661245713600520330">Cette page répertorie tous les modules chargés dans le processus principal et les modules enregistrés de manière à être chargés ultérieurement.</translation>
 <translation id="166179487779922818">Mot de passe trop court.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Changer de mode pour l'affichage tête haute tactile</translation>
 <translation id="1784849162047402014">Peu d'espace disque disponible sur l'appareil</translation>
 <translation id="1786636458339910689">Drive d'équipe</translation>
+<translation id="1792161662640298233">Valider votre clé de sécurité</translation>
 <translation id="1792619191750875668">Affichage étendu</translation>
 <translation id="1794791083288629568">Envoyer des commentaires pour nous aider à résoudre ce problème.</translation>
 <translation id="1795214765651529549">Utiliser le thème classique</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Supprimer le mot de passe du compte <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Appuyez sur Notifications des applications &gt; Services Google Play.</translation>
 <translation id="1826516787628120939">Vérification en cours…</translation>
-<translation id="1827750274519118478">La lecture de la vidéo en mode Picture-in-picture sera interrompue.</translation>
 <translation id="1828378091493947763">Ce plug-in n'est pas compatible avec cet appareil.</translation>
 <translation id="1828901632669367785">Imprimer via la boîte de dialogue système...</translation>
 <translation id="1829192082282182671">Z&amp;oom arrière</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" dispose d'un droit d'accès en lecture et en écriture sur les images, les vidéos et les fichiers audio figurant dans les dossiers sélectionnés.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> est prêt à terminer l'installation.</translation>
 <translation id="1871615898038944731">Votre <ph name="DEVICE_TYPE" /> est à jour</translation>
+<translation id="1875312262568496299">Commencer</translation>
 <translation id="1875387611427697908">Cet élément doit être installé depuis le <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Échec de l'obtention du jeton d'authentification. Veuillez vous déconnecter, puis vous reconnecter, ou bien réessayez.</translation>
 <translation id="1878302395768190018">Vous pouvez personnaliser cette option à tout moment dans les paramètres Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Photo : <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Envoyer sur le téléphone</translation>
 <translation id="2119349053129246860">Ouvrir dans <ph name="APP" /></translation>
+<translation id="2120297377148151361">Activité et interactions</translation>
 <translation id="2121825465123208577">Redimensionner</translation>
 <translation id="2124930039827422115">{1,plural, =1{Notée <ph name="AVERAGE_RATING" /> par un utilisateur.}one{Notée <ph name="AVERAGE_RATING" /> par # utilisateur.}other{Notée <ph name="AVERAGE_RATING" /> par # utilisateurs.}}</translation>
 <translation id="2126167708562367080">Votre administrateur a désactivé la synchronisation.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Taille du papier</translation>
 <translation id="2318817390901984578">Pour utiliser des applications Android, rechargez et mettez à jour votre <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Session de navigation privée actuelle (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Utiliser votre clé de sécurité avec <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">En-têtes et pieds de page</translation>
 <translation id="2325650632570794183">Ce type de fichier n'est pas compatible. Veuillez accéder au Chrome Web Store pour trouver une application pouvant l'ouvrir.</translation>
 <translation id="2326931316514688470">&amp;Actualiser l'application</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Ajouter un partage de fichiers</translation>
 <translation id="2367972762794486313">Afficher les applications</translation>
 <translation id="2369536625682139252">Toutes les données stockées par <ph name="SITE" /> seront supprimées, sauf les cookies.</translation>
+<translation id="237058345584060620">Associez votre clé à cet appareil afin de pouvoir l'utiliser pour vous connecter à votre compte</translation>
 <translation id="2371076942591664043">Ouvrir une fois le téléchargement &amp;terminé</translation>
 <translation id="2376559921867170420">Lorsque votre Chromebook est configuré, appuyez sur le bouton de l'Assistant ou dites "Ok Google" pour obtenir son aide à tout moment.</translation>
 <translation id="2377319039870049694">Passer en mode Liste</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Impossible de trouver votre téléphone. Assurez-vous que le Bluetooth de votre <ph name="DEVICE_TYPE" /> est activé. &lt;a&gt;En savoir plus&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Ajouter un &amp;dossier...</translation>
 <translation id="249113932447298600">Désolé, le périphérique <ph name="DEVICE_LABEL" /> n'est pas compatible pour le moment.</translation>
+<translation id="2492040222276243256">Appuyez sur le bouton situé sur votre clé de sécurité pendant au moins cinq secondes</translation>
 <translation id="2493021387995458222">Sélectionner "un mot à la fois"</translation>
 <translation id="249303669840926644">Impossible de terminer l'enregistrement</translation>
 <translation id="2495777824269688114">Découvrez d'autres fonctionnalités et obtenez des réponses à vos questions. Sélectionnez "?" pour obtenir de l'aide.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">En attente d'une interface de connexion disponible…</translation>
 <translation id="252219247728877310">Composant non mis à jour</translation>
 <translation id="2522791476825452208">Très proche</translation>
+<translation id="2523184218357549926">Envoie les URL des pages que vous consultez à Google</translation>
 <translation id="2525250408503682495">Attention ! Impossible d'installer l'élément "cryptohome" pour l'application kiosque.</translation>
 <translation id="2526277209479171883">Installer et continuer</translation>
 <translation id="2526590354069164005">Bureau</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Vous n'êtes pas connecté à <ph name="SHORT_PRODUCT_NAME" />.</translation>
 <translation id="2563856802393254086">Félicitations ! Votre service de données "<ph name="NAME" />" a été activé et est prêt à être utilisé.</translation>
 <translation id="2564520396658920462">L'exécution de JavaScript via AppleScript est désactivée. Pour l'activer, dans la barre de menu, accédez à Affichage &gt; Développeur &gt; Autoriser JavaScript dans les événements AppleScript. Pour en savoir plus, consultez la page https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Correcteur orthographique amélioré</translation>
 <translation id="2566124945717127842">Effectuez un Powerwash pour rétablir la configuration d'usine de votre appareil <ph name="IDS_SHORT_PRODUCT_NAME" />.</translation>
 <translation id="2567257616420533738">Mot de passe enregistré. Afficher et gérer les mots de passe enregistrés sur <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Conteneur de barres d'infos</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> utilise actuellement <ph name="USAGE" /> Mo d'espace disque.</translation>
 <translation id="2633212996805280240">Désinstaller "<ph name="EXTENSION_NAME" />" ?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> n'a pas pu terminer l'installation, mais va poursuivre son exécution à partir de son image disque.</translation>
+<translation id="2633326789677284179">Localisez le nom imprimé au dos de votre clé</translation>
 <translation id="2635276683026132559">Signature</translation>
 <translation id="2636625531157955190">Impossible d'accéder à l'image avec Google Chrome.</translation>
 <translation id="2638087589890736295">Veuillez saisir la phrase secrète pour lancer la synchronisation</translation>
@@ -1157,7 +1165,7 @@
 <translation id="2731392572903530958">&amp;Rouvrir la fenêtre fermée</translation>
 <translation id="2731700343119398978">Veuillez patienter…</translation>
 <translation id="2731710757838467317">Création de l'utilisateur supervisé en cours. Cette opération peut prendre quelques instants…</translation>
-<translation id="2734760316755174687">Les sites sous <ph name="SITE_GROUP_NAME" /> seront également réinitialisés.</translation>
+<translation id="2734760316755174687">Les sites appartenant à <ph name="SITE_GROUP_NAME" /> seront également réinitialisés.</translation>
 <translation id="2735438478659026460">Cliquer automatiquement en cas d'arrêt du curseur de la souris</translation>
 <translation id="2735712963799620190">Calendrier</translation>
 <translation id="2737363922397526254">Réduire...</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Impossible de copier le fichier crx externe dans <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" associé.</translation>
 <translation id="3101709781009526431">Date et heure</translation>
+<translation id="3104900172193317662">Autoriser l'utilisation de votre clé de sécurité</translation>
 <translation id="310671807099593501">Le site utilise le Bluetooth</translation>
 <translation id="3115128645424181617">Impossible de trouver votre téléphone. Assurez-vous qu'il se trouve à proximité et que le Bluetooth est activé.</translation>
 <translation id="3115147772012638511">En attente de l'affichage du cache</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Toujours empêcher <ph name="HOST" /> de voir le contenu du presse-papiers</translation>
 <translation id="3840053866656739575">Connexion à votre Chromebox perdue. Veuillez vous rapprocher ou vérifier votre appareil pendant que nous essayons de le reconnecter.</translation>
 <translation id="3842552989725514455">Police Serif</translation>
+<translation id="3846116211488856547">Accédez à des outils conçus pour développer des sites Web, des applications Android, etc. En installant Linux, vous téléchargerez <ph name="DOWNLOAD_SIZE" /> de données.</translation>
 <translation id="385051799172605136">Retour</translation>
 <translation id="3851428669031642514">Charger les scripts à risque</translation>
 <translation id="3855441664322950881">Empaqueter l'extension</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Libérez de l'espace disque, car l'appareil risque de ne plus répondre.</translation>
 <translation id="3878840326289104869">Création de l'utilisateur supervisé en cours</translation>
 <translation id="3879748587602334249">Gestionnaire de téléchargement</translation>
+<translation id="3880709822663530586">Votre clé de sécurité ne fonctionne que lorsque le Bluetooth est activé sur votre appareil</translation>
 <translation id="3888550877729210209">Prise de notes avec <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Ajouter une connexion OpenVPN/L2TP…</translation>
 <translation id="3893536212201235195">Consulter et modifier vos paramètres d'accessibilité</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Ouvrir l'image originale dans un nouvel onglet</translation>
 <translation id="4682551433947286597">Les fonds d'écran s'affichent sur l'écran de connexion.</translation>
 <translation id="4684427112815847243">Tout synchroniser</translation>
+<translation id="4689235506267737042">Sélectionner vos préférences de démonstration</translation>
 <translation id="4689421377817139245">Synchroniser ce favori sur votre iPhone</translation>
 <translation id="4690091457710545971">&lt;Le micrologiciel Wi-Fi d'Intel a généré quatre fichiers : csr.lst, fh_regs.lst, radio_reg.lst et monitor.lst.sysmon. Les trois premiers sont des fichiers binaires qui contiennent des images mémoire de registres. Intel certifie que ces fichiers ne possèdent pas d'informations personnelles ni de données permettant d'identifier les appareils. Le dernier fichier est une trace d'exécution du micrologiciel Intel. Toutes les informations personnelles ainsi que les données permettant d'identifier les appareils qu'il pouvait contenir ont été supprimées. Toutefois, il est trop volumineux pour s'afficher ici. Ces fichiers ont été créés suite aux problèmes que votre appareil a récemment rencontrés avec le Wi-Fi, et seront partagés avec Intel pour qu'une solution soit trouvée.&gt;</translation>
 <translation id="4692302215262324251">Votre <ph name="DEVICE_TYPE" /> a bien été enregistré pour bénéficier de la gestion d'entreprise par <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Votre service Internet mobile est activé et prêt à l'emploi.</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Tout ouvrir dans une fenêtre de navigation &amp;privée}=1{Ouvrir dans une fenêtre de navigation &amp;privée}one{Tout ouvrir (#) dans une fenêtre de navigation &amp;privée}other{Tout ouvrir (#) dans une fenêtre de navigation &amp;privée}}</translation>
 <translation id="4858913220355269194">Foot</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – Vidéo diffusée en mode PIP (Picture-in-picture)</translation>
 <translation id="4862050643946421924">Ajout d'un appareil</translation>
 <translation id="4862642413395066333">Réponses OCSP de signature</translation>
 <translation id="4863769717153320198">La résolution est de <ph name="WIDTH" /> x <ph name="HEIGHT" /> (par défaut)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Rechercher dans l'historique</translation>
 <translation id="4881695831933465202">Ouvrir</translation>
 <translation id="4882473678324857464">Favoris</translation>
+<translation id="4882831918239250449">Contrôler la manière dont votre historique de navigation est utilisé pour personnaliser la recherche, les annonces, etc.</translation>
 <translation id="4883178195103750615">Exporter les favoris vers un fichier HTML...</translation>
 <translation id="4883436287898674711">Tous les sites <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Gestionnaire de tâches</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">&amp;Rouvrir l'onglet fermé</translation>
 <translation id="52912272896845572">Le fichier de clé privée est incorrect.</translation>
 <translation id="529175790091471945">Formater cet appareil</translation>
+<translation id="5292195676005197571">Pour utiliser la plupart des clés, il vous suffit d'appuyer sur le bouton</translation>
 <translation id="5293170712604732402">Restaurer les paramètres par défaut</translation>
 <translation id="5298219193514155779">Thème créé par</translation>
 <translation id="5299109548848736476">Interdire le suivi</translation>
@@ -3026,11 +3039,13 @@
 <translation id="5658415415603568799">Pour plus de sécurité, Smart Lock vous invitera à saisir votre mot de passe 20 heures après.</translation>
 <translation id="5659593005791499971">E-mail</translation>
 <translation id="5659833766619490117">Impossible de traduire cette page</translation>
+<translation id="5660204307954428567">Associer à <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Perpétuelle</translation>
 <translation id="5667546120811588575">Configuration de Google Play…</translation>
 <translation id="5669267381087807207">Activation</translation>
 <translation id="5669691691057771421">Saisir le nouveau code</translation>
 <translation id="5671641761787789573">Images bloquées</translation>
+<translation id="5673076758299428095">Arrêter Linux</translation>
 <translation id="5677503058916217575">Langue de la page :</translation>
 <translation id="5677928146339483299">Bloqué</translation>
 <translation id="5678550637669481956">L'accès en lecture et en écriture à "<ph name="VOLUME_NAME" />" a été accordé.</translation>
@@ -3195,6 +3210,9 @@
 <translation id="5920835625712313205">Écriture des images système Chrome OS</translation>
 <translation id="5921745308587794300">Faire pivoter la fenêtre</translation>
 <translation id="5924047253200400718">Obtenir de l'aide<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Prenez une photo ou choisissez-en une.
+    <ph name="LINE_BREAK" />
+    Cette photo s'affichera sur l'écran de connexion et l'écran de verrouillage du Chromebook.</translation>
 <translation id="5925147183566400388">Pointeur de la déclaration CPS (Certification Practice Statement)</translation>
 <translation id="592880897588170157">Télécharger les fichiers PDF au lieu de les ouvrir automatiquement dans Chrome</translation>
 <translation id="5931146425219109062">Accéder à toutes vos données sur les sites Web que vous consultez et les modifier</translation>
@@ -3291,6 +3309,7 @@
 <translation id="6078752646384677957">Veuillez vérifier le volume de votre micro et le volume audio.</translation>
 <translation id="6080515710685820702">Vous utilisez un ordinateur partagé ? Essayez d'ouvrir une fenêtre de navigation privée.</translation>
 <translation id="6080689532560039067">Vérifier l'heure du système</translation>
+<translation id="6082111513049964958">Mot de passe pour le déverrouillage</translation>
 <translation id="6082651258230788217">Afficher dans la barre d'outils</translation>
 <translation id="6086846494333236931">Installée par votre administrateur</translation>
 <translation id="6087960857463881712">Visage "Génial"</translation>
@@ -3514,6 +3533,7 @@
 <translation id="642282551015776456">Ce nom ne peut pas être utilisé comme nom de fichier ni de dossier.</translation>
 <translation id="642469772702851743">Le propriétaire de cet appareil (n° de série : <ph name="SERIAL_NUMBER" />) l'a verrouillé.</translation>
 <translation id="6426200009596957090">Ouvrir les paramètres ChromeVox</translation>
+<translation id="6427415464407526111">Sélectionner votre clé de sécurité</translation>
 <translation id="6429384232893414837">Erreur de mise à jour</translation>
 <translation id="6430814529589430811">Certificat unique codé Base 64 ASCII</translation>
 <translation id="6431217872648827691">Toutes les données ont été chiffrées avec votre mot de passe Google à la date suivante :
@@ -3940,6 +3960,7 @@
 <translation id="7099337801055912064">Impossible de charger un fichier PPD volumineux. Le fichier ne doit pas dépasser 250 Ko.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> éléments sélectionnés</translation>
 <translation id="7102687220333134671">Les mises à jour automatiques sont activées</translation>
+<translation id="7102832101143475489">Le délai imparti à la demande est dépassé</translation>
 <translation id="7106346894903675391">Acheter de l'espace de stockage supplémentaire…</translation>
 <translation id="7108338896283013870">Masquer</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> souhaite utiliser votre appareil photo</translation>
@@ -4148,7 +4169,6 @@
 <translation id="7427348830195639090">Page en arrière-plan : <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Tout ouvrir dans une &amp;nouvelle fenêtre}=1{Ouvrir dans une &amp;nouvelle fenêtre}one{Tout ouvrir (#) dans une &amp;nouvelle fenêtre}other{Tout ouvrir (#) dans une &amp;nouvelle fenêtre}}</translation>
 <translation id="7434509671034404296">Options pour les développeurs</translation>
-<translation id="7436470008146509879">Configurer Linux sur votre <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Aïe, aïe, aïe ! Une erreur s'est produite lors du changement du nom.</translation>
 <translation id="7441830548568730290">Autres utilisateurs</translation>
 <translation id="7442465037756169001">Votre matériel Hangouts Meet est prêt à être configuré.</translation>
@@ -4447,7 +4467,6 @@
 <translation id="7881969471599061635">Désactiver les sous-titres</translation>
 <translation id="7882358943899516840">Type de fournisseur</translation>
 <translation id="7885253890047913815">Emplacements de destination récents</translation>
-<translation id="7886917304091689118">En cours d'exécution dans Chrome</translation>
 <translation id="7887334752153342268">Dupliquer</translation>
 <translation id="7887864092952184874">Souris Bluetooth associée.</translation>
 <translation id="7889565820482017512">Taille d'affichage</translation>
@@ -4560,6 +4579,7 @@
 <translation id="8028993641010258682">Taille</translation>
 <translation id="8030656706657716245">Ajouter une imprimante</translation>
 <translation id="8032244173881942855">Impossible de caster l'onglet.</translation>
+<translation id="8033958968890501070">Délai dépassé</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Tout ouvrir dans une fenêtre de navigation &amp;privée}=1{Ouvrir dans une fenêtre de navigation &amp;privée}one{Tout ouvrir (#) dans une fenêtre de navigation &amp;privée}other{Tout ouvrir (#) dans une fenêtre de navigation &amp;privée}}</translation>
 <translation id="8037117027592400564">Accéder à l'ensemble du texte énoncé à l'aide de la synthèse vocale</translation>
 <translation id="8037357227543935929">Demander (par défaut)</translation>
@@ -4618,7 +4638,6 @@
 <translation id="8118860139461251237">Gérer vos téléchargements</translation>
 <translation id="81238879832906896">Fleur jaune et blanche</translation>
 <translation id="8124313775439841391">ONC géré</translation>
-<translation id="8125562866093998907">Le site requiert la validation de votre clé de sécurité pour renforcer la protection de votre compte.</translation>
 <translation id="813082847718468539">Afficher des informations à propos du site</translation>
 <translation id="8131740175452115882">Confirmer</translation>
 <translation id="8133676275609324831">&amp;Afficher dans le dossier</translation>
@@ -4650,6 +4669,8 @@
 <translation id="8180239481735238521">page</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" dispose d'un droit d'accès en lecture/écriture sur les images, les vidéos et les fichiers audio figurant aux emplacements indiqués.</translation>
 <translation id="8181215761849004992">Impossible d'effectuer l'association au domaine. Vérifiez dans votre compte si vous disposez de droits suffisants pour ajouter des appareils.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Je ne pense pas que ce site devrait être bloqué.</translation>
 <translation id="8184288427634747179">Passer à <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Plus d'infos</translation>
 <translation id="8185331656081929126">Afficher des notifications lorsque de nouvelles imprimantes sont détectées sur le réseau</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">Port de débogage de Native Client</translation>
 <translation id="843760761634048214">Enregistrer les informations de la carte de paiement</translation>
 <translation id="8438328416656800239">Passez à un navigateur intelligent</translation>
+<translation id="8438566539970814960">Améliorer les recherches et la navigation</translation>
 <translation id="8439506636278576865">Proposer de traduire les pages dans cette langue</translation>
 <translation id="8446884382197647889">En savoir plus</translation>
 <translation id="8447409163267621480">Vous devez inclure la touche Ctrl ou la touche Alt</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Ce site a été mis à jour en arrière-plan.</translation>
 <translation id="8737685506611670901">Ouvrir les liens "<ph name="PROTOCOL" />" à la place de "<ph name="REPLACED_HANDLER_TITLE" />"</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8743390665131937741">Niveau de zoom plein écran :</translation>
 <translation id="8743864605301774756">Mise à jour il y a 1 heure</translation>
 <translation id="874689135111202667">{0,plural, =1{Importer un fichier sur ce site ?}one{Importer # fichier sur ce site ?}other{Importer # fichiers sur ce site ?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Plantage</translation>
 <translation id="8983677657449185470">Contribuer à l'amélioration de la navigation sécurisée</translation>
 <translation id="8984654317541110628">URL de partage de fichiers</translation>
+<translation id="8984872292925913496">Localisez le code à six chiffres au dos de votre clé</translation>
 <translation id="8986362086234534611">Retirer</translation>
 <translation id="8986494364107987395">Envoyer automatiquement les statistiques d'utilisation et les rapports d'erreur à Google</translation>
 <translation id="8987927404178983737">Mois</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Petit problème… Une erreur de communication réseau s'est produite lors de l'authentification. Veuillez vérifier votre connexion réseau, puis réessayer.</translation>
 <translation id="9161070040817969420">Sous-cadres pour : <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Envoyer les données système. Cet appareil est actuellement configuré pour envoyer automatiquement des diagnostics et des données d'utilisation à Google. Ce paramètre est appliqué par le propriétaire. Si vous avez activé l'option "Activité sur le Web et les applications", ces informations seront enregistrées dans votre compte. Vous pourrez alors les gérer dans la section "Mon activité". <ph name="BEGIN_LINK1" />En savoir plus<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture-in-picture</translation>
 <translation id="9169496697824289689">Afficher les raccourcis clavier</translation>
 <translation id="9169931577761441333">Ajouter <ph name="APP_NAME" /> à l'écran d'accueil</translation>
 <translation id="9170397650136757332">À présent, déplacez légèrement votre doigt pour enregistrer toutes les parties de votre empreinte digitale</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Désactivé</translation>
 <translation id="957960681186851048">Une tentative de téléchargement automatique de plusieurs fichiers a été initiée via ce site</translation>
 <translation id="9580706199804957">Impossible de se connecter aux services Google</translation>
-<translation id="958416628331784386">Une vidéo est diffusée en mode PIP dans cet onglet.</translation>
 <translation id="960719561871045870">Code de l'opérateur</translation>
 <translation id="960987915827980018">Environ 1 heure restante</translation>
 <translation id="962802172452141067">Arborescence de dossiers des favoris</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index 190e914e..c9185c2 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -450,7 +450,6 @@
 <translation id="1657406563541664238">ઉપયોગનાં આંકડાઓ અને ક્રેશ રિપોર્ટ્સ આપમેળે Google ને મોકલીને <ph name="PRODUCT_NAME" /> ને વધુ સારુ બનાવવામાં સહાય કરો</translation>
 <translation id="1658424621194652532">આ પૃષ્ઠ તમારા માઇક્રોફોનને ઍક્સેસ કરી રહ્યું છે.</translation>
 <translation id="1660204651932907780">સાઇટને અવાજ ચલાવવાની મંજૂરી આપો (સુઝાવ આપેલ)</translation>
-<translation id="1660938185063657230">તમારી સુરક્ષા કી ચકાસો</translation>
 <translation id="1661156625580498328">AES એન્ક્રિપ્શન (ભલામણ કરેલ)ને લાગુ કરો.</translation>
 <translation id="1661245713600520330">આ પૃષ્ઠ મુખ્ય પ્રક્રિયામાં લોડ થયેલા અને પછીથી લોડ કરવા માટે નોંધવામાં આવેલા બધા મોડ્યૂલ્સને સૂચિબદ્ધ કરે છે.</translation>
 <translation id="166179487779922818">પાસવર્ડ ખૂબ ટૂંકો છે.</translation>
@@ -562,7 +561,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> માટેનો પાસવર્ડ ડિલીટ કરો</translation>
 <translation id="1819721979226826163">ઍપ નોટિફિકેશન &gt; Google Play સેવાઓને ટૅપ કરો.</translation>
 <translation id="1826516787628120939">તપાસી રહ્યાં છે</translation>
-<translation id="1827750274519118478">ચિત્રમાં-ચિત્ર મોડમાં વીડિઓ ચલાવવાનું રોકવામાં આવશે.</translation>
 <translation id="1828378091493947763">આ ઉપકરણ પર આ પ્લગ-ઇન સમર્થિત નથી</translation>
 <translation id="1828901632669367785">સિસ્ટમ સંવાદનો ઉપયોગ કરીને છાપો... </translation>
 <translation id="1829192082282182671">Zoom &amp;Out</translation>
@@ -2451,7 +2449,6 @@
 <translation id="4856478137399998590">તમારી મોબાઇલ ડેટા સેવા સક્રિય થઈ છે અને ઉપયોગ માટે તૈયાર છે</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{તમામ URLને &amp;છુપી વિંડોમાં ખોલો}=1{&amp;છુપી વિંડોમાં ખોલો}one{તમામ (#) URLને &amp;છુપી વિંડોમાં ખોલો}other{તમામ (#) URLને &amp;છુપી વિંડોમાં ખોલો}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - વીડિઓ ચિત્ર-માં-ચિત્ર મોડમાં ચાલી રહ્યો છે</translation>
 <translation id="4862050643946421924">ઉપકરણ ઉમેરી રહ્યું છે...</translation>
 <translation id="4862642413395066333">OCSP પ્રતિસાદોને સાઇન ઇન કરે છે</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> જેવું લાગે છે (ડિફૉલ્ટ)</translation>
@@ -4127,7 +4124,6 @@
 <translation id="7427348830195639090">પૃષ્ઠભૂમિ પૃષ્ઠ: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{તમામ URLને &amp;નવી વિંડોમાં ખોલો}=1{URLને &amp;નવી વિંડોમાં ખોલો}one{તમામ (#) URLને &amp;નવી વિંડોમાં ખોલો}other{તમામ (#) URLને &amp;નવી વિંડોમાં ખોલો}}</translation>
 <translation id="7434509671034404296">વિકાસકર્તા</translation>
-<translation id="7436470008146509879">તમારા <ph name="DEVICE_TYPE" /> પર Linux સેટ અપ કરો</translation>
 <translation id="7436921188514130341">અરેરે! નામ બદલતી વખતે એક ભૂલ આવી હતી.</translation>
 <translation id="7441830548568730290">અન્ય વપરાશકર્તાઓ</translation>
 <translation id="7442465037756169001">તમારું Hangouts Meet hardware સેટ કરવા માટે તૈયાર છે.</translation>
@@ -4424,7 +4420,6 @@
 <translation id="7881969471599061635">ઉપશીર્ષકો અક્ષમ કરો</translation>
 <translation id="7882358943899516840">પ્રદાતાનો પ્રકાર</translation>
 <translation id="7885253890047913815">તાજેતરનાં ગંતવ્યો</translation>
-<translation id="7886917304091689118">Chromeમાં ચાલી રહ્યું છે</translation>
 <translation id="7887334752153342268">ડુપ્લિકેટ</translation>
 <translation id="7887864092952184874">Bluetooth માઉસની જોડી બનાવી</translation>
 <translation id="7889565820482017512">ડિસ્પ્લેનું કદ</translation>
@@ -4590,7 +4585,6 @@
 <translation id="8118860139461251237">તમારા ડાઉનલોડ્સનું સંચાલન કરો</translation>
 <translation id="81238879832906896">પીળા અને સફેદ ફૂલ</translation>
 <translation id="8124313775439841391">સંચાલિત ONC</translation>
-<translation id="8125562866093998907">સાઇટ તમારા એકાઉન્ટની વધારાની સુરક્ષા માટે તમારી સુરક્ષા કી ચકાસવા માગે છે.</translation>
 <translation id="813082847718468539">સ્થાન માહિતી જુઓ</translation>
 <translation id="8131740175452115882">પુષ્ટિ કરો</translation>
 <translation id="8133676275609324831">ફોલ્ડરમાં બતાવો</translation>
@@ -4969,7 +4963,6 @@
 <translation id="8736288397686080465">પૃષ્ઠભૂમિમાં આ સાઇટ અપડેટ કરવામાં આવી છે.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ને બદલે <ph name="PROTOCOL" /> લિંક્સ ખોલો</translation>
 <translation id="8737709691285775803">શિલ</translation>
-<translation id="8741316211671074806">ચિત્ર-માં-ચિત્ર</translation>
 <translation id="8743390665131937741">પૂર્ણસ્ક્રીન ઝૂમ લેવલ:</translation>
 <translation id="8743864605301774756">1 કલાક પહેલા અપડેટ કર્યું</translation>
 <translation id="874689135111202667">{0,plural, =1{આ સાઇટ પર એક ફાઇલ અપલોડ કરીએ?}one{આ સાઇટ પર # ફાઇલો અપલોડ કરીએ?}other{આ સાઇટ પર # ફાઇલો અપલોડ કરીએ?}}</translation>
@@ -5240,6 +5233,7 @@
 <translation id="9158715103698450907">અરે! નેટવર્ક સંચાર સમસ્યા પ્રમાણીકરણ દરમિયાન આવી છે. કૃપા કરીને તમારું નેટવર્ક કનેક્શન તપાસો અને ફરી પ્રયાસ કરો.</translation>
 <translation id="9161070040817969420">આ માટે સબફ્રેમ્સ: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">સિસ્ટમ ડેટા મોકલો. આ ઉપકરણ હાલમાં Googleને આપમેળે નિદાનકારી અને ઉપકરણ તથા ઍપના વપરાશનો ડેટા મોકલે છે. આ સેટિંગ માલિક દ્વારા અમલમાં મૂકવામાં આવે છે. જો તમે વધારાની વેબ અને ઍપ પ્રવૃત્તિ ચાલુ કરી હશે, તો આ માહિતીનો તમારા એકાઉન્ટમાં સંગ્રહ કરવામાં આવશે, જેથી તમે તેને મારી પ્રવૃત્તિમાં મેનેજ કરી શકો. <ph name="BEGIN_LINK1" />વધુ જાણો<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">ચિત્ર-માં-ચિત્ર</translation>
 <translation id="9169496697824289689">કીબોર્ડ શૉર્ટકટ્સ જુઓ</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" />ને હોમ સ્ક્રીનમાં ઉમેરો</translation>
 <translation id="9170397650136757332">હવે તમારી ફિંગરપ્રિન્ટના નામ ભિન્ન ભાગોને કૅપ્ચર કરવા માટે તમારી આંગળીને સહેજ ખસેડો</translation>
@@ -5289,7 +5283,6 @@
 <translation id="952992212772159698">સક્રિય કરેલું નથી</translation>
 <translation id="957960681186851048">આ સાઇટે એકથી વધુ ફાઇલોને આપમેળે ડાઉનલોડ કરવાનો પ્રયાસ કર્યો</translation>
 <translation id="9580706199804957">Google સેવાઓ સાથે કનેક્ટ ન કરી શક્યાં</translation>
-<translation id="958416628331784386">આ ટૅબ ચિત્ર-માં-ચિત્ર મોડમાં વીડિઓ ચલાવી રહી છે.</translation>
 <translation id="960719561871045870">ઓપરેટર કોડ</translation>
 <translation id="960987915827980018">લગભગ 1 કલાક બાકી</translation>
 <translation id="962802172452141067">બુકમાર્ક ફોલ્ડર વૃક્ષ</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index bb3dd05d..2af250c9 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">पॉज़ करें</translation>
 <translation id="1181037720776840403">निकालें</translation>
 <translation id="1183237619868651138">स्‍थानीय कैश में <ph name="EXTERNAL_CRX_FILE" /> इंस्‍टॉल नहीं कर सकते.</translation>
+<translation id="1183378459020939734">अपनी 'सुरक्षा चाबी' जोड़ने के लिए तैयार हैं?</translation>
 <translation id="1185924365081634987">इस नेटवर्क गड़बड़ी को ठीक करने के लिए आप <ph name="GUEST_SIGNIN_LINK_START" />अतिथि के रूप में ब्राउज़ करें<ph name="GUEST_SIGNIN_LINK_END" /> को भी आज़मा सकते हैं.</translation>
 <translation id="1186771945450942097">नुकसान पहुंचाने वाला सॉफ़्टवेयर निकालें</translation>
 <translation id="1187722533808055681">निष्क्रिय प्रोसेसर का सक्रियण</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">'इस्तेमाल के आंकड़े' और 'खराबी रिपोर्ट' Google को अपने आप भेजे जाने की अनुमति देकर <ph name="PRODUCT_NAME" /> को बेहतर बनाने में सहायता करें</translation>
 <translation id="1658424621194652532">यह पेज आपका माइक्रोफ़ोन एक्सेस कर रहा है.</translation>
 <translation id="1660204651932907780">साइटों को आवाज़ चलाने दें (सुझाया गया)</translation>
-<translation id="1660938185063657230">अपनी 'सुरक्षा की' की पुष्टि करें</translation>
 <translation id="1661156625580498328">AES सुरक्षा लागू करें (सुझाया गया).</translation>
 <translation id="1661245713600520330">यह पृष्‍ठ मुख्‍य प्रक्रिया में लोड किए गए सभी मॉड्यूल और बाद में किसी समय लोड होने के लिए पंजीकृत मॉड्यूल की सूची बनाता है.</translation>
 <translation id="166179487779922818">पासवर्ड बहुत छोटा है.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">स्पर्श HUD मोड बदलें</translation>
 <translation id="1784849162047402014">डिवाइस पर डिस्क स्पेस कम है</translation>
 <translation id="1786636458339910689">टीम डिस्क</translation>
+<translation id="1792161662640298233">आपकी 'सुरक्षा चाबी' की पुष्टि की जा रही है</translation>
 <translation id="1792619191750875668">विस्तृत प्रदर्शन</translation>
 <translation id="1794791083288629568">इस समस्या को ठीक करने में हमारी सहायता करने के लिए फ़ीडबैक भेजें.</translation>
 <translation id="1795214765651529549">क्लासिक का उपयोग करें</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> का पासवर्ड मिटाएं</translation>
 <translation id="1819721979226826163">ऐप्लिकेशन सूचनाएं &gt; Google Play सेवाएं पर टैप करें.</translation>
 <translation id="1826516787628120939">जाँच की जा रही है</translation>
-<translation id="1827750274519118478">वीडियो 'पिक्चर में पिक्चर मोड' में चलाना बंद हो जाएगा</translation>
 <translation id="1828378091493947763">यह प्लग इन इस डिवाइस पर समर्थित नहीं है</translation>
 <translation id="1828901632669367785">सिस्‍टम डॉयलॉग का उपयोग करके प्रिंट करें…</translation>
 <translation id="1829192082282182671">ज़ूम &amp;आउट करें</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" चेक किए गए स्‍थानों में चित्रों, वीडियो, और ध्‍वनि फ़ाइलों को पढ़ और लिख सकता है.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> आपकी स्थापना पूर्ण करने के लिए तैयार है</translation>
 <translation id="1871615898038944731">आपका <ph name="DEVICE_TYPE" /> अप टू डेट है</translation>
+<translation id="1875312262568496299">शुरू करें</translation>
 <translation id="1875387611427697908">इसे केवल <ph name="CHROME_WEB_STORE" /> से ही जोड़ा जा सकता है</translation>
 <translation id="1877520246462554164">प्रमाणीकरण टोकन नहीं पा सके. दोबारा कोशिश करने के लिए कृपया साइन आउट करें उसके बाद फिर से प्रवेश करें.</translation>
 <translation id="1878302395768190018">आप किसी भी समय Chrome सेटिंग में जाकर इसे अपनी पसंद के मुताबिक बना सकते हैं</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491"><ph name="NAME" /> की फ़ोटो</translation>
 <translation id="2115103655317273167">फ़ोन पर भेजें</translation>
 <translation id="2119349053129246860"><ph name="APP" /> में खोलें</translation>
+<translation id="2120297377148151361">गतिविधि और इंटरैक्शन</translation>
 <translation id="2121825465123208577">आकार बदलें</translation>
 <translation id="2124930039827422115">{1,plural, =1{एक उपयोगकर्ता ने <ph name="AVERAGE_RATING" /> रेट किया है.}one{# उपयोगकर्ताओं ने <ph name="AVERAGE_RATING" /> रेट किया है.}other{# उपयोगकर्ताओं ने <ph name="AVERAGE_RATING" /> रेट किया है.}}</translation>
 <translation id="2126167708562367080">सिंक को आपके व्यवस्थापक ने अक्षम किया है.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">कागज़ का आकार</translation>
 <translation id="2318817390901984578">Android ऐप्लिकेशन का उपयोग करने के लिए, अपना <ph name="DEVICE_TYPE" /> चार्ज करें और उसे अपडेट करें.</translation>
 <translation id="2318923050469484167">वर्तमान गुप्त सत्र (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128"><ph name="APP_NAME" /> के ज़रिए अपनी 'सुरक्षा चाबी' का इस्तेमाल करें</translation>
 <translation id="2322193970951063277">शीर्षलेख और पादलेख</translation>
 <translation id="2325650632570794183">इस तरह की फ़ाइल नहीं खुल सकती है. वैसा ऐप्लिकेशन जिसमें ऐसी फ़ाइल खुल सके, उसे ढूंढने के लिए कृपया 'Chrome वेब स्टोर' पर जाएं.</translation>
 <translation id="2326931316514688470">&amp;ऐप फिर लोड करें</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">File Share जोड़ें</translation>
 <translation id="2367972762794486313">ऐप्स  दिखाएं</translation>
 <translation id="2369536625682139252">कुकी को छोड़कर, <ph name="SITE" /> का स्टोर किया हुआ सारा डेटा मिटा दिया जाएगा.</translation>
+<translation id="237058345584060620">अपनी चाबी को इस डिवाइस से जोड़ें ताकि आप अपने खाते में साइन इन करने के लिए इसका इस्तेमाल कर सकें</translation>
 <translation id="2371076942591664043">&amp;पू्र्ण होने पर खोलें</translation>
 <translation id="2376559921867170420">आपका Chromebook सेट अप हो जाने पर, किसी भी समय अपनी Assistant से मदद पाने के लिए Assistant बटन दबाएं या "OK Google" बोलें.</translation>
 <translation id="2377319039870049694">'सूची की तरह देखें' पर स्विच करें</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">आपका फ़ोन नहीं मिल पा रहा है. पक्का करें कि आपके <ph name="DEVICE_TYPE" /> का ब्लूटूथ चालू है. &lt;a&gt;अधिक जानें&lt;/a&gt;</translation>
 <translation id="2489918096470125693">&amp;फ़ोल्डर जोड़ें...</translation>
 <translation id="249113932447298600">क्षमा करें, डिवाइस <ph name="DEVICE_LABEL" /> इस समय समर्थित नहीं है.</translation>
+<translation id="2492040222276243256">अपनी 'सुरक्षा चाबी' पर दिए गए बटन को पांच सेकंड तक दबाकर रखें</translation>
 <translation id="2493021387995458222">"एक बार में शब्‍द" को चुनें</translation>
 <translation id="249303669840926644">पंजीकरण पूरा नहीं किया जा सका</translation>
 <translation id="2495777824269688114">अधिक सुविधाएं खोजें या उत्तर पाएं. सहायता के लिए “?” चुनें.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">उपलब्ध सॉकेट की प्रतीक्षा की जा रही है...</translation>
 <translation id="252219247728877310">घटक अपडेट नहीं किया गया</translation>
 <translation id="2522791476825452208">बहुत पास है</translation>
+<translation id="2523184218357549926">आपके जिन पेजों पर जाते हैं उनके यूआरएल Google को भेजती है</translation>
 <translation id="2525250408503682495">Kryptonite! कियोस्क ऐप्स  का cryptohome माउंट नहीं किया जा सका.</translation>
 <translation id="2526277209479171883">इंस्टॉल करें और जारी रखें</translation>
 <translation id="2526590354069164005">डेस्कटॉप</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011"><ph name="SHORT_PRODUCT_NAME" /> में प्रवेश नहीं है</translation>
 <translation id="2563856802393254086">बधाई हो! आपकी '<ph name="NAME" />' डेटा सेवा सक्रिय हो गई है और अब वह चलने के लिए तैयार है.</translation>
 <translation id="2564520396658920462">AppleScript के ज़रिए JavaScript काम में लेने की सुविधा बंद है. उसे चालू करने के लिए, मेन्यू बार से, View &gt; Developer &gt; Allow JavaScript from Apple Events पर जाएं. अधिक जानकारी के लिए: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">स्पेलिंग की बेहतर जांच</translation>
 <translation id="2566124945717127842">अपने <ph name="IDS_SHORT_PRODUCT_NAME" /> डिवाइस को बिल्कुल नए जैसा रीसेट करने के लिए पावरवॉश करें.</translation>
 <translation id="2567257616420533738">पासवर्ड सेव किया गया. <ph name="SAVED_PASSWORDS_LINK" /> पर सेव किए गए पासवर्ड देखें और उन्हें संभालें</translation>
 <translation id="2568774940984945469">जानकारी बार कंटेनर</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> डिस्क मेमोरी के <ph name="USAGE" /> एमबी का उपयोग कर रहा है.</translation>
 <translation id="2633212996805280240">"<ph name="EXTENSION_NAME" />" निकालें?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> स्थापना पूर्ण नहीं कर सका, लेकिन इसकी डिस्क चित्र से चलना जारी रहेगा.</translation>
+<translation id="2633326789677284179">अपनी चाबी के पीछे प्रिंट किया हुआ नाम देखें</translation>
 <translation id="2635276683026132559">हस्ताक्षर</translation>
 <translation id="2636625531157955190">Chrome, चित्र तक नहीं पहुंच पा रहा.</translation>
 <translation id="2638087589890736295">सिंक शुरू करने के लिए पासफ़्रेज़ की आवश्यकता होती है</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">बाहरी crx फ़ाइल की <ph name="TEMP_CRX_FILE" /> में कॉपी नहीं बनाई जा सकती.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" युग्मित किया गया</translation>
 <translation id="3101709781009526431">दिनांक और समय</translation>
+<translation id="3104900172193317662">अपनी सुरक्षा चाबी का इस्तेमाल करने दें</translation>
 <translation id="310671807099593501">साइट ब्लूटूथ का इस्तेमाल कर रही है</translation>
 <translation id="3115128645424181617">आपका फ़ोन नहीं मिल पा रहा है. पक्का करें कि वह पहुंच में है और ब्लूटूथ चालू है.</translation>
 <translation id="3115147772012638511">संचय की प्रतीक्षा कर रहा है...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468"><ph name="HOST" /> को क्लिपबोर्ड देखने से हमेशा ब्लॉक करें</translation>
 <translation id="3840053866656739575">आपके Chromebox से कनेक्‍शन खो गया है. कृपया निकट आएं, या हमारे द्वारा फिर से कनेक्‍ट करने का प्रयास करने के दौरान अपने डिवाइस की जाँच करें.</translation>
 <translation id="3842552989725514455">Serif फ़ॉन्ट</translation>
+<translation id="3846116211488856547">वेबसाइटें, Android ऐप्लिकेशन वगैरह बनाने के टूल पाएं. Linux इंस्टॉल करने पर <ph name="DOWNLOAD_SIZE" /> डेटा डाउनलोड होगा.</translation>
 <translation id="385051799172605136">वापस</translation>
 <translation id="3851428669031642514">असुरक्षित स्‍क्रिप्‍ट लोड करें</translation>
 <translation id="3855441664322950881">एक्सटेंशन पैक करें</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">डिस्क में स्पेस खाली करें अन्यथा डिवाइस प्रतिक्रिया नहीं देगा.</translation>
 <translation id="3878840326289104869">'निगरानी में रखा गया उपयोगकर्ता' बनाना</translation>
 <translation id="3879748587602334249">डाउनलोड मैनेजर</translation>
+<translation id="3880709822663530586">आपकी 'सुरक्षा चाबी' तभी काम करती है जब आपके डिवाइस का ब्लूटूथ चालू हो</translation>
 <translation id="3888550877729210209"><ph name="LOCK_SCREEN_APP_NAME" /> से नोट लेना</translation>
 <translation id="3892414795099177503">OpenVPN / L2TP जोड़ें...</translation>
 <translation id="3893536212201235195">अपनी पहुंच-योग्यता सेटिंग पढ़ें और बदलें</translation>
@@ -2360,6 +2371,7 @@
 <translation id="4681930562518940301">मूल &amp;चित्र को नए टैब में खोलें</translation>
 <translation id="4682551433947286597">वॉलपेपर साइन-इन स्क्रीन पर दिखाई देते .</translation>
 <translation id="4684427112815847243">सब कुछ समन्‍वयित करें</translation>
+<translation id="4689235506267737042">अपनी डेमो पसंद चुनें</translation>
 <translation id="4689421377817139245">इस बुकमार्क को अपने iPhone से सिंक करें</translation>
 <translation id="4690091457710545971">&lt;'Intel वाई-फ़ाई फ़र्मवेयर' की जनरेट की हुई चार फ़ाइलें: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  पहली तीन फ़ाइलें बाइनरी हैं जिनमें रजिस्टर डंप शामिल हैं और Intel का दावा है कि इनमें कोई भी निजी या डिवाइस की पहचान करने वाली जानकारी शामिल नहीं है.  आखिरी फ़ाइल Intel फ़र्मवेयर का एक एक्ज़ीक्यूशन ट्रेस है जिसमें से किसी भी निजी या डिवाइस की पहचान करने वाली जानकारी को हटा दिया गया है लेकिन यहां दिखाने के लिए उसका आकार बहुत ही बड़ा है.  ये फ़ाइलें आपके डिवाइस में वाई-फ़ाई से जुड़ी हाल ही की समस्याओं के जवाब में जनरेट हुई हैं और इन्हें Intel के साथ शेयर किया जाएगा ताकि इन समस्याओं का हल निकालने में मदद मिल सके.&gt;</translation>
 <translation id="4692302215262324251">आपके डिवाइस को <ph name="DEVICE_TYPE" /><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> द्वारा एंटरप्राइज़ प्रबंधन के लिए सफलतापूर्वक नामांकित कर लिया गया है.
@@ -2465,7 +2477,6 @@
 <translation id="4856478137399998590">आपकी मोबाइल डेटा सेवा सक्रिय कर दी गई है और उपयोग के लिए तैयार है</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{सभी को &amp;गुप्त विंडो में खोलें}=1{&amp;गुप्त विंडों में खोलें}one{सभी (#) को &amp;गुप्त विंडो में खोलें}other{सभी (#) को &amp;गुप्त विंडो में खोलें}}</translation>
 <translation id="4858913220355269194">फ्रिट्ज़</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - वीडियो 'पिक्चर में पिक्चर' मोड में चल रहा है</translation>
 <translation id="4862050643946421924">डिवाइस जोड़ा जा रहा है...</translation>
 <translation id="4862642413395066333">OCSP प्रतिसाद हस्ताक्षरित करना</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> जैसा लगता है (डिफ़ॉल्ट)</translation>
@@ -2489,6 +2500,7 @@
 <translation id="4880827082731008257">खोज इतिहास</translation>
 <translation id="4881695831933465202">खोलें</translation>
 <translation id="4882473678324857464">बुकमार्क पर केंद्रित करें</translation>
+<translation id="4882831918239250449">यह नियंत्रित करें कि खोज, विज्ञापनों वगैरह को मनमुताबिक बनाने के लिए आपके ब्राउज़िंग इतिहास का इस्तेमाल कैसे किया जाए</translation>
 <translation id="4883178195103750615">HTML फ़ाइल में बुकमार्क नि‍र्यात करें...</translation>
 <translation id="4883436287898674711">सभी <ph name="WEBSITE_1" /> साइटें</translation>
 <translation id="48838266408104654">&amp;कार्य प्रबंधक</translation>
@@ -2764,6 +2776,7 @@
 <translation id="5288678174502918605">बंद किए गए टैब पु&amp;न: खोलें</translation>
 <translation id="52912272896845572">निजी कुंजी फ़ाइल अमान्य है.</translation>
 <translation id="529175790091471945">यह डिवाइस फ़ॉर्मेट करें</translation>
+<translation id="5292195676005197571">ज़्यादातर चाबियों का इस्तेमाल करने के लिए, बस बटन को दबाएं</translation>
 <translation id="5293170712604732402">सेटिंग को उनके मूल डिफ़ॉल्ट पर बहाल करें</translation>
 <translation id="5298219193514155779">थीम निर्माता</translation>
 <translation id="5299109548848736476">नज़र न रखें</translation>
@@ -3024,11 +3037,13 @@
 <translation id="5658415415603568799">अतिरिक्त सुरक्षा के लिए, Smart Lock आपसे 20 घंटों के बाद अपना पासवर्ड डालने के लिए कहेगा.</translation>
 <translation id="5659593005791499971">ईमेल</translation>
 <translation id="5659833766619490117">इस पेज का अनुवाद नहीं किया जा सका</translation>
+<translation id="5660204307954428567"><ph name="DEVICE_NAME" /> से जोड़ें</translation>
 <translation id="5662477687021125631">लगातार</translation>
 <translation id="5667546120811588575">Google Play सेट अप किया जा रहा है...</translation>
 <translation id="5669267381087807207">सक्रिय कर रहा है</translation>
 <translation id="5669691691057771421">नया पिन डालें</translation>
 <translation id="5671641761787789573">इमेज ब्लॉक की गईं</translation>
+<translation id="5673076758299428095">Linux को बंद करें</translation>
 <translation id="5677503058916217575">पेज की भाषा:</translation>
 <translation id="5677928146339483299">अवरोधित</translation>
 <translation id="5678550637669481956"><ph name="VOLUME_NAME" /> पर पढ़ने और लिखने की ऐक्‍सेस दी गई है.</translation>
@@ -3193,6 +3208,9 @@
 <translation id="5920835625712313205">Chrome OS सिस्‍टम इमेज राइटर</translation>
 <translation id="5921745308587794300">विंडो घुमाएं</translation>
 <translation id="5924047253200400718">सहायता प्राप्त करें<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">नई फ़ोटो लें या मौजूदा फ़ोटो या आइकॉन चुनें.
+    <ph name="LINE_BREAK" />
+    यह तस्वीर Chromebook साइन इन स्क्रीन और लॉक स्क्रीन पर दिखाई देगी.</translation>
 <translation id="5925147183566400388">प्रमाणन अभ्यास कथन पॉइंटर</translation>
 <translation id="592880897588170157">PDF फ़ाइलों को Chrome में अपने आप खोलने के बजाय उन्हें डाउनलोड करें</translation>
 <translation id="5931146425219109062">आप जिन वेबसाइट पर जाते हैं, उन पर मौजूद अपना सभी डेटा पढ़ें और बदलें</translation>
@@ -3289,6 +3307,7 @@
 <translation id="6078752646384677957">कृपया अपना माइक्रोफ़ोन और ऑडियो लेवल जाँचें.</translation>
 <translation id="6080515710685820702">शेयर किए गए कंप्यूटर का उपयोग कर रहे हैं? तो गुप्त विंडो खोलकर देखें.</translation>
 <translation id="6080689532560039067">अपने सिस्टम के समय की जाँच करें</translation>
+<translation id="6082111513049964958">अनलॉक करने का पासवर्ड</translation>
 <translation id="6082651258230788217">टूलबार में दिखाएं</translation>
 <translation id="6086846494333236931">आपके नियंत्रक द्वारा इंस्‍टॉल किया गया</translation>
 <translation id="6087960857463881712">बढ़िया चेहरा</translation>
@@ -3512,6 +3531,7 @@
 <translation id="642282551015776456">यह नाम कि‍सी फ़ाइल या फ़ोल्‍डर के लि‍ए उपयोग नहीं कि‍या जा सकता</translation>
 <translation id="642469772702851743">इस डिवाइस (क्रमांक: <ph name="SERIAL_NUMBER" />) को मालिक ने लॉक कर दिया था.</translation>
 <translation id="6426200009596957090">ChromeVox सेटिंग खोलें</translation>
+<translation id="6427415464407526111">अपनी सुरक्षा चाबी चुनें</translation>
 <translation id="6429384232893414837">अपडेट में गड़बड़ी</translation>
 <translation id="6430814529589430811">Base64 में एन्कोड किया गया ASCII, सिर्फ़ एक प्रमाणपत्र</translation>
 <translation id="6431217872648827691">आपके Google पासवर्ड के द्वारा 
@@ -3938,6 +3958,7 @@
 <translation id="7099337801055912064">बड़ा पीपीडी लोड नहीं किया जा सकता. आकार 250 केबी से ज़्यादा नहीं होना चाहिए.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> आइटम चयनित</translation>
 <translation id="7102687220333134671">ऑटोमैटिक अपडेट चालू हैं</translation>
+<translation id="7102832101143475489">अनुरोध का समय खत्म हो गया</translation>
 <translation id="7106346894903675391">अधिक मेमोरी खरीदें...</translation>
 <translation id="7108338896283013870">छुपाएं</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> आपके कैमरे का उपयोग करना चाहता है</translation>
@@ -4146,7 +4167,6 @@
 <translation id="7427348830195639090">पेजभूमि पेज: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{सभी को &amp;नई विंडो में खोलें}=1{&amp;नई विंडो में खोलें}one{सभी (#) को &amp;नई विंडो में खोलें}other{सभी (#) को &amp;नई विंडो में खोलें}}</translation>
 <translation id="7434509671034404296">डेवलपर</translation>
-<translation id="7436470008146509879">अपने <ph name="DEVICE_TYPE" /> पर Linux सेट अप करें</translation>
 <translation id="7436921188514130341">हे भगवान! नाम बदलने के दौरान गड़बड़ी हुई.</translation>
 <translation id="7441830548568730290">अन्य उपयोगकर्ता</translation>
 <translation id="7442465037756169001">आपका Hangouts Meet hardware सेट अप किए जाने के लिए तैयार है.</translation>
@@ -4445,7 +4465,6 @@
 <translation id="7881969471599061635">सबटाइटल बंद करें</translation>
 <translation id="7882358943899516840">प्रदाता का प्रकार</translation>
 <translation id="7885253890047913815">हाल ही के गंतव्य</translation>
-<translation id="7886917304091689118">Chrome में चल रहा है</translation>
 <translation id="7887334752153342268">डुप्लीकेट</translation>
 <translation id="7887864092952184874">ब्लूटूथ माउस युग्मित किया गया</translation>
 <translation id="7889565820482017512">डिसप्ले का आकार</translation>
@@ -4558,6 +4577,7 @@
 <translation id="8028993641010258682">आकार</translation>
 <translation id="8030656706657716245">प्रिंटर जोड़ें</translation>
 <translation id="8032244173881942855">टैब कास्ट करने में असमर्थ.</translation>
+<translation id="8033958968890501070">समय खत्म</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{सभी को &amp;गुप्त विंडो में खोलें}=1{&amp;गुप्त विंडों में खोलें}one{सभी (#) को &amp;गुप्त विंडो में खोलें}other{सभी (#) को &amp;गुप्त विंडो में खोलें}}</translation>
 <translation id="8037117027592400564">संश्लेषित बोली का उपयोग करके बोला गया सभी लेख पढ़ें</translation>
 <translation id="8037357227543935929">पूछें (डिफ़ॉल्ट)</translation>
@@ -4616,7 +4636,6 @@
 <translation id="8118860139461251237">अपने डाउनलोड प्रबंधित करें</translation>
 <translation id="81238879832906896">पीला और सफ़ेद फूल</translation>
 <translation id="8124313775439841391">प्रबंधित ONC</translation>
-<translation id="8125562866093998907">आपके खाते की ज़्यादा सुरक्षा करने के लिए, साइट आपकी 'सुरक्षा की' की पुष्टि करना चाहती है.</translation>
 <translation id="813082847718468539">साइट जानकारी देखें</translation>
 <translation id="8131740175452115882">दुबारा पूछें</translation>
 <translation id="8133676275609324831">खोजकर्ता में &amp;दिखाएं</translation>
@@ -4648,6 +4667,8 @@
 <translation id="8180239481735238521"> पेज</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" चेक किए गए स्थानों में चित्रों, वीडियो, और ध्वनि फ़ाइलों को पढ़ सकता है और हटा सकता है.</translation>
 <translation id="8181215761849004992">डोमेन से नहीं जोड़ सकते. यह जानने के लिए अपना खाता देखें कि आपके पास डिवाइस जोड़ने के खास अधिकार हैं या नहीं.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    मुझे नहीं लगता कि इस साइट को ब्लॉक किया जाना चाहिए!</translation>
 <translation id="8184288427634747179"><ph name="AVATAR_NAME" /> पर जाएं</translation>
 <translation id="8184318863960255706">अधिक जानकारी</translation>
 <translation id="8185331656081929126">नेटवर्क पर नए प्रिंटर का पता लगाए जाने पर सूचनाएं दिखाएं</translation>
@@ -4791,6 +4812,7 @@
 <translation id="8434480141477525001">NaCl डीबग पोर्ट</translation>
 <translation id="843760761634048214">क्रेडिट कार्ड सहेजें</translation>
 <translation id="8438328416656800239">किसी स्मार्ट ब्राउज़र पर जाएं</translation>
+<translation id="8438566539970814960">खोजों और ब्राउज़िेंग को बेहतर बनाएं</translation>
 <translation id="8439506636278576865">इस भाषा में पृष्ठों का अनुवाद करने का ऑफ़र दें</translation>
 <translation id="8446884382197647889">अधिक जानें</translation>
 <translation id="8447409163267621480">Ctrl या Alt में से किसी एक को शामिल करें</translation>
@@ -4995,7 +5017,6 @@
 <translation id="8736288397686080465">इस साइट को पृष्‍ठभूमि में अपडेट किया गया है.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> के बजाय <ph name="PROTOCOL" /> लिंक खोलें</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">पिक्चर में पिक्चर</translation>
 <translation id="8743390665131937741">फ़ुलस्क्रीन ज़ूम स्तर:</translation>
 <translation id="8743864605301774756">1 घंटे पहले अपडेट किया गया</translation>
 <translation id="874689135111202667">{0,plural, =1{इस साइट पर एक फ़ाइल अपलोड करें?}one{इस साइट पर # फ़ाइलें अपलोड करें?}other{इस साइट पर # फ़ाइलें अपलोड करें?}}</translation>
@@ -5147,6 +5168,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - क्रैश हो गया है</translation>
 <translation id="8983677657449185470">सुरक्षित ब्राउज़िंग को बेहतर बनाने में सहायता करें</translation>
 <translation id="8984654317541110628">फ़ाइल शेयर यूआरएल</translation>
+<translation id="8984872292925913496">अपनी चाबी के पीछे दिया गया छह अंकों वाला पिन देखें</translation>
 <translation id="8986362086234534611">भूल जाएं</translation>
 <translation id="8986494364107987395">'इस्तेमाल के आंकड़े' और 'खराबी रिपोर्ट' Google को अपने आप भेजे जाने की अनुमति दें</translation>
 <translation id="8987927404178983737">माह</translation>
@@ -5269,6 +5291,7 @@
 <translation id="9158715103698450907">ओह!  प्रमाणीकरण के दौरान एक नेटवर्क संचार समस्या आई.  कृपया अपना नेटवर्क कनेक्शन जाँचें और पुन: प्रयास करें.</translation>
 <translation id="9161070040817969420">इनके लिए सबफ़्रेम: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">सिस्टम डेटा भेजें. यह डिवाइस फ़िलहाल Google को निदान और डिवाइस और ऐप्लिकेशन के इस्तेमाल का डेटा अपने आप भेजता है. यह सेटिंग डिवाइस के मालिक ने लागू की है. अगर आपने अतिरिक्त वेब और ऐप्लिकेशन गतिविधि चालू की है, तो यह जानकारी आपके खाते से संग्रहित की जाएगी, ताकि आप इसे मेरी गतिविधि में प्रबंधित कर सकें. <ph name="BEGIN_LINK1" />अधिक जानें<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">पिक्चर में पिक्चर</translation>
 <translation id="9169496697824289689">कीबोर्ड शॉर्टकट देखें</translation>
 <translation id="9169931577761441333">होम स्क्रीन पर <ph name="APP_NAME" /> जोड़ें</translation>
 <translation id="9170397650136757332">अब अपने फ़िंगरप्रिंट के सभी अलग-अलग हिस्सों को कैप्चर करने के लिए अपनी उंगली को धीरे से हिलाएं</translation>
@@ -5319,7 +5342,6 @@
 <translation id="952992212772159698">सक्रिय नहीं किया गया</translation>
 <translation id="957960681186851048">इस साइट ने अपने आप  कई फ़ाइलें डाउनलोड करने की कोशिश की है</translation>
 <translation id="9580706199804957">Google सेवाओं से कनेक्ट नहीं हो सका</translation>
-<translation id="958416628331784386">यह टैब वीडियो को 'पिक्चर में पिक्चर' मोड में चला रहा है.</translation>
 <translation id="960719561871045870">ऑपरेटर कोड</translation>
 <translation id="960987915827980018">लगभग 1 घंटा शेष है</translation>
 <translation id="962802172452141067">बुकमार्क फ़ोल्डर ट्री</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index c260cd1..8e64210 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pauziraj</translation>
 <translation id="1181037720776840403">Ukloni</translation>
 <translation id="1183237619868651138">Nije moguća instalacija datoteke <ph name="EXTERNAL_CRX_FILE" /> u lokalnu predmemoriju.</translation>
+<translation id="1183378459020939734">Jeste li spremni za uparivanje sigurnosnog ključa?</translation>
 <translation id="1185924365081634987">Možete pokušati <ph name="GUEST_SIGNIN_LINK_START" />pregledavati kao gost<ph name="GUEST_SIGNIN_LINK_END" /> da biste riješili tu mrežnu pogrešku.</translation>
 <translation id="1186771945450942097">Uklonite štetni softver</translation>
 <translation id="1187722533808055681">Buđenja iz stanja mirovanja</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Olakšajte nam poboljšanje preglednika <ph name="PRODUCT_NAME" /> automatskim slanjem statistike o upotrebi i izvješća o padu programa Googleu</translation>
 <translation id="1658424621194652532">Ova stranica pristupa vašem mikrofonu.</translation>
 <translation id="1660204651932907780">Web-lokacije mogu reproducirati zvuk (preporučeno)</translation>
-<translation id="1660938185063657230">Potvrdite svoj sigurnosni ključ</translation>
 <translation id="1661156625580498328">Provođenje AES šifriranja (preporučeno).</translation>
 <translation id="1661245713600520330">Ta stranica navodi sve module učitane u glavni proces i module registrirane za kasnije učitavanje.</translation>
 <translation id="166179487779922818">Zaporka je prekratka.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Promjena načina dodirnog HUD zaslona</translation>
 <translation id="1784849162047402014">Na uređaju nema dovoljno prostora</translation>
 <translation id="1786636458339910689">Diskovi za tim</translation>
+<translation id="1792161662640298233">Potvrda sigurnosnog ključa</translation>
 <translation id="1792619191750875668">Prošireni zaslon</translation>
 <translation id="1794791083288629568">Pošaljite povratne informacije da biste nam pomogli riješiti taj problem.</translation>
 <translation id="1795214765651529549">Koristi klasičnu</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Izbrišite zaporku za <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Dodirnite Obavijesti aplikacije &gt; Google Play usluge.</translation>
 <translation id="1826516787628120939">Provjera</translation>
-<translation id="1827750274519118478">Videozapis iz značajke slike u slici prestat će se reproducirati</translation>
 <translation id="1828378091493947763">Ovaj dodatak nije podržan na ovom uređaju</translation>
 <translation id="1828901632669367785">Ispis pomoću dijaloškog okvira sustava...</translation>
 <translation id="1829192082282182671">Zoom &amp;Out (Smanji)</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" može čitati i zapisivati slikovne, video i audiodatoteke na označenim lokacijama.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> je spreman za dovršetak instalacije</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> je ažuriran</translation>
+<translation id="1875312262568496299">Započni</translation>
 <translation id="1875387611427697908">Može se dodati jedino s usluge <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Dohvaćanje oznake za autentifikaciju nije uspjelo. Odjavite se pa se opet prijavite da biste pokušali ponovo.</translation>
 <translation id="1878302395768190018">To možete prilagoditi u bilo kojem trenutku u postavkama Chromea</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Fotografija, <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Pošalji na telefon</translation>
 <translation id="2119349053129246860">Otvori u aplikaciji <ph name="APP" /></translation>
+<translation id="2120297377148151361">Aktivnost i interakcija</translation>
 <translation id="2121825465123208577">Promijeni veličinu</translation>
 <translation id="2124930039827422115">{1,plural, =1{Ocjena iznosi <ph name="AVERAGE_RATING" />, na temelju jednog korisnika.}one{Ocjena iznosi <ph name="AVERAGE_RATING" />, na temelju # korisnika.}few{Ocjena iznosi <ph name="AVERAGE_RATING" />, na temelju # korisnika.}other{Ocjena iznosi <ph name="AVERAGE_RATING" />, na temelju # korisnika.}}</translation>
 <translation id="2126167708562367080">Administrator je onemogućio sinkronizaciju.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Veličina papira</translation>
 <translation id="2318817390901984578">Da biste upotrebljavali Android aplikacije, napunite i ažurirajte svoj <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Trenutačna anonimna sesija (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Upotreba sigurnosnog ključa kod <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Zaglavlja i podnožja</translation>
 <translation id="2325650632570794183">Ta vrsta datoteke nije podržana. Posjetite Chrome web-trgovinu da biste pronašli aplikaciju koja može otvoriti tu vrstu datoteke.</translation>
 <translation id="2326931316514688470">&amp;Ponovo učitaj aplikaciju</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Dodaj dijeljenje datoteka</translation>
 <translation id="2367972762794486313">Prikaz aplikacija</translation>
 <translation id="2369536625682139252">Izbrisat će se svi podaci koje je pohranila web-lokacija <ph name="SITE" /> osim kolačića.</translation>
+<translation id="237058345584060620">Uparite ključ s ovim uređajem da biste ga mogli upotrebljavati za prijavu na račun</translation>
 <translation id="2371076942591664043">Otvori nakon &amp;dovršetka</translation>
 <translation id="2376559921867170420">Dok se Chromebook postavlja, pritisnite gumb Asistent ili recite "Ok Google" da biste dobili pomoć od Asistenta u bilo kojem trenutku</translation>
 <translation id="2377319039870049694">Prebaci na prikaz popisa</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Telefon nije moguće pronaći. Provjerite je li na uređaju <ph name="DEVICE_TYPE" /> uključen Bluetooth. &lt;a&gt;Saznajte više&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Dodavanje &amp;mape...</translation>
 <translation id="249113932447298600">Žao nam je, uređaj <ph name="DEVICE_LABEL" /> trenutačno nije podržan.</translation>
+<translation id="2492040222276243256">Pritisnite i zadržite tipku na sigurnosnom ključu najmanje 5 sekundi</translation>
 <translation id="2493021387995458222">Odaberite opciju "jedna po jedna riječ"</translation>
 <translation id="249303669840926644">Nije bilo moguće dovršiti registraciju</translation>
 <translation id="2495777824269688114">Otkrijte više značajki ili saznajte odgovore. Odaberite "?" da biste pristupili pomoći.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Čekanje dostupne utičnice...</translation>
 <translation id="252219247728877310">Komponenta nije ažurirana</translation>
 <translation id="2522791476825452208">Vrlo blizu</translation>
+<translation id="2523184218357549926">Šalje Googleu URL-ove stranica koje posjećujete</translation>
 <translation id="2525250408503682495">Kriptonita mu! Nije bilo moguće učitati Cryptohome za aplikaciju kioska.</translation>
 <translation id="2526277209479171883">Instaliraj i nastavi</translation>
 <translation id="2526590354069164005">Radna površina</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Niste prijavljeni na uslugu <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Čestitamo! Podatkovna usluga "<ph name="NAME" />" aktivirana je i spremna za pokret.</translation>
 <translation id="2564520396658920462">Izvršavanje JavaScripta putem AppleScripta isključeno je. Da biste ga uključili, na traci izbornika otvorite Prikaz &gt; Razvojni programer &gt; Dopusti JavaScript iz Appleovih događaja. Više informacija dostupno je na stranici https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Poboljšana provjera pravopisa</translation>
 <translation id="2566124945717127842">Pokrenite Powerwash da biste vratili uređaj <ph name="IDS_SHORT_PRODUCT_NAME" /> na tvorničke postavke.</translation>
 <translation id="2567257616420533738">Zaporka je spremljena. Spremljene zaporke možete pregledati i upravljati njima na <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Spremnik infotrake</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> upotrebljava <ph name="USAGE" /> MB prostora na disku.</translation>
 <translation id="2633212996805280240">Ukloniti uslugu "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101">Program <ph name="PRODUCT_NAME" /> nije uspio dovršiti instalaciju, ali nastavit će rad iz diskovne slike.</translation>
+<translation id="2633326789677284179">Pronađite naziv na poleđini ključa</translation>
 <translation id="2635276683026132559">Potpisivanje</translation>
 <translation id="2636625531157955190">Chrome ne može pristupiti slici.</translation>
 <translation id="2638087589890736295">Za pokretanje sinkronizacije potrebna je šifra</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Nije moguće kopiranje crx datoteke u <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Upareno: "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3101709781009526431">Datum i vrijeme</translation>
+<translation id="3104900172193317662">Dopustite upotrebu sigurnosnog ključa</translation>
 <translation id="310671807099593501">Web-lokacija upotrebljava Bluetooth</translation>
 <translation id="3115128645424181617">Telefon nije moguće pronaći. Provjerite je li vam pri ruci i je li uključen Bluetooth.</translation>
 <translation id="3115147772012638511">Čekanje predmemorije...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Uvijek blokiraj web-lokaciji <ph name="HOST" /> uvid u međuspremnik</translation>
 <translation id="3840053866656739575">Prekinuta je veza s vašim Chromeboxom. Približite se ili provjerite svoj uređaj tijekom pokušaja ponovnog povezivanja.</translation>
 <translation id="3842552989725514455">Font Serif</translation>
+<translation id="3846116211488856547">Preuzmite alate za razvoj web-lokacija, Android aplikacija itd. Instaliranjem Linuxa preuzet će se <ph name="DOWNLOAD_SIZE" /> podataka.</translation>
 <translation id="385051799172605136">Natrag</translation>
 <translation id="3851428669031642514">Učitaj nesigurne skripte</translation>
 <translation id="3855441664322950881">Zapakiraj proširenje</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Oslobodite prostor na disku ili će uređaj prestati reagirati.</translation>
 <translation id="3878840326289104869">Izrada nadziranog korisnika</translation>
 <translation id="3879748587602334249">Upravitelj preuzimanja</translation>
+<translation id="3880709822663530586">Vaš sigurnosni ključ funkcionira samo kada je na vašem uređaju uključen Bluetooth</translation>
 <translation id="3888550877729210209">Izrada bilježaka pomoću aplikacije <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Dodaj OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">čitati i mijenjati vaše postavke pristupačnosti</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Otvori izvornu sl&amp;iku na novoj kartici</translation>
 <translation id="4682551433947286597">Pozadine se prikazuju na zaslonu za prijavu.</translation>
 <translation id="4684427112815847243">Sinkroniziraj sve</translation>
+<translation id="4689235506267737042">Odaberite svoje demo-postavke</translation>
 <translation id="4689421377817139245">Sinkronizirajte ovu oznaku sa svojim iPhoneom</translation>
 <translation id="4690091457710545971">&lt;Četiri datoteke koje je generirala Intelova oprema za Wi-Fi: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Prve su tri datoteke binarne i sadrže ispis registra, a Intel potvrđuje da ne sadrže osobne podatke ni podatke za identifikaciju uređaja. Zadnja je datoteka zapis izvedbe Intelove opreme; iz nje su izbrisani svi osobni podaci i podaci za identifikaciju uređaja, no prevelika je da bi se prikazala ovdje. Te su datoteke generirane zbog nedavnih poteškoća s Wi-Fi-jem na vašem uređaju i podijelit će se s Intelom radi rješavanja tih problema.&gt;</translation>
 <translation id="4692302215262324251">Vaš je <ph name="DEVICE_TYPE" /> uređaj uspješno registriran za poslovno upravljanje u okviru domene <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Vaša mobilna podatkovna usluga aktivirana je i spremna za upotrebu</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Otvori sve u &amp;anonimnom prozoru}=1{Otvori sve u &amp;anonimnom prozoru}one{Otvori sve (#) u &amp;anonimnom prozoru}few{Otvori sve (#) u &amp;anonimnom prozoru}other{Otvori sve (#) u &amp;anonimnom prozoru}}</translation>
 <translation id="4858913220355269194">Zvone</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – reprodukcija videozapisa u načinu slika u slici</translation>
 <translation id="4862050643946421924">Dodavanje uređaja...</translation>
 <translation id="4862642413395066333">Potpisivanje OCSP odgovora</translation>
 <translation id="4863769717153320198">Izgleda kao <ph name="WIDTH" /> x <ph name="HEIGHT" /> (zadano)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Pretraži povijest</translation>
 <translation id="4881695831933465202">Otvori</translation>
 <translation id="4882473678324857464">Fokusiraj oznake</translation>
+<translation id="4882831918239250449">Odredite na koji će se način vaša povijest pregledavanja upotrebljavati za prilagodbu Pretraživanja, oglasa i drugog</translation>
 <translation id="4883178195103750615">Izvoz oznaka u HTML datoteku ...</translation>
 <translation id="4883436287898674711">Sve web-lokacije <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Upravitelj zadataka</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">P&amp;onovo otvori zatvorenu karticu</translation>
 <translation id="52912272896845572">Datoteka osobnog ključa nije važeća.</translation>
 <translation id="529175790091471945">Formatiraj ovaj uređaj</translation>
+<translation id="5292195676005197571">Na većini ključeva jednostavno pritisnite tipku</translation>
 <translation id="5293170712604732402">Vraćanje postavki na njihove izvorne zadane vrijednosti</translation>
 <translation id="5298219193514155779">Temu je stvorio autor</translation>
 <translation id="5299109548848736476">Nemoj pratiti</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Za dodatnu sigurnost Smart Lock će tražiti da unesete zaporku nakon 20 sati.</translation>
 <translation id="5659593005791499971">E-pošta</translation>
 <translation id="5659833766619490117">Stranicu nije moguće prevesti</translation>
+<translation id="5660204307954428567">Upariti s uređajem <ph name="DEVICE_NAME" />?</translation>
 <translation id="5662477687021125631">Trajni</translation>
 <translation id="5667546120811588575">Postavljanje Google Playa...</translation>
 <translation id="5669267381087807207">Aktivacija</translation>
 <translation id="5669691691057771421">Unesite novi PIN</translation>
 <translation id="5671641761787789573">Slike su blokirane</translation>
+<translation id="5673076758299428095">Isključi Linux</translation>
 <translation id="5677503058916217575">Jezik stranice:</translation>
 <translation id="5677928146339483299">Blokirano</translation>
 <translation id="5678550637669481956">Odobren je pristup za čitanje jedinice <ph name="VOLUME_NAME" /> i zapisivanje na nju.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Zapisivanje slike OS-a Chrome</translation>
 <translation id="5921745308587794300">Zakretanje prozora</translation>
 <translation id="5924047253200400718">Potražite pomoć<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Snimite novu fotografiju ili odaberite postojeću fotografiju ili ikonu.
+    <ph name="LINE_BREAK" />
+    Ta će se slika prikazivati na zaslonu za prijavu i zaključanom zaslonu Chromebooka.</translation>
 <translation id="5925147183566400388">Pokazivač izjave o načinu dobivanja certifikata</translation>
 <translation id="592880897588170157">Preuzmite PDF datoteke umjesto da se automatski otvaraju u Chromeu</translation>
 <translation id="5931146425219109062">čitati i mijenjati vaše podatke na web-lokacijama koje posjećujete</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Provjerite mikrofon i glasnoću zvuka.</translation>
 <translation id="6080515710685820702">Upotrebljavate dijeljeno računalo? Preporučujemo vam da radite u anonimnom prozoru.</translation>
 <translation id="6080689532560039067">Provjerite vrijeme sustava</translation>
+<translation id="6082111513049964958">Zaporka za otključavanje</translation>
 <translation id="6082651258230788217">Prikaži na alatnoj traci</translation>
 <translation id="6086846494333236931">Instalirao vaš administrator</translation>
 <translation id="6087960857463881712">Oduševljeno lice</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">To ime ne može se upotrijebiti kao datoteka naziva mape</translation>
 <translation id="642469772702851743">Taj uređaj (serijski broj: <ph name="SERIAL_NUMBER" />) zaključao je vlasnik.</translation>
 <translation id="6426200009596957090">Otvori postavke ChromeVoxa</translation>
+<translation id="6427415464407526111">Odaberite svoj sigurnosni ključ</translation>
 <translation id="6429384232893414837">Pogreška pri ažuriranju</translation>
 <translation id="6430814529589430811">Base64-šifriran ASCII, jedan certifikat</translation>
 <translation id="6431217872648827691">Svi su podaci kriptirani vašom zaporkom za Google od
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Nije moguće učitati veliki PPD. Maksimalna veličina iznosi 250 KB.</translation>
 <translation id="7100897339030255923">Broj odabranih stavki: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Automatska su ažuriranja uključena</translation>
+<translation id="7102832101143475489">Zahtjev je istekao</translation>
 <translation id="7106346894903675391">Kupite još prostora za pohranu...</translation>
 <translation id="7108338896283013870">Sakrij preglednik</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> želi upotrijebiti vašu kameru</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Pozadinska stranica: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Otvori sve u &amp;novom prozoru}=1{Otvori u &amp;novom prozoru}one{Otvori sve (#) u &amp;novom prozoru}few{Otvori sve (#) u &amp;novom prozoru}other{Otvori sve (#) u &amp;novom prozoru}}</translation>
 <translation id="7434509671034404296">Razvojni programer</translation>
-<translation id="7436470008146509879">Postavite Linux na <ph name="DEVICE_TYPE" /> uređaju</translation>
 <translation id="7436921188514130341">O, ne! Došlo je do pogreške prilikom preimenovanja.</translation>
 <translation id="7441830548568730290">Ostali korisnici</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware spreman je za postavljanje.</translation>
@@ -4309,7 +4329,7 @@
 <translation id="7709152031285164251">Nije uspjelo – <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;Emitiraj...</translation>
 <translation id="7711920809702896782">Informacije o slici</translation>
-<translation id="7712836429117959503">Nepoznato proširenje s ID-om <ph name="EXTENSION_ID" /></translation>
+<translation id="7712836429117959503">Nepoznato proširenje s ID-jem <ph name="EXTENSION_ID" /></translation>
 <translation id="7714307061282548371">Dopušteni su kolačići s domene <ph name="DOMAIN" /></translation>
 <translation id="7714464543167945231">Certifikat</translation>
 <translation id="7716781361494605745">URL pravila tijela za izdavanje Netscape certifikata</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Onemogući titlove</translation>
 <translation id="7882358943899516840">Vrsta davatelja usluge</translation>
 <translation id="7885253890047913815">Nedavna odredišta</translation>
-<translation id="7886917304091689118">Pokrenuto u Chromeu</translation>
 <translation id="7887334752153342268">Udvostruči</translation>
 <translation id="7887864092952184874">Bluetooth miš uparen</translation>
 <translation id="7889565820482017512">Veličina prikaza</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Veličina</translation>
 <translation id="8030656706657716245">Dodajte pisač</translation>
 <translation id="8032244173881942855">Emitiranje kartice nije moguće.</translation>
+<translation id="8033958968890501070">Vrijeme je isteklo</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Otvori sve u &amp;anonimnom prozoru}=1{Otvori u &amp;anonimnom prozoru}one{Otvori sve (#) u &amp;anonimnom prozoru}few{Otvori sve (#) u &amp;anonimnom prozoru}other{Otvori sve (#) u &amp;anonimnom prozoru}}</translation>
 <translation id="8037117027592400564">čitati sve tekstove izgovorene sintetiziranim govorom</translation>
 <translation id="8037357227543935929">Pitaj (zadano)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">upravljati vašim preuzimanjima</translation>
 <translation id="81238879832906896">Žuti i bijeli cvijet</translation>
 <translation id="8124313775439841391">Upravljani ONC</translation>
-<translation id="8125562866093998907">Web-lokacija želi potvrditi vaš sigurnosni ključ radi dodatne sigurnosti za vaš račun.</translation>
 <translation id="813082847718468539">Prikaz informacija o web-mjestu</translation>
 <translation id="8131740175452115882">Potvrdi</translation>
 <translation id="8133676275609324831">&amp;Prikaži u mapi</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">stranica</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" može čitati i brisati slikovne, video i audiodatoteke na označenim lokacijama.</translation>
 <translation id="8181215761849004992">Pridruživanje domeni nije uspjelo. Na računu provjerite imate li dovoljno ovlasti za dodavanje uređaja.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+Mislim da ta web-lokacija ne bi trebala biti blokirana!</translation>
 <translation id="8184288427634747179">Prijeđi na <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Više informacija</translation>
 <translation id="8185331656081929126">Prikaži obavijesti kada se otkriju novi pisači na mreži</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">Priključak za otklanjanje pogrešaka lokalnog klijenta</translation>
 <translation id="843760761634048214">Spremanje kreditne kartice</translation>
 <translation id="8438328416656800239">Prijeđite na pametan preglednik</translation>
+<translation id="8438566539970814960">Poboljšajte pretraživanje i pregledavanje</translation>
 <translation id="8439506636278576865">Ponudi prevođenje stranica na tom jeziku</translation>
 <translation id="8446884382197647889">Saznajte više</translation>
 <translation id="8447409163267621480">Mora sadržavati Ctrl ili Alt</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Web-lokacija se ažurirala u pozadini.</translation>
 <translation id="8737685506611670901">otvoriti veze za protokol <ph name="PROTOCOL" /> umjesto <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Slika u slici</translation>
 <translation id="8743390665131937741">Razina zumiranja za cijeli zaslon:</translation>
 <translation id="8743864605301774756">Ažurirano prije 1 sat</translation>
 <translation id="874689135111202667">{0,plural, =1{Želite li prenijeti jednu datoteku na tu web-lokaciju?}one{Želite li prenijeti # datoteku na tu web-lokaciju?}few{Želite li prenijeti # datoteke na tu web-lokaciju?}other{Želite li prenijeti # datoteka na tu web-lokaciju?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – kartica se srušila</translation>
 <translation id="8983677657449185470">Pomozite poboljšati Sigurno pregledavanje</translation>
 <translation id="8984654317541110628">URL za dijeljenje datoteka</translation>
+<translation id="8984872292925913496">Pronađite šesteroznamenkasti PIN sa stražnje strane ključa</translation>
 <translation id="8986362086234534611">Zaboravi</translation>
 <translation id="8986494364107987395">Automatski šalji Googleu statistiku o upotrebi i izvješća o padu programa</translation>
 <translation id="8987927404178983737">Mjesec</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Ups! Tijekom autentifikacije došlo je do problema u mrežnoj komunikaciji. Provjerite svoju mrežnu vezu i pokušajte ponovo.</translation>
 <translation id="9161070040817969420">Podokviri za: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Slanje podataka o uređaju. Trenutačno uređaj automatski šalje dijagnostičke podatke te podatke o upotrebi uređaja i aplikacija Googleu. Tu je postavku nametnuo vlasnik. Ako ste uključili dodatnu Aktivnost na webu i u aplikacijama, ti će se podaci pohranjivati na vašem računu, pa možete upravljati njima na stranici Moja aktivnost. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Slika u slici</translation>
 <translation id="9169496697824289689">Prikaz tipkovnih prečaca</translation>
 <translation id="9169931577761441333">Dodajte <ph name="APP_NAME" /> na početni zaslon</translation>
 <translation id="9170397650136757332">Sada lagano pomaknite prst da biste snimili sve različite dijelove otiska prsta</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Nije aktivirano</translation>
 <translation id="957960681186851048">Ta je web-lokacija pokušala automatski preuzeti više datoteka</translation>
 <translation id="9580706199804957">Povezivanje s Googleovim uslugama nije uspjelo</translation>
-<translation id="958416628331784386">Ova kartica prikazuje videozapis u načinu slika u slici</translation>
 <translation id="960719561871045870">Kôd operatera</translation>
 <translation id="960987915827980018">Još otprilike 1 sat</translation>
 <translation id="962802172452141067">Stablo mape oznaka</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 6331f1a..d9b1f90 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Szünet</translation>
 <translation id="1181037720776840403">Eltávolítás</translation>
 <translation id="1183237619868651138">A(z) <ph name="EXTERNAL_CRX_FILE" /> nem telepíthető a helyi gyorsítótárban.</translation>
+<translation id="1183378459020939734">Készen áll a biztonsági hardverkulcs párosítására?</translation>
 <translation id="1185924365081634987">A hiba javításához kipróbálhatja a <ph name="GUEST_SIGNIN_LINK_START" />vendégként történő böngészést is<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Kártékony szoftver eltávolítása</translation>
 <translation id="1187722533808055681">Tétlen aktiválások</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Segítsen a <ph name="PRODUCT_NAME" /> fejlesztésében azáltal, hogy automatikusan elküldi a használati statisztikákat és hibajelentéseket a Google részére</translation>
 <translation id="1658424621194652532">Ez az oldal hozzáfér az Ön mikrofonjához.</translation>
 <translation id="1660204651932907780">A webhelyek lejátszhatnak hangokat (ajánlott)</translation>
-<translation id="1660938185063657230">Igazolja Biztonsági hardverkulcsát</translation>
 <translation id="1661156625580498328">AES titkosítás kényszerítése (ajánlott).</translation>
 <translation id="1661245713600520330">Ez az oldal az összes, a fő folyamatba betöltött és a későbbi betöltésre előjegyzett modult felsorolja.</translation>
 <translation id="166179487779922818">A jelszó túl rövid.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Érintő HUD mód váltása</translation>
 <translation id="1784849162047402014">Az eszközön kevés a lemezterület</translation>
 <translation id="1786636458339910689">Csapatmeghajtók</translation>
+<translation id="1792161662640298233">Biztonsági hardverkulcs ellenőrzése</translation>
 <translation id="1792619191750875668">Kiterjesztett kijelző</translation>
 <translation id="1794791083288629568">Küldjön visszajelzést, hogy segítsen a probléma megoldásában.</translation>
 <translation id="1795214765651529549">Klasszikus téma használata</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> jelszavának törlése</translation>
 <translation id="1819721979226826163">Koppintson az Alkalmazásértesítések &gt; Google Play-szolgáltatások menüpontra.</translation>
 <translation id="1826516787628120939">Ellenőrzés</translation>
-<translation id="1827750274519118478">Befejeződik a videó lejátszása kép a képben módban.</translation>
 <translation id="1828378091493947763">Ez a beépülő modul nem támogatott ezen az eszközön</translation>
 <translation id="1828901632669367785">Nyomtatás a rendszer párbeszédpanelének segítségével...</translation>
 <translation id="1829192082282182671">Kics&amp;inyítés</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">A(z) „<ph name="EXTENSION" />” olvashat és írhat képeket, videókat és hangfájlokat a megjelölt helyeken.</translation>
 <translation id="1867780286110144690">A <ph name="PRODUCT_NAME" /> készen áll a telepítés befejezésére</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" />-eszköze naprakész</translation>
+<translation id="1875312262568496299">Indítás</translation>
 <translation id="1875387611427697908">Ez csak a következő helyről adható hozzá: <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Nem sikerült lekérni a hitelesítési tokent. Jelentkezzen ki, majd jelentkezzen be újra.</translation>
 <translation id="1878302395768190018">Ezt bármikor személyre szabhatja a Chrome beállításaiban</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">A fotót készítette: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Küldés telefonra</translation>
 <translation id="2119349053129246860">Megnyitás a következőben: <ph name="APP" /></translation>
+<translation id="2120297377148151361">Tevékenység és interakciók</translation>
 <translation id="2121825465123208577">Átméretezés</translation>
 <translation id="2124930039827422115">{1,plural, =1{Egy felhasználó által értékelve; az átlagos értékelés: <ph name="AVERAGE_RATING" />.}other{# felhasználó által értékelve; az átlagos értékelés: <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">A szinkronizálást letiltotta a rendszergazda.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Papírméret</translation>
 <translation id="2318817390901984578">Android-alkalmazások használatához előbb töltse fel és frissítse a(z) <ph name="DEVICE_TYPE" /> eszközt.</translation>
 <translation id="2318923050469484167">Jelenlegi inkognitó munkamenet (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Biztonsági hardverkulcs használata a következő alkalmazással: <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Fejlécek és láblécek</translation>
 <translation id="2325650632570794183">Ez a fájltípus nem támogatott. Kérjük, látogasson el a Chrome Internetes áruházba olyan alkalmazás kereséséhez, amely meg tudja nyitni ezt a fájltípust.</translation>
 <translation id="2326931316514688470">Alkalmazás új&amp;ratöltése</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Fájlmegosztás hozzáadása</translation>
 <translation id="2367972762794486313">Alkalmazások megjelenítése</translation>
 <translation id="2369536625682139252">A cookie-kat kivéve a(z) <ph name="SITE" /> által tárolt minden adat törlődik.</translation>
+<translation id="237058345584060620">Párosítsa a hardverkulcsot az eszközhöz, így bejelentkezhet fiókjába</translation>
 <translation id="2371076942591664043">Megnyitás, amikor &amp;kész</translation>
 <translation id="2376559921867170420">Miután beállította a Chromebookot, a Segéd-gomb megnyomásával, illetve az „Ok Google” kimondásával bármikor segítséget kérhet Segédjétől.</translation>
 <translation id="2377319039870049694">Váltás listanézetre</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">A telefon nem található. Győződjön meg arról, hogy a <ph name="DEVICE_TYPE" /> eszközön a Bluetooth be van kapcsolva. &lt;a&gt;További információ&lt;/a&gt;.</translation>
 <translation id="2489918096470125693">Mappa &amp;hozzáadása...</translation>
 <translation id="249113932447298600">Elnézést kérünk, de a(z) <ph name="DEVICE_LABEL" /> eszköz jelenleg nem támogatott.</translation>
+<translation id="2492040222276243256">Tartsa nyomva a biztonsági hardverkulcson található gombot legalább 5 másodpercig</translation>
 <translation id="2493021387995458222">„Egyszerre egy szó” kiválasztása</translation>
 <translation id="249303669840926644">Nem sikerült befejezni a regisztrációt</translation>
 <translation id="2495777824269688114">További funkciókat fedezhet fel, illetve válaszokat kaphat. Ha segítségre van szüksége, válassza a „?” gombot.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Várakozás elérhető socketre...</translation>
 <translation id="252219247728877310">Az összetevőt nem frissítette a rendszer</translation>
 <translation id="2522791476825452208">Nagyon közel</translation>
+<translation id="2523184218357549926">A felkeresett oldalak URL-címének elküldése a Google-nak</translation>
 <translation id="2525250408503682495">Kryptonit! A kiosk-alkalmazáshoz való cryptohome-ot nem lehetett csatlakoztatni.</translation>
 <translation id="2526277209479171883">Telepítés és folytatás</translation>
 <translation id="2526590354069164005">Asztal</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Nem jelentkezett be ide: <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Gratulálunk! „<ph name="NAME" />” adatszolgáltatása aktív, és készen áll a használatra.</translation>
 <translation id="2564520396658920462">A JavaScript AppleScripten keresztüli futtatásának lehetősége ki van kapcsolva. A bekapcsolásához kattintson a menüsávon lévő Nézet &gt; Fejlesztő &gt; A JavaScript engedélyezése Apple-eseményekből lehetőségre. További információ: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Továbbfejlesztett helyesírás-ellenőrzés</translation>
 <translation id="2566124945717127842">Végezze el a powerwash műveletet a(z) <ph name="IDS_SHORT_PRODUCT_NAME" /> eszköz visszaállításához, hogy az olyan legyen, mint új korában.</translation>
 <translation id="2567257616420533738">Sikerült a jelszó mentése. A mentett jelszavakat megtekintheti és kezelheti a következő címen: <ph name="SAVED_PASSWORDS_LINK" />.</translation>
 <translation id="2568774940984945469">Infósáv tárolója</translation>
@@ -1082,6 +1089,7 @@
 <translation id="2633199387167390344">A(z) <ph name="NAME" /> <ph name="USAGE" /> MB lemezterületet használ.</translation>
 <translation id="2633212996805280240">Eltávolítja a következőt: "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101">A(z) <ph name="PRODUCT_NAME" /> nem tudta befejezni a telepítést, de tovább fut a lemezképéről.</translation>
+<translation id="2633326789677284179">Keresse meg a hardverkulcs hátuljára nyomtatott nevet</translation>
 <translation id="2635276683026132559">Aláírás</translation>
 <translation id="2636625531157955190">A Chrome nem tudja elérni a képet.</translation>
 <translation id="2638087589890736295">A szinkronizálás megkezdéséhez összetett jelszó megadása szükséges</translation>
@@ -1395,6 +1403,7 @@
 <translation id="3090819949319990166">A külső crx-fájl nem másolható a következő helyre: <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">„<ph name="DEVICE_NAME" />” párosítva</translation>
 <translation id="3101709781009526431">Dátum és idő</translation>
+<translation id="3104900172193317662">A biztonsági hardverkulcs használatának engedélyezése</translation>
 <translation id="310671807099593501">A webhely Bluetooth-t használ</translation>
 <translation id="3115128645424181617">A telefon nem található. Győződjön meg arról, hogy kéznél van, és hogy a Bluetooth be van kapcsolva.</translation>
 <translation id="3115147772012638511">Betöltés a gyorsítótárból folyamatban...</translation>
@@ -1878,6 +1887,7 @@
 <translation id="3839516600093027468">A vágólap megtekintésének állandó tiltása a(z) <ph name="HOST" /> számára</translation>
 <translation id="3840053866656739575">Elveszett a kapcsolat Chromebox eszközével. Menjen hozzá közelebb, vagy ellenőrizze az eszközt, miközben megpróbálunk újracsatlakozni.</translation>
 <translation id="3842552989725514455">Talpas betűtípus</translation>
+<translation id="3846116211488856547">Eszközök webhelyek és Android-alkalmazások fejlesztéséhez és egyebekhez. A Linux telepítése <ph name="DOWNLOAD_SIZE" /> adat letöltésével jár.</translation>
 <translation id="385051799172605136">Vissza</translation>
 <translation id="3851428669031642514">Nem biztonságos szkriptek betöltése</translation>
 <translation id="3855441664322950881">Bővítmény becsomagolása</translation>
@@ -1901,6 +1911,7 @@
 <translation id="3872991219937722530">Szabadítson fel tárhelyet, máskülönben eszköze lefagy.</translation>
 <translation id="3878840326289104869">Felügyelt felhasználó létrehozása</translation>
 <translation id="3879748587602334249">Letöltéskezelő</translation>
+<translation id="3880709822663530586">A Biztonsági hardverkulcs csak akkor működik, ha a Bluetooth be van kapcsolva az eszközön</translation>
 <translation id="3888550877729210209">Jegyzetek készítése a(z) <ph name="LOCK_SCREEN_APP_NAME" /> alkalmazással</translation>
 <translation id="3892414795099177503">OpenVPN/L2TP hozzáadása…</translation>
 <translation id="3893536212201235195">Hozzáférhetőségi beállításainak olvasása és módosítása</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Az eredeti &amp;kép megnyitása új lapon</translation>
 <translation id="4682551433947286597">A háttérképek a bejelentkezési képernyőn jelennek meg.</translation>
 <translation id="4684427112815847243">Minden szinkronizálása</translation>
+<translation id="4689235506267737042">A demóbeállítások kiválasztása</translation>
 <translation id="4689421377817139245">Szinkronizálja ezt a könyvjelzőt iPhone eszközével</translation>
 <translation id="4690091457710545971">&lt;Négy, az Intel Wi-Fi firmware által generált fájl: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Az első három bináris fájl, melyek regisztertartalmakat tárolnak. Az Intel biztosítja, hogy nincs bennük eszköz- és személyazonosításra alkalmas adat. Az utolsó fájl végrehajtási lánc az Intel firmware-ből; mentes az eszköz- és személyazonosításra alkalmas adatoktól, de túl nagy ahhoz, hogy itt szerepeljen. Ezek a fájlok azért jöttek létre, mert eszközén az elmúlt időszakban Wi-Fi-vel kapcsolatos problémák adódtak. A probléma megoldása érdekében a rendszer megosztja a fájlokat az Intellel.&gt;</translation>
 <translation id="4692302215262324251"><ph name="DEVICE_TYPE" /> vállalati kezelés céljából történő rögzítése a(z) <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> által sikeres volt.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Adatszolgáltatását aktiválta, és az használatra kész</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Összes megnyitása &amp;inkognitóablakban}=1{Megnyitás &amp;inkognitóablakban}other{Összes (#) megnyitása &amp;inkognitóablakban}}</translation>
 <translation id="4858913220355269194">Foci</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – A videó lejátszása kép a képben módban történik</translation>
 <translation id="4862050643946421924">Eszköz hozzáadása…</translation>
 <translation id="4862642413395066333">OCSP (valós idejű tanúsítványlekérdezés) válaszok aláírása</translation>
 <translation id="4863769717153320198">Megjelenés: <ph name="WIDTH" /> × <ph name="HEIGHT" /> (alapértelmezett)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Keresés az előzmények között</translation>
 <translation id="4881695831933465202">Megnyitás</translation>
 <translation id="4882473678324857464">Váltás a könyvjelzőkre</translation>
+<translation id="4882831918239250449">Beállíthatja, hogy a rendszer hogyan szabja személyre a Keresést, a hirdetéseket és egyebeket a böngészési előzmények alapján</translation>
 <translation id="4883178195103750615">Könyvjelzők exportálása HTML-fájlba...</translation>
 <translation id="4883436287898674711">Minden <ph name="WEBSITE_1" /> webhelyen</translation>
 <translation id="48838266408104654">&amp;Feladatkezelő</translation>
@@ -2766,6 +2778,7 @@
 <translation id="5288678174502918605">Bezárt lap m&amp;egnyitása</translation>
 <translation id="52912272896845572">A privátkulcs-fájl érvénytelen.</translation>
 <translation id="529175790091471945">Az eszköz formázása</translation>
+<translation id="5292195676005197571">A legtöbb kulcs használatához elég megnyomnia a gombot</translation>
 <translation id="5293170712604732402">Beállítások visszaállítása alapértelmezettre</translation>
 <translation id="5298219193514155779">Téma készítője:</translation>
 <translation id="5299109548848736476">Nincs nyomon követés</translation>
@@ -3027,11 +3040,13 @@
 <translation id="5658415415603568799">A nagyobb biztonság érdekében a Smart Lock 20 óra elteltével megkéri, hogy adja meg jelszavát.</translation>
 <translation id="5659593005791499971">E-mail</translation>
 <translation id="5659833766619490117">Nem sikerült lefordítani az oldalt</translation>
+<translation id="5660204307954428567">Párosítás a következővel: <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Örökös</translation>
 <translation id="5667546120811588575">A Google Play beállítása…</translation>
 <translation id="5669267381087807207">Aktiválás</translation>
 <translation id="5669691691057771421">Új PIN-kód megadása</translation>
 <translation id="5671641761787789573">Képek letiltva</translation>
+<translation id="5673076758299428095">Linux leállítása</translation>
 <translation id="5677503058916217575">Az oldal nyelve:</translation>
 <translation id="5677928146339483299">Letiltva</translation>
 <translation id="5678550637669481956">Megkapta az írási és olvasási hozzáférést a következőhöz: <ph name="VOLUME_NAME" /></translation>
@@ -3196,6 +3211,9 @@
 <translation id="5920835625712313205">Chrome OS rendszerképíró</translation>
 <translation id="5921745308587794300">Ablak elforgatása</translation>
 <translation id="5924047253200400718">Kérjen segítséget <ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Készítsen új fotót, vagy válasszon ki egy meglévő fotót vagy ikont.
+    <ph name="LINE_BREAK" />
+    Ez a kép lesz látható a Chromebook bejelentkezési és lezárási képernyőjén.</translation>
 <translation id="5925147183566400388">Tanúsítványgyakorlati szabály mutatója</translation>
 <translation id="592880897588170157">PDF-fájlok letöltése ahelyett, hogy automatikusan megnyitná őket a Chrome</translation>
 <translation id="5931146425219109062">Az Ön által felkeresett webhelyeken lévő valamennyi adatának olvasása és módosítása</translation>
@@ -3292,6 +3310,7 @@
 <translation id="6078752646384677957">Ellenőrizze a mikrofont és a hangerőt.</translation>
 <translation id="6080515710685820702">Közös használatú számítógépet használ? Nyisson inkognitóablakot.</translation>
 <translation id="6080689532560039067">Ellenőrizze a rendszeridőt</translation>
+<translation id="6082111513049964958">Feloldási jelszó</translation>
 <translation id="6082651258230788217">Megjelenítés az eszköztáron</translation>
 <translation id="6086846494333236931">A rendszergazda telepítette</translation>
 <translation id="6087960857463881712">Menő arc</translation>
@@ -3515,6 +3534,7 @@
 <translation id="642282551015776456">Ezt a nevet nem lehet mappa fájlneveként használni</translation>
 <translation id="642469772702851743">Az eszközt (sorozatszám: <ph name="SERIAL_NUMBER" />) zárolta a tulajdonos.</translation>
 <translation id="6426200009596957090">ChromeVox-beállítások megnyitása</translation>
+<translation id="6427415464407526111">Válassza ki biztonsági hardverkulcsot</translation>
 <translation id="6429384232893414837">Frissítési hiba</translation>
 <translation id="6430814529589430811">Base64 kódolású ASCII, egyedüli tanúsítvány</translation>
 <translation id="6431217872648827691">A rendszer titkosította az összes adatot az Ön Google-jelszavával ekkortól kezdve:
@@ -3941,6 +3961,7 @@
 <translation id="7099337801055912064">Nem használható túl nagy PPD. A maximális méret 250 kB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> elem kiválasztva</translation>
 <translation id="7102687220333134671">Az automatikus frissítések be vannak kapcsolva</translation>
+<translation id="7102832101143475489">A kérelem lejárt</translation>
 <translation id="7106346894903675391">További tárhely vásárlása...</translation>
 <translation id="7108338896283013870">Elrejtés</translation>
 <translation id="7108634116785509031">A(z) <ph name="HOST" /> webhely használni szeretné a kamerát</translation>
@@ -4149,7 +4170,6 @@
 <translation id="7427348830195639090">Háttéroldal: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Összes meg&amp;nyitása új ablakban}=1{Meg&amp;nyitás új ablakban}other{Összes (#) meg&amp;nyitása új ablakban}}</translation>
 <translation id="7434509671034404296">Fejlesztőknek</translation>
-<translation id="7436470008146509879">A Linux beállítása a következőn: <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ajjaj! Hiba történt az átnevezés közben.</translation>
 <translation id="7441830548568730290">Más felhasználók</translation>
 <translation id="7442465037756169001">A Hangouts Meet-hardver készen áll a beállításra.</translation>
@@ -4448,7 +4468,6 @@
 <translation id="7881969471599061635">Feliratok letiltása</translation>
 <translation id="7882358943899516840">Szolgáltató típusa</translation>
 <translation id="7885253890047913815">Legutóbbi célhelyek</translation>
-<translation id="7886917304091689118">Fut a Chrome-ban</translation>
 <translation id="7887334752153342268">Másodpéldány</translation>
 <translation id="7887864092952184874">Bluetooth-egér párosítva</translation>
 <translation id="7889565820482017512">Megjelenített méret</translation>
@@ -4561,6 +4580,7 @@
 <translation id="8028993641010258682">Méret</translation>
 <translation id="8030656706657716245">Nyomtató hozzáadása</translation>
 <translation id="8032244173881942855">Nem lehet átküldeni a lapot.</translation>
+<translation id="8033958968890501070">Időtúllépés</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Összes megnyitása &amp;inkognitóablakban}=1{Megnyitás &amp;inkognitóablakban}other{Összes (#) megnyitása &amp;inkognitóablakban}}</translation>
 <translation id="8037117027592400564">Az összes szöveg felolvasása szintetizált beszéddel kimondva</translation>
 <translation id="8037357227543935929">Kérdezzen rá (alapértelmezés szerint)</translation>
@@ -4619,7 +4639,6 @@
 <translation id="8118860139461251237">A letöltések kezelése</translation>
 <translation id="81238879832906896">Sárga és fehér virág</translation>
 <translation id="8124313775439841391">Felügyelt ONC</translation>
-<translation id="8125562866093998907">A webhely ellenőrizni szeretné az Ön Biztonsági hardverkulcsát, hogy nagyobb védelmet nyújthasson fiókjának.</translation>
 <translation id="813082847718468539">Az oldalinformációk megtekintése</translation>
 <translation id="8131740175452115882">Megerősítés</translation>
 <translation id="8133676275609324831">&amp;Megjelenítés mappában</translation>
@@ -4651,6 +4670,8 @@
 <translation id="8180239481735238521">oldal</translation>
 <translation id="8180786512391440389">A(z) „<ph name="EXTENSION" />” olvashat és törölhet képeket, videókat és hangfájlokat a megjelölt helyeken.</translation>
 <translation id="8181215761849004992">Nem sikerült a csatlakozás a domainhez. Ellenőrizze fiókját, hogy meggyőződhessen, elegendő jogosultsággal rendelkezik az eszközök hozzáadásához.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Úgy gondolom, hogy ezt a webhelyet nem kellene letiltani!</translation>
 <translation id="8184288427634747179">Váltás a következő profilra: <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">További információ</translation>
 <translation id="8185331656081929126">Értesítést kérek, ha a rendszer új nyomtatót észlel a hálózaton</translation>
@@ -4794,6 +4815,7 @@
 <translation id="8434480141477525001">NaCl hibakeresési port</translation>
 <translation id="843760761634048214">Hitelkártya mentése</translation>
 <translation id="8438328416656800239">Váltás intelligens böngészőre</translation>
+<translation id="8438566539970814960">Keresések és böngészés javítása</translation>
 <translation id="8439506636278576865">Kínálja fel az ezen a nyelven írt oldalak fordítását</translation>
 <translation id="8446884382197647889">További információ</translation>
 <translation id="8447409163267621480">Használja a Ctrl vagy az Alt gombot</translation>
@@ -4998,7 +5020,6 @@
 <translation id="8736288397686080465">Ez a webhely frissült a háttérben.</translation>
 <translation id="8737685506611670901"><ph name="PROTOCOL" /> linkek megnyitása a(z) <ph name="REPLACED_HANDLER_TITLE" /> helyett</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Kép a képben</translation>
 <translation id="8743390665131937741">Teljes képernyős nagyítás szintje:</translation>
 <translation id="8743864605301774756">Frissítve: 1 órával ezelőtt</translation>
 <translation id="874689135111202667">{0,plural, =1{Feltölt 1 fájlt erre a webhelyre?}other{Feltölt # fájlt erre a webhelyre?}}</translation>
@@ -5150,6 +5171,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Összeomlott</translation>
 <translation id="8983677657449185470">Segítség a Biztonságos Böngészés továbbfejlesztésében</translation>
 <translation id="8984654317541110628">Fájlmegosztás URL-címe</translation>
+<translation id="8984872292925913496">A kulcs hátulján található a 6 jegyű PIN-kód</translation>
 <translation id="8986362086234534611">Elfelejt</translation>
 <translation id="8986494364107987395">Használati statisztikák és hibajelentések automatikus küldése a Google-nak</translation>
 <translation id="8987927404178983737">hónap</translation>
@@ -5272,6 +5294,7 @@
 <translation id="9158715103698450907">Hoppá! Hálózati kommunikációs probléma merült fel a hitelesítés során. Kérjük, ellenőrizze hálózati kapcsolatát, és próbálkozzon újra.</translation>
 <translation id="9161070040817969420">Subframe-ek a következőhöz: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Rendszeradatok küldése. Ez az eszköz jelenleg diagnosztikai, továbbá eszköz- és használati adatokat küld automatikusan a Google-nak. Ezt a beállítást kötelezővé tette a tulajdonos. Ha bekapcsolta a további Internetes és alkalmazástevékenységeket, akkor a rendszer tárolja ezeket az információkat a fiókjában, Ön pedig kezelheti őket a Saját tevékenységek között. <ph name="BEGIN_LINK1" />További információ<ph name="END_LINK1" />.</translation>
+<translation id="916607977885256133">Kép a képben</translation>
 <translation id="9169496697824289689">Billentyűparancsok megtekintése</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> hozzáadása a kezdőképernyőhöz</translation>
 <translation id="9170397650136757332">Óvatosan mozgassa ujját a teljes ujjlenyomat rögzítéséhez</translation>
@@ -5322,7 +5345,6 @@
 <translation id="952992212772159698">Nincs aktiválva</translation>
 <translation id="957960681186851048">Ez a webhely megpróbált automatikusan letölteni több fájlt</translation>
 <translation id="9580706199804957">Nem sikerült csatlakozni a Google-szolgáltatásokhoz</translation>
-<translation id="958416628331784386">A videó lejátszása a lapon kép a képben módban történik</translation>
 <translation id="960719561871045870">Operátorkód</translation>
 <translation id="960987915827980018">Körülbelül 1 óra van hátra</translation>
 <translation id="962802172452141067">Könyvjelzők mapparendszere</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index f9e6b92..4eca3d1 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Jeda</translation>
 <translation id="1181037720776840403">Hapus</translation>
 <translation id="1183237619868651138">Tidak dapat memasang <ph name="EXTERNAL_CRX_FILE" /> di cache lokal.</translation>
+<translation id="1183378459020939734">Siap untuk menyambungkan Kunci Keamanan?</translation>
 <translation id="1185924365081634987">Anda juga dapat mencoba untuk <ph name="GUEST_SIGNIN_LINK_START" />menjelajahi sebagai tamu<ph name="GUEST_SIGNIN_LINK_END" /> untuk memperbaiki kesalahan jaringan ini.</translation>
 <translation id="1186771945450942097">Hapus software berbahaya</translation>
 <translation id="1187722533808055681">Bangun saat nganggur</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Bantu menjadikan <ph name="PRODUCT_NAME" /> lebih baik dengan mengirim statistik penggunaan dan laporan kerusakan secara otomatis ke Google</translation>
 <translation id="1658424621194652532">Halaman ini mengakses mikrofon anda.</translation>
 <translation id="1660204651932907780">Mengizinkan situs memutar suara (direkomendasikan)</translation>
-<translation id="1660938185063657230">Verifikasi Kunci Keamanan Anda</translation>
 <translation id="1661156625580498328">Terapkan enkripsi AES (direkomendasikan).</translation>
 <translation id="1661245713600520330">Halaman ini mencantumkan semua modul yang dimuat ke dalam proses utama dan modul yang terdaftar untuk dimuat nanti.</translation>
 <translation id="166179487779922818">Sandi terlalu pendek.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Ubah mode HUD sentuhan</translation>
 <translation id="1784849162047402014">Perangkat hampir kehabisan ruang disk</translation>
 <translation id="1786636458339910689">Drive Tim</translation>
+<translation id="1792161662640298233">Memverifikasi Kunci Keamanan</translation>
 <translation id="1792619191750875668">Tampilan yang diperluas</translation>
 <translation id="1794791083288629568">Kirim masukan untuk membantu kami menyelesaikan masalah ini.</translation>
 <translation id="1795214765651529549">Gunakan Klasik</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Hapus sandi untuk <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Tap Notifikasi aplikasi &gt; Layanan Google Play.</translation>
 <translation id="1826516787628120939">Memeriksa</translation>
-<translation id="1827750274519118478">Video dalam mode Picture-in-Picture akan berhenti diputar.</translation>
 <translation id="1828378091493947763">Plugin tidak didukung di perangkat ini</translation>
 <translation id="1828901632669367785">Cetak Menggunakan Dialog Sistem...</translation>
 <translation id="1829192082282182671">Per&amp;kecil</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" dapat membaca dan menulis file gambar, video, dan suara di lokasi yang dicentang.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> siap menyelesaikan penginstalan</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> Anda adalah versi terbaru</translation>
+<translation id="1875312262568496299">Mulai</translation>
 <translation id="1875387611427697908">Ini hanya dapat ditambahkan dari <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Gagal mendapatkan token autentikasi. Harap logout, lalu login kembali untuk mencoba lagi.</translation>
 <translation id="1878302395768190018">Anda dapat menyesuaikan ini kapan saja di Setelan Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto oleh <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Kirim ke ponsel</translation>
 <translation id="2119349053129246860">Buka di <ph name="APP" /></translation>
+<translation id="2120297377148151361">Aktivitas dan interaksi</translation>
 <translation id="2121825465123208577">Ubah ukuran</translation>
 <translation id="2124930039827422115">{1,plural, =1{Diberi nilai <ph name="AVERAGE_RATING" /> oleh satu pengguna.}other{Diberi nilai <ph name="AVERAGE_RATING" /> oleh # pengguna.}}</translation>
 <translation id="2126167708562367080">Sinkronisasi dinonaktifkan oleh administrator Anda.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Ukuran kertas</translation>
 <translation id="2318817390901984578">Untuk menggunakan aplikasi Android, isi daya baterai &amp; update <ph name="DEVICE_TYPE" /> Anda.</translation>
 <translation id="2318923050469484167">(<ph name="EMBEDDING" />) sesi penyamaran saat ini</translation>
+<translation id="2321482478556590128">Gunakan Kunci Keamanan dengan <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Header dan footer</translation>
 <translation id="2325650632570794183">Jenis file ini tidak didukung. Kunjungi Chrome Webstore untuk menemukan aplikasi yang dapat membuka jenis file ini.</translation>
 <translation id="2326931316514688470">&amp;Muat ulang aplikasi</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Tambahkan Berbagi File</translation>
 <translation id="2367972762794486313">Tampilkan aplikasi</translation>
 <translation id="2369536625682139252">Semua data yang disimpan oleh <ph name="SITE" /> akan dihapus, kecuali cookie.</translation>
+<translation id="237058345584060620">Sambungkan kunci ke perangkat ini agar dapat digunakan untuk login ke akun</translation>
 <translation id="2371076942591664043">Buka setelah &amp;selesai</translation>
 <translation id="2376559921867170420">Jika Chromebook sudah disiapkan, tekan tombol Asisten dan ucapkan "OK Google" untuk mendapatkan bantuan dari Asisten kapan saja.</translation>
 <translation id="2377319039870049694">Beralih ke tampilan daftar</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Ponsel tidak dapat ditemukan. Pastikan Bluetooth <ph name="DEVICE_TYPE" /> Anda aktif. &lt;a&gt;Pelajari lebih lanjut&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Tambahkan &amp;Map...</translation>
 <translation id="249113932447298600">Maaf, saat ini perangkat <ph name="DEVICE_LABEL" /> tidak didukung.</translation>
+<translation id="2492040222276243256">Tekan dan tahan tombol di Kunci Keamanan minimal selama 5 detik</translation>
 <translation id="2493021387995458222">Pilih "kata saat itu"</translation>
 <translation id="249303669840926644">Tidak dapat menyelesaikan pendaftaran</translation>
 <translation id="2495777824269688114">Temukan lebih banyak fitur atau dapatkan jawaban. Pilih "?" untuk mendapatkan bantuan.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Menunggu soket tersedia...</translation>
 <translation id="252219247728877310">Komponen tidak diperbarui</translation>
 <translation id="2522791476825452208">Sangat dekat</translation>
+<translation id="2523184218357549926">Mengirimkan URL halaman yang Anda buka ke Google</translation>
 <translation id="2525250408503682495">Demi batu kripton! Cryptohome untuk aplikasi kios tidak dapat terpasang.</translation>
 <translation id="2526277209479171883">Instal &amp; lanjutkan</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Tidak masuk ke <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Selamat! Layanan data '<ph name="NAME" />' Anda telah diaktifkan dan siap digunakan.</translation>
 <translation id="2564520396658920462">Eksekusi JavaScript melalui AppleScript dinonaktifkan. Untuk mengaktifkannya, buka panel menu lalu pilih View &gt; Developer &gt; Allow JavaScript from Apple Events. Untuk informasi selengkapnya: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Pemeriksaan ejaan yang disempurnakan</translation>
 <translation id="2566124945717127842">Powerwash untuk mengatur ulang perangkat <ph name="IDS_SHORT_PRODUCT_NAME" /> agar jadi seperti baru.</translation>
 <translation id="2567257616420533738">Sandi disimpan. Lihat dan kelola sandi tersimpan di <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Infobar Container</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> menggunakan <ph name="USAGE" /> MB ruang disk.</translation>
 <translation id="2633212996805280240">Hapus "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> tidak dapat menyelesaikan pemasangan, tetapi akan terus dijalankan dari citra diskanya.</translation>
+<translation id="2633326789677284179">Cari nama yang tercetak di bagian belakang kunci</translation>
 <translation id="2635276683026132559">Penandatanganan</translation>
 <translation id="2636625531157955190">Chrome tidak dapat mengakses gambar.</translation>
 <translation id="2638087589890736295">Perlu frasa sandi untuk memulai sinkronisasi</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Tidak dapat menyalin file crx eksternal ke <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" disandingkan</translation>
 <translation id="3101709781009526431">Tanggal dan waktu</translation>
+<translation id="3104900172193317662">Izinkan penggunaan Kunci Keamanan</translation>
 <translation id="310671807099593501">Situs sedang menggunakan bluetooth</translation>
 <translation id="3115128645424181617">Ponsel tidak dapat ditemukan. Pastikan ponsel ada dalam jangkauan dan Bluetooth diaktifkan.</translation>
 <translation id="3115147772012638511">Menunggu cache...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Selalu blokir <ph name="HOST" /> dari melihat papan klip</translation>
 <translation id="3840053866656739575">Sambungan ke Chromebox terputus. Mendekatlah, atau periksa perangkat sementara kami mencoba untuk menyambung kembali.</translation>
 <translation id="3842552989725514455">Font Serif</translation>
+<translation id="3846116211488856547">Dapatkan fitur untuk mengembangkan situs, aplikasi Android, dan lainnya. Menginstal Linux akan mendownload <ph name="DOWNLOAD_SIZE" /> data.</translation>
 <translation id="385051799172605136">Mundur</translation>
 <translation id="3851428669031642514">Muat skrip yang tidak aman</translation>
 <translation id="3855441664322950881">Kemas ekstensi</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Kosongkan ruang disk atau perangkat akan lambat merespons.</translation>
 <translation id="3878840326289104869">Membuat pengguna yang dilindungi</translation>
 <translation id="3879748587602334249">Pengelola download</translation>
+<translation id="3880709822663530586">Kunci Keamanan hanya berfungsi jika Bluetooth di perangkat aktif</translation>
 <translation id="3888550877729210209">Mencatat dengan <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Tambahkan OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">Baca dan ubah setelan aksesibilitas Anda</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Buka &amp;gambar asli di tab baru</translation>
 <translation id="4682551433947286597">Wallpaper muncul di Layar Masuk.</translation>
 <translation id="4684427112815847243">Sinkronkan semua</translation>
+<translation id="4689235506267737042">Pilih preferensi demo</translation>
 <translation id="4689421377817139245">Sinkronisasikan bookmark ini ke iPhone Anda</translation>
 <translation id="4690091457710545971">&lt;Empat file dibuat oleh firmware Wi-Fi Intel: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Ketiga file pertama adalah file biner yang berisi dump pendaftaran, dan dinyatakan oleh Intel tidak berisi informasi pribadi atau yang mengidentifikasi perangkat.  File terakhir adalah pelacakan eksekusi dari firmware Intel; file tersebut telah dibersihkan dari informasi pribadi atau yang mengidentifikasi perangkat, namun terlalu besar untuk ditampilkan di sini.  Semua file tersebut dibuat untuk merespons masalah Wi-Fi baru-baru ini di perangkat Anda, dan akan dibagikan kepada Intel untuk membantu memecahkan masalah tersebut.&gt;</translation>
 <translation id="4692302215262324251"><ph name="DEVICE_TYPE" /> berhasil didaftarkan untuk pengelolaan perusahaan oleh <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Layangan data seluler Anda diaktifkan dan siap untuk digunakan</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Buka Semua di &amp;Jendela Samaran}=1{Buka di &amp;Jendela Samaran}other{Buka Semua (#) di &amp;Jendela Samaran}}</translation>
 <translation id="4858913220355269194">Ronaldo</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Video diputar dalam mode Picture-in-Picture</translation>
 <translation id="4862050643946421924">Menambahkan perangkat...</translation>
 <translation id="4862642413395066333">Tanggapan OCSP Penandatanganan</translation>
 <translation id="4863769717153320198">Sepertinya <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Default)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Telusuri histori</translation>
 <translation id="4881695831933465202">Buka</translation>
 <translation id="4882473678324857464">Memfokuskan pada bookmark</translation>
+<translation id="4882831918239250449">Kontrol cara histori browsing digunakan untuk mempersonalisasi Penelusuran, iklan, dan lainnya</translation>
 <translation id="4883178195103750615">Ekspor bookmark ke file HTML...</translation>
 <translation id="4883436287898674711">Semua situs <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">Pengelola &amp;Tugas</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">Buka K&amp;embali Tab yang Tertutup</translation>
 <translation id="52912272896845572">File kunci pribadi tidak valid.</translation>
 <translation id="529175790091471945">Format perangkat ini</translation>
+<translation id="5292195676005197571">Untuk menggunakan sebagian besar kunci, cukup tekan tombol</translation>
 <translation id="5293170712604732402">Memulihkan setelan ke default aslinya</translation>
 <translation id="5298219193514155779">Tema dibuat oleh</translation>
 <translation id="5299109548848736476">Jangan Lacak</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Untuk tambahan keamanan, Smart Lock akan meminta Anda memasukkan sandi setelah 20 jam.</translation>
 <translation id="5659593005791499971">Email</translation>
 <translation id="5659833766619490117">Halaman ini tidak dapat diterjemahkan</translation>
+<translation id="5660204307954428567">Sambungkan dengan <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Seterusnya</translation>
 <translation id="5667546120811588575">Menyiapkan Google Play...</translation>
 <translation id="5669267381087807207">Mengaktifkan</translation>
 <translation id="5669691691057771421">Masukkan PIN baru</translation>
 <translation id="5671641761787789573">Gambar diblokir</translation>
+<translation id="5673076758299428095">Matikan Linux</translation>
 <translation id="5677503058916217575">Bahasa halaman:</translation>
 <translation id="5677928146339483299">Dicekal</translation>
 <translation id="5678550637669481956">Akses membaca dan menulis ke <ph name="VOLUME_NAME" /> telah diberikan.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Penulis Gambar Sistem Chrome OS</translation>
 <translation id="5921745308587794300">Putar jendela</translation>
 <translation id="5924047253200400718">Dapatkan bantuan<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Ambil foto baru atau pilih foto atau ikon yang sudah ada.
+    <ph name="LINE_BREAK" />
+    Gambar ini akan ditampilkan di layar login dan layar kunci Chromebook.</translation>
 <translation id="5925147183566400388">Pengarah Pernyataan Praktik Sertifikasi</translation>
 <translation id="592880897588170157">Download file PDF tanpa otomatis membukanya di Chrome</translation>
 <translation id="5931146425219109062">Membaca dan mengubah semua data Anda di situs web yang dikunjungi</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Harap periksa tingkat audio dan mikrofon Anda.</translation>
 <translation id="6080515710685820702">Menggunakan komputer bersama? Coba buka jendela samaran.</translation>
 <translation id="6080689532560039067">Periksa waktu sistem Anda</translation>
+<translation id="6082111513049964958">Sandi untuk membuka kunci</translation>
 <translation id="6082651258230788217">Tampilkan di bilah alat</translation>
 <translation id="6086846494333236931">Dipasang oleh administrator Anda</translation>
 <translation id="6087960857463881712">Wajah keren</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Nama ini tidak dapat digunakan sebagai nama file atau folder</translation>
 <translation id="642469772702851743">Perangkat ini (NS: <ph name="SERIAL_NUMBER" />) dikunci oleh pemilik.</translation>
 <translation id="6426200009596957090">Buka setelan ChromeVox</translation>
+<translation id="6427415464407526111">Pilih Kunci Keamanan</translation>
 <translation id="6429384232893414837">Error update</translation>
 <translation id="6430814529589430811">ASCII bersandiaksara Base64, satu sertifikat</translation>
 <translation id="6431217872648827691">Semua data dienkripsi dengan sandi Google Anda tanggal
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Tidak dapat memuat PPD yang besar. Ukuran maksimumnya adalah 250 kB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> item dipilih</translation>
 <translation id="7102687220333134671">Update otomatis diaktifkan</translation>
+<translation id="7102832101143475489">Waktu permintaan habis</translation>
 <translation id="7106346894903675391">Beli penyimpanan lagi...</translation>
 <translation id="7108338896283013870">Sembunyikan</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> ingin menggunakan kamera Anda</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Halaman Latar Belakang: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Buka Semua di &amp;Jendela Baru}=1{Buka di &amp;Jendela Baru}other{Buka Semua (#) di &amp;Jendela Baru}}</translation>
 <translation id="7434509671034404296">Pengembang</translation>
-<translation id="7436470008146509879">Siapkan Linux di <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Maaf. Terjadi error saat mengganti nama.</translation>
 <translation id="7441830548568730290">Pengguna lainnya</translation>
 <translation id="7442465037756169001">Hangouts Meet Hardware sudah bisa disiapkan.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Nonaktifkan subtitel</translation>
 <translation id="7882358943899516840">Jenis penyedia</translation>
 <translation id="7885253890047913815">Tujuan Saat Ini</translation>
-<translation id="7886917304091689118">Berjalan di Chrome</translation>
 <translation id="7887334752153342268">Gandakan</translation>
 <translation id="7887864092952184874">Mouse Bluetooth disandingkan</translation>
 <translation id="7889565820482017512">Ukuran Layar</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Ukuran</translation>
 <translation id="8030656706657716245">Tambahkan Printer</translation>
 <translation id="8032244173881942855">Tidak dapat mentransmisi tab.</translation>
+<translation id="8033958968890501070">Waktu habis</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Buka semua di &amp;jendela samaran}=1{Buka di &amp;jendela samaran}other{Buka semua (#) di &amp;jendela samaran}}</translation>
 <translation id="8037117027592400564">Membaca semua teks yang diucapkan menggunakan ucapan yang disintesis</translation>
 <translation id="8037357227543935929">Tanyakan (default)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Mengelola download Anda</translation>
 <translation id="81238879832906896">Bunga kuning dan putih</translation>
 <translation id="8124313775439841391">ONC yang dikelola</translation>
-<translation id="8125562866093998907">Situs ini ingin memverifikasi Kunci Keamanan Anda sebagai keamanan tambahan untuk akun.</translation>
 <translation id="813082847718468539">Lihat informasi situs</translation>
 <translation id="8131740175452115882">Konfirmasi</translation>
 <translation id="8133676275609324831">&amp;Tampilkan dalam folder</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">halaman</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" dapat membaca dan menghapus file gambar, video, dan suara di lokasi yang dicentang.</translation>
 <translation id="8181215761849004992">Tidak dapat bergabung dengan domain. Periksa akun untuk mengetahui apakah Anda memiliki hak istimewa yang memadai untuk menambahkan perangkat.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Saya rasa situs ini tidak perlu diblokir!</translation>
 <translation id="8184288427634747179">Alihkan ke <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Info selengkapnya</translation>
 <translation id="8185331656081929126">Tampilkan pemberitahuan saat printer baru terdeteksi pada jaringan.</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Port Debug NaCl</translation>
 <translation id="843760761634048214">Simpan kartu kredit</translation>
 <translation id="8438328416656800239">Beralih ke browser cerdas</translation>
+<translation id="8438566539970814960">Jadikan penelusuran dan penjelajahan lebih baik</translation>
 <translation id="8439506636278576865">Tawarkan penerjemahan halaman ke dalam bahasa ini</translation>
 <translation id="8446884382197647889">Pelajari Lebih Lanjut</translation>
 <translation id="8447409163267621480">Sertakan Ctrl atau Alt</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Situs ini diperbarui di latar belakang.</translation>
 <translation id="8737685506611670901">Membuka link <ph name="PROTOCOL" /> sebagai ganti <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8743390665131937741">Tingkat zoom layar penuh:</translation>
 <translation id="8743864605301774756">Diupdate 1 jam yang lalu</translation>
 <translation id="874689135111202667">{0,plural, =1{Upload 1 file ke situs ini?}other{Upload # file ke situs ini?}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Mogok</translation>
 <translation id="8983677657449185470">Bantu sempurnakan Safe Browsing</translation>
 <translation id="8984654317541110628">URL Berbagi File</translation>
+<translation id="8984872292925913496">Lihat PIN 6 digit di bagian belakang kunci</translation>
 <translation id="8986362086234534611">Lupakan</translation>
 <translation id="8986494364107987395">Kirim statistik penggunaan dan laporan kerusakan ke Google secara otomatis</translation>
 <translation id="8987927404178983737">Bulan</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">Ups! Terjadi masalah komunikasi jaringan selama autentikasi. Periksa sambungan jaringan Anda dan coba lagi.</translation>
 <translation id="9161070040817969420">Subkerangka untuk: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Kirim data sistem. Saat ini, perangkat secara otomatis mengirim data penggunaan perangkat dan aplikasi serta diagnostik ke Google. Setelan ini diterapkan oleh pemilik. Jika Anda mengaktifkan Aktivitas Web &amp; Aplikasi tambahan, informasi ini akan disimpan dalam akun sehingga Anda dapat mengelolanya di Aktivitas Saya. <ph name="BEGIN_LINK1" />Pelajari Lebih Lanjut<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture-in-Picture</translation>
 <translation id="9169496697824289689">Lihat pintasan keyboard</translation>
 <translation id="9169931577761441333">Tambahkan <ph name="APP_NAME" /> ke layar Utama</translation>
 <translation id="9170397650136757332">Sekarang gerakkan jari sedikit untuk menangkap seluruh bagian sidik jari Anda</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">Tidak diaktifkan</translation>
 <translation id="957960681186851048">Situs ini berupaya mendownload beberapa file secara otomatis</translation>
 <translation id="9580706199804957">Tidak dapat terhubung dengan layanan Google</translation>
-<translation id="958416628331784386">Tab ini diputar dalam mode Picture-in-Picture.</translation>
 <translation id="960719561871045870">Kode operator</translation>
 <translation id="960987915827980018">Sekitar 1 jam lagi</translation>
 <translation id="962802172452141067">Cabang folder bookmark</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index 72fd77a..427b14ec 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pausa</translation>
 <translation id="1181037720776840403">Rimuovi</translation>
 <translation id="1183237619868651138">Impossibile installare <ph name="EXTERNAL_CRX_FILE" /> nella cache locale.</translation>
+<translation id="1183378459020939734">Pronto per accoppiare il tuo token di sicurezza?</translation>
 <translation id="1185924365081634987">Puoi anche provare a <ph name="GUEST_SIGNIN_LINK_START" />navigare come ospite<ph name="GUEST_SIGNIN_LINK_END" /> per correggere questo errore di rete.</translation>
 <translation id="1186771945450942097">Rimuovi software dannoso</translation>
 <translation id="1187722533808055681">Riattivazioni</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Aiutaci a migliorare <ph name="PRODUCT_NAME" /> inviando automaticamente a Google le statistiche sull'utilizzo e segnalazioni sugli arresti anomali</translation>
 <translation id="1658424621194652532">Questa pagina sta accedendo al microfono.</translation>
 <translation id="1660204651932907780">Consenti ai siti di riprodurre l'audio (opzione consigliata)</translation>
-<translation id="1660938185063657230">Verifica token di sicurezza…</translation>
 <translation id="1661156625580498328">Applica la crittografia AES (consigliato).</translation>
 <translation id="1661245713600520330">La pagina elenca tutti i moduli caricati nel processo principale e i moduli registrati per il caricamento in una fase successiva.</translation>
 <translation id="166179487779922818">La password è troppo corta.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Cambia la modalità HUD Touch</translation>
 <translation id="1784849162047402014">Spazio insufficiente sul disco del dispositivo</translation>
 <translation id="1786636458339910689">Drive del team</translation>
+<translation id="1792161662640298233">Verifica del token di sicurezza…</translation>
 <translation id="1792619191750875668">Display esteso</translation>
 <translation id="1794791083288629568">Invia feedback per aiutarci a risolvere questo problema.</translation>
 <translation id="1795214765651529549">Usa classico</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Elimina la password di <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Tocca Notifiche app &gt; Google Play Services.</translation>
 <translation id="1826516787628120939">Verifica in corso...</translation>
-<translation id="1827750274519118478">La riproduzione del video in modalità Picture in picture verrà interrotta.</translation>
 <translation id="1828378091493947763">Questo plug-in non è supportato sul dispositivo in uso</translation>
 <translation id="1828901632669367785">Stampa utilizzando la finestra di dialogo di sistema...</translation>
 <translation id="1829192082282182671">Riduc&amp;i</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">L'estensione "<ph name="EXTENSION" />" può leggere e scrivere file di immagini, video e audio nelle posizioni selezionate.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> è pronto a completare l'installazione</translation>
 <translation id="1871615898038944731">Il dispositivo <ph name="DEVICE_TYPE" /> è aggiornato</translation>
+<translation id="1875312262568496299">Inizia</translation>
 <translation id="1875387611427697908">È possibile aggiungerla soltanto dal <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Recupero del token di autenticazione non riuscito. Esci e accedi nuovamente per riprovare.</translation>
 <translation id="1878302395768190018">Puoi personalizzare questa opzione in qualsiasi momento nelle Impostazioni di Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto di <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Invia al telefono</translation>
 <translation id="2119349053129246860">Apri in <ph name="APP" /></translation>
+<translation id="2120297377148151361">Attività e interazioni</translation>
 <translation id="2121825465123208577">Ridimensiona</translation>
 <translation id="2124930039827422115">{1,plural, =1{Un utente ha dato una valutazione di <ph name="AVERAGE_RATING" />.}other{# utenti hanno dato una valutazione di <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">La sincronizzazione è stata disattivata dall'amministratore.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Formato carta</translation>
 <translation id="2318817390901984578">Per utilizzare le app Android, metti sotto carica il tuo dispositivo <ph name="DEVICE_TYPE" /> e aggiornalo.</translation>
 <translation id="2318923050469484167">Sessione di navigazione in incognito corrente (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Utilizza il token di sicurezza con <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Intestazioni e piè di pagina</translation>
 <translation id="2325650632570794183">Questo tipo di file non è supportato. Visita il Chrome Web Store per trovare un'applicazione in grado di aprire questo tipo di file.</translation>
 <translation id="2326931316514688470">&amp;Ricarica app</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Aggiungi Condivisione file</translation>
 <translation id="2367972762794486313">Mostra app</translation>
 <translation id="2369536625682139252">Tutti i dati archiviati dal sito <ph name="SITE" />, eccetto i cookie, verranno eliminati.</translation>
+<translation id="237058345584060620">Accoppia il tuo token a questo dispositivo per poterlo utilizzare per accedere al tuo account.</translation>
 <translation id="2371076942591664043">Apri al &amp;termine</translation>
 <translation id="2376559921867170420">Dopo avere configurato il Chromebook, premi il pulsante Assistente o dì "Ok Google" per farti aiutare dall'assistente in qualsiasi momento.</translation>
 <translation id="2377319039870049694">Passa alla visualizzazione elenco</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Impossibile trovare il telefono. Assicurati che sul dispositivo <ph name="DEVICE_TYPE" /> sia attivo il Bluetooth. &lt;a&gt;Ulteriori informazioni&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Aggiungi &amp;cartella...</translation>
 <translation id="249113932447298600">Spiacenti, il dispositivo <ph name="DEVICE_LABEL" /> non è al momento supportato.</translation>
+<translation id="2492040222276243256">Tieni premuto il pulsante del token di sicurezza per almeno cinque secondi</translation>
 <translation id="2493021387995458222">Seleziona "una parola per volta"</translation>
 <translation id="249303669840926644">Impossibile completare la registrazione</translation>
 <translation id="2495777824269688114">Scopri altre funzioni o ricevi risposte. Seleziona "?" per ricevere assistenza.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">In attesa di socket disponibile...</translation>
 <translation id="252219247728877310">Componente non aggiornato</translation>
 <translation id="2522791476825452208">Molto vicino</translation>
+<translation id="2523184218357549926">Invia a Google gli URL delle pagine che visiti</translation>
 <translation id="2525250408503682495">Kryptonite! Impossibile installare cryptohome per l'applicazione kiosk.</translation>
 <translation id="2526277209479171883">Installa e continua</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Non connesso a <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Complimenti, il tuo servizio dati "<ph name="NAME" />" è stato attivato ed è pronto all'uso.</translation>
 <translation id="2564520396658920462">L'esecuzione di JavaScript tramite AppleScript è disattivata. Per attivarla, vai alla barra dei menu, apri Visualizza &gt; Sviluppatore &gt; Consenti JavaScript da Apple Events. Per ulteriori informazioni, visita la pagina all'indirizzo https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Controllo ortografico avanzato</translation>
 <translation id="2566124945717127842">Esegui il powerwash per ripristinare il tuo dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /> e farlo tornare come nuovo.</translation>
 <translation id="2567257616420533738">Password salvata. Controlla e gestisci le password salvate all'indirizzo <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Infobar Container</translation>
@@ -1080,6 +1087,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> sta utilizzando <ph name="USAGE" /> MB di spazio su disco.</translation>
 <translation id="2633212996805280240">Rimuovere "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> non è stato in grado di completare l'installazione ma continuerà a essere eseguito dall'immagine disco.</translation>
+<translation id="2633326789677284179">Cerca il nome stampato sul retro del tuo token</translation>
 <translation id="2635276683026132559">Firma</translation>
 <translation id="2636625531157955190">Chrome non riesce ad accedere all'immagine.</translation>
 <translation id="2638087589890736295">Passphrase obbligatoria per avviare la sincronizzazione</translation>
@@ -1393,6 +1401,7 @@
 <translation id="3090819949319990166">Impossibile copiare il file crx esterno su <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" accoppiato</translation>
 <translation id="3101709781009526431">Data e ora</translation>
+<translation id="3104900172193317662">Consenti l'utilizzo del tuo token di sicurezza</translation>
 <translation id="310671807099593501">Il sito sta usando il Bluetooth</translation>
 <translation id="3115128645424181617">Impossibile trovare il telefono. Assicurati che sia a portata di mano e che il Bluetooth sia attivo.</translation>
 <translation id="3115147772012638511">In attesa di elaborazione cache...</translation>
@@ -1874,6 +1883,7 @@
 <translation id="3839516600093027468">Impedisci sempre a <ph name="HOST" /> di leggere gli appunti</translation>
 <translation id="3840053866656739575">Connessione con il Chromebox persa. Avvicinati o controlla il dispositivo mentre cerchiamo di ricollegarlo.</translation>
 <translation id="3842552989725514455">Carattere serif</translation>
+<translation id="3846116211488856547">Scarica strumenti per sviluppare siti web, app Android e non solo. Se installi Linux verranno scaricati dati per <ph name="DOWNLOAD_SIZE" />.</translation>
 <translation id="385051799172605136">Indietro</translation>
 <translation id="3851428669031642514">Carica script non sicuri</translation>
 <translation id="3855441664322950881">Crea pacchetto estensione</translation>
@@ -1897,6 +1907,7 @@
 <translation id="3872991219937722530">Libera spazio sul disco, altrimenti il dispositivo non risponderà più ai comandi.</translation>
 <translation id="3878840326289104869">Creazione utente supervisionato in corso</translation>
 <translation id="3879748587602334249">Gestione dei download</translation>
+<translation id="3880709822663530586">Il tuo token di sicurezza funziona soltanto quando è attivo il Bluetooth del dispositivo</translation>
 <translation id="3888550877729210209">Creazione di appunti con <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Aggiungi L2TP/VPN aperta…</translation>
 <translation id="3893536212201235195">Leggere e modificare le impostazioni di accessibilità</translation>
@@ -2358,6 +2369,7 @@
 <translation id="4681930562518940301">Apri &amp;originale in nuova scheda</translation>
 <translation id="4682551433947286597">Gli sfondi vengono visualizzati sulla schermata di accesso.</translation>
 <translation id="4684427112815847243">Sincronizza tutto</translation>
+<translation id="4689235506267737042">Scegli le preferenze relative alle demo</translation>
 <translation id="4689421377817139245">Sincronizza il preferito con l'iPhone</translation>
 <translation id="4690091457710545971">&lt;Quattro file generati dal firmware Intel Wi-Fi: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. I primi tre sono file binari che contengono dump di registro e che, secondo quanto dichiarato da Intel, non contengono informazioni personali o di identificazione del dispositivo. L'ultimo file è una traccia di esecuzione dal firmware Intel, privato di ogni informazione personale o di identificazione del dispositivo, ma troppo grande per essere mostrato qui. Questi file sono stati generati in risposta ai recenti problemi del tuo dispositivo con la rete Wi-Fi e verranno condivisi con Intel per agevolare la risoluzione di tali problemi.&gt;</translation>
 <translation id="4692302215262324251">Il dispositivo <ph name="DEVICE_TYPE" /> è stato registrato correttamente per la gestione aziendale da parte di <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2463,7 +2475,6 @@
 <translation id="4856478137399998590">Il servizio dati mobile è attivo e pronto all'uso</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Apri tutti in finestra di navigazione in &amp;incognito}=1{Apri in finestra di navigazione in &amp;incognito}other{Apri tutti (#) in finestra di navigazione in &amp;incognito}}</translation>
 <translation id="4858913220355269194">Holly</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Video riprodotto in modalità Picture in picture</translation>
 <translation id="4862050643946421924">Aggiunta del dispositivo...</translation>
 <translation id="4862642413395066333">Firma risposte OCSP</translation>
 <translation id="4863769717153320198">Risoluzione di <ph name="WIDTH" /> x <ph name="HEIGHT" /> (valore predefinito)</translation>
@@ -2487,6 +2498,7 @@
 <translation id="4880827082731008257">Cerca nella cronologia</translation>
 <translation id="4881695831933465202">Apri</translation>
 <translation id="4882473678324857464">Evidenzia preferiti</translation>
+<translation id="4882831918239250449">Controlla il modo in cui la cronologia di navigazione viene utilizzata per personalizzare la Ricerca, gli annunci e altro ancora</translation>
 <translation id="4883178195103750615">Esporta i preferiti in file HTML...</translation>
 <translation id="4883436287898674711">Tutti i siti <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Task Manager</translation>
@@ -2761,6 +2773,7 @@
 <translation id="5288678174502918605">Riapri sch&amp;eda chiusa</translation>
 <translation id="52912272896845572">Il file della chiave privata non è valido.</translation>
 <translation id="529175790091471945">Formatta questo dispositivo</translation>
+<translation id="5292195676005197571">Per usare la maggior parte dei token basta premere il pulsante</translation>
 <translation id="5293170712604732402">Ripristina le impostazioni predefinite originali</translation>
 <translation id="5298219193514155779">Tema creato da</translation>
 <translation id="5299109548848736476">Non tenere traccia</translation>
@@ -3021,11 +3034,13 @@
 <translation id="5658415415603568799">Per maggiore sicurezza, Smart Lock ti chiederà di inserire la password dopo 20 ore.</translation>
 <translation id="5659593005791499971">Email</translation>
 <translation id="5659833766619490117">Impossibile tradurre questa pagina</translation>
+<translation id="5660204307954428567">Accoppiare con <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Perpetua</translation>
 <translation id="5667546120811588575">Configurazione di Google Play...</translation>
 <translation id="5669267381087807207">In fase di attivazione</translation>
 <translation id="5669691691057771421">Inserisci il nuovo PIN</translation>
 <translation id="5671641761787789573">Immagini bloccate</translation>
+<translation id="5673076758299428095">Spegni Linux</translation>
 <translation id="5677503058916217575">Lingua della pagina:</translation>
 <translation id="5677928146339483299">Bloccati</translation>
 <translation id="5678550637669481956">È stato concesso l'accesso in lettura e scrittura a <ph name="VOLUME_NAME" />.</translation>
@@ -3190,6 +3205,9 @@
 <translation id="5920835625712313205">Chrome OS System Image Writer</translation>
 <translation id="5921745308587794300">Ruota finestra</translation>
 <translation id="5924047253200400718">Richiedi assistenza<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Scatta una foto oppure scegli una foto esistente o un'icona.
+    <ph name="LINE_BREAK" />
+    Questa immagine verrà mostrata nelle schermate di accesso e di blocco del Chromebook.</translation>
 <translation id="5925147183566400388">Puntatore Certification Practice Statement</translation>
 <translation id="592880897588170157">Scarica i file PDF anziché aprirli automaticamente in Chrome</translation>
 <translation id="5931146425219109062">Leggere e modificare tutti i dati sui siti web visitati</translation>
@@ -3286,6 +3304,7 @@
 <translation id="6078752646384677957">Controlla i livelli audio e del microfono.</translation>
 <translation id="6080515710685820702">Condividi il computer con altre persone? Prova ad aprire una finestra di navigazione in incognito.</translation>
 <translation id="6080689532560039067">Controlla l'ora del sistema</translation>
+<translation id="6082111513049964958">Password da sbloccare</translation>
 <translation id="6082651258230788217">Mostra in barra degli strumenti</translation>
 <translation id="6086846494333236931">Installata dall'amministratore</translation>
 <translation id="6087960857463881712">Faccina splendente</translation>
@@ -3509,6 +3528,7 @@
 <translation id="642282551015776456">Questo nome non può essere utilizzato per un file o una cartella</translation>
 <translation id="642469772702851743">Questo dispositivo (numero di serie <ph name="SERIAL_NUMBER" />) è stato bloccato dal proprietario.</translation>
 <translation id="6426200009596957090">Apri le impostazioni ChromeVox</translation>
+<translation id="6427415464407526111">Seleziona il tuo token di sicurezza</translation>
 <translation id="6429384232893414837">Errore di aggiornamento</translation>
 <translation id="6430814529589430811">ASCII con codifica Base64, singolo certificato</translation>
 <translation id="6431217872648827691">Tutti i dati sono stati criptati con la tua password Google in data
@@ -3935,6 +3955,7 @@
 <translation id="7099337801055912064">Impossibile caricare il file PPD. Dimensioni massime: 250 kB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> elementi selezionati</translation>
 <translation id="7102687220333134671">Gli aggiornamenti automatici sono attivi</translation>
+<translation id="7102832101143475489">La richiesta è scaduta</translation>
 <translation id="7106346894903675391">Acquista più spazio di archiviazione...</translation>
 <translation id="7108338896283013870">Nascondi</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> vuole usare la fotocamera</translation>
@@ -4143,7 +4164,6 @@
 <translation id="7427348830195639090">Pagina di sfondo: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Apri tutti in &amp;un'altra finestra}=1{Apri in &amp;un'altra finestra}other{Apri tutti (#) in &amp;un'altra finestra}}</translation>
 <translation id="7434509671034404296">Opzioni per sviluppatori</translation>
-<translation id="7436470008146509879">Configura Linux sul tuo dispositivo <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Uffa! Si è verificato un errore durante la ridenominazione.</translation>
 <translation id="7441830548568730290">Altri utenti</translation>
 <translation id="7442465037756169001">L'hardware Hangouts Meet è pronto per la configurazione.</translation>
@@ -4440,7 +4460,6 @@
 <translation id="7881969471599061635">Disattiva i sottotitoli</translation>
 <translation id="7882358943899516840">Tipo di provider</translation>
 <translation id="7885253890047913815">Destinazioni recenti</translation>
-<translation id="7886917304091689118">In esecuzione in Chrome</translation>
 <translation id="7887334752153342268">Duplica</translation>
 <translation id="7887864092952184874">Mouse Bluetooth accoppiato</translation>
 <translation id="7889565820482017512">Dimensioni di visualizzazione</translation>
@@ -4553,6 +4572,7 @@
 <translation id="8028993641010258682">Dimensioni</translation>
 <translation id="8030656706657716245">Aggiungi stampante</translation>
 <translation id="8032244173881942855">Impossibile trasmettere la scheda.</translation>
+<translation id="8033958968890501070">Timeout</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Apri tutti in finestra di navigazione in &amp;incognito}=1{Apri in finestra di navigazione in &amp;incognito}other{Apri tutti (#) in finestra di navigazione in &amp;incognito}}</translation>
 <translation id="8037117027592400564">Lettura di tutto il testo pronunciato utilizzando la sintesi vocale</translation>
 <translation id="8037357227543935929">Chiedi (predefinita)</translation>
@@ -4611,7 +4631,6 @@
 <translation id="8118860139461251237">Gestione dei download</translation>
 <translation id="81238879832906896">Fiore bianco e giallo</translation>
 <translation id="8124313775439841391">ONC gestito</translation>
-<translation id="8125562866093998907">Per migliorare la sicurezza del tuo account, il sito vuole verificare il tuo token di sicurezza.</translation>
 <translation id="813082847718468539">Visualizza informazioni sul sito</translation>
 <translation id="8131740175452115882">Conferma</translation>
 <translation id="8133676275609324831">&amp;Mostra nella cartella</translation>
@@ -4643,6 +4662,8 @@
 <translation id="8180239481735238521">pagina</translation>
 <translation id="8180786512391440389">L'estensione "<ph name="EXTENSION" />" può leggere ed eliminare file di immagini, video e audio nelle posizioni selezionate.</translation>
 <translation id="8181215761849004992">Impossibile aggiungere al dominio. Controlla il tuo account per verificare se hai privilegi sufficienti per aggiungere dispositivi.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Non credo che questo sito debba essere bloccato.</translation>
 <translation id="8184288427634747179">Passa al profilo <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Ulteriori informazioni</translation>
 <translation id="8185331656081929126">Mostra notifiche quando vengono rilevate nuove stampanti in rete</translation>
@@ -4786,6 +4807,7 @@
 <translation id="8434480141477525001">Porta di debug NaCl</translation>
 <translation id="843760761634048214">Salva la carta di credito</translation>
 <translation id="8438328416656800239">Passa a un browser intelligente</translation>
+<translation id="8438566539970814960">Migliora le ricerche e le attività di navigazione</translation>
 <translation id="8439506636278576865">Proponi di tradurre pagine in questa lingua</translation>
 <translation id="8446884382197647889">Ulteriori informazioni</translation>
 <translation id="8447409163267621480">Includi CTRL o ALT</translation>
@@ -4990,7 +5012,6 @@
 <translation id="8736288397686080465">Il sito è stato aggiornato in background.</translation>
 <translation id="8737685506611670901">Aprire link <ph name="PROTOCOL" /> anziché <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture in picture</translation>
 <translation id="8743390665131937741">Livello di zoom schermo intero</translation>
 <translation id="8743864605301774756">Aggiornata 1 ora fa</translation>
 <translation id="874689135111202667">{0,plural, =1{ Caricare un file in questo sito?}other{Caricare # file in questo sito?}}</translation>
@@ -5142,6 +5163,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Bloccata</translation>
 <translation id="8983677657449185470">Contribuisci a migliorare Navigazione sicura</translation>
 <translation id="8984654317541110628">URL condivisione file</translation>
+<translation id="8984872292925913496">Individua il PIN di sei cifre sul retro del token</translation>
 <translation id="8986362086234534611">Elimina</translation>
 <translation id="8986494364107987395">Invia automaticamente a Google statistiche sull'utilizzo e rapporti sugli arresti anomali</translation>
 <translation id="8987927404178983737">Mese</translation>
@@ -5264,6 +5286,7 @@
 <translation id="9158715103698450907">Spiacenti. Si è verificato un problema di comunicazione sulla rete durante l'autenticazione. Controlla la connessione di rete e riprova.</translation>
 <translation id="9161070040817969420">Frame secondari per: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Invia dati sul sistema. Questo dispositivo invia automaticamente a Google dati diagnostici e sull'utilizzo delle app e del dispositivo. Questa impostazione viene applicata dal proprietario. Se hai attivato Attività web e app, queste informazioni vengono memorizzate nel tuo account per consentirti di gestirle nella pagina Le mie attività. <ph name="BEGIN_LINK1" />Ulteriori informazioni<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture in picture</translation>
 <translation id="9169496697824289689">Visualizza scorciatoie da tastiera</translation>
 <translation id="9169931577761441333">Aggiungi <ph name="APP_NAME" /> alla schermata Home</translation>
 <translation id="9170397650136757332">Ora muovi leggermente il dito per acquisire tutte le varie parti dell'impronta digitale</translation>
@@ -5272,7 +5295,7 @@
 <translation id="9173995187295789444">Ricerca di dispositivi Bluetooth...</translation>
 <translation id="9176611096776448349"><ph name="WINDOW_TITLE" /> - Dispositivo Bluetooth connesso</translation>
 <translation id="9177499212658576372">Al momento sei collegato alla rete <ph name="NETWORK_TYPE" />.</translation>
-<translation id="9180281769944411366">Questa procedura potrebbe richiedere alcuni minuti. Avvio del contenitore Linux in corso.</translation>
+<translation id="9180281769944411366">Questa procedura potrebbe richiedere alcuni minuti. Avvio del container Linux in corso.</translation>
 <translation id="9180380851667544951">Il sito può condividere lo schermo</translation>
 <translation id="9188441292293901223">Aggiorna il telefono a una versione più recente di Android per sbloccare questo dispositivo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="9190063653747922532">L2TP/IPSec + chiave precondivisa</translation>
@@ -5314,7 +5337,6 @@
 <translation id="952992212772159698">Non attivo</translation>
 <translation id="957960681186851048">Questo sito ha tentato di scaricare automaticamente più file</translation>
 <translation id="9580706199804957">Impossibile connettersi ai servizi Google</translation>
-<translation id="958416628331784386">In questa scheda è in corso la riproduzione di un video in modalità Picture in picture.</translation>
 <translation id="960719561871045870">Codice operatore</translation>
 <translation id="960987915827980018">Circa un'ora rimanente</translation>
 <translation id="962802172452141067">Struttura ad albero della cartella dei preferiti</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index 66b6a4e3..b5b394b 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">השהה</translation>
 <translation id="1181037720776840403">הסר</translation>
 <translation id="1183237619868651138">לא ניתן להתקין את <ph name="EXTERNAL_CRX_FILE" /> במטמון המקומי.</translation>
+<translation id="1183378459020939734">שנתחיל להתאים את מפתח האבטחה?</translation>
 <translation id="1185924365081634987">כדאי גם לנסות <ph name="GUEST_SIGNIN_LINK_START" />לגלוש כאורח<ph name="GUEST_SIGNIN_LINK_END" /> כדי לתקן את שגיאת הרשת הזו.</translation>
 <translation id="1186771945450942097">הסרת תוכנה מזיקה</translation>
 <translation id="1187722533808055681">הוצאות לא פעילות ממצב שינה</translation>
@@ -451,7 +452,6 @@
 <translation id="1657406563541664238">‏עזור להפוך את <ph name="PRODUCT_NAME" /> לטוב יותר, על ידי שליחה אוטומטית של נתוני שימוש ודוחות קריסה אל Google</translation>
 <translation id="1658424621194652532">דף זה ניגש למיקרופון שלך.</translation>
 <translation id="1660204651932907780">מתן הרשאה לאתרים להשמיע צלילים (מומלץ)</translation>
-<translation id="1660938185063657230">אימות מפתח האבטחה שלך</translation>
 <translation id="1661156625580498328">‏אכיפה של הצפנת AES (מומלץ).</translation>
 <translation id="1661245713600520330">דף זה מפרט את כל המודולים שנטענו בתהליך הראשי ואת המודולים הרשומים לטעינה בשלב מאוחר יותר.</translation>
 <translation id="166179487779922818">הסיסמה קצרה מדי.</translation>
@@ -538,6 +538,7 @@
 <translation id="1782530111891678861">‏שנה מצב HUD של ממשק המגע</translation>
 <translation id="1784849162047402014">חסר שטח אחסון בדיסק של המכשיר</translation>
 <translation id="1786636458339910689">אחסון שיתופי</translation>
+<translation id="1792161662640298233">מאמת את מפתח האבטחה</translation>
 <translation id="1792619191750875668">תצוגה מורחבת</translation>
 <translation id="1794791083288629568"> שליחת משוב כדי לעזור לנו לפתור את הבעיה.</translation>
 <translation id="1795214765651529549">השתמש בעיצוב קלאסי</translation>
@@ -563,7 +564,6 @@
 <translation id="1818007989243628752">מחיקת הסיסמה של <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">‏מקישים על 'הודעות אפליקציה' &gt; 'שירותי Google Play'.</translation>
 <translation id="1826516787628120939">מתבצעת בדיקה</translation>
-<translation id="1827750274519118478">הפעלת הסרטון במצב 'תמונה בתוך תמונה' תופסק.</translation>
 <translation id="1828378091493947763">הפלאגין אינו נתמך במכשיר זה</translation>
 <translation id="1828901632669367785">הדפס באמצעות תיבת דו-שיח של המערכת...</translation>
 <translation id="1829192082282182671">הת&amp;רחק</translation>
@@ -599,6 +599,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" יכול לקרוא ולכתוב קובצי תמונות, וידאו ואודיו במיקומים המסומנים.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> מוכן להשלים את ההתקנה שלך</translation>
 <translation id="1871615898038944731">ה-<ph name="DEVICE_TYPE" /> שלך מעודכן</translation>
+<translation id="1875312262568496299">התחלה</translation>
 <translation id="1875387611427697908">ניתן להוסיף את הפריט הזה רק מ-<ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">לא ניתן לקבל אסימון אימות. צא לאחר מכן היכנס מחדש כדי לנסות שוב.</translation>
 <translation id="1878302395768190018">‏אפשר תמיד להתאים אישית דרך הגדרות Chrome</translation>
@@ -745,6 +746,7 @@
 <translation id="2114896190328250491">צילום מאת <ph name="NAME" /></translation>
 <translation id="2115103655317273167">שלח לטלפון</translation>
 <translation id="2119349053129246860">פתיחה באמצעות <ph name="APP" /></translation>
+<translation id="2120297377148151361">פעילות ואינטראקציות</translation>
 <translation id="2121825465123208577">שנה גודל</translation>
 <translation id="2124930039827422115">{1,plural, =1{משתמש אחד נתן דירוג של <ph name="AVERAGE_RATING" />.}two{# משתמשים נתנו דירוג של <ph name="AVERAGE_RATING" />.}many{# משתמשים נתנו דירוג של <ph name="AVERAGE_RATING" />.}other{# משתמשים נתנו דירוג של <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">מנהל המערכת שלך השבית את הסינכרון.</translation>
@@ -878,6 +880,7 @@
 <translation id="2318143611928805047">גודל נייר</translation>
 <translation id="2318817390901984578">‏כדי להשתמש באפליקציות Android עליך לטעון את ה-<ph name="DEVICE_TYPE" /> ולעדכן אותו.</translation>
 <translation id="2318923050469484167">הפעלה נוכחית במצב גלישה בסתר (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">שימוש במפתח האבטחה ב-<ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">כותרות עליונות ותחתונות</translation>
 <translation id="2325650632570794183">‏סוג קובץ זה אינו נתמך. בקר בחנות האינטרנט של Chrome כדי למצוא יישום שיכול לפתוח קובץ מסוג זה.</translation>
 <translation id="2326931316514688470">&amp;טען אפליקציה מחדש</translation>
@@ -911,6 +914,7 @@
 <translation id="2367199180085172140">הוספת שיתוף קובץ</translation>
 <translation id="2367972762794486313">הצג יישומים</translation>
 <translation id="2369536625682139252">‏כל הנתונים שאוחסנו על-ידי <ph name="SITE" /> יימחקו, מלבד קובצי ה-Cookie.</translation>
+<translation id="237058345584060620">צריך להתאים את המפתח למכשיר זה כדי שניתן יהיה להשתמש בו כדי להיכנס לחשבון שלך</translation>
 <translation id="2371076942591664043">פתח &amp;בסיום</translation>
 <translation id="2376559921867170420">‏אחרי הגדרת ה-Chromebook, כדי לקבל עזרה מה-Assistant אפשר ללחוץ על לחצן ה-Assistant או לומר "OK Google".</translation>
 <translation id="2377319039870049694">מעבר לתצוגת רשימה</translation>
@@ -976,6 +980,7 @@
 <translation id="248861575772995840">‏לא ניתן למצוא את הטלפון שלך. יש לוודא שה-Bluetooth מופעל ב-<ph name="DEVICE_TYPE" />. &lt;a&gt;מידע נוסף&lt;/a&gt;</translation>
 <translation id="2489918096470125693">הוסף &amp;תיקיה...</translation>
 <translation id="249113932447298600">מצטערים, המכשיר <ph name="DEVICE_LABEL" /> אינו נתמך בשלב זה.</translation>
+<translation id="2492040222276243256">עליך ללחוץ לחיצה ארוכה על הלחצן במפתח האבטחה במשך 5 שניות לפחות</translation>
 <translation id="2493021387995458222">בחר "מילה אחת בכל פעם"</translation>
 <translation id="249303669840926644">לא ניתן היה להשלים את הרישום</translation>
 <translation id="2495777824269688114">הכר תכונות נוספות או קבל תשובות לשאלות. בחר '?' כדי לגשת לעזרה.</translation>
@@ -1003,6 +1008,7 @@
 <translation id="2520644704042891903">ממתין לחיבור זמין...</translation>
 <translation id="252219247728877310">הרכיב לא עודכן</translation>
 <translation id="2522791476825452208">קרוב מאוד</translation>
+<translation id="2523184218357549926">‏שולח ל-Google כתובות אתרים של דפים שבהם ביקרת</translation>
 <translation id="2525250408503682495">‏קריפטונייט! לא ניתן היה לטעון את ה-Cryptohome עבור יישום הקיוסק.</translation>
 <translation id="2526277209479171883">התקנה והמשך</translation>
 <translation id="2526590354069164005">שולחן עבודה</translation>
@@ -1029,6 +1035,7 @@
 <translation id="2562743677925229011">לא נכנסת לחשבון <ph name="SHORT_PRODUCT_NAME" /> שלך</translation>
 <translation id="2563856802393254086">ברכותינו! שירות הנתונים שלך, '<ph name="NAME" />', הופעל ומוכן לשימוש.</translation>
 <translation id="2564520396658920462">‏הפעלת JavaScript דרך AppleScript מושבתת. כדי להפעיל את האפשרות הזו, מסרגל התפריטים יש לעבור אל 'תצוגה' &gt; 'מפתח' &gt; 'התרת JavaScript מאירועי Apple'. מידע נוסף זמין בכתובת https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">בדיקת איות משופרת</translation>
 <translation id="2566124945717127842">‏בצע פעולת Powerwash כדי לאפס את מכשיר <ph name="IDS_SHORT_PRODUCT_NAME" /> שלך כך שיהיה כמו חדש.</translation>
 <translation id="2567257616420533738">הסיסמה נשמרה. אפשר להציג ולנהל את הסיסמאות השמורות ב-<ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">גורם מכיל של סרגל המידע</translation>
@@ -1078,6 +1085,7 @@
 <translation id="2633199387167390344">‏<ph name="NAME" /> משתמש ב-‎<ph name="USAGE" /> MB מנפח הדיסק.</translation>
 <translation id="2633212996805280240">להסיר את "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> לא הצליח להשלים את ההתקנה, אך ימשיך לפעול מתמונת הדיסק שלו.</translation>
+<translation id="2633326789677284179">אפשר למצוא את השם מודפס על החלק האחורי של המפתח</translation>
 <translation id="2635276683026132559">חתימה</translation>
 <translation id="2636625531157955190">‏ל-Chrome אין אפשרות לגשת לתמונה.</translation>
 <translation id="2638087589890736295">יש להזין את ביטוי הסיסמה כדי להתחיל את הסנכרון</translation>
@@ -1391,6 +1399,7 @@
 <translation id="3090819949319990166">‏לא ניתן להעתיק קובץ crx חיצוני ל-<ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" מותאם</translation>
 <translation id="3101709781009526431">תאריך ושעה</translation>
+<translation id="3104900172193317662">אישור השימוש במפתח האבטחה</translation>
 <translation id="310671807099593501">‏האתר משתמש ב-Bluetooth</translation>
 <translation id="3115128645424181617">‏לא ניתן למצוא את הטלפון שלך. יש לוודא שהוא נמצא איתך ושהופעל בו Bluetooth.</translation>
 <translation id="3115147772012638511">ממתין למטמון...</translation>
@@ -1874,6 +1883,7 @@
 <translation id="3839516600093027468">יש למנוע תמיד מ-<ph name="HOST" /> לגשת אל הלוח</translation>
 <translation id="3840053866656739575">‏אבד החיבור ל-Chromebox שלך. התקרב עוד או בדוק את מכשירך בזמן שאנחנו מנסים להתחבר שוב.</translation>
 <translation id="3842552989725514455">‏גופן Serif</translation>
+<translation id="3846116211488856547">‏אפשר לקבל כלים לפיתוח אתרים, אפליקציות Android ועוד. התקנת Linux תוריד נתונים בנפח של <ph name="DOWNLOAD_SIZE" />.</translation>
 <translation id="385051799172605136">חזור</translation>
 <translation id="3851428669031642514">טען סקריפטים לא בטוחים</translation>
 <translation id="3855441664322950881">ארוז תוסף</translation>
@@ -1897,6 +1907,7 @@
 <translation id="3872991219937722530">אם לא תפנה שטח אחסון, המכשיר יפסיק להגיב.</translation>
 <translation id="3878840326289104869">יוצר משתמש בפיקוח</translation>
 <translation id="3879748587602334249">מנהל ההורדות</translation>
+<translation id="3880709822663530586">‏מפתח האבטחה פועל רק כשה-Bluetooth במכשיר פועל</translation>
 <translation id="3888550877729210209">כתיבת הערות בעזרת <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">‏הוסף OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">קרא ושנה את הגדרות הנגישות שלך</translation>
@@ -1967,7 +1978,7 @@
 <translation id="3979748722126423326">הפעל את <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981760180856053153">הוזן סוג שמירה לא חוקי.</translation>
 <translation id="3983586614702900908">מכשירים מספק לא ידוע</translation>
-<translation id="3984159763196946143">לא ניתן היה להתחיל מצב הדמיה</translation>
+<translation id="3984159763196946143">לא ניתן היה להתחיל מצב הדגמה</translation>
 <translation id="3985261842049607969">‏גיבוי ב-Google Drive. אפשר תמיד לשחזר נתונים או להחליף מכשיר בקלות. הגיבוי כולל נתוני אפליקציות. <ph name="BEGIN_LINK1" />מידע נוסף<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">נתונים נחסכו</translation>
 <translation id="3987938432087324095">זה לא היה ברור.</translation>
@@ -2358,6 +2369,7 @@
 <translation id="4681930562518940301">פתח את ה&amp;תמונה המקורית בכרטיסייה חדשה</translation>
 <translation id="4682551433947286597">טפטים מופיעים במסך הכניסה.</translation>
 <translation id="4684427112815847243">סנכרן הכל</translation>
+<translation id="4689235506267737042">בחירת העדפות ההדגמה</translation>
 <translation id="4689421377817139245">‏סנכרון הסימניה עם ה-iPhone</translation>
 <translation id="4690091457710545971">‏&lt;קושחת ה-Wi-Fi של Intel יצרה ארבעה קבצים: csr.lst‏, fh_regs.lst‏, radio_reg.lst‏, monitor.lst.sysmon. שלושת הקבצים הראשונים הם קובצי Dump בינאריים של הרישום, והמערכת של Intel מטפלת בהם מתוך הנחה שהם לא מכילים מידע שמאפשר זיהוי אישי או זיהוי של המכשיר. הקובץ האחרון הוא מעקב ביצוע מהקושחה של Intel. נמחק ממנו מידע שמאפשר זיהוי אישי או זיהוי של המכשיר, אבל הוא גדול מדי מכדי להציג אותו כאן. הקבצים האלה נוצרו בתגובה לבעיות שאירעו לאחרונה בחיבור ה-Wi-Fi של המכשיר שלך, והם ישותפו עם Intel בניסיון לפתור את הבעיות האלה.&gt;</translation>
 <translation id="4692302215262324251">רישום המכשיר שלך <ph name="DEVICE_TYPE" /> לניהול ארגוני בוצע בהצלחה על ידי <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2463,7 +2475,6 @@
 <translation id="4856478137399998590">שירות הנתונים הסלולריים פועל ומוכן לשימוש</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{פתח הכל בחלון &amp;גלישה בסתר}=1{פתח בחלון &amp;גלישה בסתר}two{פתח הכל (2) בחלון &amp;גלישה בסתר}many{פתח הכל (#) בחלון &amp;גלישה בסתר}other{פתח הכל (#) בחלון &amp;גלישה בסתר}}</translation>
 <translation id="4858913220355269194">מסי</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - הסרטון פועל במצב תמונה בתוך תמונה</translation>
 <translation id="4862050643946421924">מוסיף מכשיר...</translation>
 <translation id="4862642413395066333">‏חתימה על תגובות OCSP</translation>
 <translation id="4863769717153320198">‏נראה כמו <ph name="WIDTH" /> x <ph name="HEIGHT" /> (ברירת מחדל)</translation>
@@ -2487,6 +2498,7 @@
 <translation id="4880827082731008257">חפש בהיסטוריה</translation>
 <translation id="4881695831933465202">פתח</translation>
 <translation id="4882473678324857464">התמקד בסימניות</translation>
+<translation id="4882831918239250449">הגדרת אופן השימוש בהיסטוריית הגלישה לההתאמה האישית של חיפוש, מודעות ועוד</translation>
 <translation id="4883178195103750615">‏יצוא סימניות לקובץ HTML...</translation>
 <translation id="4883436287898674711">כל אתרי <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;מנהל המשימות</translation>
@@ -2763,6 +2775,7 @@
 <translation id="5288678174502918605">פתח &amp;מחדש את הכרטיסייה שנסגרה</translation>
 <translation id="52912272896845572">קובץ המפתח הפרטי אינו חוקי</translation>
 <translation id="529175790091471945">פרמט מכשיר זה</translation>
+<translation id="5292195676005197571">אפשר פשוט ללחוץ על הלחצן כדי להשתמש ברוב המפתחות</translation>
 <translation id="5293170712604732402">שחזר את ההגדרות לברירות המחדל המקוריות שלהן</translation>
 <translation id="5298219193514155779">נושא שנוצר על ידי</translation>
 <translation id="5299109548848736476">ללא מעקב</translation>
@@ -3023,11 +3036,13 @@
 <translation id="5658415415603568799">‏לשיפור האבטחה, אחרי 20 שעות תוצג לך בקשה מ-Smart Lock להזין את הסיסמה שלך.</translation>
 <translation id="5659593005791499971">אימייל</translation>
 <translation id="5659833766619490117">לא ניתן היה לתרגם את הדף הזה</translation>
+<translation id="5660204307954428567">התאמה עם <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">קבוע</translation>
 <translation id="5667546120811588575">‏הגדרת Google Play מתבצעת...</translation>
 <translation id="5669267381087807207">מפעיל</translation>
 <translation id="5669691691057771421">‏הזן את מספר ה-PIN החדש</translation>
 <translation id="5671641761787789573">תמונות נחסמו</translation>
+<translation id="5673076758299428095">‏כיבוי Linux</translation>
 <translation id="5677503058916217575">שפת הדף:</translation>
 <translation id="5677928146339483299">במצב חסום</translation>
 <translation id="5678550637669481956">ניתנה הרשאה לקריאה וכתיבה ב-<ph name="VOLUME_NAME" />.</translation>
@@ -3192,6 +3207,9 @@
 <translation id="5920835625712313205">‏כותב תמונת המערכת של Chrome OS</translation>
 <translation id="5921745308587794300">סיבוב החלון</translation>
 <translation id="5924047253200400718">קבל עזרה<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">‏אפשר לצלם תמונה חדשה או לבחור תמונה או סמל קיימים.
+    <ph name="LINE_BREAK" />
+    התמונה תופיע במסך הכניסה ובמסך הנעילה ב-Chromebook.</translation>
 <translation id="5925147183566400388">מצביע על הצהרת הליכי אישור</translation>
 <translation id="592880897588170157">‏הורד קובצי PDF במקום לפתוח אותם ב-Chrome באופן אוטומטי</translation>
 <translation id="5931146425219109062">לקרוא ולשנות את כל הנתונים שלך באתרים שבהם אתה מבקר</translation>
@@ -3288,6 +3306,7 @@
 <translation id="6078752646384677957">יש לבדוק את עוצמת הקול למיקרופון ולאודיו.</translation>
 <translation id="6080515710685820702">האם זהו מחשב משותף? כדאי לפתוח חלון גלישה בסתר.</translation>
 <translation id="6080689532560039067">בדוק את שעת המערכת</translation>
+<translation id="6082111513049964958">סיסמה לביטול הנעילה</translation>
 <translation id="6082651258230788217">הצג בסרגל הכלים</translation>
 <translation id="6086846494333236931">הותקן על ידי מנהל המערכת שלך</translation>
 <translation id="6087960857463881712">פרצוף "אדיר!"</translation>
@@ -3511,6 +3530,7 @@
 <translation id="642282551015776456">ייתכן שלא ניתן להשתמש בשם זה כשם קובץ או תיקייה</translation>
 <translation id="642469772702851743">מכשיר זה (מספר סידורי: <ph name="SERIAL_NUMBER" />) ננעל על-ידי הבעלים.</translation>
 <translation id="6426200009596957090">‏פתח את הגדרות ChromeVox</translation>
+<translation id="6427415464407526111">בחירת מפתח האבטחה</translation>
 <translation id="6429384232893414837">שגיאת עדכון</translation>
 <translation id="6430814529589430811">‏ASCII בקידוד Base64, אישור יחיד</translation>
 <translation id="6431217872648827691">‏כל הנתונים הוצפנו באמצעות סיסמת Google שלך החל מ-
@@ -3937,6 +3957,7 @@
 <translation id="7099337801055912064">‏לא ניתן לטעון קובץ PPD גדול. הגודל המקסימלי הוא ‎250 kB.</translation>
 <translation id="7100897339030255923">נבחרו <ph name="COUNT" /> פריטים</translation>
 <translation id="7102687220333134671">עדכונים אוטומטיים מופעלים</translation>
+<translation id="7102832101143475489">תם פרק הזמן שהוקצב לבקשה</translation>
 <translation id="7106346894903675391">קנה שטח אחסון נוסף...</translation>
 <translation id="7108338896283013870">הסתר</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> רוצה להשתמש במצלמה שלך</translation>
@@ -3966,7 +3987,7 @@
 <translation id="713888829801648570">מצטערים, לא ניתן לאמת את סיסמתך מכיוון שאתה במצב לא מקוון.</translation>
 <translation id="7140928199327930795">אין מכשירים זמינים נוספים.</translation>
 <translation id="7141105143012495934">הכניסה נכשלה מפני שלא ניתן היה לאחזר את פרטי החשבון. צור קשר עם מנהל המערכת או נסה שוב.</translation>
-<translation id="7143092389027215216">מתבצעת הפעלה של מצב הדמיה</translation>
+<translation id="7143092389027215216">מתבצעת הפעלה של מצב הדגמה</translation>
 <translation id="7143207342074048698">מתחבר</translation>
 <translation id="7144878232160441200">נסה שוב</translation>
 <translation id="7149893636342594995">מהיום האחרון</translation>
@@ -4145,7 +4166,6 @@
 <translation id="7427348830195639090">דף רקע: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{פתח הכל ב&amp;חלון חדש}=1{פתח ב&amp;חלון חדש}two{פתח הכל (2) ב&amp;חלון חדש}many{פתח הכל (#) ב&amp;חלון חדש}other{פתח הכל (#) ב&amp;חלון חדש}}</translation>
 <translation id="7434509671034404296">למפתחים</translation>
-<translation id="7436470008146509879">‏הגדרת Linux ב-<ph name="DEVICE_TYPE" /> שלך</translation>
 <translation id="7436921188514130341">אופס: הייתה שגיאה במהלך שינוי השם.</translation>
 <translation id="7441830548568730290">משתמשים אחרים</translation>
 <translation id="7442465037756169001">‏Hangouts Meet hardware מוכן להגדרה.</translation>
@@ -4441,7 +4461,6 @@
 <translation id="7881969471599061635">השבת כתוביות</translation>
 <translation id="7882358943899516840">סוג ספק</translation>
 <translation id="7885253890047913815">יעדים אחרונים</translation>
-<translation id="7886917304091689118">‏פועל ב-Chrome</translation>
 <translation id="7887334752153342268">שכפול</translation>
 <translation id="7887864092952184874">‏עכבר Bluetooth מחובר</translation>
 <translation id="7889565820482017512">גודל התצוגה</translation>
@@ -4554,6 +4573,7 @@
 <translation id="8028993641010258682">גודל</translation>
 <translation id="8030656706657716245">הוסף מדפסת</translation>
 <translation id="8032244173881942855">לא ניתן להעביר את הכרטיסייה.</translation>
+<translation id="8033958968890501070">הזמן שהוקצב תם</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{פתח הכל בחלון &amp;גלישה בסתר}=1{פתח בחלון &amp;גלישה בסתר}two{פתח הכל (2) בחלון &amp;גלישה בסתר}many{פתח הכל (#) בחלון &amp;גלישה בסתר}other{פתח הכל (#) בחלון &amp;גלישה בסתר}}</translation>
 <translation id="8037117027592400564">קריאת כל הטקסט הנאמר באמצעות דיבור מסונתז</translation>
 <translation id="8037357227543935929">שאל (ברירת מחדל)</translation>
@@ -4612,7 +4632,6 @@
 <translation id="8118860139461251237">לנהל את ההורדות שלך</translation>
 <translation id="81238879832906896">פרח צהוב ולבן</translation>
 <translation id="8124313775439841391">‏ONC מנוהל</translation>
-<translation id="8125562866093998907">האתר רוצה לאמת את מפתח האבטחה שלך כדי להגביר את אבטחת החשבון.</translation>
 <translation id="813082847718468539">הצג נתוני אתר</translation>
 <translation id="8131740175452115882">אישור</translation>
 <translation id="8133676275609324831">&amp;הצג בתיקייה</translation>
@@ -4644,6 +4663,8 @@
 <translation id="8180239481735238521">דף</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" יכול לקרוא ולמחוק קובצי תמונות, וידאו ואודיו במיקומים המסומנים.</translation>
 <translation id="8181215761849004992">לא ניתן להצטרף לדומיין. יש לבדוק את החשבון כדי לראות אם יש לך הרשאות מתאימות להוספת מכשירים.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    לדעתי לא צריך לחסום את האתר הזה.</translation>
 <translation id="8184288427634747179">עבור אל <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">מידע נוסף</translation>
 <translation id="8185331656081929126">הצג הודעות כאשר מזוהות מדפסות חדשות ברשת</translation>
@@ -4787,6 +4808,7 @@
 <translation id="8434480141477525001">יציאת ניפוי באגים של לקוח מקומי</translation>
 <translation id="843760761634048214">שמור כרטיס אשראי</translation>
 <translation id="8438328416656800239">החלף לדפדפן חכם</translation>
+<translation id="8438566539970814960">שיפור החיפושים והגלישה</translation>
 <translation id="8439506636278576865">הצעות לתרגום דפים שנכתבו בשפה זו</translation>
 <translation id="8446884382197647889">למידע נוסף</translation>
 <translation id="8447409163267621480">‏יש לכלול את Ctrl או Alt</translation>
@@ -4991,7 +5013,6 @@
 <translation id="8736288397686080465">האתר הזה עודכן ברקע.</translation>
 <translation id="8737685506611670901">פתיחת קישורי <ph name="PROTOCOL" /> במקום <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">תמונה בתוך תמונה</translation>
 <translation id="8743390665131937741">רמת זום למסך מלא:</translation>
 <translation id="8743864605301774756">עודכנה לפני שעה</translation>
 <translation id="874689135111202667">{0,plural, =1{להעלות קובץ אחד אל האתר הזה?}two{להעלות # קבצים אל האתר הזה?}many{להעלות # קבצים אל האתר הזה?}other{להעלות # קבצים אל האתר הזה?}}</translation>
@@ -5143,6 +5164,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - קרס</translation>
 <translation id="8983677657449185470">עזרה בשיפור של גלישה בטוחה</translation>
 <translation id="8984654317541110628">כתובת אתר של התקן רשת לשיתוף קבצים</translation>
+<translation id="8984872292925913496">אפשר למצוא את קוד הגישה בן 6 הספרות בצידו האחורי של המפתח</translation>
 <translation id="8986362086234534611">שכח</translation>
 <translation id="8986494364107987395">‏שלח ל-Google דוחות קריסה וסטטיסטיקת שימוש באופן אוטומטי</translation>
 <translation id="8987927404178983737">חודש</translation>
@@ -5265,6 +5287,7 @@
 <translation id="9158715103698450907">אופס!  אירעה בעיה של תקשורת רשת במהלך האימות.  בדוק את חיבור הרשת ונסה שוב.</translation>
 <translation id="9161070040817969420">תת-מסגרות של: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">‏שליחת נתוני מערכת. נכון לעכשיו, המכשיר הזה שולח אל Google באופן אוטומטי נתוני ניתוח ונתוני שימוש במכשיר ובאפליקציות. ההגדרה הזו נאכפת על-ידי הבעלים. אם הפעלת פריטים נוספים 'בפעילות באינטרנט ובאפליקציות', המידע הזה יאוחסן בחשבון כדי לאפשר לך לנהל אותו דרך 'הפעילות שלי'. <ph name="BEGIN_LINK1" />מידע נוסף<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">תמונה בתוך תמונה</translation>
 <translation id="9169496697824289689">הצג מקשי קיצור</translation>
 <translation id="9169931577761441333">הוספה של <ph name="APP_NAME" /> למסך דף הבית</translation>
 <translation id="9170397650136757332">עכשיו הזז מעט את האצבע כדי שהחיישן יזהה את כל חלקי טביעת האצבע</translation>
@@ -5315,7 +5338,6 @@
 <translation id="952992212772159698">לא פעיל</translation>
 <translation id="957960681186851048">האתר הזה ניסה להוריד קבצים מרובים באופן אוטומטי</translation>
 <translation id="9580706199804957">‏לא ניתן היה להתחבר אל שירותי Google</translation>
-<translation id="958416628331784386">בכרטיסייה הזו מופעל סרטון במצב 'תמונה בתוך תמונה'.</translation>
 <translation id="960719561871045870">קוד ספק</translation>
 <translation id="960987915827980018">נותרה בערך שעה אחת</translation>
 <translation id="962802172452141067">עץ תיקיות של סימניות</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index c24f2c6..8f56f63 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">使用統計データや障害レポートを Google に自動送信して <ph name="PRODUCT_NAME" /> の機能向上に役立てる</translation>
 <translation id="1658424621194652532">このページはマイクにアクセスしています。</translation>
 <translation id="1660204651932907780">音声の再生をサイトに許可する(推奨)</translation>
-<translation id="1660938185063657230">セキュリティ キーの確認</translation>
 <translation id="1661156625580498328">AES 暗号化を適用します(推奨)。</translation>
 <translation id="1661245713600520330">このページには、メイン プロセスに読み込まれているすべてのモジュールと、後で読み込むために登録されているモジュールが表示されます。</translation>
 <translation id="166179487779922818">パスワードが短すぎます。</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> のパスワードを削除します</translation>
 <translation id="1819721979226826163">[アプリの通知] &gt; [Google Play 開発者サービス] の順にタップします。</translation>
 <translation id="1826516787628120939">確認中</translation>
-<translation id="1827750274519118478">ピクチャー イン ピクチャー モードの動画は再生が停止されます。</translation>
 <translation id="1828378091493947763">このプラグインはこの端末ではサポートされていません</translation>
 <translation id="1828901632669367785">システム ダイアログを使用して印刷...</translation>
 <translation id="1829192082282182671">縮小(&amp;O)</translation>
@@ -2466,7 +2464,6 @@
 <translation id="4856478137399998590">モバイル データ サービスがご利用いただけるようになりました</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{すべてをシークレット ウィンドウで開く(&amp;I)}=1{シークレット ウィンドウで開く(&amp;I)}other{すべて(# 件)をシークレット ウィンドウで開く(&amp;I)}}</translation>
 <translation id="4858913220355269194">フリッツ</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - ピクチャー イン ピクチャーで再生中の動画</translation>
 <translation id="4862050643946421924">デバイスを追加中...</translation>
 <translation id="4862642413395066333">OCSP 応答の署名</translation>
 <translation id="4863769717153320198">表示上のサイズ: <ph name="WIDTH" />x<ph name="HEIGHT" />(デフォルト)</translation>
@@ -4148,7 +4145,6 @@
 <translation id="7427348830195639090">バックグラウンド ページ: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{すべてを新しいウィンドウで開く(&amp;N)}=1{新しいウィンドウで開く(&amp;N)}other{すべて(# 件)を新しいウィンドウで開く(&amp;N)}}</translation>
 <translation id="7434509671034404296">開発 / 管理</translation>
-<translation id="7436470008146509879"><ph name="DEVICE_TYPE" /> で Linux を設定</translation>
 <translation id="7436921188514130341">名前の変更中にエラーが発生しました。</translation>
 <translation id="7441830548568730290">他のユーザー</translation>
 <translation id="7442465037756169001">Hangouts Meet ハードウェアを設定できます。</translation>
@@ -4447,7 +4443,6 @@
 <translation id="7881969471599061635">字幕を無効にする</translation>
 <translation id="7882358943899516840">プロバイダの種類</translation>
 <translation id="7885253890047913815">最近使用した送信先</translation>
-<translation id="7886917304091689118">Chrome で実行中です</translation>
 <translation id="7887334752153342268">タブを複製</translation>
 <translation id="7887864092952184874">Bluetooth マウスがペア設定されました</translation>
 <translation id="7889565820482017512">ディスプレイ サイズ</translation>
@@ -4618,7 +4613,6 @@
 <translation id="8118860139461251237">ダウンロードの管理</translation>
 <translation id="81238879832906896">黄色と白の花</translation>
 <translation id="8124313775439841391">管理対象 ONC</translation>
-<translation id="8125562866093998907">サイトがアカウントのセキュリティ強化のためセキュリティ キーの確認を求めています。</translation>
 <translation id="813082847718468539">サイト情報を表示</translation>
 <translation id="8131740175452115882">確認</translation>
 <translation id="8133676275609324831">フォルダを開く(&amp;S)</translation>
@@ -4997,7 +4991,6 @@
 <translation id="8736288397686080465">このサイトはバックグラウンドで更新されました。</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> の代わりに「<ph name="PROTOCOL" />」リンクを開く</translation>
 <translation id="8737709691285775803">サクラ</translation>
-<translation id="8741316211671074806">ピクチャー イン ピクチャー</translation>
 <translation id="8743390665131937741">全画面のズームレベル:</translation>
 <translation id="8743864605301774756">1 時間前に更新されました</translation>
 <translation id="874689135111202667">{0,plural, =1{1 個のファイルをこのサイトにアップロードしますか?}other{# 個のファイルをこのサイトにアップロードしますか?}}</translation>
@@ -5271,6 +5264,7 @@
 <translation id="9158715103698450907">認証時にネットワーク通信の問題が発生しました。ネットワーク接続を確認して、もう一度お試しください。</translation>
 <translation id="9161070040817969420">次のサブフレーム: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">システムデータを送信します。この端末では現在、診断データと端末およびアプリの使用状況データが Google に自動送信されるように設定されています。この設定は所有者によって指定されています。これに加えて [ウェブとアプリのアクティビティ] をオンにすると、この情報がアカウントに保存され、[マイ アクティビティ] で管理できるようになります。<ph name="BEGIN_LINK1" />詳細<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">ピクチャー イン ピクチャー</translation>
 <translation id="9169496697824289689">キーボード ショートカットの表示</translation>
 <translation id="9169931577761441333">ホーム画面に <ph name="APP_NAME" /> を追加</translation>
 <translation id="9170397650136757332">指紋のすべての部分を登録するために、指を少しずつ動かします</translation>
@@ -5321,7 +5315,6 @@
 <translation id="952992212772159698">無効</translation>
 <translation id="957960681186851048">このサイトで複数ファイルの自動ダウンロードが試行されました</translation>
 <translation id="9580706199804957">Google サービスに接続できませんでした</translation>
-<translation id="958416628331784386">このタブではピクチャー イン ピクチャーで動画を再生しています。</translation>
 <translation id="960719561871045870">事業者コード</translation>
 <translation id="960987915827980018">あと約 1 時間</translation>
 <translation id="962802172452141067">ブックマーク フォルダ ツリー</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index b7b4a463d..e52c339 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -123,6 +123,7 @@
 <translation id="1178581264944972037">ವಿರಾಮ</translation>
 <translation id="1181037720776840403">ತೆಗೆದುಹಾಕು</translation>
 <translation id="1183237619868651138"><ph name="EXTERNAL_CRX_FILE" /> ಅನ್ನು ಸ್ಥಳೀಯ ಸಂಗ್ರಹದಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗುವುದಿಲ್ಲ.</translation>
+<translation id="1183378459020939734">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯನ್ನು ಜೋಡಿಸಲು ಸಿದ್ಧರಾಗಿರುವಿರಾ?</translation>
 <translation id="1185924365081634987">ಈ ನೆಟ್‌ವರ್ಕ್‌ ದೋಷವನ್ನು ಬಗೆಹರಿಸಲು <ph name="GUEST_SIGNIN_LINK_START" />ಅತಿಥಿಯಾಗಿ ಬ್ರೌಸ್ ಮಾಡುವುದನ್ನು<ph name="GUEST_SIGNIN_LINK_END" /> ಕೂಡಾ ನೀವು ಪ್ರಯತ್ನಿಸಬಹುದು.</translation>
 <translation id="1186771945450942097">ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್‌ವೇರ್ ತೆಗೆದುಹಾಕಿ</translation>
 <translation id="1187722533808055681">ತಟಸ್ಥದ ಎಚ್ಚರಿಸುವಿಕೆಗಳು</translation>
@@ -451,7 +452,6 @@
 <translation id="1657406563541664238">Google ಗೆ ಬಳಕೆಯ ಅಂಕಿಅಂಶಗಳು ಮತ್ತು ಕ್ರ್ಯಾಶ್ ವರದಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಳುಹಿಸುವ ಮೂಲಕ <ph name="PRODUCT_NAME" /> ಅನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡಿ</translation>
 <translation id="1658424621194652532">ಈ ಪುಟವು ನಿಮ್ಮ ಮೈಕ್ರೋಫೋನ್ ಪ್ರವೇಶಿಸುತ್ತಿದೆ.</translation>
 <translation id="1660204651932907780">ಧ್ವನಿಯನ್ನು ಪ್ಲೇ ಮಾಡಲು ಸೈಟ್‌ಗಳಿಗೆ ಅನುಮತಿಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)</translation>
-<translation id="1660938185063657230">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="1661156625580498328">AES ಎನ್‌ಕ್ರಿಪ್ಶನ್‌‌ ಅನ್ನು ಜಾರಿಗೊಳಿಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ).</translation>
 <translation id="1661245713600520330">ಮುಖ್ಯ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಲೋಡ್ ಮಾಡಲಾದ ಎಲ್ಲ ಮಾಡ್ಯೂಲ್‌ಗಳು ಮತ್ತು ನಂತರದ ಸ್ಥಿತಿಯಲ್ಲಿ ಲೋಡ್ ಮಾಡಲು ನೋಂದಾಯಿಸಲಾದ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಈ ಪುಟವು ಪಟ್ಟಿಮಾಡುತ್ತದೆ.</translation>
 <translation id="166179487779922818">ಪಾಸ್‌ವರ್ಡ್ ತುಂಬಾ ಚಿಕ್ಕದಾಗಿದೆ.</translation>
@@ -538,6 +538,7 @@
 <translation id="1782530111891678861">ಸ್ಪರ್ಶ HUD ಮೋಡ್ ಬದಲಾಯಿಸಿ</translation>
 <translation id="1784849162047402014">ಸಾಧನದ ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶ ಕಡಿಮೆ ಇದೆ</translation>
 <translation id="1786636458339910689">ತಂಡದ ಡ್ರೈವ್‌ಗಳು</translation>
+<translation id="1792161662640298233">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="1792619191750875668">ವಿಸ್ತರಿಸಲಾದ ಪ್ರದರ್ಶನ</translation>
 <translation id="1794791083288629568">ಈ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲು ನಮಗೆ ಸಹಾಯ ಮಾಡುವುದಕ್ಕಾಗಿ ಪ್ರತಿಕ್ರಿಯೆ ಕಳುಹಿಸಿ.</translation>
 <translation id="1795214765651529549">ಕ್ಲಾಸಿಕ್ ಬಳಸಿ</translation>
@@ -563,7 +564,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> ಗಾಗಿ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ</translation>
 <translation id="1819721979226826163">ಅಪ್ಲಿಕೇಶನ್ ಅಧಿಸೂಚನೆಗಳು &gt; Google Play ಸೇವೆಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ.</translation>
 <translation id="1826516787628120939">ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ</translation>
-<translation id="1827750274519118478">'ಚಿತ್ರದಲ್ಲಿ ಚಿತ್ರ' ಮೋಡ್‌ನಲ್ಲಿರುವ ವೀಡಿಯೊ, ಪ್ಲೇ ಆಗುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.</translation>
 <translation id="1828378091493947763">ಈ ಸಾಧನದಲ್ಲಿ ಈ ಪ್ಲಗಿನ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ</translation>
 <translation id="1828901632669367785">ಸಿಸ್ಟಂ ಸಂವಾದವನ್ನು ಬಳಸಿಕೊಂಡು ಮುದ್ರಿಸಿ...</translation>
 <translation id="1829192082282182671">ಝೂಮ್ &amp;ಔಟ್</translation>
@@ -599,6 +599,7 @@
 <translation id="186612162884103683">ಗುರುತಿಸಿದ ಸ್ಥಳಗಳಲ್ಲಿ "<ph name="EXTENSION" />"  ಚಿತ್ರಗಳು, ವಿಡಿಯೋ, ಮತ್ತು ಧ್ವನಿ ಫೈಲ್‌ಗಳನ್ನು ಓದಬಹುದು ಮತ್ತು ಬರೆಯಬಹುದು.</translation>
 <translation id="1867780286110144690">ನಿಮ್ಮ ಸ್ಥಾಪನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು <ph name="PRODUCT_NAME" /> ಸಿದ್ದವಾಗಿದೆ</translation>
 <translation id="1871615898038944731">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅಪ್‌ ಟು ಡೇಟ್‌ ಆಗಿದೆ</translation>
+<translation id="1875312262568496299">ಆರಂಭಿಸಿ</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" /> ಮೂಲಕ ಮಾತ್ರ ಇದನ್ನು ಸೇರಿಸಬಹುದಾಗಿದೆ</translation>
 <translation id="1877520246462554164">ದೃಢೀಕರಣ ಟೋಕನ್ ಪಡೆಯಲು ವಿಫಲವಾಗಿದೆ. ಸೈನ್ ಔಟ್ ಆಗಿ ಮತ್ತೆ ಸೈನ್ ಇನ್ ಆಗಿ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="1878302395768190018">Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಇದನ್ನು ನೀವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಬೇಕಾದರೂ ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು</translation>
@@ -745,6 +746,7 @@
 <translation id="2114896190328250491"><ph name="NAME" /> ಅವರಿಂದ ಫೋಟೋ</translation>
 <translation id="2115103655317273167">ಫೋನ್‌ಗೆ ಕಳುಹಿಸಿ</translation>
 <translation id="2119349053129246860"><ph name="APP" /> ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
+<translation id="2120297377148151361">ಚಟುವಟಿಕೆ ಮತ್ತು ಸಂವಹನಗಳು</translation>
 <translation id="2121825465123208577">ಮರುಗಾತ್ರ</translation>
 <translation id="2124930039827422115">{1,plural, =1{ಒಬ್ಬ ಬಳಕೆದಾರರ ಮೂಲಕ <ph name="AVERAGE_RATING" /> ರೇಟ್‌ ಮಾಡಲಾಗಿದೆ.}one{# ಬಳಕೆದಾರರ ಮೂಲಕ <ph name="AVERAGE_RATING" /> ರೇಟ್‌ ಮಾಡಲಾಗಿದೆ.}other{# ಬಳಕೆದಾರರ ಮೂಲಕ <ph name="AVERAGE_RATING" /> ರೇಟ್‌ ಮಾಡಲಾಗಿದೆ.}}</translation>
 <translation id="2126167708562367080">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಸಿಂಕ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ.</translation>
@@ -878,6 +880,7 @@
 <translation id="2318143611928805047">ಪೇಪರ್ ಗಾತ್ರ</translation>
 <translation id="2318817390901984578">Android ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಳಸಲು, ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಚಾರ್ಜ್ ಮಾಡಿ, ಅಪ್‌ಡೇಟ್ ಮಾಡಿ.</translation>
 <translation id="2318923050469484167">ಪ್ರಸ್ತುತ ಅದೃಶ್ಯ ಸೆಶನ್ (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128"><ph name="APP_NAME" /> ಜೊತೆಗೆ ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀ ಬಳಸಿ</translation>
 <translation id="2322193970951063277">ಶೀರ್ಷಿಕೆಗಳು ಮತ್ತು ಅಡಿಟಿಪ್ಪಣಿಗಳು</translation>
 <translation id="2325650632570794183">ಈ ಫೈಲ್ ಪ್ರಕಾರವು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ದಯವಿಟ್ಟು ಈ ಪ್ರಕಾರ ಫೈಲ್ ತೆರೆಯಬಹುದಾದ ಅಪ್ಲಿಕೇಶನ್ ಹುಡುಕಲು Chrome ವೆಬ್ ಅಂಗಡಿಗೆ ಭೇಟಿ ನೀಡಿ.</translation>
 <translation id="2326931316514688470">ಅಪ್ಲಿಕೇಶನ್ &amp;ಮರುಲೋಡ್ ಮಾಡಿ</translation>
@@ -911,6 +914,7 @@
 <translation id="2367199180085172140">ಫೈಲ್‌ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಸೇರಿಸಿ</translation>
 <translation id="2367972762794486313">ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ತೋರಿಸು</translation>
 <translation id="2369536625682139252">ಕುಕೀಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, <ph name="SITE" /> ಸಂಗ್ರಹಣೆ ಮಾಡಿರುವ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುವುದು.</translation>
+<translation id="237058345584060620">ನಿಮ್ಮ ಕೀಯನ್ನು ಈ ಸಾಧನಕ್ಕೆ ಜೋಡಿಸುವುದರಿಂದ, ಅದನ್ನು ನಿಮ್ಮ ಖಾತೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಬಳಸಬಹುದು</translation>
 <translation id="2371076942591664043">&amp;ಮುಗಿಸಿದಾಗ ತೆರೆಯಿರಿ</translation>
 <translation id="2376559921867170420">ನಿಮ್ಮ Chromebook ಅನ್ನು ಹೊಂದಿಸಿದಾಗ, ಅಸಿಸ್ಟೆಂಟ್ ಬಟನ್ ಅನ್ನು ಒತ್ತಿರಿ ಅಥವಾ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ ಅಸಿಸ್ಟೆಂಟ್‌‌ನಿಂದ ಸಹಾಯ ಪಡೆಯಲು "ಓಕೆ Google" ಎಂದು ಹೇಳಿ.</translation>
 <translation id="2377319039870049694">ಪಟ್ಟಿ ವೀಕ್ಷಣೆಗೆ ಬದಲಾಯಿಸಿ</translation>
@@ -976,6 +980,7 @@
 <translation id="248861575772995840">ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಪತ್ತೆ ಮಾಡಲಾಗಲಿಲ್ಲ. ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಸಾಧನಗಳಲ್ಲಿ ಬ್ಲೂಟೂತ್ ಆನ್‌ ಆಗಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. &lt;a&gt;ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ&lt;/a&gt;</translation>
 <translation id="2489918096470125693">&amp;ಫೋಲ್ಡರ್ ಅನ್ನು ಸೇರಿಸಿ...</translation>
 <translation id="249113932447298600">ಕ್ಷಮಿಸಿ, ಈ ಸಮಯದಲ್ಲಿ <ph name="DEVICE_LABEL" /> ಸಾಧನಕ್ಕೆ ಬೆಂಬಲ ದೊರೆಯುತ್ತಿಲ್ಲ.</translation>
+<translation id="2492040222276243256">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯ ಮೇಲಿನ ಬಟನ್ ಅನ್ನು ಕನಿಷ್ಠ 5 ಸೆಕೆಂಡುಗಳವರೆಗೆ ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ</translation>
 <translation id="2493021387995458222">"ಏಕಕಾಲಕ್ಕೆ ಒಂದು ಪದ" ಆಯ್ಕೆ ಮಾಡಿ</translation>
 <translation id="249303669840926644">ನೋಂದಣಿ ಪೂರೈಸಲಾಗಲಿಲ್ಲ</translation>
 <translation id="2495777824269688114">ಹೆಚ್ಚಿನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಶೋಧಿಸಿ ಅಥವಾ ಉತ್ತರಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಿ. ಸಹಾಯಕ್ಕಾಗಿ “?” ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation>
@@ -1003,6 +1008,7 @@
 <translation id="2520644704042891903">ಲಭ್ಯವಿರುವ ಸಾಕೆಟ್‌ಗಾಗಿ ಕಾಯಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="252219247728877310">ಕಾಂಪೊನೆಂಟ್ ನವೀಕರಣಗೊಂಡಿಲ್ಲ</translation>
 <translation id="2522791476825452208">ಅತಿ ಹತ್ತಿರ</translation>
+<translation id="2523184218357549926">ನೀವು ಭೇಟಿ ನೀಡುವ ಪುಟಗಳ URLಗಳನ್ನು Google ಗೆ ಕಳುಹಿಸುತ್ತದೆ</translation>
 <translation id="2525250408503682495">ಕ್ರಿಪ್ಟೊನೈಟ್! ಕಿಯೋಸ್ಕ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಾಗಿ ಕ್ರಿಪ್ಟೋಹೋಮ್ ಅನ್ನು ಇರಿಸಲಾಗಲಿಲ್ಲ.</translation>
 <translation id="2526277209479171883">ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ, ಮುಂದುವರಿಯಿರಿ</translation>
 <translation id="2526590354069164005">ಡೆಸ್ಕ್‌ಟಾಪ್</translation>
@@ -1029,6 +1035,7 @@
 <translation id="2562743677925229011"><ph name="SHORT_PRODUCT_NAME" /> ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿಲ್ಲ</translation>
 <translation id="2563856802393254086">ಅಭಿನಂದನೆಗಳು! ನಿಮ್ಮ '<ph name="NAME" />' ಡೇಟಾ ಸೇವೆಯನ್ನು ಕ್ರಿಯಾತ್ಮಕಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಮುಂದುವರೆಯಲು ಸಿದ್ಧವಾಗಿದೆ.</translation>
 <translation id="2564520396658920462">JavaScript ಅನ್ನು AppleScript ಮೂಲಕ ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡುವ ಸೌಲಭ್ಯವನ್ನು ಆಫ್ ಮಾಡಲಾಗಿದೆ. ಅದನ್ನು ಆನ್ ಮಾಡಲು, ಮೆನು ಬಾರ್‌ ಮೂಲಕ, ವೀಕ್ಷಣೆ &gt; ಡೆವಲಪರ್ &gt; Apple ಈವೆಂಟ್‌ಗಳಿಂದ JavaScript ಅನ್ನು ಅನುಮತಿಸಿಗೆ ಹೋಗಿ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಇಲ್ಲಿಗೆ ಭೇಟಿ ನೀಡಿ: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">ವರ್ಧಿತ ಕಾಗುಣಿತ ಪರೀಕ್ಷೆ</translation>
 <translation id="2566124945717127842">ಹೊಸದರಂತೆ ಮಾಡುವುದಕ್ಕಾಗಿ ನಿಮ್ಮ <ph name="IDS_SHORT_PRODUCT_NAME" /> ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಲು ಪವರ್‌ವಾಶ್ ಮಾಡಿ.</translation>
 <translation id="2567257616420533738">ಪಾಸ್‌ವರ್ಡ್ ಉಳಿಸಲಾಗಿದೆ. ಉಳಿಸಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು <ph name="SAVED_PASSWORDS_LINK" /> ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="2568774940984945469">ಮಾಹಿತಿಪಟ್ಟಿಯ ಕಂಟೇನರ್</translation>
@@ -1078,6 +1085,7 @@
 <translation id="2633199387167390344">ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶದಲ್ಲಿ <ph name="USAGE" /> MB ಅನ್ನು <ph name="NAME" /> ಬಳಸಿಕೊಳ್ಳುತ್ತಿದೆ.</translation>
 <translation id="2633212996805280240">"<ph name="EXTENSION_NAME" />" ಅನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> ಸ್ಥಾಪನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲಾಗಲಿಲ್ಲ, ಆದರೆ ಇದರ ಡಿಸ್ಕ್ ಇಮೇಜ್‌ನಿಂದ ಚಾಲನೆಗೊಳ್ಳುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ.</translation>
+<translation id="2633326789677284179">ನಿಮ್ಮ ಕೀಯ ಹಿಂಭಾಗದಲ್ಲಿ ಮುದ್ರಿಸಲಾಗಿರುವ ಹೆಸರನ್ನು ಕಂಡುಕೊಳ್ಳಿ</translation>
 <translation id="2635276683026132559">ಸಹಿ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="2636625531157955190">Chrome ಚಿತ್ರವನ್ನು ಪ್ರವೇಶಿಸುವುದಿಲ್ಲ.</translation>
 <translation id="2638087589890736295">ಸಿಂಕ್ ಪ್ರಾರಂಭಿಸಲು ಪಾಸ್‌ಫ್ರೇಸ್ ಅಗತ್ಯವಿದೆ</translation>
@@ -1391,6 +1399,7 @@
 <translation id="3090819949319990166">ಬಾಹ್ಯ crx ಫೈಲ್ ಅನ್ನು <ph name="TEMP_CRX_FILE" /> ಗೆ ನಕಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" ಜೋಡಿಸಲಾಗಿದೆ</translation>
 <translation id="3101709781009526431">ದಿನಾಂಕ  ಮತ್ತು  ಸಮಯ</translation>
+<translation id="3104900172193317662">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="310671807099593501">ಬ್ಲೂಟೂತ್ ಅನ್ನು ಸೈಟ್‌ ಬಳಸುತ್ತಿದೆ</translation>
 <translation id="3115128645424181617">ನಿಮ್ಮ ಫೋನ್‌ ಹುಡುಕಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದು ಸುಲಭವಾಗಿ ಲಭ್ಯವಿರುತ್ತದೆಯೇ ಮತ್ತು ಬ್ಲೂಟೂತ್‌ ಆನ್‌ ಮಾಡಲಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಕೊಳ್ಳಿ.</translation>
 <translation id="3115147772012638511">ಕ್ಯಾಶ್‌ಗಾಗಿ ನಿರೀಕ್ಷಿಸುತ್ತಿದೆ...</translation>
@@ -1874,6 +1883,7 @@
 <translation id="3839516600093027468"><ph name="HOST" /> ಕ್ಲಿಪ್‌ಬೋರ್ಡ್ ನೋಡುವುದನ್ನು ಯಾವಾಗಲೂ ನಿರ್ಬಂಧಿಸಿ</translation>
 <translation id="3840053866656739575">ನಿಮ್ಮ Chromebox ಗೆ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ. ದಯವಿಟ್ಟು ಹತ್ತಿರ ಸರಿಸಿ, ಅಥವಾ ನಾವು ಮರುಸಂಪರ್ಕಪಡಿಸುವಾಗ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಪರಿಶೀಲಿಸಿ.</translation>
 <translation id="3842552989725514455">Serif ಫಾಂಟ್</translation>
+<translation id="3846116211488856547">ವೆಬ್‌ಸೈಟ್‌ಗಳು, Android ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಮತ್ತು ಇನ್ನೂ ಹೆಚ್ಚಿನವುಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಪರಿಕರಗಳನ್ನು ಪಡೆಯಿರಿ. Linux ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್‌ ಮಾಡುವುದರಿಂದ <ph name="DOWNLOAD_SIZE" /> ಗಾತ್ರದ ಡೇಟಾವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.</translation>
 <translation id="385051799172605136">ಹಿಂದೆ</translation>
 <translation id="3851428669031642514">ಅಸುರಕ್ಷಿತ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಿ</translation>
 <translation id="3855441664322950881">ಪ್ಯಾಕ್ ವಿಸ್ತರಣೆ</translation>
@@ -1897,6 +1907,7 @@
 <translation id="3872991219937722530">ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶ ಮುಕ್ತಗೊಳಿಸಿ ಇಲ್ಲದಿದ್ದರೆ ಸಾಧನವು ಪ್ರತಿಕ್ರಿಯೆ ನೀಡದಂತಾಗುತ್ತದೆ.</translation>
 <translation id="3878840326289104869">ಮೇಲ್ವಿಚಾರಣೆಯ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="3879748587602334249">ಡೌನ್‌ಲೋಡ್ ನಿರ್ವಾಹಕ</translation>
+<translation id="3880709822663530586">ನಿಮ್ಮ ಸಾಧನದ ಬ್ಲೂಟೂತ್ ಆನ್ ಇದ್ದಾಗ ಮಾತ್ರ ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀ ಕೆಲಸ ಮಾಡುತ್ತದೆ</translation>
 <translation id="3888550877729210209"><ph name="LOCK_SCREEN_APP_NAME" /> ಮೂಲಕ ಟಿಪ್ಪಣಿಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತಿದೆ</translation>
 <translation id="3892414795099177503">OpenVPN / L2TP ಸೇರಿಸಿ...</translation>
 <translation id="3893536212201235195">ನಿಮ್ಮ ಪ್ರವೇಶಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಓದಿ ಮತ್ತು ಬದಲಾಯಿಸಿ</translation>
@@ -2358,6 +2369,7 @@
 <translation id="4681930562518940301">ಹೊಸ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ಮೂಲ &amp;ಚಿತ್ರವನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="4682551433947286597">ಸೈನ್-ಇನ್ ಪರದೆಯ ಮೇಲೆ ವಾಲ್‌ಪೇಪರ್‌ಗಳು ಗೋಚರಿಸುತ್ತವೆ.</translation>
 <translation id="4684427112815847243">ಪ್ರತಿಯೊಂದನ್ನು ಸಿಂಕ್ ಮಾಡಿ</translation>
+<translation id="4689235506267737042">ನಿಮ್ಮ ಡೆಮೋ ಆದ್ಯತೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="4689421377817139245">ನಿಮ್ಮ iPhone ಗೆ ಈ ಬುಕ್‌ಮಾರ್ಕ್ ಅನ್ನು ಸಿಂಕ್ ಮಾಡಿ</translation>
 <translation id="4690091457710545971">&lt;Intel ವೈ-ಫೈ ಫರ್ಮ್‌ವೇರ್, ನಾಲ್ಕು ಫೈಲ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಿದೆ: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. ಮೊದಲ ಮೂರು ಫೈಲ್‌ಗಳು, ರಿಜಿಸ್ಟರ್ ಡಂಪ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ಬೈನರಿ ಫೈಲ್‌ಗಳಾಗಿವೆ ಮತ್ತು ಇವುಗಳಲ್ಲಿ ಯಾವುದೇ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ಅಥವಾ ಸಾಧನವನ್ನು-ಗುರುತಿಸುವ ಮಾಹಿತಿ ಇಲ್ಲವೆಂದು Intel ಪ್ರತಿಪಾದಿಸುತ್ತದೆ. ಕೊನೆಯ ಫೈಲ್, Intel ಫರ್ಮ್‌ವೇರ್ ಒದಗಿಸಿದ ಎಕ್ಸಿಕ್ಯೂಷನ್ ಟ್ರೇಸ್ ಆಗಿದೆ; ಯಾವುದೇ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ಅಥವಾ ಸಾಧನವನ್ನು-ಗುರುತಿಸುವ ಮಾಹಿತಿಯನ್ನು ಅದರಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ, ಆದರೆ ಅದು ತೀರಾ ದೊಡ್ಡದಾಗಿರುವುದರಿಂದ ಅದನ್ನು ಇಲ್ಲಿ ಪ್ರದರ್ಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಇತ್ತೀಚೆಗೆ ಉಂಟಾದ ವೈ-ಫೈ ಸಮಸ್ಯೆಗಳಿಗೆ ಪ್ರತಿಯಾಗಿ ಈ ಫೈಲ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಲಾಗಿದೆ ಮತ್ತು ಈ ಸಮಸ್ಯೆಗಳನ್ನು ನಿವಾರಿಸಲು ನೆರವಾಗುವುದಕ್ಕಾಗಿ, Intel ನೊಂದಿಗೆ ಇವುಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತದೆ.&gt;</translation>
 <translation id="4692302215262324251"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ಡೊಮೇನ್ ಮೂಲಕ ಎಂಟರ್‌ಪ್ರೈಸ್ ನಿರ್ವಹಣೆಗಾಗಿ ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ದಾಖಲಿಸಲಾಗಿದೆ.
@@ -2464,7 +2476,6 @@
 <translation id="4856478137399998590">ನಿಮ್ಮ ಮೊಬೈಲ್ ಡೇಟಾ ಸೇವೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗಿದೆ</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲವನ್ನೂ ತೆರೆಯಿರಿ}=1{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ತೆರೆಯಿರಿ}one{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲಾ (#) ಅನ್ನು ತೆರೆಯಿರಿ}other{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲಾ (#) ಅನ್ನು ತೆರೆಯಿರಿ}}</translation>
 <translation id="4858913220355269194">ಫ್ರಿಟ್ಜ್</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - ಚಿತ್ರದಲ್ಲಿನ ಚಿತ್ರದಲ್ಲಿ ವೀಡಿಯೊ ಪ್ಲೇ ಆಗುತ್ತಿದೆ</translation>
 <translation id="4862050643946421924">ಸಾಧನವನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="4862642413395066333">OCSP ಪ್ರತಿಕ್ರಿಯೆಗಳಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (ಡಿಫಾಲ್ಟ್‌‌) ನಂತೆ ತೋರುತ್ತಿದೆ</translation>
@@ -2488,6 +2499,7 @@
 <translation id="4880827082731008257">ಹುಡುಕಾಟ ಇತಿಹಾಸ</translation>
 <translation id="4881695831933465202">ತೆರೆ</translation>
 <translation id="4882473678324857464">ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳನ್ನು ಗಮನಿಸಿ</translation>
+<translation id="4882831918239250449">ಹುಡುಕಾಟ, ಜಾಹೀರಾತುಗಳು ಮತ್ತು ಇನ್ನೂ ಹೆಚ್ಚಿನವುಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸಲು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ</translation>
 <translation id="4883178195103750615">ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳನ್ನು HTML ಫೈಲ್‌ಗೆ ರಪ್ತು ಮಾಡಿ...</translation>
 <translation id="4883436287898674711">ಎಲ್ಲಾ <ph name="WEBSITE_1" /> ಸೈಟ್‌ಗಳು</translation>
 <translation id="48838266408104654">&amp;ಕಾರ್ಯ ನಿರ್ವಾಹಕ</translation>
@@ -2764,6 +2776,7 @@
 <translation id="5288678174502918605">ಮುಚ್ಚಿದ ಟ್ಯಾಬ್ ಮರು&amp;ತೆರೆಯಿರಿ</translation>
 <translation id="52912272896845572">ಖಾಸಗಿ ಕೀಲಿ ಫೈಲ್ ಅಮಾನ್ಯವಾಗಿದೆ.</translation>
 <translation id="529175790091471945">ಈ ಸಾಧನವನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ</translation>
+<translation id="5292195676005197571">ಹೆಚ್ಚಿನ ಕೀಗಳನ್ನು ಬಳಸಲು, ಕೇವಲ ಬಟನ್ ಅನ್ನು ಒತ್ತಿರಿ</translation>
 <translation id="5293170712604732402">ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅದರ ಮೂಲ ಡೀಫಾಲ್ಟ್‌ಗಳಿಗೆ ಮರುಸ್ಥಾಪಿಸಿ</translation>
 <translation id="5298219193514155779">ಇವರಿಂದ ಥೀಮ್ ರಚಿಸಲಾಗಿದೆ</translation>
 <translation id="5299109548848736476">ಟ್ರ್ಯಾಕ್ ಮಾಡಬೇಡಿ</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">ಹೆಚ್ಚುವರಿ ಸುರಕ್ಷತೆಗಾಗಿ, 20 ಗಂಟೆಗಳ ನಂತರ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ನಮೂದಿಸಿ ಎಂದು Smart Lock ನಿಮ್ಮನ್ನು ಕೇಳುತ್ತದೆ.</translation>
 <translation id="5659593005791499971">ಇಮೇಲ್</translation>
 <translation id="5659833766619490117">ಈ ಪುಟವನ್ನು ಅನುವಾದಿಸಲಾಗುವುದಿಲ್ಲ</translation>
+<translation id="5660204307954428567"><ph name="DEVICE_NAME" /> ಸಾಧನದೊಂದಿಗೆ ಜೋಡಿಸಿ</translation>
 <translation id="5662477687021125631">ಶಾಶ್ವತ</translation>
 <translation id="5667546120811588575">Google Play ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="5669267381087807207">ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="5669691691057771421">ಹೊಸ ಪಿನ್ ನಮೂದಿಸಿ</translation>
 <translation id="5671641761787789573">ಚಿತ್ರಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
+<translation id="5673076758299428095">Linux ಅನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಿ</translation>
 <translation id="5677503058916217575">ಪುಟದ ಭಾಷೆ:</translation>
 <translation id="5677928146339483299">ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
 <translation id="5678550637669481956"><ph name="VOLUME_NAME" /> ಗೆ ಓದಲು ಮತ್ತು ಬರೆಯಲು ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ.</translation>
@@ -3192,6 +3207,9 @@
 <translation id="5920835625712313205">Chrome OS ಸಿಸ್ಟಂ ಚಿತ್ರ ಬರೆಯುವಿಕೆ</translation>
 <translation id="5921745308587794300">ವಿಂಡೋ ತಿರುಗಿಸಿ</translation>
 <translation id="5924047253200400718">ಸಹಾಯ ಪಡೆಯಿರಿ<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">ಹೊಸ ಫೋಟೋ ಒಂದನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ ಅಥವಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಫೋಟೊ ಅಥವಾ ಐಕಾನ್‌ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.
+    <ph name="LINE_BREAK" />
+    ಈ ಚಿತ್ರವನ್ನು Chromebook ನ ಸೈನ್‌ ಇನ್‌ ಪರದೆ ಮತ್ತು ಲಾಕ್‌ ಪರದೆಯ ಮೇಲೆ ತೋರಿಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="5925147183566400388">ದೃಢೀಕರಣ ಅಭ್ಯಾಸ ಹೇಳಿಕೆಯ ಸೂಚಕ</translation>
 <translation id="592880897588170157">Chrome ನಲ್ಲಿ PDF ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆರೆಯುವ ಬದಲು ಅವುಗಳನ್ನು ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಿ</translation>
 <translation id="5931146425219109062">ನೀವು ಭೇಟಿ ಮಾಡಿದ ವೆಬ್‌ಸೈಟ್‌ಗಳಲ್ಲಿರುವ ನಿಮ್ಮ ಎಲ್ಲ ಡೇಟಾವನ್ನು ಓದಿರಿ ಮತ್ತು ಬದಲಾಯಿಸಿ</translation>
@@ -3288,6 +3306,7 @@
 <translation id="6078752646384677957">ನಿಮ್ಮ ಮೈಕ್ರೋಫೋನ್ ಮತ್ತು ಆಡಿಯೋ ಹಂತಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.</translation>
 <translation id="6080515710685820702">ಹಂಚಿದ ಕಂಪ್ಯೂಟರ್‌ ಬಳಸಲಾಗುತ್ತಿದೆಯೇ? ಅದೃಶ್ಯ ವಿಂಡೋವನ್ನು ತೆರೆಯಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6080689532560039067">ನಿಮ್ಮ ಸಿಸ್ಟಂ ಸಮಯವನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
+<translation id="6082111513049964958">ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್</translation>
 <translation id="6082651258230788217">ಪರಿಕರಪಟ್ಟಿಯಲ್ಲಿ ತೋರಿಸು</translation>
 <translation id="6086846494333236931">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ಸ್ಥಾಪಿಸಿದ್ದಾರೆ</translation>
 <translation id="6087960857463881712">ಅದ್ಭುತ ಮುಖ</translation>
@@ -3511,6 +3530,7 @@
 <translation id="642282551015776456">ಈ ಹೆಸರನ್ನು ಫೋಲ್ಡರ್‌ನ ಫೈಲ್‌ನಂತೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="642469772702851743">ಈ ಸಾಧನವು (SN: <ph name="SERIAL_NUMBER" />) ಅದರ ಮಾಲೀಕರಿಂದ ಲಾಕ್ ಮಾಡಲ್ಪಟ್ಟಿದೆ.</translation>
 <translation id="6426200009596957090">ChromeVox ಸೆಟಿಂಗ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ</translation>
+<translation id="6427415464407526111">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯನ್ನು ಆಯ್ಕೆಮಾಡಿ</translation>
 <translation id="6429384232893414837">ಅಪ್‌ಡೇಟ್ ದೋಷ</translation>
 <translation id="6430814529589430811">Base64-ಎನ್‌ಕೋಡ್ ಮಾಡಿದ ASCII, ಏಕ ಪ್ರಮಾಣಪತ್ರ</translation>
 <translation id="6431217872648827691"><ph name="TIME" /> ವರೆಗೆ ನಿಮ್ಮ Google ಪಾಸ್‍ವರ್ಡ್‌ ಜೊತೆ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಎನ್‍ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ</translation>
@@ -3936,6 +3956,7 @@
 <translation id="7099337801055912064">ದೊಡ್ಡ ಗಾತ್ರದ PPD ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಗರಿಷ್ಠ ಗಾತ್ರ 250 kB ಆಗಿದೆ.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> ಐಟಂಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ</translation>
 <translation id="7102687220333134671">ಸ್ವಯಂಚಾಲಿತ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ</translation>
+<translation id="7102832101143475489">ವಿನಂತಿಯ ಅವಧಿ ಮೀರಿದೆ</translation>
 <translation id="7106346894903675391">ಇನ್ನಷ್ಟು ಸಂಗ್ರಹಣೆಯನ್ನು ಖರೀದಿಸಿ...</translation>
 <translation id="7108338896283013870">ಮರೆಮಾಡಿ</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> ನಿಮ್ಮ ಕ್ಯಾಮರಾವನ್ನು ಬಳಸಲು ಬಯಸುತ್ತದೆ</translation>
@@ -4144,7 +4165,6 @@
 <translation id="7427348830195639090">ಹಿನ್ನೆಲೆ ಪುಟ: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{&amp;ಹೊಸ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲವನ್ನೂ ತೆರೆಯಿರಿ}=1{&amp;ಹೊಸ ವಿಂಡೋದಲ್ಲಿ ತೆರೆಯಿರಿ}one{&amp;ಹೊಸ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲಾ (#) ಅನ್ನು ತೆರೆಯಿರಿ}other{&amp;ಹೊಸ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲಾ (#) ಅನ್ನು ತೆರೆಯಿರಿ}}</translation>
 <translation id="7434509671034404296">ಡೆವಲಪರ್</translation>
-<translation id="7436470008146509879">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ನಲ್ಲಿ Linux ಅನ್ನು ಹೊಂದಿಸಿ</translation>
 <translation id="7436921188514130341">ಓಹ್, ಹೋಯ್ತು! ಮರುಹೆಸರಿಸುವ ಸಂದರ್ಭದಲ್ಲಿ ದೋಷ ಕಂಡುಬಂದಿದೆ.</translation>
 <translation id="7441830548568730290">ಇತರ ಬಳಕೆದಾರರು</translation>
 <translation id="7442465037756169001">ನಿಮ್ಮ Hangouts Meet hardware ಸೆಟಪ್‌ಗೆ ಎಲ್ಲ ರೀತಿಯಲ್ಲಿಯೂ ಸಿದ್ಧವಾಗಿದೆ.</translation>
@@ -4436,7 +4456,6 @@
 <translation id="7881969471599061635">ಉಪಶೀರ್ಷಿಕೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸು</translation>
 <translation id="7882358943899516840">ಪೂರೈಕೆದಾರರ ಪ್ರಕಾರ</translation>
 <translation id="7885253890047913815">ಇತ್ತೀಚಿನ ಗಮ್ಯಸ್ಥಾನಗಳು</translation>
-<translation id="7886917304091689118">Chrome ನಲ್ಲಿ ಚಾಲನೆಯಾಗುತ್ತಿದೆ</translation>
 <translation id="7887334752153342268">ನಕಲು</translation>
 <translation id="7887864092952184874">ಬ್ಲೂಟೂತ್‌ ಮೌಸ್ ಜೋಡಿಯಾಗಿದೆ</translation>
 <translation id="7889565820482017512">ಡಿಸ್‌ಪ್ಲೇ ಗಾತ್ರ</translation>
@@ -4547,6 +4566,7 @@
 <translation id="8028993641010258682">ಗಾತ್ರ</translation>
 <translation id="8030656706657716245">ಪ್ರಿಂಟರ್ ಸೇರಿಸಿ</translation>
 <translation id="8032244173881942855">ಟ್ಯಾಬ್‌‌ಗೆ ಬಿತ್ತರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
+<translation id="8033958968890501070">ಅವಧಿ ಮೀರಿದೆ</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲವನ್ನು ತೆರೆಯಿರಿ}=1{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ತೆರೆಯಿರಿ}one{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲಾ (#) ಅನ್ನು ತೆರೆಯಿರಿ}other{&amp;ಅಜ್ಞಾತ ವಿಂಡೋದಲ್ಲಿ ಎಲ್ಲಾ (#) ಅನ್ನು ತೆರೆಯಿರಿ}}</translation>
 <translation id="8037117027592400564">ಸಂಯೋಜನೆ ಗೊಳಿಸಿದ ಧ್ವನಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಮಾತನಾಡುವ ಎಲ್ಲಾ ಪಠ್ಯವನ್ನು ಓದಿ</translation>
 <translation id="8037357227543935929">ಕೇಳು (ಡಿಫಾಲ್ಟ್)</translation>
@@ -4605,7 +4625,6 @@
 <translation id="8118860139461251237">ನಿಮ್ಮ ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="81238879832906896">ಹಳದಿ ಮತ್ತು ಬಿಳಿ ಹೂ</translation>
 <translation id="8124313775439841391">ನಿರ್ವಹಿಸಲಾದ ONC</translation>
-<translation id="8125562866093998907">ನಿಮ್ಮ ಖಾತೆಗೆ ಹೆಚ್ಚಿನ ಸುರಕ್ಷತೆ ಒದಗಿಸುವುದಕ್ಕಾಗಿ, ಸೈಟ್ ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯನ್ನು ಪರಿಶೀಲಿಸಲು ಬಯಸುತ್ತದೆ.</translation>
 <translation id="813082847718468539">ಸೈಟ್ ಮಾಹಿತಿಯನ್ನು ವೀಕ್ಷಿಸಿ</translation>
 <translation id="8131740175452115882">ದೃಢೀಕರಿಸು</translation>
 <translation id="8133676275609324831">ಫೋಲ್ಡರ್‌ನಲ್ಲಿ &amp;ತೋರಿಸಿ</translation>
@@ -4637,6 +4656,8 @@
 <translation id="8180239481735238521">ಪುಟ</translation>
 <translation id="8180786512391440389">ಗುರುತಿಸಿದ ಸ್ಥಳಗಳಲ್ಲಿನ ಚಿತ್ರಗಳು, ವಿಡಿಯೋ, ಮತ್ತು ಧ್ವನಿ ಫೈಲ್‌ಗಳನ್ನು "<ph name="EXTENSION" />" ಓದಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.</translation>
 <translation id="8181215761849004992">ಡೊಮೇನ್ ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಸಾಧನಗಳನ್ನು ಸೇರಿಸಲು ನೀವು ಸಾಕಷ್ಟು ಸವಲತ್ತುಗಳನ್ನು ಹೊಂದಿರುವಿರಾ ಎಂಬುದನ್ನು ನೋಡಲು ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    ನನ್ನ ಪ್ರಕಾರ ಈ ಸೈಟ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಬೇಕಾಗಿಲ್ಲ!</translation>
 <translation id="8184288427634747179"><ph name="AVATAR_NAME" /> ಗೆ ಬದಲಿಸಿ</translation>
 <translation id="8184318863960255706">ಹೆಚ್ಚಿನ ಮಾಹಿತಿ</translation>
 <translation id="8185331656081929126">ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿರುವ ಹೊಸ ಪ್ರಿಂಟರ್‌ಗಳನ್ನು ಪತ್ತೆ ಮಾಡಿದಾಗ ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸು</translation>
@@ -4781,6 +4802,7 @@
 <translation id="8434480141477525001">NaCl ಡೀಬಗ್‌ ಪೋರ್ಟ್‌</translation>
 <translation id="843760761634048214">ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ಉಳಿಸಿ</translation>
 <translation id="8438328416656800239">ಸ್ಮಾರ್ಟ್ ಬ್ರೌಸರ್‌ಗೆ ಬದಲಿಸಿ</translation>
+<translation id="8438566539970814960">ಹುಡುಕಾಟಗಳನ್ನು ಮತ್ತು ಬ್ರೌಸಿಂಗ್ ಅನ್ನು ಉತ್ತಮಗೊಳಿಸುವಂತೆ ಮಾಡಿ</translation>
 <translation id="8439506636278576865">ಪುಟಗಳನ್ನು ಈ ಭಾಷೆಯಲ್ಲಿ ಅನುವಾದ ಮಾಡಲು ಅವಕಾಶ</translation>
 <translation id="8446884382197647889">ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ</translation>
 <translation id="8447409163267621480">Ctrl ಅಥವಾ Alt ಅನ್ನು ಒಳಗೊಂಡಿದೆ</translation>
@@ -4987,7 +5009,6 @@
 <translation id="8736288397686080465">ಈ ಸೈಟ್ ಅನ್ನು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ಬದಲಾಗಿ <ph name="PROTOCOL" /> ಲಿಂಕ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ</translation>
 <translation id="8737709691285775803">ಶಿಲ್</translation>
-<translation id="8741316211671074806">ಚಿತ್ರದಲ್ಲಿ ಚಿತ್ರ</translation>
 <translation id="8743390665131937741">ಪೂರ್ಣಪರದೆಯ ಝೂಮ್ ಮಟ್ಟ:</translation>
 <translation id="8743864605301774756">1ಗಂಟೆಯ ಹಿಂದೆ ಆಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="874689135111202667">{0,plural, =1{ಈ ಸೈಟ್‌ಗೆ ಒಂದು ಫೈಲ್‌ ಅನ್ನು ಅಪ್‌ಲೋಡ್‌ ಮಾಡಬೇಕೇ?}one{ಈ ಸೈಟ್‌ಗೆ # ಫೈಲ್‌ಗಳನ್ನು ಅಪ್‌ಲೋಡ್‌ ಮಾಡಬೇಕೇ?}other{ಈ ಸೈಟ್‌ಗೆ # ಫೈಲ್‌ಗಳನ್ನು ಅಪ್‌ಲೋಡ್‌ ಮಾಡಬೇಕೇ?}}</translation>
@@ -5139,6 +5160,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ಕ್ರ್ಯಾಶ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="8983677657449185470">ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್ ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡಿ</translation>
 <translation id="8984654317541110628">ಫೈಲ್‌ ಹಂಚಿಕೊಳ್ಳುವ URL</translation>
+<translation id="8984872292925913496">ನಿಮ್ಮ ಕೀಯ ಹಿಂಬದಿಯಲ್ಲಿನ 6-ಅಂಕಿಯ ಪಿನ್ ಅನ್ನು ಕಂಡುಕೊಳ್ಳಿ</translation>
 <translation id="8986362086234534611">ಮರೆತುಹೋಗು</translation>
 <translation id="8986494364107987395">ಬಳಕೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು ಮತ್ತು ಕ್ರಾಶ್ ವರದಿಗಳನ್ನು Google ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರವಾನಿಸು</translation>
 <translation id="8987927404178983737">ತಿಂಗಳು</translation>
@@ -5261,6 +5283,7 @@
 <translation id="9158715103698450907">ಓಹ್! ದೃಢೀಕರಣ ಸಮಯದಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್ ಸಂಹವನ ಸಮಸ್ಯೆಯು ಸಂಭವಿಸಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಸಂರ್ಪಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="9161070040817969420">ಇದಕ್ಕೆ ಉಪಫ್ರೇಮ್‌ಗಳು: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">ಸಿಸ್ಟಂ ಡೇಟಾ ಕಳುಹಿಸಿ. ಈ ಸಾಧನವು ಪ್ರಸ್ತುತ ಡಯಾಗ್ನೋಸ್ಟಿಕ್‌, ಸಾಧನ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಕೆಯ ಡೇಟಾವನ್ನು Google ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಳುಹಿಸುತ್ತದೆ. ಈ ಸೆಟ್ಟಿಂಗ್‌ ಅನ್ನು ಮಾಲೀಕರು ಜಾರಿಗೊಳಿಸಿದ್ದಾರೆ. ನೀವು ಹೆಚ್ಚುವರಿ ವೆಬ್‌ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ ಚಟುವಟಿಕೆಯನ್ನು ಆನ್‌ ಮಾಡಿದರೆ, ಈ ಮಾಹಿತಿಯು ನಿಮ್ಮ ಖಾತೆಯೊಂದಿಗೆ ಸಂಗ್ರಹವಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅದನ್ನು ನೀವು ನನ್ನ ಚಟುವಟಿಕೆಯಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು. <ph name="BEGIN_LINK1" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">ಚಿತ್ರದಲ್ಲಿ ಚಿತ್ರ</translation>
 <translation id="9169496697824289689">ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> ಅನ್ನು ಮುಖಪುಟದ ಪರದೆಗೆ ಸೇರಿಸಿ</translation>
 <translation id="9170397650136757332">ನಿಮ್ಮ ಫಿಂಗರ್‌ ಫ್ರಿಂಟ್‌‌ನ ಎಲ್ಲಾ ವಿವಿಧ ಭಾಗಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ಇದೀಗ ನಿಮ್ಮ ಬೆರಳನ್ನು ನಿಧಾನವಾಗಿ ಸರಿಸಿ</translation>
@@ -5312,7 +5335,6 @@
 <translation id="952992212772159698">ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿಲ್ಲ</translation>
 <translation id="957960681186851048">ಈ ಸೈಟ್‌ ಬಹು ಫೈಲ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲು ಯತ್ನಿಸಿದೆ</translation>
 <translation id="9580706199804957">Google ಸೇವೆಗಳ ಮೂಲಕ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</translation>
-<translation id="958416628331784386">ಚಿತ್ರದಲ್ಲಿನ ಚಿತ್ರದಲ್ಲಿ ಈ ಟ್ಯಾಬ್ ವೀಡಿಯೊವನ್ನು ಪ್ಲೇ ಮಾಡುತ್ತಿದೆ.</translation>
 <translation id="960719561871045870">ಆಪರೇಟರ್ ಕೋಡ್</translation>
 <translation id="960987915827980018">ಸುಮಾರು 1 ಗಂಟೆ ಉಳಿದಿದೆ</translation>
 <translation id="962802172452141067">ಬುಕ್‌ಮಾರ್ಕ್ ಫೋಲ್ಡರ್ ಟ್ರೀ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 5ea5fda..6ee6ac1 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">사용 통계 및 비정상 종료 보고서가 Google로 자동 전송되게 하여 <ph name="PRODUCT_NAME" /> 개선에 도움 주기</translation>
 <translation id="1658424621194652532">마이크에 액세스하는 페이지입니다.</translation>
 <translation id="1660204651932907780">사이트에서 소리를 재생하도록 허용(권장)</translation>
-<translation id="1660938185063657230">보안 키 인증</translation>
 <translation id="1661156625580498328">AES 암호화를 적용합니다(권장).</translation>
 <translation id="1661245713600520330">이 페이지에는 기본 프로세스에 로드된 모든 모듈과 나중에 로드하도록 등록된 모듈이 표시되어 있습니다.</translation>
 <translation id="166179487779922818">비밀번호가 너무 짧습니다.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" />님의 비밀번호 삭제</translation>
 <translation id="1819721979226826163">앱 알림 &gt; Google Play 서비스를 탭합니다.</translation>
 <translation id="1826516787628120939">확인 중</translation>
-<translation id="1827750274519118478">PIP 모드 동영상 재생이 중지됩니다.</translation>
 <translation id="1828378091493947763">이 기기에서 지원되지 않는 플러그인입니다.</translation>
 <translation id="1828901632669367785">시스템 대화상자를 사용하여 인쇄...</translation>
 <translation id="1829192082282182671">축소(&amp;O)</translation>
@@ -2464,7 +2462,6 @@
 <translation id="4856478137399998590">모바일 데이터 서비스가 활성화되었으며 사용할 준비가 되었습니다.</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{시크릿 창에서 모두 열기(I)}=1{시크릿 창에서 열기(I)}other{시크릿 창에서 #개 모두 열기(I)}}</translation>
 <translation id="4858913220355269194">축구왕</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - PIP 모드로 동영상 재생 중</translation>
 <translation id="4862050643946421924">기기 추가 중...</translation>
 <translation id="4862642413395066333">OCSP 응답 서명</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" />x<ph name="HEIGHT" />(권장)처럼 보입니다.</translation>
@@ -3132,7 +3129,7 @@
 <translation id="5835486486592033703"><ph name="WINDOW_TITLE" /> - 카메라 또는 마이크 녹음</translation>
 <translation id="5835754902560991078">매우 짧게(0.6초)</translation>
 <translation id="5838456317242088717">현재 시크릿 세션</translation>
-<translation id="5842053879378944309"><ph name="APP_NAME" />(을)를 통해 USB 보안 키 사용</translation>
+<translation id="5842053879378944309"><ph name="APP_NAME" /> 로그인 시 USB 보안 키 사용</translation>
 <translation id="5842497610951477805">블루투스 사용</translation>
 <translation id="5843250171025351504">사용 중인 기기가 더 이상 관리자가 지정한 최소 클라이언트 버전을 준수하지 않습니다. 로그인하려면 업데이트하세요.</translation>
 <translation id="5846929185714966548">탭 4</translation>
@@ -3803,7 +3800,7 @@
 <translation id="6885771755599377173">시스템 정보 미리보기</translation>
 <translation id="6886871292305414135">새 탭에서 링크 열기(&amp;T)</translation>
 <translation id="6892812721183419409"><ph name="USER" />(으)로 링크 열기</translation>
-<translation id="6896398788631624004">보안 키를 연결하고 활성화하세요.</translation>
+<translation id="6896398788631624004">보안 키를 꽂고 활성화하세요.</translation>
 <translation id="6896758677409633944">복사</translation>
 <translation id="6898440773573063262">이제 키오스크 애플리케이션이 기기에서 자동 실행되도록 설정할 수 있습니다.</translation>
 <translation id="6898699227549475383">조직(O)</translation>
@@ -4145,7 +4142,6 @@
 <translation id="7427348830195639090">백그라운드 페이지: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{모두 새 창에서 열기(N)}=1{새 창에서 열기(N)}other{#개 모두 새 창에서 열기(N)}}</translation>
 <translation id="7434509671034404296">개발자 정보</translation>
-<translation id="7436470008146509879"><ph name="DEVICE_TYPE" />에 Linux 설치하기</translation>
 <translation id="7436921188514130341">이름 변경 중에 오류가 발생했습니다.</translation>
 <translation id="7441830548568730290">다른 사용자</translation>
 <translation id="7442465037756169001">행아웃 미팅 하드웨어 설정 준비가 완료되었습니다.</translation>
@@ -4444,7 +4440,6 @@
 <translation id="7881969471599061635">자막 사용 중지</translation>
 <translation id="7882358943899516840">공급자 유형</translation>
 <translation id="7885253890047913815">최근 대상</translation>
-<translation id="7886917304091689118">Chrome에서 실행 중</translation>
 <translation id="7887334752153342268">새 탭에서 보기</translation>
 <translation id="7887864092952184874">블루투스 마우스 페어링됨</translation>
 <translation id="7889565820482017512">디스플레이 크기</translation>
@@ -4615,7 +4610,6 @@
 <translation id="8118860139461251237">다운로드 관리</translation>
 <translation id="81238879832906896">노란색과 흰색 꽃</translation>
 <translation id="8124313775439841391">관리되는 ONC</translation>
-<translation id="8125562866093998907">사이트에서 계정 보안 강화를 위해 보안 키를 인증하려 합니다.</translation>
 <translation id="813082847718468539">사이트 정보 보기</translation>
 <translation id="8131740175452115882">확인</translation>
 <translation id="8133676275609324831">폴더 열기(&amp;S)</translation>
@@ -4994,7 +4988,6 @@
 <translation id="8736288397686080465">이 사이트는 백그라운드에서 업데이트되었습니다.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> 대신 <ph name="PROTOCOL" /> 링크 열기</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">PIP 모드</translation>
 <translation id="8743390665131937741">전체화면 돋보기 확대/축소 수준:</translation>
 <translation id="8743864605301774756">1시간 전에 업데이트되었습니다.</translation>
 <translation id="874689135111202667">{0,plural, =1{파일 1개를 이 사이트에 업로드하시겠습니까?}other{파일 #개를 이 사이트에 업로드하시겠습니까?}}</translation>
@@ -5173,7 +5166,7 @@
 <translation id="9024331582947483881">전체화면</translation>
 <translation id="9025098623496448965">예, 로그인 화면으로 돌아갑니다.</translation>
 <translation id="9026731007018893674">다운로드</translation>
-<translation id="9026852570893462412">이 과정은 몇 분 정도 소요될 수 있습니다. 가상 머신을 다운로드합니다.</translation>
+<translation id="9026852570893462412">이 과정은 몇 분 정도 걸릴 수 있습니다. 가상 머신을 다운로드합니다.</translation>
 <translation id="9027459031423301635">새 탭에서 링크 열기(&amp;T)</translation>
 <translation id="9030515284705930323">조직에서 내 계정이 Google Play 스토어를 사용하도록 설정하지 않았습니다. 자세한 정보는 관리자에게 문의하세요.</translation>
 <translation id="9033857511263905942">붙여넣기(&amp;P)</translation>
@@ -5268,6 +5261,7 @@
 <translation id="9158715103698450907">인증하는 중에 네트워크 통신 문제가 발생했습니다.  네트워크 연결을 확인한 뒤 다시 시도해 주세요.</translation>
 <translation id="9161070040817969420">다음 사이트의 서브프레임: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">시스템 데이터를 전송합니다. 이 기기는 현재 진단과 기기 및 앱 사용 데이터를 Google로 자동 전송하고 있습니다. 이 설정은 소유자가 지정했습니다. 추가 웹 및 앱 활동을 사용 설정하면 이 정보가 계정에 저장되어 내 활동에서 관리할 수 있습니다. <ph name="BEGIN_LINK1" />자세히 알아보기<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">PIP 모드</translation>
 <translation id="9169496697824289689">단축키 보기</translation>
 <translation id="9169931577761441333">홈 화면에 <ph name="APP_NAME" /> 추가</translation>
 <translation id="9170397650136757332">이제 지문의 다른 부분도 모두 인식되도록 손가락을 살짝 움직이세요.</translation>
@@ -5276,7 +5270,7 @@
 <translation id="9173995187295789444">블루투스 기기 검색 중...</translation>
 <translation id="9176611096776448349"><ph name="WINDOW_TITLE" /> - 블루투스 기기 연결됨</translation>
 <translation id="9177499212658576372">현재 <ph name="NETWORK_TYPE" /> 네트워크에 연결되어 있습니다.</translation>
-<translation id="9180281769944411366">이 과정은 몇 분 정도 소요될 수 있습니다. Linux 컨테이너를 시작합니다.</translation>
+<translation id="9180281769944411366">이 과정은 몇 분 정도 걸릴 수 있습니다. Linux 컨테이너를 시작합니다.</translation>
 <translation id="9180380851667544951">사이트에서 화면을 공유할 수 있습니다.</translation>
 <translation id="9188441292293901223"><ph name="DEVICE_TYPE" />을(를) 잠금 해제하려면 휴대전화의 Android를 최신 버전으로 업데이트하세요.</translation>
 <translation id="9190063653747922532">L2TP/IPSec + 사전 공유 키</translation>
@@ -5318,7 +5312,6 @@
 <translation id="952992212772159698">활성화되지 않음</translation>
 <translation id="957960681186851048">이 사이트에서 여러 파일을 자동으로 다운로드하려고 함</translation>
 <translation id="9580706199804957">Google 서비스에 연결할 수 없음</translation>
-<translation id="958416628331784386">이 탭에서는 PIP 모드로 동영상이 재생되고 있습니다.</translation>
 <translation id="960719561871045870">운영자 코드</translation>
 <translation id="960987915827980018">약 1시간 남음</translation>
 <translation id="962802172452141067">북마크 폴더 구조</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index fe3edd49..7aba4ca 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pristabdyti</translation>
 <translation id="1181037720776840403">Pašalinti</translation>
 <translation id="1183237619868651138">Nepavyko įdiegti „<ph name="EXTERNAL_CRX_FILE" />“ vietinėje talpykloje.</translation>
+<translation id="1183378459020939734">Pasiruošę susieti saugos raktą?</translation>
 <translation id="1185924365081634987">Taip pat galite bandyti <ph name="GUEST_SIGNIN_LINK_START" />naršyti kaip svečias<ph name="GUEST_SIGNIN_LINK_END" />, kad išspręstumėte šią tinklo klaidą.</translation>
 <translation id="1186771945450942097">Žalingos programinės įrangos pašalinimas</translation>
 <translation id="1187722533808055681">Neaktyvumo režimo nutraukimo veiksmai</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Padėkite tobulinti „<ph name="PRODUCT_NAME" />“ automatiškai siųsdami „Google“ naudojimo statistiką ir trikčių ataskaitas</translation>
 <translation id="1658424621194652532">Šis puslapis pasiekia jūsų mikrofoną.</translation>
 <translation id="1660204651932907780">Leisti svetainėms leisti garsą (rekomenduojama)</translation>
-<translation id="1660938185063657230">Saugos rakto patvirtinimas</translation>
 <translation id="1661156625580498328">Taikyti AES šifruotę (rekomenduojama)</translation>
 <translation id="1661245713600520330">Šiame puslapyje pateikiami visi į pagrindinį procesą įkelti moduliai ir tie, kurie užregistruoti įkelti vėliau.</translation>
 <translation id="166179487779922818">Slaptažodis per trumpas.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Keisti jutiklinio HUD režimą</translation>
 <translation id="1784849162047402014">Mažai laisvos vietos įrenginio diske</translation>
 <translation id="1786636458339910689">Komandos Diskai</translation>
+<translation id="1792161662640298233">Saugos rakto patvirtinimas</translation>
 <translation id="1792619191750875668">Išplėstas vaizdas</translation>
 <translation id="1794791083288629568">Atsiųskite atsiliepimų, kad padėtumėte mums išspręsti šią problemą.</translation>
 <translation id="1795214765651529549">Naudoti klasikinę</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Ištrinti <ph name="USERNAME" /> slaptažodį</translation>
 <translation id="1819721979226826163">Palieskite „Programų pranešimai“ &gt; „Google Play“ paslaugos“.</translation>
 <translation id="1826516787628120939">Tikrinama</translation>
-<translation id="1827750274519118478">Vaizdo vaizde vaizdo įrašas nebebus leidžiamas.</translation>
 <translation id="1828378091493947763">Šis papildinys šiame įrenginyje nepalaikomas</translation>
 <translation id="1828901632669367785">Spausdinti naudojant sistemos dialogo langą...</translation>
 <translation id="1829192082282182671">Tolin&amp;ti</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">„<ph name="EXTENSION" />“ patikrintose vietose gali nuskaityti ir įrašyti vaizdus, vaizdo įrašus ir garso failus.</translation>
 <translation id="1867780286110144690">„<ph name="PRODUCT_NAME" />“ pasirengusi baigti diegimą</translation>
 <translation id="1871615898038944731">„<ph name="DEVICE_TYPE" />“ atnaujintas</translation>
+<translation id="1875312262568496299">Pradėti</translation>
 <translation id="1875387611427697908">Tai galima pridėti tik iš sistemos <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Nepavyko gauti tapatybės nustatymo prieigos rakto. Atsijunkite ir vėl prisijunkite, kad galėtumėte bandyti dar kartą.</translation>
 <translation id="1878302395768190018">Tai galite bet kada tinkinti „Chrome“ nustatymuose</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491"><ph name="NAME" /> nuotrauka</translation>
 <translation id="2115103655317273167">Siųsti į telefoną</translation>
 <translation id="2119349053129246860">Atidaryti naudojant „<ph name="APP" />“</translation>
+<translation id="2120297377148151361">Veikla ir sąveikos</translation>
 <translation id="2121825465123208577">Keisti dydį</translation>
 <translation id="2124930039827422115">{1,plural, =1{Vienas naudotojas įvertino <ph name="AVERAGE_RATING" />.}one{ # naudotojas įvertino <ph name="AVERAGE_RATING" />.}few{ # naudotojai įvertino <ph name="AVERAGE_RATING" />.}many{ # naudotojo įvertino <ph name="AVERAGE_RATING" />.}other{ # naudotojų įvertino <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">Sinchronizavimą išjungė jūsų administratorius.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Popieriaus lapo dydis</translation>
 <translation id="2318817390901984578">Jei norite naudoti „Android“ programas, įkraukite ir atnaujinkite savo „<ph name="DEVICE_TYPE" />“.</translation>
 <translation id="2318923050469484167">Dabartinė inkognito režimo sesija (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Saugos rakto naudojimas su <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Antraštės ir poraštės</translation>
 <translation id="2325650632570794183">Šio tipo failas nepalaikomas. Apsilankykite „Chrome“ internetinėje parduotuvėje ir suraskite programą, kurią naudojant galima atidaryti šio tipo failą.</translation>
 <translation id="2326931316514688470">&amp;Įkelti programą iš naujo</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Nustatyti failo bendrinimą</translation>
 <translation id="2367972762794486313">Rodyti programas</translation>
 <translation id="2369536625682139252">Visi <ph name="SITE" /> saugomi duomenys bus ištrinti, išskyrus slapukus.</translation>
+<translation id="237058345584060620">Susiekite raktą su šiuo įrenginiu, kad jį naudodami galėtumėte prisijungti prie paskyros</translation>
 <translation id="2371076942591664043">Baigus &amp;atidaryti</translation>
 <translation id="2376559921867170420">Kai „Chromebook“ nustatytas, norėdami bet kuriuo metu gauti pagalbos iš Padėjėjo, paspauskite Padėjėjo mygtuką arba pasakykite „Ok Google“.</translation>
 <translation id="2377319039870049694">Perjungti į sąrašo rodinį</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Nepavyksta rasti jūsų telefono. Įsitikinkite, kad „<ph name="DEVICE_TYPE" />“ įrenginyje įjungtas „Bluetooth“. &lt;a&gt;Sužinokite daugiau&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Pridėti &amp;aplanką...</translation>
 <translation id="249113932447298600">Apgailestaujame, tačiau įrenginys <ph name="DEVICE_LABEL" /> šiuo metu nepalaikomas.</translation>
+<translation id="2492040222276243256">Paspauskite mygtuką ant saugos rakto ir palaikykite bent 5 sekundes</translation>
 <translation id="2493021387995458222">Pasirinkti „žodį tuo pat metu“</translation>
 <translation id="249303669840926644">Nepavyko užbaigti registracijos</translation>
 <translation id="2495777824269688114">Atraskite daugiau funkcijų arba gaukite atsakymus. Pasirinkite „?“, kad gautumėte pagalbos.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Laukiama pasiekiamo lizdo...</translation>
 <translation id="252219247728877310">Komponentas neatnaujintas</translation>
 <translation id="2522791476825452208">Labai arti</translation>
+<translation id="2523184218357549926">Siunčiami „Google“ puslapių, kuriuose lankotės, URL</translation>
 <translation id="2525250408503682495">Įvyko klaida. Nepavyko įdiegti viešojo terminalo programos „cryptohome“.</translation>
 <translation id="2526277209479171883">Įdiegti ir tęsti</translation>
 <translation id="2526590354069164005">Darbalaukis</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Neprisijungta prie „<ph name="SHORT_PRODUCT_NAME" />“</translation>
 <translation id="2563856802393254086">Sveikiname! Jūsų „<ph name="NAME" />“ duomenų paslauga buvo suaktyvinta ir yra paruošta naudoti.</translation>
 <translation id="2564520396658920462">„JavaScript“ vykdymas naudojant „AppleScript“ išjungtas. Kad tai įjungtumėte, meniu juostoje eikite į skiltį „Peržiūra“ &gt; „Kūrėjas“ &gt; „Leisti „JavaScript“ iš „Apple“ įvykių“. Daugiau informacijos pateikiama apsilankius adresu https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Patobulinta rašybos tikrinimo funkcija</translation>
 <translation id="2566124945717127842">Atlikite „Powewash“, kad „<ph name="IDS_SHORT_PRODUCT_NAME" />“ įrenginys būtų nustatytas tarsi naujas.</translation>
 <translation id="2567257616420533738">Slaptažodis išsaugotas. Peržiūrėkite ir tvarkykite išsaugotus slaptažodžius adresu <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Informacinės juostos sudėtinis rodinys</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> naudoja <ph name="USAGE" /> MB disko vietos.</translation>
 <translation id="2633212996805280240">Pašalinti „<ph name="EXTENSION_NAME" />“?</translation>
 <translation id="263325223718984101">„<ph name="PRODUCT_NAME" />“ nepavyko baigti diegimo, bet ji toliau bus paleista iš disko vaizdo.</translation>
+<translation id="2633326789677284179">Raskite rakto užpakalinėje dalyje užrašytą pavadinimą</translation>
 <translation id="2635276683026132559">Pasirašymas</translation>
 <translation id="2636625531157955190">„Chrome“ negali pasiekti vaizdo.</translation>
 <translation id="2638087589890736295">Norint pradėti sinchronizuoti reikalinga slaptafrazė</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Nepavyko nukopijuoti išorinio CRX failo į „<ph name="TEMP_CRX_FILE" />“.</translation>
 <translation id="3090871774332213558">Įrenginys „<ph name="DEVICE_NAME" />“ susietas</translation>
 <translation id="3101709781009526431">Data ir laikas</translation>
+<translation id="3104900172193317662">Leiskite naudoti saugos raktą</translation>
 <translation id="310671807099593501">Svetainė naudoja „Bluetooth“</translation>
 <translation id="3115128645424181617">Nepavyksta rasti jūsų telefono. Įsitikinkite, kad jis netoliese ir įjungėte „Bluetooth“.</translation>
 <translation id="3115147772012638511">Laukiama talpyklos...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Niekada neleisti <ph name="HOST" /> peržiūrėti iškarpinės</translation>
 <translation id="3840053866656739575">Nutrūko ryšys su „Chromebox“. Priartinkite arba patikrinkite įrenginį. Bandoma prisijungti iš naujo.</translation>
 <translation id="3842552989725514455">Šriftas „Serif“</translation>
+<translation id="3846116211488856547">Gaukite svetainių, „Android“ programų ir kt. kūrimo įrankius. Įdiegiant „Linux“ bus atsisiųsta <ph name="DOWNLOAD_SIZE" /> duomenų.</translation>
 <translation id="385051799172605136">Grįžti</translation>
 <translation id="3851428669031642514">Įkelti nesaugius scenarijus</translation>
 <translation id="3855441664322950881">Paketo plėtinys</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Atlaisvinkite vietos diske arba įrenginys nebeatsakys.</translation>
 <translation id="3878840326289104869">Kuriamas prižiūrimas naudotojas</translation>
 <translation id="3879748587602334249">Atsisiuntimų tvarkytuvė</translation>
+<translation id="3880709822663530586">Saugos raktas veikia, tik kai įrenginio „Bluetooth“ įjungtas</translation>
 <translation id="3888550877729210209">Užrašų kūrimas naudojant „<ph name="LOCK_SCREEN_APP_NAME" />“</translation>
 <translation id="3892414795099177503">Atidaryti „OpenVPN“ / L2TP...</translation>
 <translation id="3893536212201235195">Skaityti ir keisti pritaikymo neįgaliesiems nustatymus</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Atidaryti originalų &amp;vaizdą naujame skirtuke</translation>
 <translation id="4682551433947286597">Ekrano fonai rodomi prisijungimo ekrane.</translation>
 <translation id="4684427112815847243">Viską sinchronizuoti</translation>
+<translation id="4689235506267737042">Demonstracinės versijos nuostatų pasirinkimas</translation>
 <translation id="4689421377817139245">Sinchronizuokite šią žymę „iPhone“ įrenginyje</translation>
 <translation id="4690091457710545971">&lt;Keturi „Intel“ „Wi-Fi“ programinės aparatinės įrangos sugeneruoti failai: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Pirmieji trys yra dvejetainiai failai, kuriuose yra registro išklotinės ir kuriuos „Intel“ įvertino, kad nustatytų, ar nėra asmens ar įrenginį identifikuojančios informacijos. Paskutinis failas yra vykdymo pėdsakas iš „Intel“ programinės aparatinės įrangos. Jame išvalyta visa asmens ar įrenginį identifikuojanti informacija, bet jis per didelis, kad būtų galima čia pateikti. Šie failai sugeneruoti reaguojant į pastarąsias „Wi-Fi“ problemas, susijusias su įrenginiu, ir bus bendrinami su „Intel“, siekiant padėti pašalinti šias triktis.&gt;</translation>
 <translation id="4692302215262324251"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> sėkmingai užregistravo „<ph name="DEVICE_TYPE" />“ kaip tvarkomą įmonėje.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Duomenų mobiliesiems paslauga suaktyvinta ir paruošta naudoti</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Atidaryti viską &amp;inkognito lange}=1{Atidaryti &amp;inkognito lange}one{Atidaryti viską (#) &amp;inkognito lange}few{Atidaryti viską (#) &amp;inkognito lange}many{Atidaryti viską (#) &amp;inkognito lange}other{Atidaryti viską (#) &amp;inkognito lange}}</translation>
 <translation id="4858913220355269194">Šemberas</translation>
-<translation id="4862042298115071399">„<ph name="WINDOW_TITLE" />“ – vaizdo įrašas leidžiamas kaip vaizdas vaizde</translation>
 <translation id="4862050643946421924">Pridedamas įrenginys...</translation>
 <translation id="4862642413395066333">OCSP atsakų pasirašymas</translation>
 <translation id="4863769717153320198">Atrodo kaip <ph name="WIDTH" /> × <ph name="HEIGHT" /> (numatytasis)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Ieškoti istorijoje</translation>
 <translation id="4881695831933465202">Atidaryti</translation>
 <translation id="4882473678324857464">Išryškinti žymes</translation>
+<translation id="4882831918239250449">Naršymo istorijos naudojimo paieškai, skelbimams ir kitoms funkcijoms suasmeninti valdymas</translation>
 <translation id="4883178195103750615">Eksportuoti žymes į HTML failą...</translation>
 <translation id="4883436287898674711">Visos <ph name="WEBSITE_1" /> svetainės</translation>
 <translation id="48838266408104654">&amp;Užduočių tvarkytuvė</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">I&amp;š naujo atidaryti uždarytą skirtuką</translation>
 <translation id="52912272896845572">Asmeninio rakto failas neteisingas.</translation>
 <translation id="529175790091471945">Formatuoti šį įrenginį</translation>
+<translation id="5292195676005197571">Dauguma raktų naudojami tiesiog paspaudus mygtuką</translation>
 <translation id="5293170712604732402">Atkurti pradinius numatytuosius nustatymus</translation>
 <translation id="5298219193514155779">Temą sukūrė</translation>
 <translation id="5299109548848736476">Nestebėti</translation>
@@ -3026,11 +3039,13 @@
 <translation id="5658415415603568799">Kad dar labiau apsaugotumėte įrenginį, „Smart Lock“ prašys įvesti slaptažodį po 20 valandų.</translation>
 <translation id="5659593005791499971">El. paštas</translation>
 <translation id="5659833766619490117">Nepavyko išversti šio puslapio</translation>
+<translation id="5660204307954428567">Susieti su <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Nuolatinė licencija</translation>
 <translation id="5667546120811588575">Nustatoma „Google Play“...</translation>
 <translation id="5669267381087807207">Aktyvinama</translation>
 <translation id="5669691691057771421">Įveskite naują PIN kodą</translation>
 <translation id="5671641761787789573">Vaizdai užblokuoti</translation>
+<translation id="5673076758299428095">Stabdyti „Linux“</translation>
 <translation id="5677503058916217575">Puslapio kalba:</translation>
 <translation id="5677928146339483299">Užblokuota</translation>
 <translation id="5678550637669481956">„<ph name="VOLUME_NAME" />“ suteiktas leidimas skaityti ir rašyti.</translation>
@@ -3195,6 +3210,9 @@
 <translation id="5920835625712313205">„Chrome“ OS sistemos turinio kopijos rašymo priemonė</translation>
 <translation id="5921745308587794300">Pasukti langą</translation>
 <translation id="5924047253200400718">Gaukite pagalbos<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Nufotografuokite naują nuotrauką arba pasirinkite esamą nuotrauką ar piktogramą.
+    <ph name="LINE_BREAK" />
+    Ši nuotrauka bus rodoma „Chromebook“ prisijungimo ir užrakinimo ekranuose.</translation>
 <translation id="5925147183566400388">Sertifikavimo veiklos nuostatų nuoroda</translation>
 <translation id="592880897588170157">Atsisiųskite PDF failus, užuot automatiškai atidarę juos naršyklėje „Chrome“</translation>
 <translation id="5931146425219109062">Skaityti ir keisti visus lankomų svetainių duomenis</translation>
@@ -3291,6 +3309,7 @@
 <translation id="6078752646384677957">Patikrinkite mikrofono ir garso lygius.</translation>
 <translation id="6080515710685820702">Naudojate kompiuterį bendrai? Pabandykite atidaryti inkognito langą.</translation>
 <translation id="6080689532560039067">Patikrinkite sistemos laiką</translation>
+<translation id="6082111513049964958">Atrakinimo slaptažodis</translation>
 <translation id="6082651258230788217">Rodyti įrankių juostoje</translation>
 <translation id="6086846494333236931">Įdiegė jūsų administratorius</translation>
 <translation id="6087960857463881712">Nuostabus veidas</translation>
@@ -3514,6 +3533,7 @@
 <translation id="642282551015776456">Šio pavadinimo negalima naudoti kaip aplanko pavadinimo</translation>
 <translation id="642469772702851743">Šį įrenginį (serijos Nr. <ph name="SERIAL_NUMBER" />) užrakino savininkas.</translation>
 <translation id="6426200009596957090">Atidaryti „ChromeVox“ nustatymus</translation>
+<translation id="6427415464407526111">Saugos rakto pasirinkimas</translation>
 <translation id="6429384232893414837">Atnaujinimo klaida</translation>
 <translation id="6430814529589430811">„Base64“ užkoduotas ASCII, vienas sertifikatas</translation>
 <translation id="6431217872648827691">Visi duomenys užšifruoti naudojant jūsų „Google“ slaptažodį nuo
@@ -3940,6 +3960,7 @@
 <translation id="7099337801055912064">Nepavyko įkelti didelio PPD. Didžiausias galimas dydis yra 250 KB.</translation>
 <translation id="7100897339030255923">Pasirinkta elementų: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Automatiniai naujiniai įjungti</translation>
+<translation id="7102832101143475489">Baigėsi skirtasis užklausos laikas</translation>
 <translation id="7106346894903675391">Įsigyti daugiau atminties...</translation>
 <translation id="7108338896283013870">Slėpti</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> nori naudoti fotoaparatą</translation>
@@ -4148,7 +4169,6 @@
 <translation id="7427348830195639090">Foninis puslapis: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Atidaryti viską &amp;naujame lange}=1{Atidaryti &amp;naujame lange}one{Atidaryti viską (#) &amp;naujame lange}few{Atidaryti viską (#) &amp;naujame lange}many{Atidaryti viską (#) &amp;naujame lange}other{Atidaryti viską (#) &amp;naujame lange}}</translation>
 <translation id="7434509671034404296">Vykdymo programa</translation>
-<translation id="7436470008146509879">„Linux“ nustatymas „<ph name="DEVICE_TYPE" />“ įrenginyje</translation>
 <translation id="7436921188514130341">Oi, pervardijant įvyko klaida.</translation>
 <translation id="7441830548568730290">Kiti naudotojai</translation>
 <translation id="7442465037756169001">„Hangout Meet hardware“ paruošta nustatyti.</translation>
@@ -4447,7 +4467,6 @@
 <translation id="7881969471599061635">Išjungti subtitrus</translation>
 <translation id="7882358943899516840">Teikėjo tipas</translation>
 <translation id="7885253890047913815">Naujausios paskirties vietos</translation>
-<translation id="7886917304091689118">Paleista naršyklėje „Chrome“</translation>
 <translation id="7887334752153342268">Dubliuoti</translation>
 <translation id="7887864092952184874">„Bluetooth“ pelė susieta</translation>
 <translation id="7889565820482017512">Ekrano dydis</translation>
@@ -4560,6 +4579,7 @@
 <translation id="8028993641010258682">Dydis</translation>
 <translation id="8030656706657716245">Pridėti spausdintuvą</translation>
 <translation id="8032244173881942855">Nepavyko perduoti skirtuko.</translation>
+<translation id="8033958968890501070">Skirtojo laiko pabaiga</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Atidaryti viską &amp;inkognito lange}=1{Atidaryti &amp;inkognito lange}one{Atidaryti viską (#) &amp;inkognito lange}few{Atidaryti viską (#) &amp;inkognito lange}many{Atidaryti viską (#) &amp;inkognito lange}other{Atidaryti viską (#) &amp;inkognito lange}}</translation>
 <translation id="8037117027592400564">Skaityti visą tekstą sintezuota kalba</translation>
 <translation id="8037357227543935929">Klausti (numatytoji parinktis)</translation>
@@ -4618,7 +4638,6 @@
 <translation id="8118860139461251237">Tvarkykite atsisiuntimus</translation>
 <translation id="81238879832906896">Geltonos ir baltos spalvos gėlė</translation>
 <translation id="8124313775439841391">Tvarkoma ONC</translation>
-<translation id="8125562866093998907">Svetainė nori patvirtinti jūsų Saugos raktą, kad būtų galima užtikrinti papildomą paskyros saugą.</translation>
 <translation id="813082847718468539">Žiūrėti svetainės informaciją</translation>
 <translation id="8131740175452115882">Patvirtinti</translation>
 <translation id="8133676275609324831">&amp;Rodyti aplanke</translation>
@@ -4650,6 +4669,8 @@
 <translation id="8180239481735238521">psl.</translation>
 <translation id="8180786512391440389">„<ph name="EXTENSION" />“ patikrintose vietovėse gali nuskaityti ir ištrinti vaizdus, vaizdo įrašus ir garso failus.</translation>
 <translation id="8181215761849004992">Nepavyko prisijungti prie domeno. Patikrinkite paskyrą, kad sužinotumėte, ar turite pakankamai teisių pridėti įrenginius.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Nemanau, kad ši svetainė turėtų būti užblokuota!</translation>
 <translation id="8184288427634747179">Perjungti į <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Daugiau informacijos</translation>
 <translation id="8185331656081929126">Rodyti pranešimus, kai nauji spausdintuvai aptinkami tinkle</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">„Native Client“ derinimo prievadas</translation>
 <translation id="843760761634048214">Išsaugoti kredito kortelės informaciją</translation>
 <translation id="8438328416656800239">Perjunkite į išmanią naršyklę</translation>
+<translation id="8438566539970814960">Tobulinti paieškas ir naršymą</translation>
 <translation id="8439506636278576865">Siūlyti versti puslapius šia kalba</translation>
 <translation id="8446884382197647889">Sužinokite daugiau</translation>
 <translation id="8447409163267621480">Naudokite „Ctrl“ arba „Alt“</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Ši svetainė atnaujinta fone.</translation>
 <translation id="8737685506611670901">Atidaryti „<ph name="PROTOCOL" />“ nuorodas vietoje „<ph name="REPLACED_HANDLER_TITLE" />“</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Vaizdas vaizde</translation>
 <translation id="8743390665131937741">Viso ekrano didintuvo mastelio keitimo lygis:</translation>
 <translation id="8743864605301774756">Atnaujinta prieš 1 val.</translation>
 <translation id="874689135111202667">{0,plural, =1{Įkelti vieną failą į šią svetainę?}one{Įkelti # failą į šią svetainę?}few{Įkelti # failus į šią svetainę?}many{Įkelti # failo į šią svetainę?}other{Įkelti # failų į šią svetainę?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704">„<ph name="WINDOW_TITLE" />“ – užstrigo</translation>
 <translation id="8983677657449185470">Padėti tobulinti Saugų naršymą</translation>
 <translation id="8984654317541110628">Failo bendrinimo URL</translation>
+<translation id="8984872292925913496">Raskite 6 skaitmenų PIN kodą užpakalinėje rakto dalyje</translation>
 <translation id="8986362086234534611">Pamiršti</translation>
 <translation id="8986494364107987395">Automatiškai siųsti naudojimo statistiką ir strigčių ataskaitas „Google“</translation>
 <translation id="8987927404178983737">Mėnuo</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Deja, nustatant tapatybę iškilo tinklo ryšio problema. Patikrinkite tinklo ryšį ir bandykite dar kartą.</translation>
 <translation id="9161070040817969420">Antriniai kadrai, skirti: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Siųskite sistemos duomenis. Šiuo metu šis įrenginys automatiškai siunčia diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Šį nustatymą priverstinai taiko savininkas. Jei įjungėte papildomą žiniatinklio ir programų veiklą, ši informacija bus saugoma jūsų paskyroje, kad galėtumėte tvarkyti ją skiltyje „Mano veikla“. <ph name="BEGIN_LINK1" />Sužinokite daugiau<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Vaizdas vaizde</translation>
 <translation id="9169496697824289689">Peržiūrėti sparčiuosius klavišus</translation>
 <translation id="9169931577761441333">Pridėkite „<ph name="APP_NAME" />“ prie pagrindinio ekrano</translation>
 <translation id="9170397650136757332">Dabar truputį pajudinkite pirštą, kad būtų užfiksuotos visos skirtingos kontrolinio kodo dalys</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Nesuaktyvinta</translation>
 <translation id="957960681186851048">Ši svetainė bandė automatiškai atsisiųsti kelis failus</translation>
 <translation id="9580706199804957">Nepavyko prisijungti prie „Google“ paslaugų</translation>
-<translation id="958416628331784386">Šiame skirtuke leidžiamas vaizdo įrašas, naudojant vaizdo vaizde funkciją</translation>
 <translation id="960719561871045870">Operacijos ženklo kodas</translation>
 <translation id="960987915827980018">Liko apie 1 val.</translation>
 <translation id="962802172452141067">Žymių aplanko medis</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index b9ffa808..10adc604 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pauzēt</translation>
 <translation id="1181037720776840403">Noņemt</translation>
 <translation id="1183237619868651138">Failu “<ph name="EXTERNAL_CRX_FILE" />” nevar instalēt lokālajā kešatmiņā.</translation>
+<translation id="1183378459020939734">Vai esat gatavs drošības atslēgas savienošanai pārī?</translation>
 <translation id="1185924365081634987">Varat arī mēģināt <ph name="GUEST_SIGNIN_LINK_START" />pārlūkot kā viesis<ph name="GUEST_SIGNIN_LINK_END" />, lai novērstu šo tīkla kļūdu.</translation>
 <translation id="1186771945450942097">Kaitīgās programmatūras noņemšana</translation>
 <translation id="1187722533808055681">Aktivizēšanas reižu skaits pēc gaidstāves režīma</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Palīdziet uzlabot programmu <ph name="PRODUCT_NAME" />, automātiski nosūtot lietošanas statistiku un avārijas pārskatus uzņēmumam Google</translation>
 <translation id="1658424621194652532">Šī lapa piekļūst jūsu mikrofonam.</translation>
 <translation id="1660204651932907780">Atļaut vietnēm atskaņot skaņu (ieteicams)</translation>
-<translation id="1660938185063657230">Drošības atslēgas verifikācija</translation>
 <translation id="1661156625580498328">Piemērot AES šifrēšanu (ieteicams).</translation>
 <translation id="1661245713600520330">Šajā lapā ir uzskaitīti visi moduļi, kas ielādēti galvenajā procesā, un moduļi, kas reģistrēti, lai to ielādi veiktu vēlāk.</translation>
 <translation id="166179487779922818">Parole ir pārāk īsa.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Mainīt pieskāriena HUD režīmu</translation>
 <translation id="1784849162047402014">Ierīces diskā ir maz vietas.</translation>
 <translation id="1786636458339910689">Komandas diski</translation>
+<translation id="1792161662640298233">Drošības atslēgas pārbaude</translation>
 <translation id="1792619191750875668">Paplašinātais attēlojums</translation>
 <translation id="1794791083288629568">Sūtīt atsauksmes, lai palīdzētu novērst šo problēmu.</translation>
 <translation id="1795214765651529549">Izmantot klasisko motīvu</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Dzēst lietotāja <ph name="USERNAME" /> paroli</translation>
 <translation id="1819721979226826163">Pieskarieties vienumam Lietotņu paziņojumi &gt; Google Play pakalpojumi.</translation>
 <translation id="1826516787628120939">Pārbaude</translation>
-<translation id="1827750274519118478">Tiks pārtraukta videoklipa atskaņošana režīmā Attēls attēlā.</translation>
 <translation id="1828378091493947763">Spraudnis šajā ierīcē netiek atbalstīts</translation>
 <translation id="1828901632669367785">Drukāt, izmantojot sistēmas dialoglodziņu...</translation>
 <translation id="1829192082282182671">Tālināt</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">“<ph name="EXTENSION" />” var lasīt un rakstīt attēlus, videoklipus un skaņu failus atzīmētajās vietās.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> var pabeigt instalēšanu</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> ierīce ir atjaunināta.</translation>
+<translation id="1875312262568496299">Sākt</translation>
 <translation id="1875387611427697908">To var pievienot tikai no veikala <ph name="CHROME_WEB_STORE" />.</translation>
 <translation id="1877520246462554164">Neizdevās iegūt autentifikācijas pilnvaru. Lai mēģinātu vēlreiz, izrakstieties un vēlreiz pierakstieties.</translation>
 <translation id="1878302395768190018">Varat to jebkurā laikā pielāgot Chrome iestatījumos</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Fotogrāfs: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Sūtīt uz tālruni</translation>
 <translation id="2119349053129246860">Atvērt lietotnē <ph name="APP" /></translation>
+<translation id="2120297377148151361">Darbības un mijiedarbības</translation>
 <translation id="2121825465123208577">Mainīt lielumu</translation>
 <translation id="2124930039827422115">{1,plural, =1{Vērtējums: <ph name="AVERAGE_RATING" /> (no viena lietotāja)}zero{Vērtējums: <ph name="AVERAGE_RATING" /> (no # lietotājiem)}one{Vērtējums: <ph name="AVERAGE_RATING" /> (no # lietotāja)}other{Vērtējums: <ph name="AVERAGE_RATING" /> (no # lietotājiem)}}</translation>
 <translation id="2126167708562367080">Administrators ir atspējojis sinhronizēšanu.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Papīra izmēri</translation>
 <translation id="2318817390901984578">Lai izmantotu Android lietotnes, uzlādējiet un atjauniniet savu ierīci (<ph name="DEVICE_TYPE" />).</translation>
 <translation id="2318923050469484167">Pašreizējā inkognito sesija (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Drošības atslēgas izmantošana ar lietotni <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Galvenes un kājenes</translation>
 <translation id="2325650632570794183">Šī tipa fails netiek atbalstīts. Lūdzu, apmeklējiet Chrome interneta veikalu, lai atrastu lietotni, kas var atvērt šī tipa failus.</translation>
 <translation id="2326931316514688470">&amp;Atkārtoti ielādēt lietotni</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Pievienot failu kopīgošanu</translation>
 <translation id="2367972762794486313">Rādīt lietotnes</translation>
 <translation id="2369536625682139252">Tiks izdzēsti visi vietnes <ph name="SITE" /> saglabātie dati, izņemot sīkfailus.</translation>
+<translation id="237058345584060620">Savienojiet atslēgu pārī ar šo ierīci, lai varētu pierakstīties kontā, izmantojot atslēgu.</translation>
 <translation id="2371076942591664043">Atvērt, kad esat beidzis</translation>
 <translation id="2376559921867170420">Kad Chromebook dators ir iestatīts, nospiediet Asistenta pogu vai sakiet “Ok Google”, lai jebkurā brīdī saņemtu palīdzību no Asistenta.</translation>
 <translation id="2377319039870049694">Pāriet uz saraksta skatījumu</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Nevar atrast tālruni. Jūsu ierīcē (<ph name="DEVICE_TYPE" />) jābūt iespējotam Bluetooth savienojumam. &lt;a&gt;Uzziniet vairāk&lt;/a&gt;.</translation>
 <translation id="2489918096470125693">Pievienot &amp;mapi...</translation>
 <translation id="249113932447298600">Diemžēl ierīce <ph name="DEVICE_LABEL" /> šobrīd netiek atbalstīta.</translation>
+<translation id="2492040222276243256">Nospiediet uz drošības atslēgas esošo pogu un turiet to nospiestu vismaz 5 sekundes.</translation>
 <translation id="2493021387995458222">Iezīmēt pa vienam vārdam</translation>
 <translation id="249303669840926644">Nevarēja pabeigt reģistrāciju</translation>
 <translation id="2495777824269688114">Atklājiet citas funkcijas vai iegūstiet atbildes. Atlasiet “?”, lai saņemtu palīdzību.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Notiek pieejamas ligzdas gaidīšana...</translation>
 <translation id="252219247728877310">Komponents nav atjaunināts</translation>
 <translation id="2522791476825452208">Ļoti tuvu</translation>
+<translation id="2523184218357549926">Nosūta Google serveriem apmeklēto lapu vietrāžus URL</translation>
 <translation id="2525250408503682495">Kļūda! Nevarēja iekļaut kioska lietojumprogrammai paredzēto kriptohomu.</translation>
 <translation id="2526277209479171883">Instalēt un turpināt</translation>
 <translation id="2526590354069164005">Darbvirsma</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Nav pierakstījies pakalpojumā <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Jūsu “<ph name="NAME" />” datu pakalpojums ir veiksmīgi aktivizēts, un to var izmantot.</translation>
 <translation id="2564520396658920462">JavaScript izpilde, izmantojot AppleScript, ir izslēgta. Lai to ieslēgtu, izvēļņu joslā atveriet View (Skats) &gt; Developer (Izstrādātājs) &gt; Allow JavaScript from Apple Events (Atļaut izmantot JavaScript no Apple Events). Plašāku informāciju skatiet vietnē https://support.google.com/chrome/?p=applescript.</translation>
+<translation id="2564653188463346023">Uzlabota pareizrakstības pārbaude</translation>
 <translation id="2566124945717127842">Izmantojiet funkciju Powerwash un atiestatiet savā <ph name="IDS_SHORT_PRODUCT_NAME" /> ierīcē sākotnējos rūpnīcas iestatījumus.</translation>
 <translation id="2567257616420533738">Parole ir saglabāta. Skatiet un pārvaldiet saglabātās paroles vietnē <ph name="SAVED_PASSWORDS_LINK" />.</translation>
 <translation id="2568774940984945469">Informācijas joslas konteiners</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> izmanto <ph name="USAGE" /> MB no diskā pieejamās vietas.</translation>
 <translation id="2633212996805280240">Vai noņemt paplašinājumu <ph name="EXTENSION_NAME" />?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> nevarēja pabeigt instalēšanu, tomēr turpinās izpildīties no diska attēla.</translation>
+<translation id="2633326789677284179">Atrodiet nosaukumu atslēgas aizmugurē.</translation>
 <translation id="2635276683026132559">Parakstīšana</translation>
 <translation id="2636625531157955190">Pārlūkprogrammā Chrome nevar piekļūt attēlam.</translation>
 <translation id="2638087589890736295">Lai sāktu sinhronizāciju, ievadiet ieejas frāzi.</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Ārējo .crx failu nevar kopēt uz failu <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Izveidots savienojums pārī ar ierīci “<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3101709781009526431">Datums un laiks</translation>
+<translation id="3104900172193317662">Drošības atslēgas izmantošanas atļaušana</translation>
 <translation id="310671807099593501">Vietne izmanto Bluetooth savienojumu.</translation>
 <translation id="3115128645424181617">Nevar atrast tālruni. Tam ir jābūt rokas stiepiena attālumā, un Bluetooth savienojumam jābūt ieslēgtam.</translation>
 <translation id="3115147772012638511">Gaida krtuvi...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Vienmēr bloķēt starpliktuves satura rādīšanu vietnei <ph name="HOST" /></translation>
 <translation id="3840053866656739575">Tika zaudēts savienojums ar jūsu Chromebox datoru. Lūdzu, pienāciet tuvāk vai pārbaudiet savu ierīci, kamēr mēģinām atjaunot savienojumu.</translation>
 <translation id="3842552989725514455">Serif fonts</translation>
+<translation id="3846116211488856547">Iegūstiet vietņu, Android lietotņu izstrādes rīkus un citus rīkus. Instalējot Linux, tiks lejupielādēts šāds datu apjoms: <ph name="DOWNLOAD_SIZE" />.</translation>
 <translation id="385051799172605136">Atpakaļ</translation>
 <translation id="3851428669031642514">Ielādēt nedrošos skriptus</translation>
 <translation id="3855441664322950881">Pakot paplašinājumu</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Atbrīvojiet diskā vietu; pretējā gadījumā ierīce nereaģēs.</translation>
 <translation id="3878840326289104869">Notiek uzraudzīta lietotāja izveide</translation>
 <translation id="3879748587602334249">Lejupielāžu pārvaldnieks</translation>
+<translation id="3880709822663530586">Drošības atslēga darbojas tikai tad, ja ierīcē ir iespējots Bluetooth savienojums.</translation>
 <translation id="3888550877729210209">Piezīmju rakstīšana, izmantojot <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Pievienot OpenVPN/otrā slāņa tunelēšanas protokolu...</translation>
 <translation id="3893536212201235195">Skatīt un mainīt jūsu pieejamības iestatījumus</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Atvērt sākotnējo &amp;attēlu jaunā cilnē</translation>
 <translation id="4682551433947286597">Fona tapetes tiek rādītas pierakstīšanās ekrānā.</translation>
 <translation id="4684427112815847243">Sinhronizēt visu</translation>
+<translation id="4689235506267737042">Demonstrācijas režīma preferenču izvēle</translation>
 <translation id="4689421377817139245">Sinhronizējiet šo grāmatzīmi savā iPhone tālrunī</translation>
 <translation id="4690091457710545971">&lt;Četri Intel Wi-Fi aparātprogrammatūras ģenerēti faili: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Pirmie trīs ir binārie faili, kas ietver reģistra izmetes; Intel apliecina, ka tie neietver personas informāciju vai ierīci identificējošu informāciju. Pēdējais fails ir Intel programmaparatūras izpildes trasējums; no tā ir noņemta personas informācija un ierīci identificējoša informācija, taču to nevar parādīt šeit, jo fails ir pārāk liels. Šie faili tika ģenerēti, reaģējot uz nesenām Wi-Fi problēmām jūsu ierīcē, un tie tiks kopīgoti ar Intel, lai palīdzētu novērst šīs problēmas.&gt;</translation>
 <translation id="4692302215262324251">Jūsu <ph name="DEVICE_TYPE" /> ierīce ir sekmīgi reģistrēta uzņēmuma pārvaldībai domēnā <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Jūsu mobilo datu pakalpojums ir aktivizēts un gatavs lietošanai</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Atvērt visas inkognito režīma logā}=1{Atvērt inkognito režīma logā}zero{Atvērt visas (#) inkognito režīma logā}one{Atvērt visas (#) inkognito režīma logā}other{Atvērt visas (#) inkognito režīma logā}}</translation>
 <translation id="4858913220355269194">Futbolbumba</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> — videoklips tiek atskaņots režīmā “Attēls attēlā”</translation>
 <translation id="4862050643946421924">Ierīces pievienošana...</translation>
 <translation id="4862642413395066333">OCSP atbilžu parakstīšana</translation>
 <translation id="4863769717153320198">Noteiktā izšķirtspēja: <ph name="WIDTH" /> x <ph name="HEIGHT" /> (noklusējuma)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Meklēšanas vēsture</translation>
 <translation id="4881695831933465202">Atvērt</translation>
 <translation id="4882473678324857464">Izcelt grāmatzīmes</translation>
+<translation id="4882831918239250449">Kontrolējiet, kā jūsu pārlūkošanas vēsture tiek izmantota Meklēšanas, reklāmu un cita satura personalizēšanai</translation>
 <translation id="4883178195103750615">Eksportēt grāmatzīmes HTML failā...</translation>
 <translation id="4883436287898674711">Visās <ph name="WEBSITE_1" /> vietnēs</translation>
 <translation id="48838266408104654">Uz&amp;devumu pārvaldnieks</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">Vēlr&amp;eiz atvērt aizvērto cilni</translation>
 <translation id="52912272896845572">Privātās atslēgas fails ir nederīgs.</translation>
 <translation id="529175790091471945">Formatēt šo ierīci</translation>
+<translation id="5292195676005197571">Lai izmantotu lielāko daļu atslēgu, vienkārši nospiediet pogu.</translation>
 <translation id="5293170712604732402">Atjaunot iestatījumus uz sākotnējiem noklusējuma iestatījumiem</translation>
 <translation id="5298219193514155779">Tematu izveidoja</translation>
 <translation id="5299109548848736476">Nesekot</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Papildu drošībai Smart Lock lūgs jums ievadīt paroli pēc 20 stundām.</translation>
 <translation id="5659593005791499971">E-pasts</translation>
 <translation id="5659833766619490117">Šo lapu nevarēja pārtulkot</translation>
+<translation id="5660204307954428567">Savienošana pārī ar ierīci “<ph name="DEVICE_NAME" />”</translation>
 <translation id="5662477687021125631">Pastāvīga licence</translation>
 <translation id="5667546120811588575">Notiek Google Play iestatīšana...</translation>
 <translation id="5669267381087807207">Notiek aktivizācija</translation>
 <translation id="5669691691057771421">Ievadiet jauno PIN.</translation>
 <translation id="5671641761787789573">Attēli bloķēti</translation>
+<translation id="5673076758299428095">Izslēgt Linux</translation>
 <translation id="5677503058916217575">Lapas valoda:</translation>
 <translation id="5677928146339483299">Bloķēts</translation>
 <translation id="5678550637669481956">Tika piešķirta lasīšanas un rakstīšanas piekļuve krātuvei <ph name="VOLUME_NAME" />.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Chrome OS sistēmas attēla rakstītājs</translation>
 <translation id="5921745308587794300">Pagriezt logu</translation>
 <translation id="5924047253200400718">Saņemt palīdzību<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Uzņemiet jaunu fotoattēlu vai izvēlieties kādu no esošajiem fotoattēliem vai ikonām.
+    <ph name="LINE_BREAK" />
+    Šis attēls būs redzams Chromebook datorā pierakstīšanās ekrānā un bloķēšanas ekrānā.</translation>
 <translation id="5925147183566400388">Sertifikācijas prakses paziņojuma URI</translation>
 <translation id="592880897588170157">Lejupielādēt PDF failus, nevis automātiski atvērt tos pārlūkā Chrome</translation>
 <translation id="5931146425219109062">Lasīt un mainīt visus jūsu datus jūsu apmeklētajās vietnēs</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Lūdzu, pārbaudiet savu mikrofonu un audio skaļuma līmeni.</translation>
 <translation id="6080515710685820702">Vai izmantojat koplietotu datoru? Atveriet inkognito režīma logu.</translation>
 <translation id="6080689532560039067">Sistēmas laika pārbaude</translation>
+<translation id="6082111513049964958">Atbloķēšanas parole</translation>
 <translation id="6082651258230788217">Rādīt rīkjoslā</translation>
 <translation id="6086846494333236931">Instalēja administrators.</translation>
 <translation id="6087960857463881712">Satriecoša seja</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Šo nosaukumu nedrīkst izmantot kā mapes nosaukuma failu</translation>
 <translation id="642469772702851743">Šo ierīci (sērijas numurs: <ph name="SERIAL_NUMBER" />) bloķēja īpašnieks.</translation>
 <translation id="6426200009596957090">Atvērt ChromeVox iestatījumus</translation>
+<translation id="6427415464407526111">Atlasiet savu drošības atslēgu</translation>
 <translation id="6429384232893414837">Atjaunināšanas kļūda</translation>
 <translation id="6430814529589430811">Base64 kodēts ASCII, viens sertifikāts</translation>
 <translation id="6431217872648827691">Datums, kad visi dati tika šifrēti, izmantojot Google paroli:
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Nevar ielādēt lielu PPD failu. Maksimālais lielums ir 250 kB.</translation>
 <translation id="7100897339030255923">Atlasīti <ph name="COUNT" /> vienumi</translation>
 <translation id="7102687220333134671">Automātiskie atjauninājumi ir ieslēgti.</translation>
+<translation id="7102832101143475489">Iestājās pieprasījuma noildze.</translation>
 <translation id="7106346894903675391">Iegādāties papildu vietu krātuvē...</translation>
 <translation id="7108338896283013870">Slēpt</translation>
 <translation id="7108634116785509031">Vietnē <ph name="HOST" /> tiek pieprasīta atļauja lietot jūsu kameru.</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Fona lapa: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Atvērt visas jaunā logā}=1{Atvērt jaunā logā}zero{Atvērt visas (#) jaunā logā}one{Atvērt visas (#) jaunā logā}other{Atvērt visas (#) jaunā logā}}</translation>
 <translation id="7434509671034404296">Izstrādātājs</translation>
-<translation id="7436470008146509879">Linux iestatīšana ierīcē <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Diemžēl pārdēvēšanas laikā radās kļūda.</translation>
 <translation id="7441830548568730290">Citi lietotāji</translation>
 <translation id="7442465037756169001">Jūsu Hangouts Meet hardware ir gatavs iestatīšanai.</translation>
@@ -4445,7 +4465,6 @@
 <translation id="7881969471599061635">Atspējot subtitrus</translation>
 <translation id="7882358943899516840">Pakalpojumu sniedzēja veids</translation>
 <translation id="7885253890047913815">Nesenie printeri</translation>
-<translation id="7886917304091689118">Atvērta pārlūkā Chrome</translation>
 <translation id="7887334752153342268">Izveidot dublikātu</translation>
 <translation id="7887864092952184874">Bluetooth pele ir savienota pārī.</translation>
 <translation id="7889565820482017512">Attēlojuma lielums</translation>
@@ -4558,6 +4577,7 @@
 <translation id="8028993641010258682">Izmērs</translation>
 <translation id="8030656706657716245">Pievienot printeri</translation>
 <translation id="8032244173881942855">Nevar apraidīt cilni.</translation>
+<translation id="8033958968890501070">Noildze</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Atvērt visas inkognito režīma logā}=1{Atvērt inkognito režīma logā}zero{Atvērt visas (#) inkognito režīma logā}one{Atvērt visas (#) inkognito režīma logā}other{Atvērt visas (#) inkognito režīma logā}}</translation>
 <translation id="8037117027592400564">Lasīt visu tekstu, kas izrunāts, izmantojot sintezēto runu</translation>
 <translation id="8037357227543935929">Vaicāt (pēc noklusējuma)</translation>
@@ -4616,7 +4636,6 @@
 <translation id="8118860139461251237">Pārvaldīt lejupielādes</translation>
 <translation id="81238879832906896">Dzeltens un balts zieds</translation>
 <translation id="8124313775439841391">Pārvaldītais ONC</translation>
-<translation id="8125562866093998907">Vietne vēlas verificēt jūsu drošības atslēgu, lai uzlabotu jūsu konta drošību.</translation>
 <translation id="813082847718468539">Skatīt informāciju par vietni</translation>
 <translation id="8131740175452115882">Apstiprināt</translation>
 <translation id="8133676275609324831">Rādīt ma&amp;pē</translation>
@@ -4648,6 +4667,8 @@
 <translation id="8180239481735238521">Lapa</translation>
 <translation id="8180786512391440389">Ar paplašinājumu “<ph name="EXTENSION" />” var lasīt un dzēst attēlus, videoklipus un skaņu failus atzīmētajās vietās.</translation>
 <translation id="8181215761849004992">Nevar pievienoties domēnam. Pārbaudiet savā kontā, vai jums ir pietiekamas tiesības, lai pievienotu ierīces.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Es uzskatu, ka šai vietnei nav jābūt bloķētai.</translation>
 <translation id="8184288427634747179">Pārslēgties uz profilu <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Plašāka informācija</translation>
 <translation id="8185331656081929126">Rādīt paziņojumus, kad tīklā tiek atrasti jauni printeri</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Native Client atkļūdošanas ports</translation>
 <translation id="843760761634048214">Saglabāt kredītkarti</translation>
 <translation id="8438328416656800239">Pāreja uz viedu pārlūku</translation>
+<translation id="8438566539970814960">Uzlabot meklēšanu un pārlūkošanu</translation>
 <translation id="8439506636278576865">Piedāvāt tulkot lapas šajā valodā</translation>
 <translation id="8446884382197647889">Uzziniet vairāk</translation>
 <translation id="8447409163267621480">Jāiekļauj “Ctrl” vai “Alt”</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Šī vietne tika atjaunināta fonā.</translation>
 <translation id="8737685506611670901">atvērt <ph name="PROTOCOL" /> saites, nevis <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Attēls attēlā</translation>
 <translation id="8743390665131937741">Pilnekrāna tālummaiņas līmenis:</translation>
 <translation id="8743864605301774756">Atjaunināta pirms 1 h</translation>
 <translation id="874689135111202667">{0,plural, =1{Vai augšupielādēt vienu failu šajā vietnē?}zero{Vai augšupielādēt # failus šajā vietnē?}one{Vai augšupielādēt # failu šajā vietnē?}other{Vai augšupielādēt # failus šajā vietnē?}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> — avārija</translation>
 <translation id="8983677657449185470">Palīdzēt uzlabot drošo pārlūkošanu</translation>
 <translation id="8984654317541110628">Failu kopīgošanas URL</translation>
+<translation id="8984872292925913496">Atrodiet 6 ciparu PIN savas atslēgas aizmugurē.</translation>
 <translation id="8986362086234534611">Aizmirst</translation>
 <translation id="8986494364107987395">Automātiski sūtīt lietošanas statistiku un avāriju pārskatus uzņēmumam Google</translation>
 <translation id="8987927404178983737">Mēnesis</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">Hmm... Autentificēšanas laikā radās tīkla komunikācijas problēma. Lūdzu, pārbaudiet tīkla savienojumu un mēģiniet vēlreiz.</translation>
 <translation id="9161070040817969420">Apakšrāmji vietnei: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Sūtīt sistēmas datus. Pašlaik no šīs ierīces Google serveriem tiek automātiski nosūtīti diagnostikas dati un dati par ierīces un lietotņu izmantošanu. Šo iestatījumu ir noteicis īpašnieks. Ja esat papildus ieslēdzis opciju “Darbības tīmeklī un lietotnēs”, šī informācija tiks saglabāta jūsu kontā, lai jūs varētu to pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Attēls attēlā</translation>
 <translation id="9169496697824289689">Skatīt īsinājumtaustiņus</translation>
 <translation id="9169931577761441333">Pievienot lietotni <ph name="APP_NAME" /> sākuma ekrānam</translation>
 <translation id="9170397650136757332">Tagad nedaudz pakustiniet pirkstu, lai uzņemtu dažādas pirksta nospieduma daļas.</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">Neaktivizēts</translation>
 <translation id="957960681186851048">Šī vietne mēģināja automātiski lejupielādēt vairākus failus</translation>
 <translation id="9580706199804957">Nevarēja izveidot savienojumu ar Google pakalpojumiem.</translation>
-<translation id="958416628331784386">Šajā cilnē videoklips tiek atskaņots režīmā “Attēls attēlā”.</translation>
 <translation id="960719561871045870">Operatora kods</translation>
 <translation id="960987915827980018">Atlikusi apmēram 1 stunda</translation>
 <translation id="962802172452141067">Grāmatzīmju mapju koks</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 4038cd7c..78d4e65 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">അല്പംനിര്‍ത്തൂ</translation>
 <translation id="1181037720776840403">നീക്കംചെയ്യൂ</translation>
 <translation id="1183237619868651138">പ്രാദേശിക കാഷെയിൽ <ph name="EXTERNAL_CRX_FILE" /> ഇൻസ്റ്റാളുചെയ്യാനാവില്ല.</translation>
+<translation id="1183378459020939734">സുരക്ഷാ കീ ജോടിയാക്കുന്നതിന് നിങ്ങൾ തയ്യാറാണോ?</translation>
 <translation id="1185924365081634987">ഈ നെറ്റ്‌വർക്ക് പിശക് പരിഹരിക്കാൻ നിങ്ങൾക്ക് <ph name="GUEST_SIGNIN_LINK_START" />അതിഥിയായി ബ്രൗസുചെയ്യുന്നതിന്<ph name="GUEST_SIGNIN_LINK_END" /> പരീക്ഷിക്കാം.</translation>
 <translation id="1186771945450942097">ദോഷകരമായ സോഫ്‌റ്റ്‌വെയർ നീക്കംചെയ്യുക</translation>
 <translation id="1187722533808055681">നിഷ്‌ക്രിയാവസ്ഥയിൽ നിന്ന് സജീവമാകൽ</translation>
@@ -451,7 +452,6 @@
 <translation id="1657406563541664238">Google ലേക്ക് ഉപയോഗ സ്ഥിതിവിവരകണക്കുകളും ക്രാഷ് റിപ്പോര്‍ട്ടുകളും സ്വപ്രേരിതമായി അയച്ചുകൊണ്ട് <ph name="PRODUCT_NAME" /> മെച്ചപ്പെട്ട രീതിയില്‍ നിര്‍മ്മിക്കാന്‍ സഹായിക്കുക</translation>
 <translation id="1658424621194652532">ഈ പേജ് നിങ്ങളുടെ മൈക്രോഫോൺ ആക്‌സസ്സുചെയ്യുന്നു.</translation>
 <translation id="1660204651932907780">ശബ്‌ദം പ്ലേ ചെയ്യാൻ സൈറ്റുകളെ അനുവദിക്കുക (ശുപാർശ ചെയ്യുന്നു)</translation>
-<translation id="1660938185063657230">നിങ്ങളുടെ സുരക്ഷാ കീ പരിശോധിച്ചുറപ്പിക്കുക</translation>
 <translation id="1661156625580498328">AES എൻക്രിപ്ഷൻ നടപ്പിലാക്കുക (ശുപാർ‌ശ ചെയ്തത്).</translation>
 <translation id="1661245713600520330">പിന്നീടുള്ള ഒരു ഘട്ടത്തില്‍ ലോഡുചെയ്യുന്നതിനായി രജിസ്റ്റര്‍ ചെയ്തിരിക്കുന്ന പ്രധാന പ്രോസസ്സിലേക്കും മൊഡ്യൂളുകളിലേക്കും ലോഡുചെയ്തിരിക്കുന്ന എല്ലാ മൊഡ്യൂളുകളും ഈ പേജ് ലിസ്റ്റുചെയ്യുന്നു.</translation>
 <translation id="166179487779922818">പാസ്‌വേഡ് വളരെ ചെറുതാണ്.</translation>
@@ -538,6 +538,7 @@
 <translation id="1782530111891678861">ടച്ച് HUD മോഡ് മാറ്റുക</translation>
 <translation id="1784849162047402014">ഉപകരണത്തിൽ ഡിസ്‌ക് ഇടം കുറവാണ്</translation>
 <translation id="1786636458339910689">ടീം ഡ്രൈവുകൾ</translation>
+<translation id="1792161662640298233">നിങ്ങളുടെ സുരക്ഷാ കീ പരിശോധിച്ചുറപ്പിക്കുന്നു</translation>
 <translation id="1792619191750875668">വിപുലീകരിച്ച ഡിസ്‌പ്ലേ</translation>
 <translation id="1794791083288629568">ഈ പ്രശ്‌നം പരിഹരിക്കാൻ ഞങ്ങളെ സഹായിക്കുന്നതിന് ഫീഡ്‌ബാക്ക് അയയ്‌ക്കുക.</translation>
 <translation id="1795214765651529549">ക്ലാസിക് ഉപയോഗിക്കുക</translation>
@@ -563,7 +564,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> എന്നതിന്‍റെ പാസ്‌വേഡ് ഇല്ലാതാക്കുക</translation>
 <translation id="1819721979226826163">ആപ്പ് അറിയിപ്പുകൾ &gt; Google Play സേവനങ്ങൾ ടാപ്പ് ചെയ്യുക.</translation>
 <translation id="1826516787628120939">പരിശോധിക്കുന്നു</translation>
-<translation id="1827750274519118478">ചിത്രത്തിനുള്ളിൽ ചിത്രത്തിൽ വീഡിയോ പ്ലേ ചെയ്യുന്നത് അവസാനിക്കും.</translation>
 <translation id="1828378091493947763">ഈ പ്ലഗിൻ ഈ ഉപകരണത്തിൽ പിന്തുണയ്‌ക്കുന്നില്ല</translation>
 <translation id="1828901632669367785">സിസ്റ്റം ഡയലോഗ് ഉപയോഗിച്ച് പ്രിന്റ് ചെയ്യുക...</translation>
 <translation id="1829192082282182671">സൂം &amp;ഔട്ട് ചെയ്യുക</translation>
@@ -599,6 +599,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" എന്നതിന് ചെക്കുചെയ്ത ലൊക്കേഷനുകളിൽ ചിത്രങ്ങളും വീഡിയോകളും ശബ്‌ദ ഫയലുകളും റീഡുചെയ്യാനും റൈറ്റുചെയ്യാനുമാകും.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> നിങ്ങളുടെ ഇന്‍‌സ്റ്റാളേഷന്‍ പൂര്‍ത്തിയാക്കുന്നതിന് തയ്യാറാണ്</translation>
 <translation id="1871615898038944731">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> അപ്‌‌ടു‌ഡേറ്റാണ്</translation>
+<translation id="1875312262568496299">തുടങ്ങുക</translation>
 <translation id="1875387611427697908"><ph name="CHROME_WEB_STORE" />-ല്‍ നിന്ന് മാത്രമേ ഇത് ചേർക്കാനാവൂ</translation>
 <translation id="1877520246462554164">വിശ്വാസ്യത ഉറപ്പിക്കൽ ടോക്കൺ സ്വീകരിക്കുന്നത് പരാജയപ്പെട്ടു. വീണ്ടും ശ്രമിക്കുന്നതിന് സൈൻ ഔട്ട് ചെയ്യുക, തുടർന്ന് സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="1878302395768190018">Chrome ക്രമീകരണത്തിൽ, ഏത് സമയത്തും നിങ്ങൾക്കിത് ഇഷ്‌ടാനുസൃതമാക്കാം</translation>
@@ -745,6 +746,7 @@
 <translation id="2114896190328250491"><ph name="NAME" /> എന്നയാൾ എടുത്ത ഫോട്ടോ</translation>
 <translation id="2115103655317273167">ഫോണിലേക്ക് അയയ്‌ക്കുക</translation>
 <translation id="2119349053129246860"><ph name="APP" /> ആപ്പിൽ തുറക്കുക</translation>
+<translation id="2120297377148151361">പ്രവർത്തനവും ആശയവിനിമയങ്ങളും</translation>
 <translation id="2121825465123208577">വലുപ്പംമാറ്റുക</translation>
 <translation id="2124930039827422115">{1,plural, =1{ഒരു ഉപയോക്താവ് <ph name="AVERAGE_RATING" /> ആയി റേറ്റ് ചെയ്തു.}other{# ഉപയോക്താക്കൾ <ph name="AVERAGE_RATING" /> ആയി റേറ്റ് ചെയ്തു}}</translation>
 <translation id="2126167708562367080">നിങ്ങളുടെ അഡ്‌മിനിസ്‌ട്രേറ്റർ സമന്വയം പ്രവർത്തനരഹിതമാക്കി.</translation>
@@ -878,6 +880,7 @@
 <translation id="2318143611928805047">പേപ്പർ വലുപ്പം</translation>
 <translation id="2318817390901984578">Android ആപ്പുകൾ ഉപയോഗിക്കുന്നതിന്, നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> ചാർജുചെയ്‌തശേഷം അപ്‌ഡേറ്റുചെയ്യുക.</translation>
 <translation id="2318923050469484167">നിലവിലെ അദൃശ്യ സെഷൻ (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128"><ph name="APP_NAME" />-നോടൊപ്പം നിങ്ങളുടെ സുരക്ഷാ കീ ഉപയോഗിക്കുക</translation>
 <translation id="2322193970951063277">ഹെഡ്ഡറുകളും ഫൂട്ടറുകളും</translation>
 <translation id="2325650632570794183">ഈ ഫയൽ തരം പിന്തുണയ്‌ക്കുന്നില്ല. ഈ ഫയൽ തരം തുറക്കാൻ കഴിയുന്ന ഒരു അപ്ലിക്കേഷൻ കണ്ടെത്തുന്നതിന് ഒരു Chrome വെബ് സ്റ്റോർ കണ്ടെത്തുക.</translation>
 <translation id="2326931316514688470">അപ്ലിക്കേഷൻ &amp;വീണ്ടും ലോഡുചെയ്യുക</translation>
@@ -911,6 +914,7 @@
 <translation id="2367199180085172140">ഫയൽ പങ്കിടൽ ചേർക്കുക</translation>
 <translation id="2367972762794486313">അപ്ലിക്കേഷനുകൾ കാണിക്കുക</translation>
 <translation id="2369536625682139252">കുക്കികൾ ഒഴികെ, <ph name="SITE" /> സംഭരിച്ച മുഴുവൻ ഡാറ്റയും ഇല്ലാതാക്കപ്പെടും.</translation>
+<translation id="237058345584060620">നിങ്ങളുടെ അക്കൗണ്ടിലേക്ക് സൈൻ ഇൻ ചെയ്യാൻ കീ ഉപയോഗിക്കുന്നതിന് ഈ ഉപകരണവുമായി കീ ജോടിയാക്കുക</translation>
 <translation id="2371076942591664043">ചെയ്തുകഴിയുമ്പോള്‍ &amp;തുറക്കുക</translation>
 <translation id="2376559921867170420">നിങ്ങളുടെ Chromebook സജ്ജീകരിക്കുമ്പോൾ, ഏതുസമയത്തും നിങ്ങളുടെ അസിസ്‌റ്റന്റിൽ നിന്ന് സഹായം ലഭിക്കുന്നതിന് അസിസ്റ്റന്റ് ബട്ടൺ അമർത്തുക അല്ലെങ്കിൽ "Ok Google" എന്ന് പറയുക.</translation>
 <translation id="2377319039870049694">ലിസ്റ്റ് കാഴ്‌ചയിലേക്ക് മാറുക</translation>
@@ -976,6 +980,7 @@
 <translation id="248861575772995840">നിങ്ങളുടെ ഫോൺ കണ്ടെത്താനായില്ല. <ph name="DEVICE_TYPE" /> ഉപകരണത്തിന്റെ Bluetooth ഓണാണെന്ന് ഉറപ്പുവരുത്തുക. &lt;a&gt;കൂടുതലറിയുക&lt;/a&gt;</translation>
 <translation id="2489918096470125693">&amp;ഫോൾഡർ ചേർക്കുക...</translation>
 <translation id="249113932447298600">ക്ഷമിക്കണം, <ph name="DEVICE_LABEL" /> എന്ന ഉപകരണത്തെ ഇപ്പോൾ പിന്തുണയ്ക്കുന്നില്ല.</translation>
+<translation id="2492040222276243256">നിങ്ങളുടെ സുരക്ഷാ കീയിലെ ബട്ടൺ ചുരുങ്ങിയത് 5 സെക്കൻഡ് അമർത്തിപ്പിടിക്കുക</translation>
 <translation id="2493021387995458222">"ഒരുസമയം പദം" തിരഞ്ഞെടുക്കുക</translation>
 <translation id="249303669840926644">രജിസ്‌ട്രേഷൻ പൂർത്തിയാക്കാനായില്ല</translation>
 <translation id="2495777824269688114">കൂടുതൽ ഫീച്ചറുകൾ കണ്ടെത്തുകയോ ഉത്തരങ്ങൾ സ്വന്തമാക്കുകയോ ചെയ്യുക. സഹായത്തിനായി “?” തിരഞ്ഞെടുക്കുക.</translation>
@@ -1003,6 +1008,7 @@
 <translation id="2520644704042891903">സോക്കറ്റ് ലഭ്യമാകുന്നതിനായി കാത്തിരിക്കുന്നു...</translation>
 <translation id="252219247728877310">ഘടകഭാഗം അപ്‌ഡേറ്റു‌ചെയ്‌തിട്ടില്ല</translation>
 <translation id="2522791476825452208">വളരെ അടുത്ത്</translation>
+<translation id="2523184218357549926">Google-ൽ നിങ്ങൾ സന്ദർശിക്കുന്ന പേജുകളുടെ URL-കൾ അയയ്ക്കുന്നു</translation>
 <translation id="2525250408503682495">ക്രിപ്റ്റോനൈറ്റ്! കിയോസ്‌ക് അപ്ലിക്കേഷനായുള്ള ക്രിപ്റ്റോഹോം മൗണ്ടുചെയ്യാനായില്ല.</translation>
 <translation id="2526277209479171883">ഇൻസ്‌റ്റാൾ ചെയ്‌ത് തുടരുക</translation>
 <translation id="2526590354069164005">ഡെസ്ക്‌ടോപ്പ്</translation>
@@ -1029,6 +1035,7 @@
 <translation id="2562743677925229011"><ph name="SHORT_PRODUCT_NAME" />-ലേക്ക് പ്രവേശിച്ചിട്ടില്ല</translation>
 <translation id="2563856802393254086">അഭിനന്ദനങ്ങൾ! നിങ്ങളുടെ '<ph name="NAME" />' ഡാറ്റ സേവനം സജീവമായി, ഇത് പ്രവർത്തിക്കാൻ തയ്യാറാണ്.</translation>
 <translation id="2564520396658920462">AppleScript-ലൂടെ JavaScript നടപ്പിലാക്കുന്നത് ഓഫാക്കിയിരിക്കുന്നു. അത് ഓണാക്കാൻ, മെനു ബാറിൽ നിന്നും കാഴ്‌ച &gt; ഡെവലപ്പർ &gt; Apple Events-ൽ നിന്ന് JavaScript അനുവദിക്കൽ, എന്നതിലേക്ക് പോവുക. കൂടുതൽ വിവരങ്ങൾക്ക്: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">മെച്ചപ്പെടുത്തിയ അക്ഷരത്തെറ്റ് പരിശോധന</translation>
 <translation id="2566124945717127842">നിങ്ങളുടെ <ph name="IDS_SHORT_PRODUCT_NAME" /> ഉപകരണം പുതിയതുപോലാക്കാൻ പുനഃസജ്ജമാക്കുന്നതിന് പവർവാഷുചെയ്യുക.</translation>
 <translation id="2567257616420533738">പാസ്‌വേഡ് സംരക്ഷിച്ചു. <ph name="SAVED_PASSWORDS_LINK" /> എന്നതിൽ സംരക്ഷിച്ച പാസ്‌വേഡുകൾ കാണുക, നിയന്ത്രിക്കുക</translation>
 <translation id="2568774940984945469">വിവരബാര്‍ കണ്ടെയ്നര്‍</translation>
@@ -1078,6 +1085,7 @@
 <translation id="2633199387167390344"><ph name="NAME" />, ഡിസ്‌ക് ഇടത്തിന്റെ <ph name="USAGE" /> MB ഉപയോഗിക്കുന്നു.</translation>
 <translation id="2633212996805280240">"<ph name="EXTENSION_NAME" />" നീക്കംചെയ്യണോ?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> എന്നതിന് ഇന്‍സ്റ്റാളേഷന്‍ പൂര്‍ത്തിയാക്കാന്‍ കഴിഞ്ഞില്ല, എന്നാല്‍ ഇതിന്‍റെ ഡിസ്ക് ചിത്രത്തില്‍ പ്രവര്‍ത്തിക്കുന്നത് തുടരും.</translation>
+<translation id="2633326789677284179">നിങ്ങളുടെ കീയുടെ പിൻവശത്ത് അച്ചടിച്ചിട്ടുള്ള പേര് നോക്കുക</translation>
 <translation id="2635276683026132559">സൈന്‍‌ ചെയ്യുന്നു</translation>
 <translation id="2636625531157955190">Chrome-ന് ചിത്രം ആക്‌സസ്സുചെയ്യാനാവില്ല.</translation>
 <translation id="2638087589890736295">സമന്വയിപ്പിക്കാൻ തുടങ്ങുന്നതിന് പാസ്‌ഫ്രെയ്‌സ് ആവശ്യമാണ്</translation>
@@ -1391,6 +1399,7 @@
 <translation id="3090819949319990166"><ph name="TEMP_CRX_FILE" /> എന്നതിലേക്ക് ബാഹ്യ crx ഫയൽ പകർത്താനാവില്ല.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" ജോടിയാക്കി</translation>
 <translation id="3101709781009526431">തീയതിയും സമയവും</translation>
+<translation id="3104900172193317662">നിങ്ങളുടെ സുരക്ഷാ കീയുടെ ഉപയോഗം അനുവദിക്കുക</translation>
 <translation id="310671807099593501">സൈറ്റ്, bluetooth ഉപയോഗിക്കുന്നു</translation>
 <translation id="3115128645424181617">നിങ്ങളുടെ ഫോൺ കണ്ടെത്താനാകുന്നില്ല. Bluetooth ഓണാണെന്നും ഫോൺ കൈയ്യിലുണ്ടെന്നും ഉറപ്പാക്കുക.</translation>
 <translation id="3115147772012638511">കാഷെയ്ക്കായി കാത്തിരിക്കുന്നു...</translation>
@@ -1874,6 +1883,7 @@
 <translation id="3839516600093027468">ക്ലിപ്പ്‌ബോർഡ് കാണുന്നതിൽ നിന്ന് എല്ലായ്പ്പോഴും <ph name="HOST" /> എന്നതിനെ ബ്ലോക്ക് ചെയ്യുക</translation>
 <translation id="3840053866656739575">നിങ്ങളുടെ Chromebox-ലേക്കുള്ള കണക്ഷൻ നഷ്‌ടമായി. വീണ്ടും കണക്‌റ്റുചെയ്യാൻ ശ്രമിക്കുമ്പോൾ അടുത്തേക്ക് വരുകയോ ഉപകരണം പരിശോധിക്കുകയോ ചെയ്യുക.</translation>
 <translation id="3842552989725514455">Serif font </translation>
+<translation id="3846116211488856547">വെബ്സൈറ്റുകളും Android ആപ്പുകളും മറ്റും വികസിപ്പിച്ചെടുക്കാൻ ടൂളുകൾ നേടുക. Linux ഇൻസ്‌റ്റാൾ ചെയ്യുമ്പോൾ <ph name="DOWNLOAD_SIZE" /> ഡാറ്റ ഡൗൺലോഡ് ചെയ്യപ്പെടും.</translation>
 <translation id="385051799172605136">പിന്നോട്ട്</translation>
 <translation id="3851428669031642514">സുരക്ഷിതമല്ലാത്ത സ്‌ക്രിപ്‌റ്റുകൾ ലോഡുചെയ്യുക</translation>
 <translation id="3855441664322950881">പായ്‌ക്ക് വിപുലീകരണം</translation>
@@ -1897,6 +1907,7 @@
 <translation id="3872991219937722530">ഡിസ്‌ക് ഇടം സൃഷ്‌ടിച്ചില്ലെങ്കിൽ ഉപകരണം പ്രതികരിക്കില്ല.</translation>
 <translation id="3878840326289104869">സൂപ്പർവൈസുചെയ്‌ത ഉപയോക്താവിനെ സൃഷ്‌ടിക്കുന്നു</translation>
 <translation id="3879748587602334249">ഡൗൺലോഡ് മാനേജർ</translation>
+<translation id="3880709822663530586">നിങ്ങളുടെ ഉപകരണത്തിന്റെ Bluetooth ഓണാണെങ്കിൽ മാത്രമേ സുരക്ഷാ കീ പ്രവർത്തിക്കൂ</translation>
 <translation id="3888550877729210209"><ph name="LOCK_SCREEN_APP_NAME" /> ഉപയോഗിച്ച് കുറിപ്പുകൾ എടുക്കുന്നു</translation>
 <translation id="3892414795099177503">OpenVPN / L2TP ചേർക്കുക...</translation>
 <translation id="3893536212201235195">നിങ്ങളുടെ ഉപയോഗസഹായിയുടെ ക്രമീകരണങ്ങൾ വായിച്ച് മാറ്റുക</translation>
@@ -2357,6 +2368,7 @@
 <translation id="4681930562518940301">യഥാർത്ഥ ചിത്രം പുതിയ ടാബിൽ തുറക്കുക</translation>
 <translation id="4682551433947286597">സൈൻ-ഇൻ സ്‌ക്രീനിൽ ദൃശ്യമാകേണ്ട വാൾപേപ്പറുകൾ.</translation>
 <translation id="4684427112815847243">എല്ലാം സമന്വയിപ്പിക്കുക</translation>
+<translation id="4689235506267737042">നിങ്ങളുടെ ഡെമോ മുൻഗണനകൾ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="4689421377817139245">ഈ ബുക്ക്‌മാർക്ക് നിങ്ങളുടെ iPhone-ൽ സമന്വയിപ്പിക്കുക</translation>
 <translation id="4690091457710545971">&lt;Intel വൈഫൈ ഫേംവെയർ നാല് ഫയലുകൾ സൃഷ്‌ടിച്ചു: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  ആദ്യത്തെ മൂന്നെണ്ണം രജിസ്‌റ്റർ ഡമ്പുകൾ അടങ്ങുന്ന ബൈനറി ഫയലുകളാണ്. ഇതിൽ, വ്യക്തിപരമായ വിവരങ്ങളോ ഉപകരണത്തെ തിരിച്ചറിയാനാകുന്ന വിവരങ്ങളോ ഉൾപ്പെട്ടിട്ടില്ലെന്ന് Intel സമർത്ഥിക്കുന്നു. അവസാനത്തേത് Intel ഫേംവെയറിൽ നിന്നുള്ള ഒരു എക്‌സിക്യൂഷൻ ട്രെയ്‌സ് ആണ്; അതിലുള്ള മുഴുവൻ വ്യക്തിപര വിവരങ്ങളോ ഉപകരണത്തെ തിരിച്ചറിയാനാകുന്ന വിവരങ്ങളോ മായ്ച്ചുകളഞ്ഞിട്ടുണ്ടാകും, എന്നാൽ അത് ഇവിടെ പ്രദർശിപ്പിക്കാൻ കഴിയുന്നതിലും വലുതാണ്. നിങ്ങളുടെ ഉപകരണത്തിൽ അടുത്തിടെയുണ്ടായ വൈഫൈ പ്രശ്‌നങ്ങളുടെ അടിസ്ഥാനത്തിൽ സൃഷ്‌ടിക്കപ്പെട്ടവയാണ് ഈ ഫയലുകൾ, ഈ പ്രശ്‌നങ്ങൾ പരിഹരിക്കാനായി ഇവ Intel-മായി പങ്കിടുന്നതാണ്.&gt;</translation>
 <translation id="4692302215262324251"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> ഡൊമെയ്‌നിന്റെ എന്റർപ്രൈസ് മാനേജ്‌മെന്റിന് വേണ്ടി നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> എൻറോൾ ചെയ്‌തു.
@@ -2462,7 +2474,6 @@
 <translation id="4856478137399998590">നിങ്ങളുടെ ഡാറ്റ സേവനം സജീവമാക്കി ഒപ്പം ഉപയോഗക്ഷമവുമായി</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{എല്ലാം &amp;അദൃശ്യ വിൻഡോയിൽ തുറക്കുക}=1{&amp;അദൃശ്യ വിൻഡോയിൽ തുറക്കുക}other{എല്ലാം (#) &amp;അദൃശ്യ വിൻഡോയിൽ തുറക്കുക}}</translation>
 <translation id="4858913220355269194">ഫ്രിറ്റ്‌സ്</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - ചിത്രത്തിനുള്ളിലെ ചിത്രത്തിൽ വീഡിയോ പ്ലേ ചെയ്യുന്നു</translation>
 <translation id="4862050643946421924">ഉപകരണം ചേർക്കൽ...</translation>
 <translation id="4862642413395066333">OCSP പ്രതികരണങ്ങള്‍‌ സൈന്‍‌ ചെയ്യുന്നു</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (ഡിഫോൾട്ട്) പോലെ തോന്നുന്നു</translation>
@@ -2486,6 +2497,7 @@
 <translation id="4880827082731008257">തിരയൽ ചരിത്രം</translation>
 <translation id="4881695831933465202">തുറക്കുക</translation>
 <translation id="4882473678324857464">ബുക്ക്മാർക്കുകൾ കേന്ദ്രീകരിക്കുക</translation>
+<translation id="4882831918239250449">നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രത്തെ തിരയൽ, പരസ്യങ്ങൾ എന്നിവയും മറ്റും വ്യക്തിപരമാക്കുന്ന വിധം നിയന്ത്രിക്കുക</translation>
 <translation id="4883178195103750615">HTML ഫയലിലേക്ക് ബുക്ക്മാർക്കുകൾ കയറ്റുമതി ചെയ്യുക...</translation>
 <translation id="4883436287898674711">എല്ലാ <ph name="WEBSITE_1" /> സൈറ്റുകളും</translation>
 <translation id="48838266408104654">&amp;ടാസ്‌ക് മാനേജര്‍</translation>
@@ -2761,6 +2773,7 @@
 <translation id="5288678174502918605">അടച്ച ടാബ് വീ&amp;ണ്ടും തുറക്കുക</translation>
 <translation id="52912272896845572">സ്വകാര്യ കീ ഫയല്‍‌ അസാധുവാണ്.</translation>
 <translation id="529175790091471945">ഈ ഉപകരണം ഫോർമാറ്റുചെയ്യുക</translation>
+<translation id="5292195676005197571">മിക്ക കീകളും ഉപയോഗിക്കുന്നതിന് ബട്ടണിൽ ടാപ്പ് ചെയ്‌താൽ മതി</translation>
 <translation id="5293170712604732402">ക്രമീകരണത്തെ അവയുടെ യഥാർത്ഥ ഡിഫോൾട്ടുകളിലേക്ക് പുനഃസ്ഥാപിക്കുക</translation>
 <translation id="5298219193514155779">തീം സൃഷ്‌ടിച്ചത്</translation>
 <translation id="5299109548848736476">ട്രാക്കുചെയ്യരുത്</translation>
@@ -3021,11 +3034,13 @@
 <translation id="5658415415603568799">അധിക സുരക്ഷയ്‌ക്കായി, 20 മണിക്കൂറിന് ശേഷം നിങ്ങളുടെ പാസ്‌വേഡ് നൽകാൻ Smart Lock ആവശ്യപ്പെടും.</translation>
 <translation id="5659593005791499971">ഇമെയില്‍</translation>
 <translation id="5659833766619490117">ഈ പേജ് വിവർത്തനം ചെയ്യാനായില്ല</translation>
+<translation id="5660204307954428567"><ph name="DEVICE_NAME" /> എന്ന ഉപകരണവുമായി ജോടിയാക്കുക</translation>
 <translation id="5662477687021125631">ശാശ്വതമായത്</translation>
 <translation id="5667546120811588575">Google Play സജ്ജമാക്കുന്നു...</translation>
 <translation id="5669267381087807207">സജീവമാക്കുന്നു</translation>
 <translation id="5669691691057771421">പുതിയ പിൻ നൽകുക</translation>
 <translation id="5671641761787789573">ചിത്രങ്ങൾ ബ്ലോക്ക് ചെയ്‌തു</translation>
+<translation id="5673076758299428095">Linux ഷട്ട് ഡൗൺ ചെയ്യുക</translation>
 <translation id="5677503058916217575">പേജ് ഭാഷ:</translation>
 <translation id="5677928146339483299">തടഞ്ഞു</translation>
 <translation id="5678550637669481956"><ph name="VOLUME_NAME" /> എന്നതിലേക്ക് റീഡുചെയ്യാനും റൈറ്റുചെയ്യാനുമുള്ള ആക്‌സസ്സ് അനുവദിച്ചിരിക്കുന്നു.</translation>
@@ -3190,6 +3205,9 @@
 <translation id="5920835625712313205">Chrome OS സിസ്റ്റം ഇമേജ് റൈറ്റർ</translation>
 <translation id="5921745308587794300">വിൻഡോ തിരിക്കുക</translation>
 <translation id="5924047253200400718">സഹായം തേടുക<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">ഒരു പുതിയ ഫോട്ടോ എടുക്കുക അല്ലെങ്കിൽ നിലവിലുള്ള ഒരു ഫോട്ടോയോ ചിഹ്നമോ തിരഞ്ഞെടുക്കുക.
+    <ph name="LINE_BREAK" />
+    ഈ ചിത്രം Chromebook-ലെ സൈൻ-ഇൻ സ്‌ക്രീനിലും ലോക്ക് സ്‌ക്രീനിലും ദൃശ്യമാകും.</translation>
 <translation id="5925147183566400388">സര്‍‌ട്ടിഫിക്കേഷന്‍‌ പ്രാക്റ്റീസ് സ്റ്റേറ്റ്‌മെന്‍റ് പോയിന്‍റര്‍‌</translation>
 <translation id="592880897588170157">PDF ഫയലുകൾ Chrome-ൽ സ്വയമേവ തുറക്കുന്നതിന് പകരം ഡൗൺലോഡുചെയ്യുക</translation>
 <translation id="5931146425219109062">നിങ്ങൾ സന്ദർശിച്ച വെബ്സൈറ്റുകളിലെ എല്ലാ ഡാറ്റയും റീഡുചെയ്യുക, മാറ്റുക</translation>
@@ -3286,6 +3304,7 @@
 <translation id="6078752646384677957">നിങ്ങളുടെ മൈക്രോഫോണും ഓഡിയോ ലെവലുകളും പരിശോധിക്കുക.</translation>
 <translation id="6080515710685820702">പങ്കിട്ട കമ്പ്യൂട്ടറാണോ ഉപയോഗിക്കുന്നത്? അദൃശ്യ വിൻഡോ പരീക്ഷിച്ചുനോക്കൂ.</translation>
 <translation id="6080689532560039067">നിങ്ങളുടെ സിസ്‌റ്റം സമയം പരിശോധിക്കുക</translation>
+<translation id="6082111513049964958">അൺലോക്ക് ചെയ്യാനുള്ള പാസ്‌വേഡ്</translation>
 <translation id="6082651258230788217">ടൂൾബാറിൽ കാണിക്കുക</translation>
 <translation id="6086846494333236931">നിങ്ങളുടെ അഡ്‌മിനിസ്‌ട്രേറ്റർ ഇൻസ്റ്റാൾ ചെയ്‌തു</translation>
 <translation id="6087960857463881712">മനോഹരമായ മുഖം</translation>
@@ -3510,6 +3529,7 @@
 <translation id="642282551015776456">ഈ നാമം ഒരു ഫോൾഡർ നാമത്തിന്റെ ഫയൽ ആയി ഉപയോഗിക്കരുത്</translation>
 <translation id="642469772702851743">ഉടമ ഈ ഉപകരണം (SN: <ph name="SERIAL_NUMBER" />) ലോക്ക് ചെയ്‌തിരിക്കുന്നു.</translation>
 <translation id="6426200009596957090">ChromeVox ക്രമീകരണം തുറക്കുക</translation>
+<translation id="6427415464407526111">നിങ്ങളുടെ സുരക്ഷാ കീ തിരഞ്ഞെടുക്കുക</translation>
 <translation id="6429384232893414837">അപ്‌ഡേറ്റ് ചെയ്യുന്നതിൽ പിശക്</translation>
 <translation id="6430814529589430811">Base64-എന്‍‌കോഡുചെയ്‌ത ASCII, ഒറ്റ സര്‍‌ട്ടിഫിക്കറ്റ്</translation>
 <translation id="6431217872648827691"><ph name="TIME" /> മുതൽ Google പാസ്‌വേഡ് ഉപയോഗിച്ച് എല്ലാ ഡാറ്റയും
@@ -3937,6 +3957,7 @@
 <translation id="7099337801055912064">വലിയ PPD ലോഡ് ചെയ്യാനാകില്ല. പരമാവധി വല‌ുപ്പം 250 kB ആണ്.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> ഇനങ്ങൾ തിരഞ്ഞെടുത്തു</translation>
 <translation id="7102687220333134671">സ്വയമേവയുള്ള അപ്‌ഡേറ്റുകൾ ഓണാണ്</translation>
+<translation id="7102832101143475489">അഭ്യർത്ഥന കാലഹരണപ്പെട്ടു</translation>
 <translation id="7106346894903675391">കൂടുതൽ സംഭരണം വാങ്ങുക...</translation>
 <translation id="7108338896283013870">മറയ്ക്കുക</translation>
 <translation id="7108634116785509031">നിങ്ങളുടെ ക്യാമറ ഉപയോഗിക്കാൻ <ph name="HOST" /> ആഗ്രഹിക്കുന്നു</translation>
@@ -4145,7 +4166,6 @@
 <translation id="7427348830195639090">പശ്ചാത്തല പേജ്: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{എല്ലാം &amp;പുതിയ വിൻഡോയിൽ തുറക്കുക}=1{&amp;പുതിയ വിന്‍‌ഡോയില്‍‌ തുറക്കുക}other{എല്ലാം (#) &amp;പുതിയ വിൻഡോയിൽ തുറക്കുക}}</translation>
 <translation id="7434509671034404296">വികാസകന്‍</translation>
-<translation id="7436470008146509879">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> ഉപകരണത്തിൽ Linux സജ്ജീകരിക്കുക</translation>
 <translation id="7436921188514130341">ക്ഷമിക്കണം! പേരുമാറ്റുന്നതിനിടെ ഒരു പിശകുണ്ടായി.</translation>
 <translation id="7441830548568730290">മറ്റ് ഉപയോക്താക്കൾ</translation>
 <translation id="7442465037756169001">നിങ്ങളുടെ Hangouts Meet hardware സജ്ജമാക്കാൻ തയ്യാറാണ്.</translation>
@@ -4444,7 +4464,6 @@
 <translation id="7881969471599061635">സബ്‌ടൈറ്റിലുകൾ പ്രവർത്തനരഹിതമാക്കുക</translation>
 <translation id="7882358943899516840">പ്രൊവൈഡര്‍ തരം:</translation>
 <translation id="7885253890047913815">സമീപകാല ലക്ഷ്യസ്ഥാനങ്ങൾ</translation>
-<translation id="7886917304091689118">Chrome-ൽ റൺ ചെയ്യുന്നു</translation>
 <translation id="7887334752153342268">തനിപ്പകര്‍പ്പ്</translation>
 <translation id="7887864092952184874">Bluetooth മൗസ് ജോടിയാക്കി</translation>
 <translation id="7889565820482017512">ഡിസ്പ്ലേ വലുപ്പം</translation>
@@ -4557,6 +4576,7 @@
 <translation id="8028993641010258682">വലുപ്പം</translation>
 <translation id="8030656706657716245">പ്രിന്ററുകൾ ചേർക്കുക</translation>
 <translation id="8032244173881942855">ടാബ് കാസ്‌റ്റുചെയ്യാനാവുന്നില്ല.</translation>
+<translation id="8033958968890501070">കാലഹരണപ്പെട്ടു</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{എല്ലാം &amp;അദൃശ്യ വിൻഡോയിൽ തുറക്കുക}=1{&amp;അദൃശ്യ വിൻഡോയിൽ തുറക്കുക}other{എല്ലാം (#) &amp;അദൃശ്യ വിൻഡോയിൽ തുറക്കുക}}</translation>
 <translation id="8037117027592400564">സംശ്ലേഷിച്ച സംഭാഷണം ഉപയോഗിക്കുന്ന എല്ലാ ടെക്സ്റ്റ് സംഭാഷണവും റീഡുചെയ്യുക</translation>
 <translation id="8037357227543935929">ചോദിക്കുക (ഡിഫോൾട്ട്)</translation>
@@ -4615,7 +4635,6 @@
 <translation id="8118860139461251237">നിങ്ങളുടെ ഡൗൺലോഡുകൾ നിയന്ത്രിക്കുക</translation>
 <translation id="81238879832906896">മഞ്ഞയും വെളുപ്പും നിറത്തിലുള്ള പൂവ്</translation>
 <translation id="8124313775439841391">നിയന്ത്രിത ONC</translation>
-<translation id="8125562866093998907">നിങ്ങളുടെ അക്കൗണ്ടിനുള്ള അധിക സുരക്ഷയ്ക്കായി സൈറ്റിന് സുരക്ഷാ കീ സ്ഥിരീകരിക്കേണ്ടതുണ്ട്.</translation>
 <translation id="813082847718468539">സൈറ്റ് വിവരങ്ങള്‍ കാണുക</translation>
 <translation id="8131740175452115882">സ്ഥിരീകരിക്കുക</translation>
 <translation id="8133676275609324831">&amp;ഫോള്‍ഡറില്‍ കാണിക്കുക</translation>
@@ -4647,6 +4666,8 @@
 <translation id="8180239481735238521">പേജ്</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" എന്നതിന് ചെക്കുചെയ്ത ലൊക്കേഷനുകളിൽ ചിത്രങ്ങളും വീഡിയോകളും ശബ്‌ദ ഫയലുകളും വായിക്കാനും ഇല്ലാതാക്കാനുമാവും.</translation>
 <translation id="8181215761849004992">ഡൊമെയ്‌ൻ ബന്ധപ്പെടുത്താനാവില്ല. ഉപകരണങ്ങൾ ചേർക്കാൻ നിങ്ങൾക്ക് മതിയായ പ്രത്യേക അധികാരങ്ങൾ ഉണ്ടോ എന്നറിയാൻ നിങ്ങളുടെ അക്കൗണ്ട് പരിശോധിക്കുക.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    ഈ സൈറ്റ് ബ്ലോക്ക് ചെയ്‌തതാണെന്ന് ഞാൻ കരുതുന്നില്ല!</translation>
 <translation id="8184288427634747179"><ph name="AVATAR_NAME" /> അവതാറിലേക്ക് മാറുക</translation>
 <translation id="8184318863960255706">കൂടുതൽ‍ വിവരങ്ങള്‍</translation>
 <translation id="8185331656081929126">നെറ്റ്‌വർക്കിൽ പുതിയ പ്രിന്ററുകൾ കണ്ടെത്തുമ്പോൾ അറിയിപ്പുകൾ ദൃശ്യമാക്കുക</translation>
@@ -4790,6 +4811,7 @@
 <translation id="8434480141477525001">NaCl ഡീബഗ് പോർട്ട്</translation>
 <translation id="843760761634048214">ക്രെഡിറ്റ് കാർഡ് സംരക്ഷിക്കുക</translation>
 <translation id="8438328416656800239">ഒരു സ്‌മാർട്ട് ബ്രൗസറിലേക്ക് മാറുക</translation>
+<translation id="8438566539970814960">തിരയലുകളും ബ്രൗസിംഗും മികച്ചതാക്കുക</translation>
 <translation id="8439506636278576865">പേജുകൾ ഈ ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്യാനുള്ള ഓഫർ</translation>
 <translation id="8446884382197647889">കൂടുതലറിയുക</translation>
 <translation id="8447409163267621480">ഒന്നുകിൽ Ctrl അല്ലെങ്കിൽ, Alt ഉൾപ്പെടുത്തുക</translation>
@@ -4994,7 +5016,6 @@
 <translation id="8736288397686080465">ഈ സൈറ്റ് പശ്‌ചാത്തലത്തിൽ അപ്‌ഡേറ്റുചെയ്‌തു.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> എന്നതിന് പകരം <ph name="PROTOCOL" /> ലിങ്കുകൾ തുറക്കുക</translation>
 <translation id="8737709691285775803">ഷിൽ</translation>
-<translation id="8741316211671074806">ചിത്രത്തിനുള്ളിലെ ചിത്രം</translation>
 <translation id="8743390665131937741">പൂർണ്ണസ്‌ക്രീൻ സൂം നില:</translation>
 <translation id="8743864605301774756">1 മണിക്കൂർ മുമ്പ് അപ്‌ഡേറ്റുചെയ്തു</translation>
 <translation id="874689135111202667">{0,plural, =1{ഈ സൈറ്റിലേക്ക് ഒരു ഫയൽ അപ്‌ലോഡ് ചെയ്യണോ?}other{ഈ സൈറ്റിലേക്ക് # ഫയലുകൾ അപ്‌ലോഡ് ചെയ്യണോ?}}</translation>
@@ -5146,6 +5167,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ക്രാഷായി</translation>
 <translation id="8983677657449185470">സുരക്ഷിത ബ്രൗസിംഗ് മെച്ചപ്പെടുത്താൻ സഹായിക്കുക</translation>
 <translation id="8984654317541110628">ഫയൽ പങ്കിടൽ URL</translation>
+<translation id="8984872292925913496">നിങ്ങളുടെ കീയുടെ പിൻഭാഗത്ത് 6-അക്ക ഡിജിറ്റ് പിൻ കണ്ടെത്തുക</translation>
 <translation id="8986362086234534611">മറന്നു</translation>
 <translation id="8986494364107987395">Google ലേക്ക് സ്വപ്രേരിതമായി ഉപയോഗ സ്ഥിതിവിവരക്കണക്കുകളും ക്രാഷ് റിപ്പോര്‍ട്ടുകളും അയയ്ക്കുക</translation>
 <translation id="8987927404178983737">മാസം</translation>
@@ -5268,6 +5290,7 @@
 <translation id="9158715103698450907">ക്ഷമിക്കണം! പ്രമാണീകരണം നടത്തുന്നതിനിടയിൽ ഒരു നെറ്റ്‌വർക്ക് ആശയവിനിമയ പ്രശ്‌നം സംഭവിച്ചു.  നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="9161070040817969420">ഇനിപ്പറയുന്നതിന്റെ ഉപഫ്രെയിമുകൾ: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. ഈ ഉപകരണം നിലവിൽ Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുന്നു. ഉടമയാണ് ഈ ക്രമീകരണം നടപ്പാക്കിയിട്ടുള്ളത്. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">ചിത്രത്തിനുള്ളിൽ ചിത്രം</translation>
 <translation id="9169496697824289689">കീബോർഡ് കുറുക്കുവഴികൾ കാണുക</translation>
 <translation id="9169931577761441333">ഹോം സ്‌ക്രീനിലേക്ക് <ph name="APP_NAME" /> ചേർക്കുക</translation>
 <translation id="9170397650136757332">നിങ്ങളുടെ വിരലടയാളത്തിന്റെ വ്യത്യസ്‌ത ഭാഗങ്ങളെല്ലാം ക്യാപ്‌ചർ ചെയ്യാൻ വിരൽ പതുക്കെ നീക്കുക</translation>
@@ -5318,7 +5341,6 @@
 <translation id="952992212772159698">സജീവമാക്കിയില്ല</translation>
 <translation id="957960681186851048">ഈ സൈറ്റ് ഒന്നിലധികം ഫയലുകൾ സ്വമേധയാ ഡൗൺലോഡ് ചെയ്യാൻ ശ്രമിച്ചു</translation>
 <translation id="9580706199804957">Google സേവനങ്ങളിലേക്ക് കണക്റ്റ് ചെയ്യാനായില്ല</translation>
-<translation id="958416628331784386">ചിത്രത്തിനുള്ളിലെ ചിത്രം മോഡിൽ ഈ ടാബ് ഒരു വീഡിയോ പ്ലേ ചെയ്യുന്നു.</translation>
 <translation id="960719561871045870">ഓപ്പറേറ്റർ കോഡ്</translation>
 <translation id="960987915827980018">ഏകദേശം 1 മണിക്കൂർ ശേഷിക്കുന്നു</translation>
 <translation id="962802172452141067">ഫോൾഡർ ട്രീ ബുക്ക്‌മാർക്ക് ചെയ്യുക</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 5d3c658..9a0f6c95 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -453,7 +453,6 @@
 <translation id="1657406563541664238">वापर आकडेवारी आणि क्रॅश अहवाल स्वयंचलितपणे Google कडे पाठवून <ph name="PRODUCT_NAME" /> ला अधिक चांगले करण्यास मदत करा</translation>
 <translation id="1658424621194652532">हे पृष्ठ आपल्या मायक्रोफोनवर प्रवेश करत आहे.</translation>
 <translation id="1660204651932907780">साइटना ध्वनी प्ले करण्याची परवानगी द्या (शिफारस केलेले)</translation>
-<translation id="1660938185063657230">तुमची सिक्युरिटी की पडताळून पाहा</translation>
 <translation id="1661156625580498328">AES एंक्रिप्शन लागू करा (शिफारस केलेले).</translation>
 <translation id="1661245713600520330">हे पृष्ठ मुख्य प्रक्रियेत लोड केलेली आणि नंतर लोड करण्यासाठी नोंदविलेली सर्व मॉड्यूल्स सूचीबद्ध करते.</translation>
 <translation id="166179487779922818">पासवर्ड खूप लहान आहे.</translation>
@@ -565,7 +564,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> चा पासवर्ड हटवा</translation>
 <translation id="1819721979226826163">अ‍ॅप सूचना &gt; Google Play सेवा वर टॅप करा.</translation>
 <translation id="1826516787628120939">तपासत आहे</translation>
-<translation id="1827750274519118478">चित्रात-चित्र मोडमधील व्हिडिओ प्ले होणे थांबेल.</translation>
 <translation id="1828378091493947763">हे प्लगिन या डिव्हाइसवर समर्थित नाही</translation>
 <translation id="1828901632669367785">सिस्टम संवाद वापरून प्रिंट करा…</translation>
 <translation id="1829192082282182671">झूम &amp;कमी करा</translation>
@@ -2465,7 +2463,6 @@
 <translation id="4856478137399998590">तुमची मोबाइल सेवा सक्रिय झाली आणि वापरण्यासाठी तयार आहे</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{सर्व गुप्त विंडोमध्ये उघडा}=1{गुप्त विंडोमध्ये उघडा}one{सर्व (#) गुप्त विंडोमध्ये उघडा}other{सर्व (#) गुप्त विंडोमध्ये उघडा}}</translation>
 <translation id="4858913220355269194">फ्रिटझ</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - व्हिडिओ चित्रात-चित्र मध्ये प्ले होत आहे</translation>
 <translation id="4862050643946421924">डिव्हाइस जोडणे...</translation>
 <translation id="4862642413395066333">OCSP प्रतिसाद साइन करत आहे</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (डीफॉल्ट) सारखे दिसते</translation>
@@ -4148,7 +4145,6 @@
 <translation id="7427348830195639090">पार्श्वभूमी पृष्ठ: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{सर्व नवीन विंडोमध्ये उघडा}=1{ नवीन विंडोमध्ये उघडा}one{सर्व (#) नवीन विंडोमध्ये उघडा}other{सर्व (#) नवीन विंडोमध्ये उघडा}}</translation>
 <translation id="7434509671034404296">विकसक</translation>
-<translation id="7436470008146509879">तुमच्या <ph name="DEVICE_TYPE" /> वर Linux सेट करा</translation>
 <translation id="7436921188514130341">ओहो! नाव बदलताना एक एरर आली होती.</translation>
 <translation id="7441830548568730290">इतर वापरकर्ते</translation>
 <translation id="7442465037756169001">तुमचे Hangouts Meet hardware सेट अप होण्यासाठी सज्ज आहे.</translation>
@@ -4445,7 +4441,6 @@
 <translation id="7881969471599061635">उपशीर्षके अक्षम करा</translation>
 <translation id="7882358943899516840">प्रदाता प्रकार</translation>
 <translation id="7885253890047913815">अलीकडील गंतव्ये</translation>
-<translation id="7886917304091689118">Chrome मध्ये चालत आहे</translation>
 <translation id="7887334752153342268">डुप्लिकेट</translation>
 <translation id="7887864092952184874">Bluetooth माउस जोडला</translation>
 <translation id="7889565820482017512">डिस्प्ले आकार</translation>
@@ -4616,7 +4611,6 @@
 <translation id="8118860139461251237">आपले डाउनलोड व्यवस्थापित करा</translation>
 <translation id="81238879832906896">पिवळे आणि पांढरे फूल</translation>
 <translation id="8124313775439841391">व्यवस्‍थापित ONC</translation>
-<translation id="8125562866093998907">तुमच्या खात्याच्या अधिक सुरक्षिततेसाठी या साइटला तुमची सिक्युरिटी की पडताळायची आहे.</translation>
 <translation id="813082847718468539">साइटची माहिती पहा</translation>
 <translation id="8131740175452115882">पुष्टी करा</translation>
 <translation id="8133676275609324831">फोल्डरमध्ये &amp;दर्शवा</translation>
@@ -4995,7 +4989,6 @@
 <translation id="8736288397686080465">ही साइट पार्श्वभूमीमध्ये अपडेट केली गेली आहे.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> ऐवजी <ph name="PROTOCOL" /> दुवे उघडा</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">चित्रात-चित्र</translation>
 <translation id="8743390665131937741">पूर्णस्क्रीन झूम पातळी:</translation>
 <translation id="8743864605301774756">1 तासापूर्वी अपडेट करण्यात आले</translation>
 <translation id="874689135111202667">{0,plural, =1{या साइटवर एक फाइल अपलोड करायची?}one{या साइटवर # फाइल अपलोड करायची?}other{या साइटवर # फायली अपलोड करायच्या?}}</translation>
@@ -5270,6 +5263,7 @@
 <translation id="9158715103698450907">अरेरे! प्रमाणीकरणादरम्यान एक नेटवर्क संवाद प्रस्थापित समस्या आली. कृपया आपले नेटवर्क कनेक्शन तपासा आणि पुन्हा प्रयत्न करा.</translation>
 <translation id="9161070040817969420">यासाठी सबफ्रेम: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">सिस्टम डेटा पाठवा. आपोआप निदान आणि डिव्हाइस आणि अ‍ॅप वापर डेटा Google ला पाठवा. या डिव्हाइससाठी निदान आणि वापर डेटा Google ला पाठवण्याचे मालक निवडू शकतो. तुम्ही अतिरिक्त वेब आणि अ‍ॅप अॅक्टिव्हिटी चालू केली असल्यास, ही माहिती तुमच्या खात्यात स्टोअर केली जाईल जेणेकरून तुम्ही ती माझी अॅक्टिव्हिटी मध्ये व्यवस्थापित करू शकाल. <ph name="BEGIN_LINK1" />अधिक जाणून घ्या<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">चित्रात-चित्र</translation>
 <translation id="9169496697824289689">कीबोर्ड शॉर्टकट पहा</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> ला होम स्क्रीनवर जोडा</translation>
 <translation id="9170397650136757332">आपल्या फिंगरप्रिंटचे सर्व भिन्न भाग कॅप्चर करण्यासाठी आता आपले बोट किंचित हलवा</translation>
@@ -5320,7 +5314,6 @@
 <translation id="952992212772159698">सक्रिय नाही</translation>
 <translation id="957960681186851048">या साइटने एकाहून अधिक फायली आपोआप डाउनलोड करण्याचा प्रयत्न केला</translation>
 <translation id="9580706199804957">Google सेवांशी कनेक्ट करता आले नाही</translation>
-<translation id="958416628331784386">हा टॅब व्हिडिओ चित्रात-चित्र मध्ये प्ले करत आहे.</translation>
 <translation id="960719561871045870">ऑपरेटर कोड</translation>
 <translation id="960987915827980018">सुमारे 1 तास बाकी</translation>
 <translation id="962802172452141067">फोल्डर ट्री बुकमार्क करा</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index f3e53f9..9d1f5c6 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Jeda</translation>
 <translation id="1181037720776840403">Alih keluar</translation>
 <translation id="1183237619868651138">Tidak boleh memasang <ph name="EXTERNAL_CRX_FILE" /> dalam cache tempatan.</translation>
+<translation id="1183378459020939734">Bersedia untuk menggandingkan Kunci Keselamatan anda?</translation>
 <translation id="1185924365081634987">Anda boleh cuba <ph name="GUEST_SIGNIN_LINK_START" />semak imbas sebagai tetamu<ph name="GUEST_SIGNIN_LINK_END" /> untuk membetulkan ralat rangkaian ini juga.</translation>
 <translation id="1186771945450942097">Alih keluar perisian berbahaya</translation>
 <translation id="1187722533808055681">Bangkit daripada melahu</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Bantu jadikan <ph name="PRODUCT_NAME" /> lebih baik dengan menghantar statistik dan laporan nahas secara automatik kepada Google</translation>
 <translation id="1658424621194652532">Halaman ini mengakses mikrofon anda.</translation>
 <translation id="1660204651932907780">Benarkan tapak untuk memainkan bunyi (disyorkan)</translation>
-<translation id="1660938185063657230">Sahkan Kunci Keselamatan anda</translation>
 <translation id="1661156625580498328">Kuat kuasakan penyulitan AES (disyorkan).</translation>
 <translation id="1661245713600520330">Halaman ini menyenaraikan semua modul yang dimuatkan ke proses utama dan modul yang didaftarkan pada titik kemudian.</translation>
 <translation id="166179487779922818">Kata laluan terlalu pendek.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Tukar mod HUD sentuh</translation>
 <translation id="1784849162047402014">Peranti kekurangan ruang cakera</translation>
 <translation id="1786636458339910689">Drive Pasukan</translation>
+<translation id="1792161662640298233">Mengesahkan Kunci Keselamatan anda</translation>
 <translation id="1792619191750875668">Paparan lanjutan</translation>
 <translation id="1794791083288629568">Hantar maklum balas untuk membantu kami menyelesaikan isu ini.</translation>
 <translation id="1795214765651529549">Gunakan Klasik</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Padam kata laluan untuk <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Ketik Pemberitahuan apl &gt; Perkhidmatan Google Play.</translation>
 <translation id="1826516787628120939">Menyemak</translation>
-<translation id="1827750274519118478">Video dalam Gambar dalam Gambar akan berhenti dimainkan.</translation>
 <translation id="1828378091493947763">Pemalam ini tidak disokong pada peranti ini</translation>
 <translation id="1828901632669367785">Cetak Menggunakan Dialog Sistem...</translation>
 <translation id="1829192082282182671">Zum &amp;Keluar</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" boleh membaca dan menulis fail imej, video dan bunyi di lokasi yang ditandai.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> sedia untuk melengkapkan pemasangan anda</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> anda sudah dikemas kini</translation>
+<translation id="1875312262568496299">Mula</translation>
 <translation id="1875387611427697908">Item ini hanya boleh ditambahkan daripada <ph name="CHROME_WEB_STORE" />.</translation>
 <translation id="1877520246462554164">Gagal mendapatkan token pengesahan. Sila log keluar, kemudian log masuk semula untuk mencuba lagi.</translation>
 <translation id="1878302395768190018">Anda boleh menyesuaikan pilihan ini pada bila-bila masa dalam Tetapan Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto oleh <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Hantar ke telefon</translation>
 <translation id="2119349053129246860">Buka dalam <ph name="APP" /></translation>
+<translation id="2120297377148151361">Aktiviti dan interaksi</translation>
 <translation id="2121825465123208577">Ubah saiz</translation>
 <translation id="2124930039827422115">{1,plural, =1{Dinilai <ph name="AVERAGE_RATING" /> oleh seorang pengguna.}other{Dinilai <ph name="AVERAGE_RATING" /> oleh # pengguna.}}</translation>
 <translation id="2126167708562367080">Penyegerakan dilumpuhkan oleh pentadbir anda.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Saiz kertas</translation>
 <translation id="2318817390901984578">Untuk menggunakan apl Android, cas &amp; kemas kini <ph name="DEVICE_TYPE" /> anda.</translation>
 <translation id="2318923050469484167">Sesi inkognito semasa (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Gunakan Kunci Keselamatan anda dengan <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Pengepala dan pengaki</translation>
 <translation id="2325650632570794183">Jenis fail ini tidak disokong. Sila lawati Kedai Web Chrome untuk mendapatkan apl yang boleh membuka jenis fail ini.</translation>
 <translation id="2326931316514688470">&amp;Muat semula apl</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Tambah Perkongsian Fail</translation>
 <translation id="2367972762794486313">Paparkan apl</translation>
 <translation id="2369536625682139252">Semua data yang disimpan oleh <ph name="SITE" /> akan dipadamkan, kecuali kuki.</translation>
+<translation id="237058345584060620">Gandingkan kunci anda dengan peranti ini supaya anda boleh menggunakan kunci itu untuk log masuk ke akaun anda</translation>
 <translation id="2371076942591664043">Buka apabila &amp;selesai</translation>
 <translation id="2376559921867170420">Apabila Chromebook anda selesai disediakan, tekan butang Assistant atau sebut "OK Google" untuk mendapatkan bantuan daripada Assistant anda pada bila-bila masa.</translation>
 <translation id="2377319039870049694">Tukar kepada paparan senarai</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Tidak dapat mencari telefon anda. Pastikan Bluetooth <ph name="DEVICE_TYPE" /> anda dihidupkan. &lt;a&gt;Ketahui lebih lanjut&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Tambah &amp;Folder...</translation>
 <translation id="249113932447298600">Maaf, peranti <ph name="DEVICE_LABEL" /> tidak disokong pada masa ini.</translation>
+<translation id="2492040222276243256">Tekan dan tahan butang pada Kunci Keselamatan anda selama sekurang-kurangnya 5 saat</translation>
 <translation id="2493021387995458222">Pilih "perkataan pada satu masa"</translation>
 <translation id="249303669840926644">Tidak dapat melengkapkan pendaftaran</translation>
 <translation id="2495777824269688114">Temui lebih banyak ciri atau dapatkan jawapan. Pilih “?” untuk mendapatkan bantuan.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Menunggu soket tersedia...</translation>
 <translation id="252219247728877310">Komponen tidak dikemaskini</translation>
 <translation id="2522791476825452208">Terlalu rapat</translation>
+<translation id="2523184218357549926">Menghantar URL halaman yang anda lawati kepada Google</translation>
 <translation id="2525250408503682495">Alamak! Kriptohom untuk aplikasi kios tidak dapat dilekapkan.</translation>
 <translation id="2526277209479171883">Pasang &amp; teruskan</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Tidak log masuk ke <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Tahniah! Perkhidmatan data '<ph name="NAME" />' anda telah diaktifkan dan sedia untuk digunakan.</translation>
 <translation id="2564520396658920462">Pelaksanaan JavaScript melalui AppleScript dimatikan. Untuk menghidupkannya, daripada bar menu, pergi ke Paparan &gt; Pembangun &gt; Benarkan JavaScript daripada Apple Events. Untuk mendapatkan maklumat lanjut: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Semakan ejaan dipertingkatkan</translation>
 <translation id="2566124945717127842">Powerwash untuk menetapkan semula peranti <ph name="IDS_SHORT_PRODUCT_NAME" /> anda supaya seperti baharu.</translation>
 <translation id="2567257616420533738">Kata laluan disimpan. Lihat dan urus kata laluan yang disimpan di <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Bekas Bar Maklumat</translation>
@@ -1082,6 +1089,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> menggunakan <ph name="USAGE" /> MB ruang cakera.</translation>
 <translation id="2633212996805280240">Alih keluar "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> tidak dapat melengkapkan pemasangan, tetapi akan terus dijalankan daripada imej cakeranya.</translation>
+<translation id="2633326789677284179">Cari nama yang dicetak pada bahagian belakang kunci anda</translation>
 <translation id="2635276683026132559">Melog</translation>
 <translation id="2636625531157955190">Chrome tidak dapat mengakses imej.</translation>
 <translation id="2638087589890736295">Ungkapan laluan diperlukan untuk memulakan penyegerakan</translation>
@@ -1395,6 +1403,7 @@
 <translation id="3090819949319990166">Tidak dapat menyalin fail crx luar ke <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" digandingkan</translation>
 <translation id="3101709781009526431">Tarikh dan masa</translation>
+<translation id="3104900172193317662">Benarkan penggunaan Kunci Keselamatan anda</translation>
 <translation id="310671807099593501">Tapak sedang menggunakan bluetooth</translation>
 <translation id="3115128645424181617">Tidak dapat mencari telefon anda. Pastikan telefon tersebut ada bersama anda dan Bluetooth dihidupkan.</translation>
 <translation id="3115147772012638511">Menunggu cache...</translation>
@@ -1878,6 +1887,7 @@
 <translation id="3839516600093027468">Sentiasa sekat <ph name="HOST" /> daripada melihat papan keratan</translation>
 <translation id="3840053866656739575">Sambungan ke Chromebox anda terputus. Sila bergerak lebih dekat atau periksa peranti anda sementara kami cuba untuk bersambung semula.</translation>
 <translation id="3842552989725514455">Fon Serif</translation>
+<translation id="3846116211488856547">Dapatkan alatan untuk membangunkan tapak web, apl Android dan pelbagai lagi. Pemasangan Linux akan memuat turun <ph name="DOWNLOAD_SIZE" /> data.</translation>
 <translation id="385051799172605136">Kembali</translation>
 <translation id="3851428669031642514">Muatkan skrip yang tidak selamat</translation>
 <translation id="3855441664322950881">Sambungan pek</translation>
@@ -1901,6 +1911,7 @@
 <translation id="3872991219937722530">Kosongkan ruang cakera, jika tidak peranti akan menjadi tidak responsif.</translation>
 <translation id="3878840326289104869">Menghasilkan pengguna diselia</translation>
 <translation id="3879748587602334249">Pengurus muat turun</translation>
+<translation id="3880709822663530586">Kunci Keselamatan anda hanya berfungsi apabila Bluetooth peranti dihidupkan</translation>
 <translation id="3888550877729210209">Mencatat nota dengan <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Tambahkan OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">Baca dan tukar tetapan kebolehaksesan anda</translation>
@@ -2362,6 +2373,7 @@
 <translation id="4681930562518940301">Buka &amp;imej asal dalam tab baharu</translation>
 <translation id="4682551433947286597">Kertas dinding dipaparkan pada Skrin Log Masuk.</translation>
 <translation id="4684427112815847243">Segerakkan semua</translation>
+<translation id="4689235506267737042">Buat pilihan tunjuk cara anda</translation>
 <translation id="4689421377817139245">Segerakkan penanda halaman ini ke iPhone anda</translation>
 <translation id="4690091457710545971">&lt;Empat fail dihasilkan oleh perisian tegar Wi-Fi Intel: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Tiga fail yang pertama ialah fail perduaan yang mengandungi longgokan pendaftaran dan Intel menegaskan bahawa fail ini tidak mengandungi maklumat peribadi atau yang mengenal pasti peranti. Fail terakhir ialah surih pelaksanaan daripada perisian tegar Intel; fail ini telah dibersihkan supaya tidak mengandungi sebarang maklumat peribadi atau yang mengenal pasti peranti, tetapi terlalu besar untuk dipaparkan di sini. Fail ini dihasilkan sebagai tindak balas terhadap masalah Wi-Fi pada peranti anda baru-baru ini dan akan dikongsi dengan Intel untuk membantu dalam menyelesaikan masalah ini.&gt;</translation>
 <translation id="4692302215262324251"><ph name="DEVICE_TYPE" /> berjaya didaftarkan untuk pengurusan perusahaan oleh <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2467,7 +2479,6 @@
 <translation id="4856478137399998590">Perkhidmatan data mudah alih anda diaktifkan dan sedia untuk digunakan</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Buka Semua dalam Tetingkap &amp;Inkognito}=1{Buka dalam Tetingkap &amp;Inkognito}other{Buka Semua (#) dalam Tetingkap &amp;Inkognito}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Video dimainkan dalam Gambar dalam Gambar</translation>
 <translation id="4862050643946421924">Menambah peranti...</translation>
 <translation id="4862642413395066333">Menandatangan Respons OCSP</translation>
 <translation id="4863769717153320198">Kelihatan seperti <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Lalai)</translation>
@@ -2491,6 +2502,7 @@
 <translation id="4880827082731008257">Sejarah carian</translation>
 <translation id="4881695831933465202">Buka</translation>
 <translation id="4882473678324857464">Tumpukan penanda halaman</translation>
+<translation id="4882831918239250449">Kawal cara sejarah penyemakan imbas anda digunakan untuk memperibadikan Carian, iklan dan pelbagai lagi</translation>
 <translation id="4883178195103750615">Eksport penanda halaman ke fail HTML...</translation>
 <translation id="4883436287898674711">Semua tapak <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Pengurus Tugas</translation>
@@ -2766,6 +2778,7 @@
 <translation id="5288678174502918605">B&amp;uka Semula Tab Yang Ditutup</translation>
 <translation id="52912272896845572">Fail penting persendirian adalah tidak sah.</translation>
 <translation id="529175790091471945">Formatkan peranti ini</translation>
+<translation id="5292195676005197571">Untuk menggunakan kebanyakan kunci, tekan sahaja butangnya</translation>
 <translation id="5293170712604732402">Pulihkan tetapan kepada lalai asal.</translation>
 <translation id="5298219193514155779">Tema dicipta oleh</translation>
 <translation id="5299109548848736476">Jangan Kesan</translation>
@@ -3026,11 +3039,13 @@
 <translation id="5658415415603568799">Untuk keselamatan tambahan, Smart Lock akan meminta anda memasukkan kata laluan selepas 20 jam.</translation>
 <translation id="5659593005791499971">E-mel</translation>
 <translation id="5659833766619490117">Halaman ini tidak dapat diterjemahkan</translation>
+<translation id="5660204307954428567">Gandingkan dengan <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Berterusan</translation>
 <translation id="5667546120811588575">Menyediakan Google Play...</translation>
 <translation id="5669267381087807207">Mengaktifkan</translation>
 <translation id="5669691691057771421">Masukkan PIN baharu</translation>
 <translation id="5671641761787789573">Imej disekat</translation>
+<translation id="5673076758299428095">Matikan Linux</translation>
 <translation id="5677503058916217575">Bahasa halaman:</translation>
 <translation id="5677928146339483299">Disekat</translation>
 <translation id="5678550637669481956">Akses baca dan tulis kepada <ph name="VOLUME_NAME" /> telah diberikan.</translation>
@@ -3195,6 +3210,9 @@
 <translation id="5920835625712313205">Penulis Imej Sistem OS Chrome</translation>
 <translation id="5921745308587794300">Putar tetingkap</translation>
 <translation id="5924047253200400718">Dapatkan bantuan<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Ambil foto baharu atau pilih foto atau ikon yang sedia ada.
+    <ph name="LINE_BREAK" />
+    Gambar ini akan dipaparkan pada skrin log masuk dan kunci skrin Chromebook.</translation>
 <translation id="5925147183566400388">Penuding Pernyataan Amalan Pensijilan</translation>
 <translation id="592880897588170157">Muat turun fail PDF dan bukannya membuka fail dalam Chrome secara automatik</translation>
 <translation id="5931146425219109062">Baca dan ubah semua data anda pada tapak web yang anda lawati</translation>
@@ -3291,6 +3309,7 @@
 <translation id="6078752646384677957">Sila periksa mikrofon dan tahap audio anda.</translation>
 <translation id="6080515710685820702">Menggunakan komputer yang dikongsi? Cuba buka tetingkap inkognito.</translation>
 <translation id="6080689532560039067">Semak masa sistem anda</translation>
+<translation id="6082111513049964958">Kata laluan untuk membuka kunci</translation>
 <translation id="6082651258230788217">Tunjukkan dalam bar alat</translation>
 <translation id="6086846494333236931">Dipasang oleh pentadbir anda</translation>
 <translation id="6087960857463881712">Wajah hebat</translation>
@@ -3514,6 +3533,7 @@
 <translation id="642282551015776456">Nama ini tidak boleh digunakan sebagai nama fail atau folder</translation>
 <translation id="642469772702851743">Peranti ini (SN: <ph name="SERIAL_NUMBER" />) telah dikunci oleh pemiliknya.</translation>
 <translation id="6426200009596957090">Buka tetapan ChromeVox</translation>
+<translation id="6427415464407526111">Pilih Kunci Keselamatan anda</translation>
 <translation id="6429384232893414837">Ralat kemas kini</translation>
 <translation id="6430814529589430811">Base64 terkod ASCII, sijil tunggal</translation>
 <translation id="6431217872648827691">Semua data telah disulitkan dengan kata laluan Google anda bermula dari
@@ -3940,6 +3960,7 @@
 <translation id="7099337801055912064">Tidak dapat memuatkan PPD bersaiz besar. Saiz maksimum ialah 250 KB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> item dipilih</translation>
 <translation id="7102687220333134671">Kemas kini automatik dihidupkan</translation>
+<translation id="7102832101143475489">Permintaan telah tamat masa</translation>
 <translation id="7106346894903675391">Beli lagi storan...</translation>
 <translation id="7108338896283013870">Sembunyikan</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> mahu menggunakan kamera anda</translation>
@@ -4148,7 +4169,6 @@
 <translation id="7427348830195639090">Halaman Latar Belakang: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Buka Semua dalam Tetingkap &amp;Baharu}=1{Buka dalam Tetingkap &amp;Baharu}other{Buka Semua (#) dalam Tetingkap &amp;Baharu}}</translation>
 <translation id="7434509671034404296">Pembangun</translation>
-<translation id="7436470008146509879">Sediakan Linux pada <ph name="DEVICE_TYPE" /> anda</translation>
 <translation id="7436921188514130341">Oh, Tidak! Ralat berlaku semasa penamaan semula.</translation>
 <translation id="7441830548568730290">Pengguna lain</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware anda sudah boleh disediakan.</translation>
@@ -4447,7 +4467,6 @@
 <translation id="7881969471599061635">Lumpuhkan sari kata</translation>
 <translation id="7882358943899516840">Jenis penyedia</translation>
 <translation id="7885253890047913815">Destinasi Baru-baru Ini</translation>
-<translation id="7886917304091689118">Sedang berjalan dalam Chrome</translation>
 <translation id="7887334752153342268">Pendua</translation>
 <translation id="7887864092952184874">Tetikus Bluetooth digandingkan</translation>
 <translation id="7889565820482017512">Saiz Paparan</translation>
@@ -4560,6 +4579,7 @@
 <translation id="8028993641010258682">Saiz</translation>
 <translation id="8030656706657716245">Tambah Pencetak</translation>
 <translation id="8032244173881942855">Tidak dapat menghantar tab.</translation>
+<translation id="8033958968890501070">Tamat masa</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Buka semua dalam tetingkap &amp;inkognito}=1{Buka dalam tetingkap &amp;inkognito}other{Buka semua (#) dalam tetingkap &amp;inkognito}}</translation>
 <translation id="8037117027592400564">Baca semua teks yang dituturkan menggunakan pertuturan disintesiskan</translation>
 <translation id="8037357227543935929">Tanya (lalai)</translation>
@@ -4618,7 +4638,6 @@
 <translation id="8118860139461251237">Urus muat turun anda</translation>
 <translation id="81238879832906896">Bunga kuning dan putih</translation>
 <translation id="8124313775439841391">ONC Terurus</translation>
-<translation id="8125562866093998907">Tapak ini mahu mengesahkan Kunci Keselamatan anda untuk meningkatkan keselamatan akaun anda.</translation>
 <translation id="813082847718468539">Lihat maklumat tapak</translation>
 <translation id="8131740175452115882">Sahkan</translation>
 <translation id="8133676275609324831">&amp;Paparkan dalam folder</translation>
@@ -4650,6 +4669,8 @@
 <translation id="8180239481735238521">halaman</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" boleh membaca dan memadamkan fail imej, video dan bunyi di lokasi yang ditandai.</translation>
 <translation id="8181215761849004992">Tidak dapat menghubungkan domain. Semak akaun anda untuk mengetahui sama ada anda mempunyai keistimewaan yang mencukupi untuk menambahkan peranti.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Pada pendapat saya, tapak ini tidak perlu disekat!</translation>
 <translation id="8184288427634747179">Beralih kepada <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Maklumat lanjut</translation>
 <translation id="8185331656081929126">Paparkan pemberitahuan apabila pencetak baharu dikesan pada rangkaian</translation>
@@ -4794,6 +4815,7 @@
 <translation id="8434480141477525001">Port Nyahpepijat NaCl</translation>
 <translation id="843760761634048214">Simpan kad kredit</translation>
 <translation id="8438328416656800239">Tukar kepada penyemak imbas pintar</translation>
+<translation id="8438566539970814960">Mempertingkatkan carian dan penyemakan imbas</translation>
 <translation id="8439506636278576865">Tawaran untuk menterjemahkan halaman dalam bahasa ini</translation>
 <translation id="8446884382197647889">Ketahui Lebih Lanjut</translation>
 <translation id="8447409163267621480">Termasuk sama ada Ctrl atau Alt</translation>
@@ -4998,7 +5020,6 @@
 <translation id="8736288397686080465">Tapak ini dikemas kini di latar belakang.</translation>
 <translation id="8737685506611670901">Buka pautan <ph name="PROTOCOL" /> dan bukannya <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Gambar dalam Gambar</translation>
 <translation id="8743390665131937741">Tahap zum skrin penuh:</translation>
 <translation id="8743864605301774756">Dikemas kini 1 jam yang lalu</translation>
 <translation id="874689135111202667">{0,plural, =1{Muat naik satu fail ke tapak ini?}other{Muat naik # fail ke tapak ini?}}</translation>
@@ -5150,6 +5171,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Mengalami ranap sistem</translation>
 <translation id="8983677657449185470">Bantu meningkatkan Penyemakan Imbas Selamat</translation>
 <translation id="8984654317541110628">URL Perkongsian Fail</translation>
+<translation id="8984872292925913496">Cari PIN 6 digit di bahagian belakang kunci anda</translation>
 <translation id="8986362086234534611">Lupa</translation>
 <translation id="8986494364107987395">Hantar statistik penggunaan dan laporan nahas kepada Google secara automatik</translation>
 <translation id="8987927404178983737">Bulan</translation>
@@ -5272,6 +5294,7 @@
 <translation id="9158715103698450907">Op! Masalah komunikasi rangkaian berlaku semasa pengesahan. Sila periksa sambungan rangkaian anda dan cuba lagi.</translation>
 <translation id="9161070040817969420">Subbingkai untuk: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Hantar data sistem. Pada masa ini peranti ini menghantar data diagnostik dan penggunaan peranti serta apl secara automatik kepada Google. Tetapan ini dikuatkuasakan oleh pemilik. Jika anda menghidupkan Aktiviti Web &amp; Apl tambahan, maklumat ini akan disimpan dengan akaun anda supaya anda dapat mengurus maklumat ini dalam Aktiviti Saya. <ph name="BEGIN_LINK1" />Ketahui Lebih Lanjut<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Gambar dalam Gambar</translation>
 <translation id="9169496697824289689">Lihat pintasan papan kekunci</translation>
 <translation id="9169931577761441333">Tambahkan <ph name="APP_NAME" /> pada Skrin utama</translation>
 <translation id="9170397650136757332">Sekarang, gerakkan jari anda sedikit untuk menangkap semua bahagian lain cap jari anda</translation>
@@ -5322,7 +5345,6 @@
 <translation id="952992212772159698">Tidak diaktifkan</translation>
 <translation id="957960681186851048">Tapak ini cuba memuat turun berbilang fail secara automatik</translation>
 <translation id="9580706199804957">Tidak dapat menyambung ke perkhidmatan Google</translation>
-<translation id="958416628331784386">Tab ini dimainkan dalam Gambar dalam Gambar.</translation>
 <translation id="960719561871045870">Kod operator</translation>
 <translation id="960987915827980018">Tinggal kira-kira 1jam</translation>
 <translation id="962802172452141067">Pohon folder penanda halaman</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 1ad2b8b..279d8c7 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Onderbreken</translation>
 <translation id="1181037720776840403">Verwijderen</translation>
 <translation id="1183237619868651138">Kan <ph name="EXTERNAL_CRX_FILE" /> niet in lokale cache installeren.</translation>
+<translation id="1183378459020939734">Klaar om je beveiligingssleutel te koppelen?</translation>
 <translation id="1185924365081634987">Je kunt ook proberen te <ph name="GUEST_SIGNIN_LINK_START" />browsen als gast<ph name="GUEST_SIGNIN_LINK_END" /> om deze netwerkfout op te lossen.</translation>
 <translation id="1186771945450942097">Schadelijke software verwijderen</translation>
 <translation id="1187722533808055681">Activeringen vanuit inactief</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Help <ph name="PRODUCT_NAME" /> beter te maken door automatisch gebruiksstatistieken en crashmeldingen naar Google te verzenden</translation>
 <translation id="1658424621194652532">Deze pagina heeft toegang tot je microfoon.</translation>
 <translation id="1660204651932907780">Toestaan dat sites geluid afspelen (aanbevolen)</translation>
-<translation id="1660938185063657230">Je beveiligingssleutel verifiëren</translation>
 <translation id="1661156625580498328">AES-encryptie afdwingen (aanbevolen).</translation>
 <translation id="1661245713600520330">Op deze pagina staan alle modules die in het hoofdproces zijn geladen, en alle modules waarvan is vastgesteld dat deze op een later moment worden geladen.</translation>
 <translation id="166179487779922818">Wachtwoord is te kort.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Aanraak-HUD-modus wijzigen</translation>
 <translation id="1784849162047402014">Weinig schijfruimte beschikbaar op het apparaat</translation>
 <translation id="1786636458339910689">Drives van mijn team</translation>
+<translation id="1792161662640298233">Je beveiligingssleutel verifiëren</translation>
 <translation id="1792619191750875668">Uitgebreid scherm</translation>
 <translation id="1794791083288629568">Feedback verzenden om ons te helpen dit probleem op te lossen.</translation>
 <translation id="1795214765651529549">Klassiek thema gebruiken</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Wachtwoord voor <ph name="USERNAME" /> verwijderen</translation>
 <translation id="1819721979226826163">Tik op App-meldingen &gt; Google Play-services.</translation>
 <translation id="1826516787628120939">Controleren</translation>
-<translation id="1827750274519118478">Het afspelen van de video in de scherm-in-scherm-modus wordt gestopt.</translation>
 <translation id="1828378091493947763">Deze plug-in wordt niet ondersteund op dit apparaat</translation>
 <translation id="1828901632669367785">Afdrukken met systeemdialoogvenster...</translation>
 <translation id="1829192082282182671">Uitz&amp;oomen</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">'<ph name="EXTENSION" />' kan afbeeldingen, video- en geluidsbestanden lezen en schrijven op de gecontroleerde locaties.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> is gereed voor het voltooien van je installatie.</translation>
 <translation id="1871615898038944731">Je <ph name="DEVICE_TYPE" /> is up-to-date.</translation>
+<translation id="1875312262568496299">Beginnen</translation>
 <translation id="1875387611427697908">Dit pakket kan alleen worden toegevoegd via de <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Ophalen van verificatietoken is mislukt. Log uit en weer in om het opnieuw te proberen.</translation>
 <translation id="1878302395768190018">Je kunt dit op elk gewenst moment aanpassen in de Chrome-instellingen</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Foto van <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Verzenden naar telefoon</translation>
 <translation id="2119349053129246860">Openen in <ph name="APP" /></translation>
+<translation id="2120297377148151361">Activiteit en interacties</translation>
 <translation id="2121825465123208577">Formaat aanpassen</translation>
 <translation id="2124930039827422115">{1,plural, =1{Heeft een beoordeling van <ph name="AVERAGE_RATING" /> gekregen van één gebruiker.}other{Heeft een gemiddelde beoordeling van <ph name="AVERAGE_RATING" /> gekregen van # gebruikers.}}</translation>
 <translation id="2126167708562367080">Synchronisatie is uitgeschakeld door je beheerder.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Papierformaat</translation>
 <translation id="2318817390901984578">Je moet je <ph name="DEVICE_TYPE" /> opladen en updaten om Android-apps te gebruiken.</translation>
 <translation id="2318923050469484167">Huidige incognitosessie (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Je beveiligingssleutel gebruiken met <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Kop- en voettekst</translation>
 <translation id="2325650632570794183">Dit bestandstype wordt niet ondersteund. Ga naar de Chrome Web Store om een app te vinden die dit bestandstype kan openen.</translation>
 <translation id="2326931316514688470">App opnieuw &amp;laden</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">File Share toevoegen</translation>
 <translation id="2367972762794486313">Apps weergeven</translation>
 <translation id="2369536625682139252">Alle gegevens die zijn opgeslagen door <ph name="SITE" /> worden verwijderd, behalve cookies.</translation>
+<translation id="237058345584060620">Koppel je sleutel met dit apparaat zodat je de sleutel kunt gebruiken om in te loggen op je account</translation>
 <translation id="2371076942591664043">Openen wanneer geree&amp;d</translation>
 <translation id="2376559921867170420">Wanneer je Chrome is ingesteld, kun je op elk gewenst moment op de Assistent-knop drukken of 'Oké Google' zeggen om hulp van de Assistent te krijgen.</translation>
 <translation id="2377319039870049694">Overschakelen naar lijstweergave</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Kan je telefoon niet vinden. Zorg ervoor dat Bluetooth is ingeschakeld op je <ph name="DEVICE_TYPE" />. &lt;a&gt;Meer informatie&lt;/a&gt;</translation>
 <translation id="2489918096470125693">&amp;Map toevoegen...</translation>
 <translation id="249113932447298600">Het apparaat <ph name="DEVICE_LABEL" /> wordt momenteel niet ondersteund.</translation>
+<translation id="2492040222276243256">Druk de knop op je beveiligingssleutel ten minste vijf seconden in</translation>
 <translation id="2493021387995458222">'Eén woord tegelijk' selecteren</translation>
 <translation id="249303669840926644">Kan de registratie niet voltooien</translation>
 <translation id="2495777824269688114">Ontdek meer functies of zoek antwoorden. Selecteer '?' voor hulp.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Wachten op beschikbare socket...</translation>
 <translation id="252219247728877310">Component niet bijgewerkt</translation>
 <translation id="2522791476825452208">Heel dichtbij</translation>
+<translation id="2523184218357549926">Hiermee worden de URL's van pagina's die je bezoekt, verzonden naar Google</translation>
 <translation id="2525250408503682495">De cryptohome voor de kiosk-app kan niet worden gekoppeld.</translation>
 <translation id="2526277209479171883">Installeren en doorgaan</translation>
 <translation id="2526590354069164005">Bureaublad</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Niet ingelogd bij <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Gefeliciteerd! Je gegevensservice '<ph name="NAME" />' is geactiveerd en kan worden gebruikt.</translation>
 <translation id="2564520396658920462">Het uitvoeren van JavaScript via AppleScript is uitgeschakeld. Als je dit wilt inschakelen, ga je vanaf de menubalk naar Weergave &gt; Ontwikkelaar &gt; JavaScript vanuit Apple Events toestaan. Meer informatie: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Uitgebreide spellingcontrole</translation>
 <translation id="2566124945717127842">Voer de Powerwash-functie uit om je <ph name="IDS_SHORT_PRODUCT_NAME" />-apparaat opnieuw in te stellen.</translation>
 <translation id="2567257616420533738">Wachtwoord opgeslagen. Bekijk en beheer opgeslagen wachtwoorden via <ph name="SAVED_PASSWORDS_LINK" />.</translation>
 <translation id="2568774940984945469">Container voor infobalk</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> gebruikt <ph name="USAGE" /> MB schijfruimte.</translation>
 <translation id="2633212996805280240">Wil je '<ph name="EXTENSION_NAME" />' verwijderen?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> kan de installatie niet voltooien, maar wordt nog steeds uitgevoerd via de schijfkopie.</translation>
+<translation id="2633326789677284179">Zoek de naam op de achterkant van je sleutel</translation>
 <translation id="2635276683026132559">Ondertekening</translation>
 <translation id="2636625531157955190">Chrome heeft geen toegang tot de afbeelding.</translation>
 <translation id="2638087589890736295">Wachtwoordzin vereist om de synchronisatie te starten</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Kan extern crx-bestand niet kopiëren naar <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">'<ph name="DEVICE_NAME" />' gekoppeld</translation>
 <translation id="3101709781009526431">Datum en tijd</translation>
+<translation id="3104900172193317662">Toestaan dat je beveiligingssleutel wordt gebruikt</translation>
 <translation id="310671807099593501">Site gebruikt Bluetooth</translation>
 <translation id="3115128645424181617">Kan je telefoon niet vinden. Zorg ervoor dat je deze bij de hand hebt en dat Bluetooth is ingeschakeld.</translation>
 <translation id="3115147772012638511">Wachten op cache...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468"><ph name="HOST" /> altijd blokkeren voor het klembord</translation>
 <translation id="3840053866656739575">Verbinding met je Chromebox verbroken. Kom dichterbij of controleer je apparaat terwijl wij de verbinding proberen te herstellen.</translation>
 <translation id="3842552989725514455">Serif-lettertype</translation>
+<translation id="3846116211488856547">Ontvang tools voor het ontwikkelen van websites, Android-apps en meer. Als je Linux installeert, wordt <ph name="DOWNLOAD_SIZE" /> aan data gedownload.</translation>
 <translation id="385051799172605136">Vorige</translation>
 <translation id="3851428669031642514">Onveilige scripts laden</translation>
 <translation id="3855441664322950881">Extensie inpakken</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Maak schijfruimte vrij om te voorkomen dat het apparaat niet meer reageert.</translation>
 <translation id="3878840326289104869">Gebruiker met beperkte rechten maken</translation>
 <translation id="3879748587602334249">Downloadbeheer</translation>
+<translation id="3880709822663530586">Je beveiligingssleutel werkt alleen wanneer de Bluetooth-functie van je apparaat is ingeschakeld</translation>
 <translation id="3888550877729210209">Notities maken met <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">OpenVPN/L2TP toevoegen...</translation>
 <translation id="3893536212201235195">Je toegankelijkheidsinstellingen lezen en wijzigen</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Oorspronkelijke &amp;afbeelding openen op nieuw tabblad</translation>
 <translation id="4682551433947286597">Achtergronden worden weergegeven op het inlogscherm.</translation>
 <translation id="4684427112815847243">Alles synchroniseren</translation>
+<translation id="4689235506267737042">Je demovoorkeuren kiezen</translation>
 <translation id="4689421377817139245">Deze bladwijzer synchroniseren met je iPhone</translation>
 <translation id="4690091457710545971">&lt;Vier bestanden gegenereerd door wifi-firmware van Intel: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. De eerste drie zijn binaire bestanden met registerdumps. Hiervan wordt door Intel verzekerd dat deze geen persoonlijke of apparaatidentificerende gegevens bevatten. Het laatste bestand is een bestand waarin uitvoering wordt bijgehouden. Alle persoonlijke of apparaatidentificerende gegevens zijn uit dit bestand verwijderd, maar het is te groot om hier weer te geven. Deze bestanden zijn gegenereerd als reactie op recente wifi-problemen met je apparaat en worden gedeeld met Intel om deze problemen op te lossen.&gt;</translation>
 <translation id="4692302215262324251">Je <ph name="DEVICE_TYPE" /> is aangemeld voor bedrijfsbeheer door <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Je mobiele netwerk is actief en klaar voor gebruik</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Alles openen in &amp;incognitovenster}=1{Openen in &amp;incognitovenster}other{Alles (#) openen in &amp;incognitovenster}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" />: video wordt afgespeeld in de scherm-in-scherm-modus</translation>
 <translation id="4862050643946421924">Apparaat toevoegen...</translation>
 <translation id="4862642413395066333">OCSP-antwoorden ondertekenen</translation>
 <translation id="4863769717153320198">Ziet eruit als <ph name="WIDTH" /> x <ph name="HEIGHT" /> (standaardresolutie)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Geschiedenis doorzoeken</translation>
 <translation id="4881695831933465202">Openen</translation>
 <translation id="4882473678324857464">Focus op bladwijzers</translation>
+<translation id="4882831918239250449">Beheren hoe je browsegeschiedenis wordt gebruikt om Google Zoeken, advertenties en meer te personaliseren</translation>
 <translation id="4883178195103750615">Bladwijzers exporteren naar HTML-bestand...</translation>
 <translation id="4883436287898674711">Alle sites op <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Taakbeheer</translation>
@@ -2766,6 +2778,7 @@
 <translation id="5288678174502918605">Gesloten tabblad opni&amp;euw openen</translation>
 <translation id="52912272896845572">Privésleutelbestand is ongeldig.</translation>
 <translation id="529175790091471945">Dit apparaat formatteren</translation>
+<translation id="5292195676005197571">De meeste beveiligingssleutels hebben een knop waarop je kunt drukken om ze te gebruiken</translation>
 <translation id="5293170712604732402">Instellingen terugzetten naar de oorspronkelijke standaardwaarden</translation>
 <translation id="5298219193514155779">Thema gemaakt door</translation>
 <translation id="5299109548848736476">Niet bijhouden</translation>
@@ -3026,11 +3039,13 @@
 <translation id="5658415415603568799">Voor extra beveiliging vraagt Smart Lock je na 20 uur je wachtwoord op te geven.</translation>
 <translation id="5659593005791499971">E-mailadres</translation>
 <translation id="5659833766619490117">Deze pagina kan niet worden vertaald</translation>
+<translation id="5660204307954428567">Koppelen met <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Oneindig</translation>
 <translation id="5667546120811588575">Google Play instellen...</translation>
 <translation id="5669267381087807207">Wordt geactiveerd</translation>
 <translation id="5669691691057771421">Nieuwe pincode opgeven</translation>
 <translation id="5671641761787789573">Afbeeldingen geblokkeerd</translation>
+<translation id="5673076758299428095">Linux afsluiten</translation>
 <translation id="5677503058916217575">Brontaal:</translation>
 <translation id="5677928146339483299">Geblokkeerd</translation>
 <translation id="5678550637669481956">Lees- en schrijftoegang tot <ph name="VOLUME_NAME" /> is toegekend.</translation>
@@ -3195,6 +3210,9 @@
 <translation id="5920835625712313205">Chrome OS System Image Writer</translation>
 <translation id="5921745308587794300">Venster draaien</translation>
 <translation id="5924047253200400718">Hulp nodig?<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Maak een nieuwe foto of kies een bestaande foto of een bestaand pictogram.
+    <ph name="LINE_BREAK" />
+    Deze foto wordt weergegeven op het inlogscherm en vergrendelingsscherm van de Chromebook.</translation>
 <translation id="5925147183566400388">Pointer naar certificeringspraktijkverklaring</translation>
 <translation id="592880897588170157">Download pdf-bestanden in plaats van ze automatisch te openen in Chrome</translation>
 <translation id="5931146425219109062">Al je gegevens lezen en wijzigen op de websites die je bezoekt</translation>
@@ -3291,6 +3309,7 @@
 <translation id="6078752646384677957">Controleer je microfoon en audioniveaus</translation>
 <translation id="6080515710685820702">Gebruik je een gedeelde computer? Open een incognitovenster.</translation>
 <translation id="6080689532560039067">De systeemtijd controleren</translation>
+<translation id="6082111513049964958">Wachtwoord om te ontgrendelen</translation>
 <translation id="6082651258230788217">In werkbalk weergeven</translation>
 <translation id="6086846494333236931">Geïnstalleerd door je beheerder</translation>
 <translation id="6087960857463881712">Geweldig gezicht</translation>
@@ -3514,6 +3533,7 @@
 <translation id="642282551015776456">Deze naam mag niet worden gebruikt als de naam van een bestand of map.</translation>
 <translation id="642469772702851743">Dit apparaat (serienummer: <ph name="SERIAL_NUMBER" />) is vergrendeld door de eigenaar.</translation>
 <translation id="6426200009596957090">ChromeVox-instellingen openen</translation>
+<translation id="6427415464407526111">Je beveiligingssleutel selecteren</translation>
 <translation id="6429384232893414837">Updatefout</translation>
 <translation id="6430814529589430811">Base64 Encoded ASCII, één certificaat</translation>
 <translation id="6431217872648827691">Alle gegevens zijn versleuteld met je Google-wachtwoord vanaf:
@@ -3940,6 +3960,7 @@
 <translation id="7099337801055912064">Grote PPD kan niet worden geladen. Maximum grootte is 250 KB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> items geselecteerd</translation>
 <translation id="7102687220333134671">Automatische updates zijn ingeschakeld</translation>
+<translation id="7102832101143475489">Er is een time-out voor het verzoek opgetreden</translation>
 <translation id="7106346894903675391">Meer opslagruimte kopen...</translation>
 <translation id="7108338896283013870">Verbergen</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> wil gebruikmaken van je camera</translation>
@@ -4148,7 +4169,6 @@
 <translation id="7427348830195639090">Achtergrondpagina: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Alles openen in &amp;nieuw venster}=1{Openen in &amp;nieuw venster}other{Alles (#) openen in &amp;nieuw venster}}</translation>
 <translation id="7434509671034404296">Ontwikkelaar</translation>
-<translation id="7436470008146509879">Linux instellen op je <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Er is een fout opgetreden tijdens het wijzigen van de naam.</translation>
 <translation id="7441830548568730290">Andere gebruikers.</translation>
 <translation id="7442465037756169001">Je Hangouts Meet-hardware kan worden ingesteld.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Ondertiteling uitschakelen</translation>
 <translation id="7882358943899516840">Type provider</translation>
 <translation id="7885253890047913815">Recente bestemmingen</translation>
-<translation id="7886917304091689118">Actief in Chrome</translation>
 <translation id="7887334752153342268">Dupliceren</translation>
 <translation id="7887864092952184874">Bluetooth-muis gekoppeld</translation>
 <translation id="7889565820482017512">Schermgrootte</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Grootte</translation>
 <translation id="8030656706657716245">Printer toevoegen</translation>
 <translation id="8032244173881942855">Kan tabblad niet casten.</translation>
+<translation id="8033958968890501070">Time-out</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Alles openen in &amp;incognitovenster}=1{Openen in &amp;incognitovenster}other{Alles (#) openen in &amp;incognitovenster}}</translation>
 <translation id="8037117027592400564">Alle tekst lezen die wordt gesproken met gesynthetiseerde spraak</translation>
 <translation id="8037357227543935929">Vragen (standaard)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Je downloads beheren</translation>
 <translation id="81238879832906896">Geel-witte bloem</translation>
 <translation id="8124313775439841391">Beheerde ONC</translation>
-<translation id="8125562866093998907">De site wil je beveiligingssleutel verifiëren voor extra beveiliging van je account.</translation>
 <translation id="813082847718468539">Sitegegevens bekijken</translation>
 <translation id="8131740175452115882">Bevestigen</translation>
 <translation id="8133676275609324831">&amp;Weergeven in map</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">pagina</translation>
 <translation id="8180786512391440389">'<ph name="EXTENSION" />' kan afbeeldingen, video- en geluidsbestanden lezen en verwijderen op de gecontroleerde locaties.</translation>
 <translation id="8181215761849004992">Kan het domein niet koppelen. Controleer je account om te zien of je over voldoende rechten beschikt om apparaten toe te voegen.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Ik denk niet dat deze site moet worden geblokkeerd.</translation>
 <translation id="8184288427634747179">Overschakelen naar <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Meer informatie</translation>
 <translation id="8185331656081929126">Meldingen weergeven wanneer er nieuwe printers in het netwerk worden gedetecteerd</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Foutopsporingspoort voor systeemeigen client</translation>
 <translation id="843760761634048214">Creditcard opslaan</translation>
 <translation id="8438328416656800239">Overschakelen naar een slimme browser</translation>
+<translation id="8438566539970814960">Zoekopdrachten en browsefunctionaliteit verbeteren</translation>
 <translation id="8439506636278576865">Aanbieden pagina's te vertalen in deze taal</translation>
 <translation id="8446884382197647889">Meer informatie</translation>
 <translation id="8447409163267621480">Neem Ctrl of Alt op</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Deze site is geüpdatet op de achtergrond.</translation>
 <translation id="8737685506611670901">Links voor <ph name="PROTOCOL" /> openen in plaats van <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Scherm-in-scherm</translation>
 <translation id="8743390665131937741">Zoomniveau volledig scherm:</translation>
 <translation id="8743864605301774756">1 uur geleden geüpdatet</translation>
 <translation id="874689135111202667">{0,plural, =1{Eén bestand naar deze site uploaden?}other{# bestanden naar deze site uploaden?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: gecrasht</translation>
 <translation id="8983677657449185470">Help 'Safe Browsing' te verbeteren</translation>
 <translation id="8984654317541110628">URL voor fileshare</translation>
+<translation id="8984872292925913496">Zoek de pincode van zes cijfers op de achterkant van je sleutel</translation>
 <translation id="8986362086234534611">Vergeten</translation>
 <translation id="8986494364107987395">Automatisch gebruiksstatistieken en crashrapporten naar Google verzenden</translation>
 <translation id="8987927404178983737">Maand</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Er is een netwerkcommunicatieprobleem opgetreden tijdens de verificatie. Controleer je netwerkverbinding en probeer het opnieuw.</translation>
 <translation id="9161070040817969420">Subframes voor: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Systeemgegevens verzenden. Dit apparaat verzendt momenteel diagnostische app- en gebruiksgegevens automatisch naar Google. Deze instelling wordt afgedwongen door de eigenaar. Als je 'Web- en app-activiteit' ook hebt ingeschakeld, worden deze gegevens opgeslagen in je account, zodat je ze kunt beheren in 'Mijn activiteit'. <ph name="BEGIN_LINK1" />Meer informatie<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Scherm-in-scherm</translation>
 <translation id="9169496697824289689">Sneltoetsen bekijken</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> toevoegen aan startscherm</translation>
 <translation id="9170397650136757332">Beweeg je vinger nu een beetje zodat alle delen van je vingerafdruk kunnen worden vastgelegd</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Niet geactiveerd</translation>
 <translation id="957960681186851048">Deze site heeft geprobeerd automatisch meerdere bestanden te downloaden</translation>
 <translation id="9580706199804957">Kan geen verbinding maken met Google-services</translation>
-<translation id="958416628331784386">De video op dit tabblad wordt afgespeeld in de scherm-in-scherm-modus.</translation>
 <translation id="960719561871045870">Operatorcode</translation>
 <translation id="960987915827980018">Ongeveer 1 uur resterend</translation>
 <translation id="962802172452141067">Mappenstructuur voor bladwijzers</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index eb6f7a1..f82410f 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -451,7 +451,6 @@
 <translation id="1657406563541664238">Bidra til å gjøre <ph name="PRODUCT_NAME" /> bedre ved å sende brukerstatistikk og programstopprapporter til Google automatisk</translation>
 <translation id="1658424621194652532">Denne siden bruker mikrofonen din.</translation>
 <translation id="1660204651932907780">Tillat nettsteder å spille av lyd (anbefalt)</translation>
-<translation id="1660938185063657230">Bekreft sikkerhetsnøkkelen din</translation>
 <translation id="1661156625580498328">Start håndheving av AES-kryptering (anbefalt).</translation>
 <translation id="1661245713600520330">Denne siden viser en liste over alle moduler som er lastet inn i hovedprosessen, samt moduler som er registrert for innlasting på et senere tidspunkt.</translation>
 <translation id="166179487779922818">Passordet er for kort.</translation>
@@ -563,7 +562,6 @@
 <translation id="1818007989243628752">Slett passordet for <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Trykk på Appvarsler &gt; Google Play Tjenester.</translation>
 <translation id="1826516787628120939">Kontrollerer</translation>
-<translation id="1827750274519118478">Videoen i bilde-i-bilde stoppes.</translation>
 <translation id="1828378091493947763">Dette programtillegget støttes ikke på denne enheten</translation>
 <translation id="1828901632669367785">Skriv ut ved hjelp av systemdialog</translation>
 <translation id="1829192082282182671">Zoom &amp;ut</translation>
@@ -2448,7 +2446,6 @@
 <translation id="4856478137399998590">Mobildatatjenesten er aktivert og klar til bruk</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Åpne alle i &amp;inkognitovinduer}=1{Åpne i et &amp;inkognitovindu}other{Åpne alle (#) i &amp;inkognitovinduer}}</translation>
 <translation id="4858913220355269194">Drible</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – videoen spilles av i bilde-i-bilde</translation>
 <translation id="4862050643946421924">Legger til enheten …</translation>
 <translation id="4862642413395066333">Signering av OCSP-svar</translation>
 <translation id="4863769717153320198">Ser ut som <ph name="WIDTH" /> x <ph name="HEIGHT" /> (standard)</translation>
@@ -4120,7 +4117,6 @@
 <translation id="7427348830195639090">Bakgrunnsside: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Åpne alle i &amp;nye vinduer}=1{Åpne i et &amp;nytt vindu}other{Åpne alle (#) i &amp;nye vinduer}}</translation>
 <translation id="7434509671034404296">Utvikler</translation>
-<translation id="7436470008146509879">Konfigurer Linux på <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Æsj! Det oppsto en feil under navneendringen.</translation>
 <translation id="7441830548568730290">Andre brukere</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware er klar til å konfigureres.</translation>
@@ -4416,7 +4412,6 @@
 <translation id="7881969471599061635">Slå av undertekstene</translation>
 <translation id="7882358943899516840">Leverandørtype</translation>
 <translation id="7885253890047913815">Nylige destinasjoner</translation>
-<translation id="7886917304091689118">Kjører i Chrome</translation>
 <translation id="7887334752153342268">Dupliser</translation>
 <translation id="7887864092952184874">En Bluetooth-mus er tilkoblet</translation>
 <translation id="7889565820482017512">Visningsstørrelse</translation>
@@ -4587,7 +4582,6 @@
 <translation id="8118860139461251237">administrere nedlastingene dine</translation>
 <translation id="81238879832906896">Gul og hvit blomst</translation>
 <translation id="8124313775439841391">Administrert ONC</translation>
-<translation id="8125562866093998907">Nettstedet ber deg bekrefte sikkerhetsnøkkelen din for å gi bedre sikkerhet for kontoen din.</translation>
 <translation id="813082847718468539">Vis nettstedsinformasjon</translation>
 <translation id="8131740175452115882">Bekreft</translation>
 <translation id="8133676275609324831">&amp;Vis i mappe</translation>
@@ -4966,7 +4960,6 @@
 <translation id="8736288397686080465">Dette nettstedet har blitt oppdatert i bakgrunnen.</translation>
 <translation id="8737685506611670901">åpne linker til <ph name="PROTOCOL" /> i stedet for <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Bilde-i-bilde</translation>
 <translation id="8743390665131937741">Zoomnivå i fullskjermmodus:</translation>
 <translation id="8743864605301774756">Oppdatert for 1 t siden</translation>
 <translation id="874689135111202667">{0,plural, =1{Vil du laste opp en fil til dette nettstedet?}other{Vil du laste opp # filer til dette nettstedet?}}</translation>
@@ -5237,6 +5230,7 @@
 <translation id="9158715103698450907">Beklager. Det oppsto et kommunikasjonsproblem på nettverket under godkjenningen. Sjekk nettverksforbindelsen din, og prøv på nytt.</translation>
 <translation id="9161070040817969420">Underrammer for: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Send systemdata. Denne enheten sender for øyeblikket diagnostikk og bruksdata til Google. Denne innstillingen håndheves av eieren. Hvis du har slått på annen nett- og appaktivitet, lagres denne informasjonen på kontoen din, slik at du kan administrere den i Min aktivitet. <ph name="BEGIN_LINK1" />Finn ut mer<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Bilde i bilde</translation>
 <translation id="9169496697824289689">Se tastaturets hurtigtaster</translation>
 <translation id="9169931577761441333">Legg til <ph name="APP_NAME" /> på startskjermen</translation>
 <translation id="9170397650136757332">Flytt litt på fingeren for å registrere alle deler av fingeravtrykket</translation>
@@ -5286,7 +5280,6 @@
 <translation id="952992212772159698">Ikke aktivert</translation>
 <translation id="957960681186851048">Dette nettstedet prøvde å laste ned flere filer automatisk</translation>
 <translation id="9580706199804957">Kunne ikke koble til Google-tjenester</translation>
-<translation id="958416628331784386">Denne fanen spiller av en video i bilde-i-bilde.</translation>
 <translation id="960719561871045870">Operatørkode</translation>
 <translation id="960987915827980018">Omtrent én time igjen</translation>
 <translation id="962802172452141067">Trestrukturen for bokmerkemappen</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index ab04cb5..c0d0966 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Wstrzymaj</translation>
 <translation id="1181037720776840403">Usuń</translation>
 <translation id="1183237619868651138">Nie można zainstalować pliku <ph name="EXTERNAL_CRX_FILE" /> w lokalnej pamięci podręcznej.</translation>
+<translation id="1183378459020939734">Wszystko gotowe do sparowania klucza bezpieczeństwa?</translation>
 <translation id="1185924365081634987">Aby spróbować usunąć ten błąd sieci, możesz też użyć trybu <ph name="GUEST_SIGNIN_LINK_START" />przeglądania jako gość<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Usuń szkodliwe oprogramowanie</translation>
 <translation id="1187722533808055681">Wyjścia z nieaktywności</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Pomóż ulepszyć <ph name="PRODUCT_NAME" />, przesyłając do Google statystyki użytkowania i raporty o awariach</translation>
 <translation id="1658424621194652532">Ta strona ma dostęp do mikrofonu.</translation>
 <translation id="1660204651932907780">Zezwalaj na odtwarzanie dźwięku na stronach internetowych (zalecane)</translation>
-<translation id="1660938185063657230">Zweryfikuj swój klucz bezpieczeństwa</translation>
 <translation id="1661156625580498328">Wymuś szyfrowanie AES (zalecane).</translation>
 <translation id="1661245713600520330">Na tej stronie wyświetlane są wszystkie moduły załadowane do procesu głównego oraz moduły zarejestrowane do późniejszego załadowania.</translation>
 <translation id="166179487779922818">Hasło jest zbyt krótkie.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Zmień tryb dotykowy HUD</translation>
 <translation id="1784849162047402014">Na urządzeniu jest mało miejsca.</translation>
 <translation id="1786636458339910689">Dyski zespołu</translation>
+<translation id="1792161662640298233">Weryfikowanie klucza bezpieczeństwa</translation>
 <translation id="1792619191750875668">Ekran rozszerzony</translation>
 <translation id="1794791083288629568">Wyślij opinię, by pomóc nam rozwiązać ten problem.</translation>
 <translation id="1795214765651529549">Użyj motywu klasycznego</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Usuń hasło użytkownika <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Kliknij Powiadomienia z aplikacji &gt; Usługi Google Play.</translation>
 <translation id="1826516787628120939">Sprawdzam</translation>
-<translation id="1827750274519118478">Odtwarzanie filmu w trybie obrazu w obrazie zostanie zatrzymane.</translation>
 <translation id="1828378091493947763">To urządzenie nie obsługuje tej wtyczki</translation>
 <translation id="1828901632669367785">Drukuj w oknie systemowym</translation>
 <translation id="1829192082282182671">Po&amp;mniejsz</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">„<ph name="EXTENSION" />” może odczytywać oraz zapisywać pliki graficzne, wideo i dźwiękowe z wybranych lokalizacji.</translation>
 <translation id="1867780286110144690">Przeglądarka <ph name="PRODUCT_NAME" /> jest gotowa do ukończenia instalacji.</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> używa aktualnej wersji oprogramowania</translation>
+<translation id="1875312262568496299">Rozpocznij</translation>
 <translation id="1875387611427697908">Możesz to pobrać tylko z <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Nie udało się uzyskać tokenu uwierzytelnienia. Wyloguj się, a potem zaloguj się jeszcze raz, by ponowić próbę.</translation>
 <translation id="1878302395768190018">Możesz w dowolnym momencie zmienić tę opcję w Ustawieniach Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Zdjęcie: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Wyślij na telefon</translation>
 <translation id="2119349053129246860">Otwórz w aplikacji <ph name="APP" /></translation>
+<translation id="2120297377148151361">Aktywność i interakcje</translation>
 <translation id="2121825465123208577">Zmień rozmiar</translation>
 <translation id="2124930039827422115">{1,plural, =1{Ocena <ph name="AVERAGE_RATING" /> od jednego użytkownika.}few{Ocena <ph name="AVERAGE_RATING" /> od # użytkowników.}many{Ocena <ph name="AVERAGE_RATING" /> od # użytkowników.}other{Ocena <ph name="AVERAGE_RATING" /> od # użytkownika.}}</translation>
 <translation id="2126167708562367080">Synchronizację wyłączył administrator.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Rozmiar papieru</translation>
 <translation id="2318817390901984578">Aby korzystać z aplikacji na Androida, naładuj i zaktualizuj urządzenie <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Bieżąca sesja incognito (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Aby skorzystać z <ph name="APP_NAME" />, użyj klucza bezpieczeństwa</translation>
 <translation id="2322193970951063277">Nagłówki i stopki</translation>
 <translation id="2325650632570794183">Ten typ plików jest nieobsługiwany. W Chrome Web Store znajdziesz aplikację otwierającą pliki tego typu.</translation>
 <translation id="2326931316514688470">P&amp;rzeładuj aplikację</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Dodaj udział plików</translation>
 <translation id="2367972762794486313">Pokaż aplikacje</translation>
 <translation id="2369536625682139252">Zostaną usunięte wszystkie dane zapisane przez witrynę <ph name="SITE" /> (oprócz plików cookie).</translation>
+<translation id="237058345584060620">Sparuj klucz z tym urządzeniem, by używać go do logowania się na konto</translation>
 <translation id="2371076942591664043">Otwórz po &amp;zakończeniu</translation>
 <translation id="2376559921867170420">Gdy skonfigurujesz Chromebooka, powiedz „OK Google” lub naciśnij przycisk Asystenta, by z niego korzystać.</translation>
 <translation id="2377319039870049694">Przełącz na widok listy</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Nie można znaleźć telefonu. Upewnij się, że <ph name="DEVICE_TYPE" /> ma włączony Bluetooth. &lt;a&gt;Więcej informacji&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Dodaj &amp;folder</translation>
 <translation id="249113932447298600">Niestety, urządzenie <ph name="DEVICE_LABEL" /> nie jest obecnie obsługiwane.</translation>
+<translation id="2492040222276243256">Naciśnij i przytrzymaj przycisk na kluczu bezpieczeństwa przez co najmniej 5 sekund</translation>
 <translation id="2493021387995458222">Wybierz opcję „słowo naraz”</translation>
 <translation id="249303669840926644">Nie można zakończyć rejestracji</translation>
 <translation id="2495777824269688114">Poznaj więcej funkcji lub uzyskaj odpowiedzi na pytania. Jeśli szukasz pomocy, wybierz „?”.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Czekam na dostępne gniazdo...</translation>
 <translation id="252219247728877310">Składnik nie został zaktualizowany</translation>
 <translation id="2522791476825452208">Bardzo blisko</translation>
+<translation id="2523184218357549926">Wysyła adresy URL odwiedzanych stron do Google</translation>
 <translation id="2525250408503682495">Niedobrze. Nie można podłączyć katalogu cryptohome aplikacji kiosku.</translation>
 <translation id="2526277209479171883">Zainstaluj i kontynuuj</translation>
 <translation id="2526590354069164005">Pulpit</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Nie jesteś zalogowany(a) do <ph name="SHORT_PRODUCT_NAME" />.</translation>
 <translation id="2563856802393254086">Gratulacje! Usługa transmisji danych „<ph name="NAME" />” została aktywowana i można z niej korzystać.</translation>
 <translation id="2564520396658920462">Wykonywanie kodu JavaScript przy użyciu AppleScript jest wyłączone. Aby włączyć tę funkcję, na pasku menu kliknij Widok &gt; Programista &gt; Zezwól na kod JavaScript z Apple Events. Więcej informacji: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Ulepszone sprawdzanie pisowni</translation>
 <translation id="2566124945717127842">Wykonaj Powerwash, by zresetować urządzenie z <ph name="IDS_SHORT_PRODUCT_NAME" /> do ustawień fabrycznych.</translation>
 <translation id="2567257616420533738">Hasło zostało zapisane. Możesz wyświetlać zapisane hasła i nimi zarządzać na <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Kontener paska informacji</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344">Aplikacja <ph name="NAME" /> używa <ph name="USAGE" /> MB na dysku.</translation>
 <translation id="2633212996805280240">Usunąć „<ph name="EXTENSION_NAME" />”?</translation>
 <translation id="263325223718984101">Nie można ukończyć instalacji produktu <ph name="PRODUCT_NAME" />. Będzie on nadal uruchamiany z obrazu dysku.</translation>
+<translation id="2633326789677284179">Nazwę klucza znajdziesz z tyłu jego obudowy</translation>
 <translation id="2635276683026132559">Podpisywanie</translation>
 <translation id="2636625531157955190">Chrome nie może otworzyć obrazu.</translation>
 <translation id="2638087589890736295">Wpisz hasło, by rozpocząć synchronizację</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Nie można skopiować zewnętrznego pliku CRX jako <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Sparowano „<ph name="DEVICE_NAME" />”</translation>
 <translation id="3101709781009526431">Data i godzina</translation>
+<translation id="3104900172193317662">Zezwól na użycie swojego klucza bezpieczeństwa</translation>
 <translation id="310671807099593501">Strona używa Bluetootha</translation>
 <translation id="3115128645424181617">Nie można znaleźć telefonu. Upewnij się, że masz go w zasięgu ręki i włączony jest na nim Bluetooth.</translation>
 <translation id="3115147772012638511">Czekam na pamięć podręczną...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Zawsze blokuj stronie <ph name="HOST" /> dostęp do schowka</translation>
 <translation id="3840053866656739575">Połączenie z Chromeboxem zostało utracone. Przysuń się bliżej lub sprawdź urządzenie – spróbujemy połączyć się ponownie.</translation>
 <translation id="3842552989725514455">Czcionka szeryfowa</translation>
+<translation id="3846116211488856547">Pobierz narzędzia do tworzenia stron internetowych, aplikacji na Androida itp. Instalacja Linuksa spowoduje pobranie <ph name="DOWNLOAD_SIZE" /> danych.</translation>
 <translation id="385051799172605136">Wstecz</translation>
 <translation id="3851428669031642514">Wczytaj niezabezpieczone skrypty</translation>
 <translation id="3855441664322950881">Umieść rozszerzenie w pakiecie</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Zwolnij miejsce na dysku, ponieważ w przeciwnym razie urządzenie przestanie odpowiadać.</translation>
 <translation id="3878840326289104869">Tworzenie użytkownika nadzorowanego</translation>
 <translation id="3879748587602334249">Menedżer pobierania</translation>
+<translation id="3880709822663530586">Klucz bezpieczeństwa będzie działać, gdy włączysz na urządzeniu Bluetooth</translation>
 <translation id="3888550877729210209">Robienie notatek w aplikacji <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Dodaj OpenVPN/L2TP…</translation>
 <translation id="3893536212201235195">Odczytywanie i zmiana ustawień ułatwień dostępu</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Otwórz oryginalny &amp;obraz w nowej karcie</translation>
 <translation id="4682551433947286597">Na ekranie logowania są wyświetlane tapety.</translation>
 <translation id="4684427112815847243">Synchronizuj wszystko</translation>
+<translation id="4689235506267737042">Wybierz ustawienia demonstracyjne</translation>
 <translation id="4689421377817139245">Zsynchronizuj tę zakładkę ze swoim iPhonem</translation>
 <translation id="4690091457710545971">&lt;Cztery pliki wygenerowane przez oprogramowanie układowe Wi-Fi firmy Intel: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Pierwsze trzy to pliki binarne zawierające zrzuty rejestru. Intel twierdzi, że nie zawierają żadnych danych umożliwiających identyfikację osoby lub urządzenia. Ostatni plik zawiera ślad wykonywania oprogramowania układowego firmy Intel. Wszelkie dane umożliwiające identyfikację osoby lub urządzenia zostały z niego usunięte, ale jest zbyt duży, by go tu wyświetlić. Te pliki zostały wygenerowane w reakcji na niedawne problemy z Wi-Fi na Twoim urządzeniu i zostaną przekazane firmie Intel, by pomóc w rozwiązaniu tych problemów.&gt;</translation>
 <translation id="4692302215262324251">Urządzenie <ph name="DEVICE_TYPE" /> zostało zarejestrowane na potrzeby zarządzania w firmie w domenie <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Komórkowa usługa transmisji danych została aktywowana i jest gotowa do użycia</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Otwórz wszystkie w oknie &amp;incognito}=1{Otwórz w oknie &amp;incognito}few{Otwórz wszystkie (#) w oknie &amp;incognito}many{Otwórz wszystkie (#) w oknie &amp;incognito}other{Otwórz wszystkie (#) w oknie &amp;incognito}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – odtwarzanie filmu w trybie obrazu w obrazie</translation>
 <translation id="4862050643946421924">Dodaję urządzenie...</translation>
 <translation id="4862642413395066333">Podpisywanie odpowiedzi protokołu OCSP</translation>
 <translation id="4863769717153320198">Wygląda na <ph name="WIDTH" /> × <ph name="HEIGHT" /> (domyślna)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Przeszukaj historię</translation>
 <translation id="4881695831933465202">Otwórz</translation>
 <translation id="4882473678324857464">Zaznacz zakładki</translation>
+<translation id="4882831918239250449">Zarządzaj personalizacją wyszukiwarki, reklam i innych funkcji na podstawie historii przeglądania</translation>
 <translation id="4883178195103750615">Eksportuj zakładki do pliku HTML...</translation>
 <translation id="4883436287898674711">Wszystkie strony <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Menedżer zadań</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">O&amp;twórz ponownie zamkniętą kartę</translation>
 <translation id="52912272896845572">Plik kluczy prywatnych jest nieprawidłowy.</translation>
 <translation id="529175790091471945">Sformatuj urządzenie</translation>
+<translation id="5292195676005197571">W przypadku większości kluczy wystarczy nacisnąć przycisk</translation>
 <translation id="5293170712604732402">Przywróć ustawienia do wartości domyślnych</translation>
 <translation id="5298219193514155779">Motyw utworzony przez</translation>
 <translation id="5299109548848736476">Bez śledzenia</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Ze względów bezpieczeństwa Smart Lock poprosi Cię o podanie hasła po upływie 20 godzin.</translation>
 <translation id="5659593005791499971">E-mail</translation>
 <translation id="5659833766619490117">Nie udało się przetłumaczyć tej strony</translation>
+<translation id="5660204307954428567">Sparować z urządzeniem <ph name="DEVICE_NAME" />?</translation>
 <translation id="5662477687021125631">Bezterminowa</translation>
 <translation id="5667546120811588575">Konfiguruję Google Play…</translation>
 <translation id="5669267381087807207">Aktywowanie</translation>
 <translation id="5669691691057771421">Wpisz nowy kod PIN</translation>
 <translation id="5671641761787789573">Obrazy zablokowane</translation>
+<translation id="5673076758299428095">Wyłącz Linuksa</translation>
 <translation id="5677503058916217575">Język strony:</translation>
 <translation id="5677928146339483299">Zablokowane</translation>
 <translation id="5678550637669481956">Uprawnienia do zapisu i odczytu nośnika <ph name="VOLUME_NAME" /> zostały przyznane.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Program do zapisu obrazu systemu operacyjnego Chrome</translation>
 <translation id="5921745308587794300">Obróć okno</translation>
 <translation id="5924047253200400718">Pomoc<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Zrób sobie zdjęcie lub wybierz jedno z tych, które już masz. Możesz też wybrać ikonę.
+    <ph name="LINE_BREAK" />
+    Obraz pojawi się na ekranie blokady i ekranie logowania do Chromebooka.</translation>
 <translation id="5925147183566400388">Wskaźnik Kodeksu postępowania certyfikacyjnego</translation>
 <translation id="592880897588170157">Pobieraj pliki PDF zamiast otwierać je automatycznie w Chrome</translation>
 <translation id="5931146425219109062">Odczyt i zmiana wszystkich Twoich danych na otwieranych stronach</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Sprawdź mikrofon i poziom dźwięku.</translation>
 <translation id="6080515710685820702">Korzystasz ze wspólnego komputera? Otwórz okno incognito.</translation>
 <translation id="6080689532560039067">Sprawdź czas systemowy</translation>
+<translation id="6082111513049964958">Hasło do odblokowania</translation>
 <translation id="6082651258230788217">Pokaż na pasku narzędzi</translation>
 <translation id="6086846494333236931">Zainstalowane przez administratora</translation>
 <translation id="6087960857463881712">Niesamowita twarz</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Tej nazwy nie można używać jako nazwy pliku ani katalogu.</translation>
 <translation id="642469772702851743">To urządzenie (nr seryjny: <ph name="SERIAL_NUMBER" />) zostało zablokowane przez właściciela.</translation>
 <translation id="6426200009596957090">Otwórz ustawienia ChromeVoxa</translation>
+<translation id="6427415464407526111">Wybierz klucz bezpieczeństwa</translation>
 <translation id="6429384232893414837">Błąd aktualizacji</translation>
 <translation id="6430814529589430811">Plik ASCII z kodowaniem Base64, jeden certyfikat</translation>
 <translation id="6431217872648827691">Wszystkie dane były szyfrowane przy użyciu Twojego hasła Google od
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Nie można załadować pliku PPD, bo jest zbyt duży. Maksymalny rozmiar to 250 kB.</translation>
 <translation id="7100897339030255923">Wybrane elementy: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Automatyczne aktualizacje są włączone</translation>
+<translation id="7102832101143475489">Żądanie przekroczyło limit czasu</translation>
 <translation id="7106346894903675391">Kup więcej miejsca...</translation>
 <translation id="7108338896283013870">Ukryj</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> chce korzystać z kamery</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Strona w tle: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Otwórz wszystkie w &amp;nowym oknie}=1{Otwórz w &amp;nowym oknie}few{Otwórz wszystkie (#) w &amp;nowym oknie}many{Otwórz wszystkie (#) w &amp;nowym oknie}other{Otwórz wszystkie (#) w &amp;nowym oknie}}</translation>
 <translation id="7434509671034404296">Programista</translation>
-<translation id="7436470008146509879">Instalowanie Linuksa na urządzeniu <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Kurza twarz! Podczas zmiany nazwy wystąpił błąd.</translation>
 <translation id="7441830548568730290">Inni użytkownicy</translation>
 <translation id="7442465037756169001">Hardware Hangouts Meet jest gotowy do konfiguracji.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Wyłącz napisy</translation>
 <translation id="7882358943899516840">Typ dostawcy</translation>
 <translation id="7885253890047913815">Ostatnie urządzenia docelowe</translation>
-<translation id="7886917304091689118">Otwarta w Chrome</translation>
 <translation id="7887334752153342268">Duplikuj</translation>
 <translation id="7887864092952184874">Sparowano mysz Bluetooth</translation>
 <translation id="7889565820482017512">Rozmiar wyświetlacza</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Rozmiar</translation>
 <translation id="8030656706657716245">Dodaj drukarkę</translation>
 <translation id="8032244173881942855">Nie udało się przesłać karty.</translation>
+<translation id="8033958968890501070">Przekroczono limit czasu</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Otwórz wszystkie w oknie &amp;incognito}=1{Otwórz w oknie &amp;incognito}few{Otwórz wszystkie (#) w oknie &amp;incognito}many{Otwórz wszystkie (#) w oknie &amp;incognito}other{Otwórz wszystkie (#) w oknie &amp;incognito}}</translation>
 <translation id="8037117027592400564">Odczyt całego tekstu mówionego przez syntezator mowy</translation>
 <translation id="8037357227543935929">Pytaj (domyślnie)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Zarządzanie pobranymi plikami</translation>
 <translation id="81238879832906896">Żółto-biały kwiat</translation>
 <translation id="8124313775439841391">Zarządzana konfiguracja ONC</translation>
-<translation id="8125562866093998907">Witryna chce zweryfikować Twój klucz bezpieczeństwa, by zwiększyć bezpieczeństwo konta.</translation>
 <translation id="813082847718468539">Wyświetl informacje o witrynie</translation>
 <translation id="8131740175452115882">Potwierdź</translation>
 <translation id="8133676275609324831">&amp;Pokaż w folderze</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">strona</translation>
 <translation id="8180786512391440389">„<ph name="EXTENSION" />” może odczytywać oraz usuwać pliki graficzne, wideo i dźwiękowe ze sprawdzonych lokalizacji.</translation>
 <translation id="8181215761849004992">Nie można dołączyć do domeny. Sprawdź, czy masz uprawnienia do dodawania urządzeń.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Ta strona nie powinna być zablokowana.</translation>
 <translation id="8184288427634747179">Przełącz na: <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Więcej informacji</translation>
 <translation id="8185331656081929126">Pokazuj powiadomienia po wykryciu w sieci nowych drukarek</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">Port debugowania NaCl</translation>
 <translation id="843760761634048214">Zapisz kartę kredytową</translation>
 <translation id="8438328416656800239">Przejdź na inteligentną przeglądarkę</translation>
+<translation id="8438566539970814960">Ulepsz wyszukiwanie i przeglądanie</translation>
 <translation id="8439506636278576865">Proponuj tłumaczenie stron w tym języku</translation>
 <translation id="8446884382197647889">Więcej informacji</translation>
 <translation id="8447409163267621480">Uwzględnij Ctrl lub Alt</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Ta witryna została zaktualizowana w tle.</translation>
 <translation id="8737685506611670901">Otwieranie linków protokołu <ph name="PROTOCOL" /> zamiast modułu <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Menedżer połączeń</translation>
-<translation id="8741316211671074806">Obraz w obrazie</translation>
 <translation id="8743390665131937741">Poziom powiększenia lupy pełnego ekranu:</translation>
 <translation id="8743864605301774756">Zaktualizowano przed godziną</translation>
 <translation id="874689135111202667">{0,plural, =1{Przesłać jeden plik do tej witryny?}few{Przesłać # pliki do tej witryny?}many{Przesłać # plików do tej witryny?}other{Przesłać # pliku do tej witryny?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – awaria</translation>
 <translation id="8983677657449185470">Pomóż ulepszyć Bezpieczne przeglądanie</translation>
 <translation id="8984654317541110628">URL udziału plików</translation>
+<translation id="8984872292925913496">Znajdź 6-cyfrowy kod PIN z tyłu klucza</translation>
 <translation id="8986362086234534611">Zapomnij</translation>
 <translation id="8986494364107987395">Automatycznie przesyłaj do Google statystyki użytkowania i raporty o awariach</translation>
 <translation id="8987927404178983737">Miesiąc</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Ups! Podczas uwierzytelniania wystąpił problem z komunikacją sieciową. Sprawdź połączenie z siecią i spróbuj ponownie.</translation>
 <translation id="9161070040817969420">Ramki podrzędne dla <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Wysyłanie danych systemowych. Obecnie to urządzenie automatycznie wysyła do Google dane diagnostyczne oraz dotyczące używania urządzenia i aplikacji. To ustawienie jest wybierane przez właściciela urządzenia. Jeśli masz włączoną dodatkowo Aktywność w internecie i aplikacjach, dane te będą zapisywane na Twoim koncie, co umożliwi Ci zarządzanie nimi na stronie Moja aktywność. <ph name="BEGIN_LINK1" />Więcej informacji<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Obraz w obrazie</translation>
 <translation id="9169496697824289689">Pokaż skróty klawiszowe</translation>
 <translation id="9169931577761441333">Dodaj aplikację <ph name="APP_NAME" /> do ekranu głównego</translation>
 <translation id="9170397650136757332">Teraz powoli przesuń palec, by dokładnie zeskanować linie papilarne</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Nie aktywowano</translation>
 <translation id="957960681186851048">Ta strona próbowała pobrać automatycznie wiele plików</translation>
 <translation id="9580706199804957">Nie udało się połączyć z usługami Google</translation>
-<translation id="958416628331784386">Na tej karcie jest odtwarzany film w trybie obrazu w obrazie.</translation>
 <translation id="960719561871045870">Kod operatora</translation>
 <translation id="960987915827980018">Zostało około 1 godziny</translation>
 <translation id="962802172452141067">Drzewo folderów zakładek</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index efab43f..b187386 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Ajudar a tornar o <ph name="PRODUCT_NAME" /> melhor enviando automaticamente estatísticas de uso e relatórios de problemas ao Google.</translation>
 <translation id="1658424621194652532">Esta página está acessando seu microfone.</translation>
 <translation id="1660204651932907780">Permitir que os sites reproduzam sons (recomendado)</translation>
-<translation id="1660938185063657230">Verificar sua chave de segurança</translation>
 <translation id="1661156625580498328">Aplicar a codificação AES (recomendado).</translation>
 <translation id="1661245713600520330">Esta página lista todos os módulos carregados no processo principal e os módulos que estão registrados para serem carregados depois.</translation>
 <translation id="166179487779922818">A senha é muito pequena.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752">Excluir a senha de <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Toque em Notificações de apps &gt; Google Play Services.</translation>
 <translation id="1826516787628120939">Em verificação</translation>
-<translation id="1827750274519118478">A reprodução do vídeo no modo picture-in-picture será interrompida.</translation>
 <translation id="1828378091493947763">Este plug-in não é compatível com este dispositivo</translation>
 <translation id="1828901632669367785">Imprimir utilizando caixa de diálogo de sistema...</translation>
 <translation id="1829192082282182671">Diminuir &amp;zoom</translation>
@@ -2466,7 +2464,6 @@
 <translation id="4856478137399998590">Seu serviço de dados móveis foi ativado e está pronto para ser usado</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Abrir tudo em &amp;Janela anônima}=1{Abrir em &amp;Janela anônima}one{Abrir tudo (#) em &amp;Janela anônima}other{Abrir tudo (#) em &amp;Janela anônima}}</translation>
 <translation id="4858913220355269194">Pelé</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Vídeo reproduzido em picture-in-picture</translation>
 <translation id="4862050643946421924">Adicionando um dispositivo...</translation>
 <translation id="4862642413395066333">Respostas OCSP de assinatura</translation>
 <translation id="4863769717153320198">Resolução: <ph name="WIDTH" /> x <ph name="HEIGHT" /> (padrão)</translation>
@@ -4149,7 +4146,6 @@
 <translation id="7427348830195639090">Página de plano de fundo: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Abrir tudo em &amp;Nova janela}=1{Abrir em &amp;Nova janela}one{Abrir tudo (#) em &amp;Nova janela}other{Abrir tudo (#) em &amp;Nova janela}}</translation>
 <translation id="7434509671034404296">Desenvolvedor</translation>
-<translation id="7436470008146509879">Configurar o Linux no <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ah, não! Ocorreu um erro durante a renomeação.</translation>
 <translation id="7441830548568730290">Outros usuários</translation>
 <translation id="7442465037756169001">Seu hardware Hangouts Meet está pronto para ser configurado.</translation>
@@ -4448,7 +4444,6 @@
 <translation id="7881969471599061635">Desativar legendas</translation>
 <translation id="7882358943899516840">Tipo de provedor</translation>
 <translation id="7885253890047913815">Destinos recentes</translation>
-<translation id="7886917304091689118">Executando no Chrome</translation>
 <translation id="7887334752153342268">Duplicar</translation>
 <translation id="7887864092952184874">Mouse Bluetooth pareado</translation>
 <translation id="7889565820482017512">Tamanho da tela</translation>
@@ -4619,7 +4614,6 @@
 <translation id="8118860139461251237">Gerenciar seus downloads</translation>
 <translation id="81238879832906896">Flor amarela e branca</translation>
 <translation id="8124313775439841391">ONC gerenciado</translation>
-<translation id="8125562866093998907">O site quer verificar sua chave de segurança para aumentar a segurança da sua conta.</translation>
 <translation id="813082847718468539">Visualizar informações do site</translation>
 <translation id="8131740175452115882">Confirmar</translation>
 <translation id="8133676275609324831">&amp;Mostrar na pasta</translation>
@@ -4999,7 +4993,6 @@
 <translation id="8736288397686080465">Este site foi atualizado em segundo plano.</translation>
 <translation id="8737685506611670901">Abrir links de <ph name="PROTOCOL" /> em vez de <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-picture</translation>
 <translation id="8743390665131937741">Nível de zoom em tela cheia:</translation>
 <translation id="8743864605301774756">Atualizada 1 hora atrás</translation>
 <translation id="874689135111202667">{0,plural, =1{Fazer upload de um arquivo para este site?}one{Fazer upload de # arquivo para este site?}other{Fazer upload de # arquivos para este site?}}</translation>
@@ -5273,6 +5266,7 @@
 <translation id="9158715103698450907">Ops!  Ocorreu um problema de comunicação de rede durante a autenticação. Verifica sua conexão de rede e tente novamente.</translation>
 <translation id="9161070040817969420">Subquadros de: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Enviar dados do sistema. Atualmente, este dispositivo envia automaticamente dados de uso e diagnóstico do dispositivo e de apps para o Google. Essa configuração é aplicada pelo proprietário. Se você ativou a opção "Atividade na Web e de apps", essas informações serão armazenadas com sua conta para que você possa gerenciá-las em Minha atividade. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture-in-picture</translation>
 <translation id="9169496697824289689">Ver atalhos de teclado</translation>
 <translation id="9169931577761441333">Adicionar o app <ph name="APP_NAME" /> à tela inicial</translation>
 <translation id="9170397650136757332">Agora, mova o dedo levemente para capturar todas as partes da sua impressão digital</translation>
@@ -5323,7 +5317,6 @@
 <translation id="952992212772159698">Desativado</translation>
 <translation id="957960681186851048">Este site tentou fazer o download de vários arquivos automaticamente</translation>
 <translation id="9580706199804957">Não foi possível conectar-se aos serviços do Google</translation>
-<translation id="958416628331784386">Esta guia está reproduzindo um vídeo em picture-in-picture.</translation>
 <translation id="960719561871045870">Código da operadora</translation>
 <translation id="960987915827980018">Cerca de 1 hora restante</translation>
 <translation id="962802172452141067">Árvore de pastas de favoritos</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 9937ed6..d4a3e99 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Ajude a melhorar o <ph name="PRODUCT_NAME" /> enviando automaticamente estatísticas de utilização e relatórios de falhas para a Google</translation>
 <translation id="1658424621194652532">Esta página está a aceder ao seu microfone.</translation>
 <translation id="1660204651932907780">Permitir que os sites reproduzam som (recomendado)</translation>
-<translation id="1660938185063657230">Validar a Chave de segurança</translation>
 <translation id="1661156625580498328">Aplicar Encriptação AES (recomendado).</translation>
 <translation id="1661245713600520330">Esta página lista todos os módulos carregados no processo principal e os módulos registados para serem carregados mais tarde.</translation>
 <translation id="166179487779922818">A palavra-passe é demasiado curta.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752">Eliminar a palavra-passe para <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Toque em Notificações da aplicação &gt; Serviços do Google Play.</translation>
 <translation id="1826516787628120939">A verificar</translation>
-<translation id="1827750274519118478">O vídeo no modo ecrã no ecrã deixará de ser reproduzido.</translation>
 <translation id="1828378091493947763">Este plug-in não é compatível com este dispositivo</translation>
 <translation id="1828901632669367785">Imprimir Utilizando a Caixa de Diálogo do Sistema...</translation>
 <translation id="1829192082282182671">Re&amp;duzir</translation>
@@ -2467,7 +2465,6 @@
 <translation id="4856478137399998590">O seu serviço de dados móveis está ativado e pronto a utilizar</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Abrir todos numa janela de &amp;navegação anónima}=1{Abrir numa janela de &amp;navegação anónima}other{Abrir todos (#) numa janela de &amp;navegação anónima}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – vídeo em reprodução no modo ecrã no ecrã</translation>
 <translation id="4862050643946421924">A adicionar dispositivo…</translation>
 <translation id="4862642413395066333">Respostas OCSP de assinatura</translation>
 <translation id="4863769717153320198">Parece ter <ph name="WIDTH" /> x <ph name="HEIGHT" /> (predefinição)</translation>
@@ -4149,7 +4146,6 @@
 <translation id="7427348830195639090">Página de fundo: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Abrir todos numa &amp;nova janela}=1{Abrir numa &amp;nova janela}other{Abrir todos (#) numa &amp;nova janela}}</translation>
 <translation id="7434509671034404296">Programador</translation>
-<translation id="7436470008146509879">Configurar o Linux no <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ah, bolas! Ocorreu um erro durante a mudança de nome.</translation>
 <translation id="7441830548568730290">Outros utilizadores</translation>
 <translation id="7442465037756169001">O hardware Hangouts Meet está pronto para ser configurado.</translation>
@@ -4448,7 +4444,6 @@
 <translation id="7881969471599061635">Desativar legendas</translation>
 <translation id="7882358943899516840">Tipo de fornecedor</translation>
 <translation id="7885253890047913815">Destinos recentes</translation>
-<translation id="7886917304091689118">Em execução no Chrome.</translation>
 <translation id="7887334752153342268">Duplicar</translation>
 <translation id="7887864092952184874">Rato Bluetooth sincronizado</translation>
 <translation id="7889565820482017512">Tamanho do ecrã</translation>
@@ -4619,7 +4614,6 @@
 <translation id="8118860139461251237">Gerir as transferências</translation>
 <translation id="81238879832906896">Flor amarela e branca</translation>
 <translation id="8124313775439841391">ONC gerido</translation>
-<translation id="8125562866093998907">O site pretende validar a sua Chave de segurança para aumentar a segurança da sua conta.</translation>
 <translation id="813082847718468539">Ver informações do Web site</translation>
 <translation id="8131740175452115882">Confirmar</translation>
 <translation id="8133676275609324831">&amp;Mostrar numa pasta</translation>
@@ -4998,7 +4992,6 @@
 <translation id="8736288397686080465">Este site foi atualizado em segundo plano.</translation>
 <translation id="8737685506611670901">Abrir links de <ph name="PROTOCOL" /> em vez de <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Ecrã no ecrã</translation>
 <translation id="8743390665131937741">Nível de zoom da lupa de ecrã inteiro:</translation>
 <translation id="8743864605301774756">Atualizada há 1 hora</translation>
 <translation id="874689135111202667">{0,plural, =1{Pretender carregar um ficheiro para este site?}other{Pretende carregar # ficheiros para este site?}}</translation>
@@ -5272,6 +5265,7 @@
 <translation id="9158715103698450907">Ups! Ocorreu um problema de comunicação com a rede durante a autenticação. Verifique a ligação de rede e tente novamente.</translation>
 <translation id="9161070040817969420">Subframes para: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Envie dados do sistema. Atualmente, este dispositivo envia automaticamente dados de diagnóstico e de utilização do dispositivo e das aplicações para a Google. Esta definição é aplicada pelo proprietário. Se tiver ativado a Atividade da Web e de aplicações adicional, estas informações serão armazenadas na sua conta para que as possa gerir em A minha atividade. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Ecrã no ecrã</translation>
 <translation id="9169496697824289689">Ver atalhos de teclado</translation>
 <translation id="9169931577761441333">Adicionar <ph name="APP_NAME" /> ao ecrã principal</translation>
 <translation id="9170397650136757332">Agora, mova ligeiramente o dedo para capturar as diferentes partes da sua impressão digital</translation>
@@ -5322,7 +5316,6 @@
 <translation id="952992212772159698">Não activado</translation>
 <translation id="957960681186851048">Este site tentou transferir vários ficheiros automaticamente</translation>
 <translation id="9580706199804957">Não foi possível estabelecer ligação aos serviços Google.</translation>
-<translation id="958416628331784386">Este separador está a reproduzir um vídeo no modo ecrã no ecrã.</translation>
 <translation id="960719561871045870">Código do operador</translation>
 <translation id="960987915827980018">Falta cerca de 1 hora</translation>
 <translation id="962802172452141067">Árvore de pastas de marcadores</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index 2b00664..0efc0f33 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Întrerupe</translation>
 <translation id="1181037720776840403">Elimină</translation>
 <translation id="1183237619868651138">Nu se poate instala <ph name="EXTERNAL_CRX_FILE" /> în memoria cache locală.</translation>
+<translation id="1183378459020939734">Ești gata să-ți asociezi Cheia de securitate?</translation>
 <translation id="1185924365081634987">Pentru a remedia eroarea de rețea, puteți încerca și să <ph name="GUEST_SIGNIN_LINK_START" />navigați ca invitat<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Elimină software-ul dăunător</translation>
 <translation id="1187722533808055681">Ieșiri din modul inactiv</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Trimite automat statistici de utilizare și rapoarte de blocare la Google pentru a contribui la îmbunătățirea <ph name="PRODUCT_NAME" />.</translation>
 <translation id="1658424621194652532">Această pagină vă accesează microfonul.</translation>
 <translation id="1660204651932907780">Permite site-urilor să redea sunet (recomandat)</translation>
-<translation id="1660938185063657230">Verifică Cheia de securitate</translation>
 <translation id="1661156625580498328">Aplică criptarea AES (recomandat).</translation>
 <translation id="1661245713600520330">Această pagină afișează toate modulele încărcate în procesul principal și modulele înregistrate pentru a se încărca ulterior.</translation>
 <translation id="166179487779922818">Parola este prea scurtă.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Modifică modul HUD tactil</translation>
 <translation id="1784849162047402014">Spațiul de pe hard diskul dispozitivului este redus</translation>
 <translation id="1786636458339910689">Drive-uri în echipă</translation>
+<translation id="1792161662640298233">Se verifică Cheia de securitate…</translation>
 <translation id="1792619191750875668">Afișare extinsă</translation>
 <translation id="1794791083288629568">Trimite feedback pentru a contribui la remedierea problemei.</translation>
 <translation id="1795214765651529549">Folosește tema clasică</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Șterge parola pentru <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Atinge Notificări din aplicații &gt; Servicii Google Play.</translation>
 <translation id="1826516787628120939">Se verifică</translation>
-<translation id="1827750274519118478">Redarea videoclipului în modul picture-in-picture se va opri.</translation>
 <translation id="1828378091493947763">Acest plugin nu este acceptat pe dispozitiv</translation>
 <translation id="1828901632669367785">Printați utilizând caseta de dialog a sistemului...</translation>
 <translation id="1829192082282182671">Mi&amp;cșorează</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">Extensia „<ph name="EXTENSION" />” poate citi și scrie imagini, videoclipuri și fișiere audio în locațiile indicate.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> este pregătit pentru a finaliza instalarea</translation>
 <translation id="1871615898038944731">Dispozitivul <ph name="DEVICE_TYPE" /> este actualizat</translation>
+<translation id="1875312262568496299">Începe</translation>
 <translation id="1875387611427697908">Aceasta poate fi adăugată numai din <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Nu s-a putut obține indicativul de autentificare. Pentru a reîncerca, deconectează-te și conectează-te din nou.</translation>
 <translation id="1878302395768190018">Poți personaliza oricând această setare din setările Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Fotografie de la <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Trimite pe telefon</translation>
 <translation id="2119349053129246860">Deschide în <ph name="APP" /></translation>
+<translation id="2120297377148151361">Activitate și interacțiuni</translation>
 <translation id="2121825465123208577">Redimensionează</translation>
 <translation id="2124930039827422115">{1,plural, =1{Evaluat cu <ph name="AVERAGE_RATING" /> de 1 utilizator.}few{Evaluat cu <ph name="AVERAGE_RATING" /> de # utilizatori.}other{Evaluat cu <ph name="AVERAGE_RATING" /> de # de utilizatori.}}</translation>
 <translation id="2126167708562367080">Sincronizarea este dezactivată de administrator.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Dimensiunea hârtiei</translation>
 <translation id="2318817390901984578">Ca să folosești aplicații Android, încarcă și actualizează dispozitivul <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Sesiunea incognito actuală (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Folosește cheia de securitate cu <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Anteturi și subsoluri</translation>
 <translation id="2325650632570794183">Acest tip de fișier nu este acceptat. Vă rugăm să accesați Magazinul web Chrome pentru a găsi o aplicație care poate deschide acest tip de fișier.</translation>
 <translation id="2326931316514688470">&amp;Reîncarcă aplicația</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Adaugă un dispozitiv de stocare în rețea</translation>
 <translation id="2367972762794486313">Afișați aplicații</translation>
 <translation id="2369536625682139252">Toate datele stocate de <ph name="SITE" /> vor fi șterse, cu excepția cookie-urilor.</translation>
+<translation id="237058345584060620">Asociază-ți cheia la acest dispozitiv, astfel încât să o poți folosi pentru a te conecta la cont.</translation>
 <translation id="2371076942591664043">Deschide când s-a &amp;descărcat</translation>
 <translation id="2376559921867170420">După configurarea Chromebookului, apasă butonul Asistentului sau rostește „Ok Google” pentru a obține oricând ajutor de la Asistent.</translation>
 <translation id="2377319039870049694">Comută la afișarea listă</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Telefonul nu poate fi găsit. Asigură-te că dispozitivul <ph name="DEVICE_TYPE" /> are conexiunea Bluetooth activată. &lt;a&gt;Află mai multe&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Adăugați un &amp;dosar...</translation>
 <translation id="249113932447298600">Ne pare rău, dispozitivul <ph name="DEVICE_LABEL" /> nu este acceptat în prezent.</translation>
+<translation id="2492040222276243256">Apasă lung butonul de pe Cheia de securitate timp de cel puțin 5 secunde</translation>
 <translation id="2493021387995458222">Selectează „câte un cuvânt”</translation>
 <translation id="249303669840926644">Înregistrarea nu s-a putut finaliza</translation>
 <translation id="2495777824269688114">Descoperă mai multe funcții sau obține răspunsuri. Selectează „?” pentru ajutor.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Se așteaptă un socket disponibil...</translation>
 <translation id="252219247728877310">Componenta nu este actualizată</translation>
 <translation id="2522791476825452208">Foarte aproape</translation>
+<translation id="2523184218357549926">Trimite la Google adresele URL ale paginilor pe care le accesezi</translation>
 <translation id="2525250408503682495">Kryptonit! Procesul cryptohome pentru aplicația de tip chioșc nu a putut fi montat.</translation>
 <translation id="2526277209479171883">Instalează și continuă</translation>
 <translation id="2526590354069164005">Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Nu sunteți conectat(ă) la <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Felicitări! Serviciul de date „<ph name="NAME" />” a fost activat și este gata de utilizare.</translation>
 <translation id="2564520396658920462">Rularea JavaScript prin AppleScript este dezactivată. Pentru a o activa, din bara de meniu, accesează Vizualizare &gt; Dezvoltator &gt; Permite JavaScript de la Apple Events. Pentru mai multe informații: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Verificarea îmbunătățită a ortografiei</translation>
 <translation id="2566124945717127842">Folosiți Powerwash pentru a reseta dispozitivul <ph name="IDS_SHORT_PRODUCT_NAME" /> la configurația din fabrică.</translation>
 <translation id="2567257616420533738">Parola a fost salvată. Vezi și gestionează parolele salvate la <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Container bară de informații</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> folosește <ph name="USAGE" /> MB din spațiul de pe disc.</translation>
 <translation id="2633212996805280240">Eliminați „<ph name="EXTENSION_NAME" />”?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> nu a putut finaliza instalarea, dar va continua să ruleze de pe imaginea de pe disc.</translation>
+<translation id="2633326789677284179">Găsește numele înscris pe partea din spate a cheii</translation>
 <translation id="2635276683026132559">Semnare</translation>
 <translation id="2636625531157955190">Chrome nu poate accesa imaginea.</translation>
 <translation id="2638087589890736295">Pentru a începe sincronizarea este necesară expresia de acces</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Fișierul crx extern nu se poate copia în <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">„<ph name="DEVICE_NAME" />” conectată</translation>
 <translation id="3101709781009526431">Data și ora</translation>
+<translation id="3104900172193317662">Permite folosirea cheii de securitate</translation>
 <translation id="310671807099593501">Site-ul folosește Bluetooth</translation>
 <translation id="3115128645424181617">Telefonul nu poate fi găsit. Asigură-te că este la îndemână și că ai activat Bluetooth.</translation>
 <translation id="3115147772012638511">Se așteaptă cache-ul...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Blochează întotdeauna accesul <ph name="HOST" /> la clipboard</translation>
 <translation id="3840053866656739575">S-a pierdut conexiunea la Chromebox. Apropie-te sau verifică dispozitivul în timp ce se încearcă reconectarea.</translation>
 <translation id="3842552989725514455">Font Serif</translation>
+<translation id="3846116211488856547">Obține instrumente pentru dezvoltarea site-urilor, aplicații Android și multe altele. Instalarea Linux va descărca <ph name="DOWNLOAD_SIZE" /> de date.</translation>
 <translation id="385051799172605136">Înapoi</translation>
 <translation id="3851428669031642514">Încarcă scripturi nesigure</translation>
 <translation id="3855441664322950881">Împachetează extensia</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Eliberează spațiu pe hard disk sau dispozitivul nu va mai răspunde la comenzi.</translation>
 <translation id="3878840326289104869">Se creează utilizatorul monitorizat</translation>
 <translation id="3879748587602334249">Manager de descărcări</translation>
+<translation id="3880709822663530586">Cheia de securitate funcționează numai atunci când dispozitivul are activat Bluetooth</translation>
 <translation id="3888550877729210209">Scriere de notițe cu <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Adaugă OpenVPN/L2TP…</translation>
 <translation id="3893536212201235195">Citește și modifică setările de accesibilitate</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Deschide &amp;imaginea originală într-o filă nouă</translation>
 <translation id="4682551433947286597">Imaginile de fundal apar pe ecranul de conectare.</translation>
 <translation id="4684427112815847243">Sincronizare totală</translation>
+<translation id="4689235506267737042">Alege preferințele tale demo</translation>
 <translation id="4689421377817139245">Sincronizează marcajul pe iPhone</translation>
 <translation id="4690091457710545971">&lt;Patru fișiere generate de firmware-ul Wi-Fi Intel: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Primele trei sunt fișiere binare care conțin dumpuri de registru, despre care Intel afirmă că nu conțin informații cu caracter personal sau de identificare a dispozitivelor.  Ultimul fișier este o urmărire a executării firmware-ului Intel; din acesta au fost eliminate informațiile cu caracter personal sau de identificare a dispozitivelor, dar este prea mare pentru a fi afișat aici.  Aceste fișiere au fost generate ca răspuns la problemele recente privind conexiunea Wi-Fi ale dispozitivului și vor fi trimise la Intel în vederea remedierii.&gt;</translation>
 <translation id="4692302215262324251">Dispozitivul <ph name="DEVICE_TYPE" /> a fost înscris pentru gestionarea de întreprindere de <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Serviciul de date mobile este activat și gata de utilizare</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Deschide-le pe toate într-o fereastră &amp;incognito}=1{Deschide într-o fereastră &amp;incognito}few{Deschide-le pe toate (#) într-o fereastră &amp;incognito}other{Deschide-le pe toate (#) într-o fereastră &amp;incognito}}</translation>
 <translation id="4858913220355269194">Jucător</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Videoclipul se redă în modul Picture-in-Picture</translation>
 <translation id="4862050643946421924">Se adaugă dispozitivul...</translation>
 <translation id="4862642413395066333">Semnarea răspunsurilor OCSP</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (Prestabilit)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Caută în istoric</translation>
 <translation id="4881695831933465202">Deschide</translation>
 <translation id="4882473678324857464">Focalizează pe marcaje</translation>
+<translation id="4882831918239250449">Controlează modul în care istoricul de navigare este folosit pentru a personaliza Căutarea, anunțurile și alte servicii</translation>
 <translation id="4883178195103750615">Exportați marcajele într-un fișier HTML...</translation>
 <translation id="4883436287898674711">Toate site-urile <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">Manager de ac&amp;tivități</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">R&amp;edeschide fila închisă</translation>
 <translation id="52912272896845572">Fișierul cu cheia privată este nevalid.</translation>
 <translation id="529175790091471945">Formatează acest dispozitiv</translation>
+<translation id="5292195676005197571">Pentru a folosi cheia, de obicei trebuie doar să apeși butonul</translation>
 <translation id="5293170712604732402">Restabilește setările la valorile inițiale</translation>
 <translation id="5298219193514155779">Temă creată de</translation>
 <translation id="5299109548848736476">Nu urmăriți</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Pentru mai multă siguranță, Smart Lock îți solicită să introduci parola după 20 de ore.</translation>
 <translation id="5659593005791499971">Adresă de e-mail</translation>
 <translation id="5659833766619490117">Pagina nu a putut fi tradusă</translation>
+<translation id="5660204307954428567">Asociază cu <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Perpetuă</translation>
 <translation id="5667546120811588575">Se configurează Google Play...</translation>
 <translation id="5669267381087807207">Se activează</translation>
 <translation id="5669691691057771421">Introdu noul cod PIN</translation>
 <translation id="5671641761787789573">Imagini blocate</translation>
+<translation id="5673076758299428095">Închide Linux</translation>
 <translation id="5677503058916217575">Limba paginii:</translation>
 <translation id="5677928146339483299">Blocat</translation>
 <translation id="5678550637669481956">A fost acordat accesul de citire și scriere la <ph name="VOLUME_NAME" />.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Instrument de scriere a imaginilor de sistem pentru sistemul de operare Chrome</translation>
 <translation id="5921745308587794300">Rotește fereastra</translation>
 <translation id="5924047253200400718">Obține ajutor <ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Fotografiază sau alege o fotografie ori o pictogramă existentă.
+    <ph name="LINE_BREAK" />
+    Această fotografie se va afișa pe ecranul de conectare și de blocare al Chromebookului.</translation>
 <translation id="5925147183566400388">Adresa URI a declarației de certificare a practicii</translation>
 <translation id="592880897588170157">Descarcă fișierele PDF în loc să le deschizi automat în Chrome</translation>
 <translation id="5931146425219109062">Citește și modifică toate datele de pe site-urile pe care le accesezi</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Verifică microfonul și nivelul audio.</translation>
 <translation id="6080515710685820702">Folosești un computer comun? Încearcă să deschizi o fereastră incognito.</translation>
 <translation id="6080689532560039067">Verificați ora sistemului</translation>
+<translation id="6082111513049964958">Parola pentru deblocare</translation>
 <translation id="6082651258230788217">Afișează în bara de instrumente</translation>
 <translation id="6086846494333236931">Instalată de administrator</translation>
 <translation id="6087960857463881712">Față extraordinară</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Acest nume nu poate fi folosit ca nume de fișier sau de dosar</translation>
 <translation id="642469772702851743">Dispozitivul (NS: <ph name="SERIAL_NUMBER" />) a fost blocat de proprietar.</translation>
 <translation id="6426200009596957090">Deschide setările ChromeVox</translation>
+<translation id="6427415464407526111">Selectează Cheia de securitate</translation>
 <translation id="6429384232893414837">Eroare de actualizare</translation>
 <translation id="6430814529589430811">ASCII codificat Base64, certificat unic</translation>
 <translation id="6431217872648827691">Toate datele au fost criptate cu parola Google începând cu
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Nu se poate încărca fișierul PPD mare. Dimensiunea maximă este 250 KB.</translation>
 <translation id="7100897339030255923"><ph name="COUNT" /> elemente selectate</translation>
 <translation id="7102687220333134671">Actualizările automate sunt activate</translation>
+<translation id="7102832101143475489">Solicitarea a expirat</translation>
 <translation id="7106346894903675391">Cumpărați mai mult spațiu de stocare...</translation>
 <translation id="7108338896283013870">Ascunde</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> dorește să utilizeze camera foto</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Pagină de fundal: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Deschide-le pe toate într-o fereastră &amp;nouă}=1{Deschide într-o fereastră &amp;nouă}few{Deschide-le pe toate (#) într-o fereastră &amp;nouă}other{Deschide-le pe toate (#) într-o fereastră &amp;nouă}}</translation>
 <translation id="7434509671034404296">Dezvoltator</translation>
-<translation id="7436470008146509879">Configurează Linux pe <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Of, nu mai merge! A apărut o eroare la redenumire.</translation>
 <translation id="7441830548568730290">Alți utilizatori</translation>
 <translation id="7442465037756169001">Hardware-ul Hangouts Meet este gata pentru configurare.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Dezactivează subtitrările</translation>
 <translation id="7882358943899516840">Tip furnizor</translation>
 <translation id="7885253890047913815">Destinații recente</translation>
-<translation id="7886917304091689118">Rulează în Chrome</translation>
 <translation id="7887334752153342268">Dublură</translation>
 <translation id="7887864092952184874">Mouse Bluetooth conectat</translation>
 <translation id="7889565820482017512">Dimensiune de afișare</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Dimensiune</translation>
 <translation id="8030656706657716245">Adaugă imprimanta</translation>
 <translation id="8032244173881942855">Nu se poate proiecta fila.</translation>
+<translation id="8033958968890501070">Expirare</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Deschide-le pe toate într-o fereastră &amp;incognito}=1{Deschide într-o fereastră &amp;incognito}few{Deschide-le pe toate (#) într-o fereastră &amp;incognito}other{Deschide-le pe toate (#) într-o fereastră &amp;incognito}}</translation>
 <translation id="8037117027592400564">Citește tot textul rostit folosind vorbirea sintetizată</translation>
 <translation id="8037357227543935929">Solicită (în mod prestabilit)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Gestionează descărcările</translation>
 <translation id="81238879832906896">Floare galbenă și albă</translation>
 <translation id="8124313775439841391">Proprietăți ONC gestionate</translation>
-<translation id="8125562866093998907">Site-ul dorește să verifice Cheia de securitate pentru o siguranță sporită a contului.</translation>
 <translation id="813082847718468539">Afișează informațiile privind site-ul</translation>
 <translation id="8131740175452115882">Confirmați</translation>
 <translation id="8133676275609324831">&amp;Afișează în dosar</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">pagină</translation>
 <translation id="8180786512391440389">Extensia „<ph name="EXTENSION" />” poate să citească și să șteargă fișiere imagine, video și audio din locațiile selectate.</translation>
 <translation id="8181215761849004992">Dispozitivul nu poate fi asociat domeniului. Verifică-ți contul pentru a vedea dacă ai suficiente privilegii pentru a adăuga dispozitive.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Nu cred că acest site ar trebui blocat!</translation>
 <translation id="8184288427634747179">Comută la <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Mai multe informații</translation>
 <translation id="8185331656081929126">Afișați notificări când în rețea sunt detectate imprimante noi</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Port remediere NaCl</translation>
 <translation id="843760761634048214">Salvează cardul de credit</translation>
 <translation id="8438328416656800239">Comută la un browser inteligent</translation>
+<translation id="8438566539970814960">Îmbunătățește căutările și navigarea</translation>
 <translation id="8439506636278576865">Oferă-te să traduci paginile în această limbă</translation>
 <translation id="8446884382197647889">Află mai multe</translation>
 <translation id="8447409163267621480">Include Ctrl sau Alt</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Acest site a fost actualizat în fundal.</translation>
 <translation id="8737685506611670901">Deschide linkurile <ph name="PROTOCOL" /> și nu <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8743390665131937741">Nivelul de zoom pe ecran complet:</translation>
 <translation id="8743864605301774756">Actualizată acum o oră</translation>
 <translation id="874689135111202667">{0,plural, =1{Încarci un fișier pe acest site?}few{Încarci # fișiere pe acest site?}other{Încarci # de fișiere pe acest site?}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – s-a blocat</translation>
 <translation id="8983677657449185470">Contribuie la îmbunătățirea Navigării sigure</translation>
 <translation id="8984654317541110628">Adresa URL a dispozitivului de stocare în rețea</translation>
+<translation id="8984872292925913496">Găsește codul PIN de 6 cifre pe partea din spate a cheii</translation>
 <translation id="8986362086234534611">Șterge</translation>
 <translation id="8986494364107987395">Trimite automat la Google statistici de utilizare și rapoarte de blocare</translation>
 <translation id="8987927404178983737">Lună</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">Hopa! A apărut o problemă de comunicare în rețea în timpul autentificării. Verificați conexiunea la rețea și încercați din nou.</translation>
 <translation id="9161070040817969420">Subcadre pentru: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Trimite date de sistem. Momentan, dispozitivul trimite automat la Google date privind diagnosticarea și utilizarea dispozitivelor și a aplicațiilor. Această setare este impusă de proprietar. Dacă ai activat opțiunea suplimentară Activitatea de pe web și din aplicații, aceste informații vor fi stocate în contul tău, ca să le poți gestiona în Activitatea mea. <ph name="BEGIN_LINK1" />Află mai multe<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picture-in-Picture</translation>
 <translation id="9169496697824289689">Vedeți comenzile rapide de la tastatură</translation>
 <translation id="9169931577761441333">Adaugă <ph name="APP_NAME" /> la ecranul de pornire</translation>
 <translation id="9170397650136757332">Acum mișcă ușor degetul pentru a captura toate porțiunile amprentei</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">Neactivat</translation>
 <translation id="957960681186851048">Acest site a încercat să descarce automat mai multe fișiere</translation>
 <translation id="9580706199804957">Nu s-a putut conecta la serviciile Google</translation>
-<translation id="958416628331784386">Această filă redă un videoclip în modul Picture-in-Picture.</translation>
 <translation id="960719561871045870">Cod operator</translation>
 <translation id="960987915827980018">A mai rămas aproape 1 oră</translation>
 <translation id="962802172452141067">Arborele cu dosarele de marcaje</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index 3525407..f42c42c 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Удалить</translation>
 <translation id="1183237619868651138">Не удается установить файл <ph name="EXTERNAL_CRX_FILE" /> в локальный кеш.</translation>
+<translation id="1183378459020939734">Подключить электронный ключ?</translation>
 <translation id="1185924365081634987">Чтобы исправить данную сетевую ошибку, попробуйте <ph name="GUEST_SIGNIN_LINK_START" />войти в гостевом режиме<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Удалите вредоносное ПО</translation>
 <translation id="1187722533808055681">переходы в активный режим</translation>
@@ -453,7 +454,6 @@
 <translation id="1657406563541664238">Автоматическая отправка в Google статистики использования и отчетов о сбоях с целью улучшения <ph name="PRODUCT_NAME" /></translation>
 <translation id="1658424621194652532">Этой странице разрешен доступ к вашему микрофону</translation>
 <translation id="1660204651932907780">Разрешить сайтам воспроизводить звуки (рекомендуется)</translation>
-<translation id="1660938185063657230">Проверка электронного ключа</translation>
 <translation id="1661156625580498328">Использовать шифрование по алгоритму AES (рекомендуется).</translation>
 <translation id="1661245713600520330">На этой странице перечислены все модули, подключенные к основному процессу, а также модули, которые будут подключены позднее.</translation>
 <translation id="166179487779922818">Слишком короткий пароль.</translation>
@@ -540,6 +540,7 @@
 <translation id="1782530111891678861">Смена режима Touch HUD</translation>
 <translation id="1784849162047402014">Свободное пространство заканчивается</translation>
 <translation id="1786636458339910689">Общие диски</translation>
+<translation id="1792161662640298233">Проверка электронного ключа</translation>
 <translation id="1792619191750875668">Дополнительный монитор</translation>
 <translation id="1794791083288629568">Отправить отзыв, чтобы помочь устранить ошибку</translation>
 <translation id="1795214765651529549">Использовать классическую тему</translation>
@@ -565,7 +566,6 @@
 <translation id="1818007989243628752">Удалить пароль пользователя <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Нажмите "Уведомления приложений &gt; Сервисы Google Play".</translation>
 <translation id="1826516787628120939">Проверка</translation>
-<translation id="1827750274519118478">Воспроизведение видео в режиме "Картинка в картинке" прекратится.</translation>
 <translation id="1828378091493947763">Плагин не поддерживается на этом устройстве</translation>
 <translation id="1828901632669367785">Печатать с помощью системного диалогового окна</translation>
 <translation id="1829192082282182671">&amp;Уменьшить</translation>
@@ -601,6 +601,7 @@
 <translation id="186612162884103683">Расширению "<ph name="EXTENSION" />" будет предоставлен доступ для чтения и записи к изображениям, видео- и аудиофайлам в отмеченных папках.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> готов к завершению установки.</translation>
 <translation id="1871615898038944731">Вы используете последнюю версию <ph name="DEVICE_TYPE" /></translation>
+<translation id="1875312262568496299">Начать</translation>
 <translation id="1875387611427697908">Это приложение или расширение можно установить только из сервиса "<ph name="CHROME_WEB_STORE" />".</translation>
 <translation id="1877520246462554164">Не удалось получить токен аутентификации. Чтобы повторить попытку, выйдите из аккаунта и войдите снова.</translation>
 <translation id="1878302395768190018">Выбрать нужные вам параметры можно будет в настройках Chrome в любое время</translation>
@@ -747,6 +748,7 @@
 <translation id="2114896190328250491">Фото: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Отправить на телефон</translation>
 <translation id="2119349053129246860">Открыть в приложении "<ph name="APP" />"</translation>
+<translation id="2120297377148151361">Действия в браузере</translation>
 <translation id="2121825465123208577">Изменить размер</translation>
 <translation id="2124930039827422115">{1,plural, =1{1 пользователь поставил оценку <ph name="AVERAGE_RATING" />.}one{# пользователь поставил оценку <ph name="AVERAGE_RATING" />.}few{# пользователя поставили оценку <ph name="AVERAGE_RATING" />.}many{# пользователей поставили оценку <ph name="AVERAGE_RATING" />.}other{# пользователя поставили оценку <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">Ваш администратор отключил синхронизацию.</translation>
@@ -880,6 +882,7 @@
 <translation id="2318143611928805047">Размер бумаги</translation>
 <translation id="2318817390901984578">Чтобы пользоваться приложениями Android, зарядите и обновите устройство <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Текущий сеанс в режиме инкогнито (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Вход в приложение "<ph name="APP_NAME" />" с помощью электронного ключа</translation>
 <translation id="2322193970951063277">Верхние и нижние колонтитулы</translation>
 <translation id="2325650632570794183">Этот тип файла не поддерживается. Зайдите в Интернет-магазин Chrome, чтобы найти приложение, с помощью которого его можно открыть.</translation>
 <translation id="2326931316514688470">Пере&amp;загрузить приложение</translation>
@@ -913,6 +916,7 @@
 <translation id="2367199180085172140">Добавить файл в общий доступ.</translation>
 <translation id="2367972762794486313">Показать сервисы</translation>
 <translation id="2369536625682139252">Все данные, сохраненные сайтом <ph name="SITE" />, будут удалены (за исключением файлов cookie).</translation>
+<translation id="237058345584060620">Свяжите ключ с устройством, чтобы использовать его для входа в аккаунт.</translation>
 <translation id="2371076942591664043">Открыть по &amp;завершении</translation>
 <translation id="2376559921867170420">Завершив настройку Chromebook, вы сможете обращаться к Ассистенту в любое время. Для этого нажмите кнопку Ассистента или скажите "Окей, Google".</translation>
 <translation id="2377319039870049694">Показать в виде списка</translation>
@@ -978,6 +982,7 @@
 <translation id="248861575772995840">Телефон не обнаружен. Убедитесь, что на устройстве <ph name="DEVICE_TYPE" /> включен Bluetooth. &lt;a&gt;Подробнее…&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Добавить &amp;папку</translation>
 <translation id="249113932447298600">Устройство <ph name="DEVICE_LABEL" /> не поддерживается.</translation>
+<translation id="2492040222276243256">Нажмите и удерживайте кнопку на электронном ключе в течение пяти секунд.</translation>
 <translation id="2493021387995458222">Выбрать "по одному слову"</translation>
 <translation id="249303669840926644">Не удалось завершить регистрацию</translation>
 <translation id="2495777824269688114">Нажмите кнопку "?", чтобы узнать о других функциях или найти ответ на вопрос.</translation>
@@ -1005,6 +1010,7 @@
 <translation id="2520644704042891903">Ожидание доступного сокета...</translation>
 <translation id="252219247728877310">Компонент не обновлен</translation>
 <translation id="2522791476825452208">Очень близко</translation>
+<translation id="2523184218357549926">Отправлять URL посещенных страниц в Google</translation>
 <translation id="2525250408503682495">Не удалось включить шифрование домашних каталогов киоск-приложения.</translation>
 <translation id="2526277209479171883">Установить и продолжить</translation>
 <translation id="2526590354069164005">Рабочий стол</translation>
@@ -1031,6 +1037,7 @@
 <translation id="2562743677925229011">Не выполнен вход в <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Поздравляем! Служба передачи данных "<ph name="NAME" />" активирована и готова к работе.</translation>
 <translation id="2564520396658920462">Выполнение JavaScript через AppleScript отключено. Чтобы включить эту функцию, в строке меню выберите "Вид &gt; Разработчикам &gt; Разрешить JavaScript из событий Apple". Подробную информацию можно найти на этой странице: https://support.google.com/chrome/?p=applescript.</translation>
+<translation id="2564653188463346023">Расширенная проверка правописания</translation>
 <translation id="2566124945717127842">Функция Powerwash восстановит заводские настройки устройства <ph name="IDS_SHORT_PRODUCT_NAME" />.</translation>
 <translation id="2567257616420533738">Пароль сохранен. Просматривайте сохраненные пароли и управляйте ими на странице <ph name="SAVED_PASSWORDS_LINK" />.</translation>
 <translation id="2568774940984945469">Контейнер панели информации</translation>
@@ -1082,6 +1089,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> использует <ph name="USAGE" /> МБ дискового пространства.</translation>
 <translation id="2633212996805280240">Удалить "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> не может завершить установку, однако продолжит работу со своего образа на диске.</translation>
+<translation id="2633326789677284179">Найдите на задней стороне ключа его название.</translation>
 <translation id="2635276683026132559">Подпись</translation>
 <translation id="2636625531157955190">У Chrome нет доступа к изображению.</translation>
 <translation id="2638087589890736295">Чтобы начать синхронизацию, введите кодовую фразу</translation>
@@ -1395,6 +1403,7 @@
 <translation id="3090819949319990166">Не удалось скопировать внешний файл CRX в <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Подключено устройство: <ph name="DEVICE_NAME" /></translation>
 <translation id="3101709781009526431">Дата и время</translation>
+<translation id="3104900172193317662">Использовать электронный ключ?</translation>
 <translation id="310671807099593501">Сайт использует Bluetooth</translation>
 <translation id="3115128645424181617">Не удалось найти телефон. Убедитесь, что он поблизости и на нем включен Bluetooth.</translation>
 <translation id="3115147772012638511">Ожидание кеша…</translation>
@@ -1878,6 +1887,7 @@
 <translation id="3839516600093027468">Никогда не открывать сайту <ph name="HOST" /> доступ к буферу обмена</translation>
 <translation id="3840053866656739575">Соединение с Chromebox потеряно, и мы пытаемся его восстановить. Вы пока можете подойти поближе и проверить устройство.</translation>
 <translation id="3842552989725514455">Шрифты с засечками</translation>
+<translation id="3846116211488856547">Разрабатывайте сайты, приложения для Android и другие программы с помощью удобных инструментов. При установке Linux будут скачаны данные объемом <ph name="DOWNLOAD_SIZE" />.</translation>
 <translation id="385051799172605136">Назад</translation>
 <translation id="3851428669031642514">Загрузить небезопасные скрипты</translation>
 <translation id="3855441664322950881">Упаковать расширение</translation>
@@ -1901,6 +1911,7 @@
 <translation id="3872991219937722530">Если вы не освободите пространство, устройство перестанет отвечать.</translation>
 <translation id="3878840326289104869">Создание контролируемого профиля</translation>
 <translation id="3879748587602334249">Диспетчер загрузки</translation>
+<translation id="3880709822663530586">Электронный ключ работает, только когда на устройстве включен Bluetooth.</translation>
 <translation id="3888550877729210209">Заметки в приложении "<ph name="LOCK_SCREEN_APP_NAME" />"</translation>
 <translation id="3892414795099177503">Включить OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">Чтение и изменение настроек специальных возможностей</translation>
@@ -2362,6 +2373,7 @@
 <translation id="4681930562518940301">Открыть оригинальное изображение в новой вкладке</translation>
 <translation id="4682551433947286597">Обои устанавливаются на экран входа.</translation>
 <translation id="4684427112815847243">Синхронизировать все</translation>
+<translation id="4689235506267737042">Выберите настройки демо-версии</translation>
 <translation id="4689421377817139245">Синхронизируйте эту закладку с iPhone</translation>
 <translation id="4690091457710545971">&lt;Встроенным ПО для Wi-Fi от Intel сгенерировано четыре файла: csr.lst, fh_regs.lst, radio_reg.lst и monitor.lst.sysmon. Первые три – бинарные файлы, содержащие дампы реестра, в которых, по данным компании Intel, нет персональных данных и информации об устройстве. Последний файл содержит трассировку выполнения кода встроенного ПО от Intel (из него также удалены все персональные данные и информация об устройстве). Так как этот файл слишком большой, мы не можем показать его здесь целиком. Эти файлы будут отправлены в Intel, чтобы помочь в устранении проблем с Wi-Fi на вашем устройстве.&gt;</translation>
 <translation id="4692302215262324251">Ваше устройство <ph name="DEVICE_TYPE" /> зарегистрировано в домене <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2467,7 +2479,6 @@
 <translation id="4856478137399998590">Служба передачи данных в мобильных сетях активирована и готова к использованию</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Открыть все в &amp;режиме инкогнито}=1{Открыть в &amp;режиме инкогнито}one{Открыть все (#) в &amp;режиме инкогнито}few{Открыть все (#) в &amp;режиме инкогнито}many{Открыть все (#) в &amp;режиме инкогнито}other{Открыть все (#) в &amp;режиме инкогнито}}</translation>
 <translation id="4858913220355269194">Футбол</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" />: видео воспроизводится в режиме "Картинка в картинке"</translation>
 <translation id="4862050643946421924">Добавление устройства</translation>
 <translation id="4862642413395066333">Подпись ответов OCSP</translation>
 <translation id="4863769717153320198">Выглядит как <ph name="WIDTH" /> x <ph name="HEIGHT" /> (разрешение по умолчанию)</translation>
@@ -2491,6 +2502,7 @@
 <translation id="4880827082731008257">Искать в истории</translation>
 <translation id="4881695831933465202">Открыть</translation>
 <translation id="4882473678324857464">Активировать закладки</translation>
+<translation id="4882831918239250449">Выберите параметры истории просмотров для персонализации Поиска, рекламы и т. д.</translation>
 <translation id="4883178195103750615">Экспортировать закладки в файл HTML...</translation>
 <translation id="4883436287898674711">Все сайты <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">Диспетчер задач</translation>
@@ -2766,6 +2778,7 @@
 <translation id="5288678174502918605">Открыть закрытую вкладку</translation>
 <translation id="52912272896845572">Файл закрытого ключа недействителен.</translation>
 <translation id="529175790091471945">Форматировать устройство</translation>
+<translation id="5292195676005197571">У большинства ключей нужно просто нажать кнопку.</translation>
 <translation id="5293170712604732402">Восстановление настроек по умолчанию</translation>
 <translation id="5298219193514155779">Автор темы:</translation>
 <translation id="5299109548848736476">Запрет отслеживания</translation>
@@ -3026,11 +3039,13 @@
 <translation id="5658415415603568799">В целях безопасности через 20 часов вам потребуется ввести пароль.</translation>
 <translation id="5659593005791499971">Электронная почта</translation>
 <translation id="5659833766619490117">Не удалось перевести страницу</translation>
+<translation id="5660204307954428567">Подключение к устройству <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Бессрочная</translation>
 <translation id="5667546120811588575">Настройка Google Play…</translation>
 <translation id="5669267381087807207">Активация</translation>
 <translation id="5669691691057771421">Введите новый PIN-код</translation>
 <translation id="5671641761787789573">Показ изображений запрещен</translation>
+<translation id="5673076758299428095">Завершить работу Linux</translation>
 <translation id="5677503058916217575">Язык страницы:</translation>
 <translation id="5677928146339483299">Заблокировано</translation>
 <translation id="5678550637669481956">Предоставлен доступ к тому <ph name="VOLUME_NAME" /> (чтение и запись данных).</translation>
@@ -3195,6 +3210,9 @@
 <translation id="5920835625712313205">Системное средство записи изображений в Chrome OS</translation>
 <translation id="5921745308587794300">Повернуть окно</translation>
 <translation id="5924047253200400718">Справка<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Сделайте новое фото или выберите существующий снимок либо картинку.
+    <ph name="LINE_BREAK" />
+    Это изображение появится на экране входа и блокировки Chromebook.</translation>
 <translation id="5925147183566400388">Указатель на регламент удостоверяющего центра</translation>
 <translation id="592880897588170157">Скачивать файлы PDF, а не автоматически открывать их в Chrome</translation>
 <translation id="5931146425219109062">Просмотр и изменение ваших данных на посещаемых сайтах</translation>
@@ -3291,6 +3309,7 @@
 <translation id="6078752646384677957">Проверьте микрофон и уровни громкости.</translation>
 <translation id="6080515710685820702">Компьютером пользуются несколько человек? Откройте окно в режиме инкогнито.</translation>
 <translation id="6080689532560039067">Проверка системного времени</translation>
+<translation id="6082111513049964958">Пароль для разблокировки</translation>
 <translation id="6082651258230788217">Добавить на панель инструментов</translation>
 <translation id="6086846494333236931">Установлено администратором</translation>
 <translation id="6087960857463881712">Модник</translation>
@@ -3514,6 +3533,7 @@
 <translation id="642282551015776456">Недопустимое название для файла или папки</translation>
 <translation id="642469772702851743">Устройство (серийный номер <ph name="SERIAL_NUMBER" />) заблокировано владельцем.</translation>
 <translation id="6426200009596957090">Открыть настройки ChromeVox</translation>
+<translation id="6427415464407526111">Выберите электронный ключ</translation>
 <translation id="6429384232893414837">Ошибка обновления</translation>
 <translation id="6430814529589430811">Единый сертификат ASCII с кодировкой Base64</translation>
 <translation id="6431217872648827691">Все данные зашифрованы с помощью пароля вашего аккаунта Google c
@@ -3940,6 +3960,7 @@
 <translation id="7099337801055912064">Размер файла PPD не должен превышать 250 КБ.</translation>
 <translation id="7100897339030255923">Выбрано элементов: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Автоматическое обновление включено</translation>
+<translation id="7102832101143475489">Время, отведенное на обработку запроса, истекло.</translation>
 <translation id="7106346894903675391">Приобрести дополнительное пространство…</translation>
 <translation id="7108338896283013870">Скрыть</translation>
 <translation id="7108634116785509031">Сайт <ph name="HOST" /> запрашивает доступ к камере.</translation>
@@ -4148,7 +4169,6 @@
 <translation id="7427348830195639090">Фоновая страница: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Открыть все в &amp;новом окне}=1{Открыть в &amp;новом окне}one{Открыть все (#) в &amp;новом окне}few{Открыть все (#) в &amp;новом окне}many{Открыть все (#) в &amp;новом окне}other{Открыть все (#) в &amp;новом окне}}</translation>
 <translation id="7434509671034404296">Разработчикам</translation>
-<translation id="7436470008146509879">Настройка Linux на устройстве <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">При изменении названия произошла ошибка.</translation>
 <translation id="7441830548568730290">Другие пользователи</translation>
 <translation id="7442465037756169001">Оборудование Hangouts Meet готово к настройке.</translation>
@@ -4447,7 +4467,6 @@
 <translation id="7881969471599061635">Отключить субтитры</translation>
 <translation id="7882358943899516840">Тип провайдера</translation>
 <translation id="7885253890047913815">Недавние места назначения</translation>
-<translation id="7886917304091689118">Эта страница уже открыта в Chrome</translation>
 <translation id="7887334752153342268">Дублировать</translation>
 <translation id="7887864092952184874">Bluetooth-мышь подключена</translation>
 <translation id="7889565820482017512">Масштаб изображения на экране</translation>
@@ -4560,6 +4579,7 @@
 <translation id="8028993641010258682">Размер</translation>
 <translation id="8030656706657716245">Добавить принтер</translation>
 <translation id="8032244173881942855">Невозможно транслировать вкладку</translation>
+<translation id="8033958968890501070">Время истекло</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Открыть все в режиме &amp;инкогнито}=1{Открыть в режиме &amp;инкогнито}one{Открыть все (#) в режиме &amp;инкогнито}few{Открыть все (#) в режиме &amp;инкогнито}many{Открыть все (#) в режиме &amp;инкогнито}other{Открыть все (#) в режиме &amp;инкогнито}}</translation>
 <translation id="8037117027592400564">Доступ к тексту, произнесенному синтезатором речи</translation>
 <translation id="8037357227543935929">Спрашивать (по умолчанию)</translation>
@@ -4618,7 +4638,6 @@
 <translation id="8118860139461251237">Управление скачанными файлами</translation>
 <translation id="81238879832906896">Цветок (желтый с белым)</translation>
 <translation id="8124313775439841391">Управляемый ONC</translation>
-<translation id="8125562866093998907">От сайта поступил запрос на проверку электронного ключа. Она необходима для дополнительной защиты вашего аккаунта.</translation>
 <translation id="813082847718468539">Сведения о сайте</translation>
 <translation id="8131740175452115882">Подтвердить</translation>
 <translation id="8133676275609324831">Показать в папке</translation>
@@ -4650,6 +4669,8 @@
 <translation id="8180239481735238521">страница</translation>
 <translation id="8180786512391440389">Расширение "<ph name="EXTENSION" />" сможет открывать и удалять изображения, видео- и аудиофайлы в отмеченных папках.</translation>
 <translation id="8181215761849004992">Не удалось подключить устройства к домену. Убедитесь, что вашему аккаунту разрешено выполнять это действие.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Не нужно блокировать этот сайт.</translation>
 <translation id="8184288427634747179">Переключиться на профиль <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Подробнее</translation>
 <translation id="8185331656081929126">Показывать уведомления о новых принтерах в сети</translation>
@@ -4793,6 +4814,7 @@
 <translation id="8434480141477525001">Порт отладки NaCl</translation>
 <translation id="843760761634048214">Сохранить кредитную карту</translation>
 <translation id="8438328416656800239">Перейдите на умный браузер</translation>
+<translation id="8438566539970814960">Улучшить поиск и просмотр страниц</translation>
 <translation id="8439506636278576865">Предлагать перевести страницы на этом языке</translation>
 <translation id="8446884382197647889">Подробнее...</translation>
 <translation id="8447409163267621480">Сочетание должно начинаться с клавиши Ctrl или Alt</translation>
@@ -4997,7 +5019,6 @@
 <translation id="8736288397686080465">Этот сайт был обновлен в фоновом режиме</translation>
 <translation id="8737685506611670901">обработку всех ссылок типа "<ph name="PROTOCOL" />" вместо сервиса <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Картинка в картинке</translation>
 <translation id="8743390665131937741">Масштаб полноэкранной лупы:</translation>
 <translation id="8743864605301774756">Обновлено 1 час назад</translation>
 <translation id="874689135111202667">{0,plural, =1{Загрузить файл на этот сайт?}one{Загрузить # файл на этот сайт?}few{Загрузить # файла на этот сайт?}many{Загрузить # файлов на этот сайт?}other{Загрузить # файла на этот сайт?}}</translation>
@@ -5149,6 +5170,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: произошел сбой</translation>
 <translation id="8983677657449185470">Помогите улучшить режим Безопасного просмотра</translation>
 <translation id="8984654317541110628">URL для совместного доступа к файлу</translation>
+<translation id="8984872292925913496">Найдите на обратной стороне ключа шестизначный PIN-код.</translation>
 <translation id="8986362086234534611">Удалить</translation>
 <translation id="8986494364107987395">Автоматически отправлять в Google статистику использования и отчеты о сбоях</translation>
 <translation id="8987927404178983737">Месяц</translation>
@@ -5271,6 +5293,7 @@
 <translation id="9158715103698450907">Во время аутентификации возникла ошибка. Проверьте сетевое подключение и повторите попытку.</translation>
 <translation id="9161070040817969420">Субфреймы для сайта <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Отправка системных данных. Это устройство автоматически отправляет в Google данные диагностики, а также сведения об использовании устройства и приложений. Этот параметр задает владелец устройства. Если включена История приложений и веб-поиска, эта информация будет сохраняться в вашем аккаунте, и вы сможете управлять ей на странице "Мои действия". <ph name="BEGIN_LINK1" />Подробнее…<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Картинка в картинке</translation>
 <translation id="9169496697824289689">Просмотреть быстрые клавиши</translation>
 <translation id="9169931577761441333">Добавить приложение "<ph name="APP_NAME" />" на главный экран</translation>
 <translation id="9170397650136757332">Немного перемещайте палец, чтобы отсканировать его полностью</translation>
@@ -5321,7 +5344,6 @@
 <translation id="952992212772159698">Не активировано</translation>
 <translation id="957960681186851048">Этот сайт попытался автоматически скачать несколько файлов</translation>
 <translation id="9580706199804957">Не удалось подключиться к сервисам Google</translation>
-<translation id="958416628331784386">На этой вкладке воспроизводится видео в режиме "Картинка в картинке"</translation>
 <translation id="960719561871045870">Код оператора</translation>
 <translation id="960987915827980018">Осталось около часа</translation>
 <translation id="962802172452141067">Дерево папок с закладками</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index d92a5790..61e12715 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Pozastaviť</translation>
 <translation id="1181037720776840403">Odstrániť</translation>
 <translation id="1183237619868651138">Súbor <ph name="EXTERNAL_CRX_FILE" /> nie je možné nainštalovať v miestnej vyrovnávacej pamäti</translation>
+<translation id="1183378459020939734">Chcete spárovať bezpečnostný kľúč?</translation>
 <translation id="1185924365081634987">Ak chcete túto chybu siete odstrániť, môžete tiež skúsiť <ph name="GUEST_SIGNIN_LINK_START" />prehliadanie v režime hosťa<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Odstránenie škodlivého softvéru</translation>
 <translation id="1187722533808055681">Prebudenia z nečinnosti</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Pomôžte zlepšiť aplikáciu <ph name="PRODUCT_NAME" /> aktivovaním automatického odosielania štatistických údajov o používaní prehliadača a správ o chybách spoločnosti Google.</translation>
 <translation id="1658424621194652532">Táto stránka má prístup k vášmu mikrofónu.</translation>
 <translation id="1660204651932907780">Povoľte webom prehrávať zvuk (odporúčané)</translation>
-<translation id="1660938185063657230">Overenie bezpečnostného kľúča</translation>
 <translation id="1661156625580498328">Vynúťte šifrovanie AES (odporúča sa).</translation>
 <translation id="1661245713600520330">Na tejto stránke je uvedený zoznam všetkých modulov, ktoré boli načítané v hlavnom procese, a modulov, ktoré boli zaregistrované, aby sa načítali neskôr.</translation>
 <translation id="166179487779922818">Heslo je príliš krátke.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Zmena režimu dotykového displeja HUD</translation>
 <translation id="1784849162047402014">V zariadení je málo miesta na disku</translation>
 <translation id="1786636458339910689">Tímové disky</translation>
+<translation id="1792161662640298233">Overuje sa bezpečnostný kľúč</translation>
 <translation id="1792619191750875668">Rozšírená obrazovka</translation>
 <translation id="1794791083288629568">Odoslať spätnú väzbu, ktorá nám pomôže pri riešení tohto problému</translation>
 <translation id="1795214765651529549">Použiť klasický</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Odstrániť heslo používateľa <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Klepnite na položky Upozornenia aplikácií &gt; Služby Google Play.</translation>
 <translation id="1826516787628120939">Kontroluje sa</translation>
-<translation id="1827750274519118478">Video v režime obrazu v obraze sa prestane prehrávať.</translation>
 <translation id="1828378091493947763">Doplnok nie je v tomto zariadení podporovaný</translation>
 <translation id="1828901632669367785">Tlačiť prostredníctvom dialógového okna systému...</translation>
 <translation id="1829192082282182671">&amp;Oddialiť</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683"><ph name="EXTENSION" /> môže čítať a zapisovať obrázky, video a zvukové súbory vo vybratých umiestneniach.</translation>
 <translation id="1867780286110144690">Aplikácia <ph name="PRODUCT_NAME" /> je pripravená dokončiť inštaláciu</translation>
 <translation id="1871615898038944731">Vaše zariadenie <ph name="DEVICE_TYPE" /> je aktuálne</translation>
+<translation id="1875312262568496299">Začať</translation>
 <translation id="1875387611427697908">Dá sa pridať iba zo služby <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Nepodarilo sa získať token na overenie totožnosti. Odhláste sa, potom sa opäť prihláste a skúste to znova.</translation>
 <translation id="1878302395768190018">Môžete to kedykoľvek prispôsobiť v Nastaveniach Chromu</translation>
@@ -749,6 +750,7 @@
 <translation id="2114896190328250491">Autor fotografie: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Odoslať na telefón</translation>
 <translation id="2119349053129246860">Otvoriť v aplikácii <ph name="APP" /></translation>
+<translation id="2120297377148151361">Aktivity a interakcie</translation>
 <translation id="2121825465123208577">Zmeniť veľkosť</translation>
 <translation id="2124930039827422115">{1,plural, =1{Hodnotenie <ph name="AVERAGE_RATING" /> od jedného používateľa.}few{Hodnotenie <ph name="AVERAGE_RATING" /> od # používateľov.}many{Hodnotenie <ph name="AVERAGE_RATING" /> od # používateľa.}other{Hodnotenie <ph name="AVERAGE_RATING" /> od # používateľov.}}</translation>
 <translation id="2126167708562367080">Synchronizácia je zakázaná správcom.</translation>
@@ -882,6 +884,7 @@
 <translation id="2318143611928805047">Veľkosť papiera</translation>
 <translation id="2318817390901984578">Ak chcete používať aplikácie pre Android, nabite a aktualizujte zariadenie <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Aktuálna relácia inkognito (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Použitie bezpečnostného kľúča s aplikáciou <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Hlavičky a päty</translation>
 <translation id="2325650632570794183">Tento typ súboru nie je podporovaný. Navštívte Internetový obchod Chrome, kde nájdete aplikáciu, pomocou ktorej môžete tento typ súboru otvoriť.</translation>
 <translation id="2326931316514688470">&amp;Znova načítať aplikáciu</translation>
@@ -915,6 +918,7 @@
 <translation id="2367199180085172140">Pridať zdieľanie súboru</translation>
 <translation id="2367972762794486313">Zobraziť aplikácie</translation>
 <translation id="2369536625682139252">Všetky dáta uložené webom <ph name="SITE" /> budú s výnimkou súborov cookie odstránené.</translation>
+<translation id="237058345584060620">Spárujte kľúč s týmto zariadením, aby ste sa mohli pomocou neho prihlasovať do účtu</translation>
 <translation id="2371076942591664043">Po stiahnutí otvoriť</translation>
 <translation id="2376559921867170420">Po nastavení Chromebooku môžete kedykoľvek získať pomoc od Asistenta tak, že stlačíte tlačidlo Asistent a poviete „OK Google“.</translation>
 <translation id="2377319039870049694">Prepnúť na zobrazenie zoznamu</translation>
@@ -980,6 +984,7 @@
 <translation id="248861575772995840">Telefón sa nedarí nájsť. Skontrolujte, či je v zariadení <ph name="DEVICE_TYPE" /> zapnuté rozhranie Bluetooth. &lt;a&gt;Ďalšie informácie&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Pridať &amp;priečinok...</translation>
 <translation id="249113932447298600">Je nám ľúto, ale zariadenie <ph name="DEVICE_LABEL" /> nie je momentálne podporované.</translation>
+<translation id="2492040222276243256">Pridržte tlačidlo na bezpečnostnom kľúči aspoň päť sekúnd</translation>
 <translation id="2493021387995458222">Vyberte možnosť „po jednom slove“</translation>
 <translation id="249303669840926644">Registráciu sa nepodarilo dokončiť</translation>
 <translation id="2495777824269688114">Objavte ďalšie funkcie alebo získajte odpovede. Ak potrebujete pomoc, vyberte „?“.</translation>
@@ -1007,6 +1012,7 @@
 <translation id="2520644704042891903">Čaká sa na dostupný soket...</translation>
 <translation id="252219247728877310">Komponent nebol aktualizovaný</translation>
 <translation id="2522791476825452208">Veľmi blízko</translation>
+<translation id="2523184218357549926">Odosiela Googlu webové adresy navštívených stránok</translation>
 <translation id="2525250408503682495">Do kryptonitu! K aplikáciám pre režim kiosku sa nedá pripojiť cryptohome.</translation>
 <translation id="2526277209479171883">Nainštalovať a pokračovať</translation>
 <translation id="2526590354069164005">Pracovná plocha</translation>
@@ -1033,6 +1039,7 @@
 <translation id="2562743677925229011">Nie ste prihlásený/-á v prehliadači <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Gratulujeme! Dátová služba <ph name="NAME" /> sa aktivovala a je pripravená na použitie.</translation>
 <translation id="2564520396658920462">Spúšťanie JavaScriptu prostredníctvom AppleScriptu je vypnuté. Ak ho chcete zapnúť, prejdite na panel s ponukami a potom do časti Zobraziť &gt; Vývojár &gt; Povoliť JavaScript z udalostí Apple. Ďalšie informácie získate na adrese https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Rozšírená kontrola pravopisu</translation>
 <translation id="2566124945717127842">Funkcia PowerWash resetuje zariadenie <ph name="IDS_SHORT_PRODUCT_NAME" /> tak, aby bolo ako nové.</translation>
 <translation id="2567257616420533738">Heslo bolo uložené. Uložené heslá môžete zobraziť a spravovať na adrese <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Kontajner informačného panela</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344">Aplikácia alebo rozšírenie <ph name="NAME" /> využíva <ph name="USAGE" /> MB miesta na disku.</translation>
 <translation id="2633212996805280240">Odstrániť rozšírenie <ph name="EXTENSION_NAME" />?</translation>
 <translation id="263325223718984101">Inštaláciu prehliadača <ph name="PRODUCT_NAME" /> sa nepodarilo dokončiť, ale bude sa naďalej spúšťať z jeho obrazu disku.</translation>
+<translation id="2633326789677284179">Nájdite názov uvedený na zadnej strane kľúča</translation>
 <translation id="2635276683026132559">Podpísanie</translation>
 <translation id="2636625531157955190">Prehliadač Chrome nemôže získať prístup k obrazu.</translation>
 <translation id="2638087589890736295">Spustenie synchronizácie vyžaduje prístupovú frázu</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Externý súbor crx nie je možné skopírovať do súboru <ph name="TEMP_CRX_FILE" /></translation>
 <translation id="3090871774332213558">Zariadenie „<ph name="DEVICE_NAME" />“ bolo spárované</translation>
 <translation id="3101709781009526431">Dátum a čas</translation>
+<translation id="3104900172193317662">Povolenie použitia bezpečnostného kľúča</translation>
 <translation id="310671807099593501">Web používa Bluetooth</translation>
 <translation id="3115128645424181617">Telefón sa nedarí nájsť. Skontrolujte, či je v dosahu a či má zapnuté rozhranie Bluetooth.</translation>
 <translation id="3115147772012638511">Čakanie na vyrovnávaciu pamäť...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Webu <ph name="HOST" /> vždy blokovať zobrazenie schránky</translation>
 <translation id="3840053866656739575">Pripojenie k vášmu zariadeniu Chromebox bolo stratené. Priblížte sa alebo skontrolujte svoje zariadenie, zatiaľ čo prebehne pokus o opätovné pripojenie.</translation>
 <translation id="3842552989725514455">Pätkové písmo</translation>
+<translation id="3846116211488856547">Získajte nástroje na vývoj webov, aplikácií pre Android atď. Inštaláciou systému Linux stiahnete <ph name="DOWNLOAD_SIZE" /> dát.</translation>
 <translation id="385051799172605136">Naspäť</translation>
 <translation id="3851428669031642514">Načítať nebezpečné skripty</translation>
 <translation id="3855441664322950881">Zbaliť rozšírenie</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Uvoľnite miesto na disku, inak vaše zariadenie prestane reagovať.</translation>
 <translation id="3878840326289104869">Prebieha vytváranie kontrolovaného používateľa</translation>
 <translation id="3879748587602334249">Správca sťahovania</translation>
+<translation id="3880709822663530586">Bezpečnostný kľúč funguje iba vtedy, keď je v zariadení zapnuté rozhranie Bluetooth</translation>
 <translation id="3888550877729210209">Písanie poznámok v aplikácii <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Pridať OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">Čítať a zmeniť nastavenia zjednodušenia ovládania</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Otvoriť pôvodný &amp;obrázok na novej karte</translation>
 <translation id="4682551433947286597">Tapety sa zobrazia na prihlasovacej obrazovke.</translation>
 <translation id="4684427112815847243">Synchronizovať všetko</translation>
+<translation id="4689235506267737042">Výber predvolieb ukážky</translation>
 <translation id="4689421377817139245">Synchronizujte túto záložku so zariadením iPhone</translation>
 <translation id="4690091457710545971">&lt;Firmvér Intel Wi-Fi vygeneroval štyri súbory: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Prvé tri sú binárne súbory obsahujúce výpisy z registra, pri ktorých firmvér Intel určil, že neobsahujú žiadne osobné informácie ani informácie umožňujúce identifikáciu zariadení. Posledný súbor je trasovanie spustenia z firmvéru Intel. Boli v ňom odstránené všetky osobné informácie alebo informácie umožňujúce identifkáciu zariadení, ale je príliš veľký, aby sa tu dal zobraziť. Tieto súbory boli vygenerované v reakcii na nedávne problémy s Wi-Fi vo vašom zariadení a budú zdieľané so spoločnosťou Intel, ktorá problémy pomôže vyriešiť.&gt;</translation>
 <translation id="4692302215262324251">Zariadenie <ph name="DEVICE_TYPE" /> bolo úspešne zaregistrované na podnikovú správu v doméne <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Vaša mobilná dátová služba je aktivovaná a pripravená na použitie</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Otvoriť všetky v okne inkognito}=1{Otvoriť v okne inkognito}few{Otvoriť všetky (#) v okne inkognito}many{Otvoriť všetky (#) v okne inkognito}other{Otvoriť všetky (#) v okne inkognito}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – video sa prehráva v režime obrazu v obraze</translation>
 <translation id="4862050643946421924">Pridáva sa zariadenie...</translation>
 <translation id="4862642413395066333">Podpisovanie odpovedí protokolu OCSP</translation>
 <translation id="4863769717153320198">Vyzerá ako <ph name="WIDTH" /> x <ph name="HEIGHT" /> (predvolené)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Hľadať v histórii</translation>
 <translation id="4881695831933465202">Otvoriť</translation>
 <translation id="4882473678324857464">Prejsť do záložiek</translation>
+<translation id="4882831918239250449">Ovládajte, ako sa pomocou histórie prehliadania prispôsobuje Vyhľadávanie, reklamy a ďalší obsah</translation>
 <translation id="4883178195103750615">Exportovať záložky do súboru HTML ...</translation>
 <translation id="4883436287898674711">Všetky weby <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Správca úloh</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">Znova o&amp;tvoriť zatvorenú kartu</translation>
 <translation id="52912272896845572">Súbor súkromného kľúča je neplatný.</translation>
 <translation id="529175790091471945">Formátovať toto zariadenie</translation>
+<translation id="5292195676005197571">Väčšinu kľúčov môžete použiť pomocou tlačidla</translation>
 <translation id="5293170712604732402">Obnovenie pôvodných predvolených nastavení</translation>
 <translation id="5298219193514155779">Autor motívu:</translation>
 <translation id="5299109548848736476">Nesledovať</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">V rámci zvýšenia zabezpečenia vás Smart Lock po uplynutí 20 hodín požiada o zadanie hesla.</translation>
 <translation id="5659593005791499971">E-mail</translation>
 <translation id="5659833766619490117">Túto stránku sa nepodarilo preložiť</translation>
+<translation id="5660204307954428567">Párovanie so zariadením <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Doživotná</translation>
 <translation id="5667546120811588575">Nastavuje sa služba Google Play...</translation>
 <translation id="5669267381087807207">Prebieha aktivácia</translation>
 <translation id="5669691691057771421">Zadanie nového kódu PIN</translation>
 <translation id="5671641761787789573">Boli zablokované obrázky</translation>
+<translation id="5673076758299428095">Vypnúť Linux</translation>
 <translation id="5677503058916217575">Jazyk stránky:</translation>
 <translation id="5677928146339483299">Zablokované</translation>
 <translation id="5678550637669481956">Bol udelený prístup k médiu <ph name="VOLUME_NAME" /> s povolením čítať a zapisovať.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Zapisovanie obrazov systému Chrome OS</translation>
 <translation id="5921745308587794300">Otočiť okno</translation>
 <translation id="5924047253200400718">Získajte pomoc<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Nasnímajte novú fotku alebo si zvoľte existujúcu fotku či ikonu.
+    <ph name="LINE_BREAK" />
+    Táto fotka sa bude zobrazovať na prihlasovacej aj uzamknutej obrazovke Chromebooku.</translation>
 <translation id="5925147183566400388">Ukazovateľ na Prehlásenie o procese certifikácie</translation>
 <translation id="592880897588170157">Neotvárajte súbory PDF automaticky v Chrome, ale radšej si ich stiahnite</translation>
 <translation id="5931146425219109062">Čítať a meniť všetky údaje na navštevovaných weboch</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Skontrolujte mikrofón a úrovne zvuku.</translation>
 <translation id="6080515710685820702">Používate zdieľaný počítač? Skúste otvoriť okno inkognito.</translation>
 <translation id="6080689532560039067">Kontrola času systému</translation>
+<translation id="6082111513049964958">Heslo na odomknutie</translation>
 <translation id="6082651258230788217">Zobraziť na paneli s nástrojmi</translation>
 <translation id="6086846494333236931">Nainštalované vaším správcom</translation>
 <translation id="6087960857463881712">Paráda</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Tento názov nie je možné použiť na pomenovanie súboru ani priečinka.</translation>
 <translation id="642469772702851743">Toto zariadenie (sériové číslo: <ph name="SERIAL_NUMBER" />) uzamkol jeho vlastník.</translation>
 <translation id="6426200009596957090">Otvoriť nastavenia ChromeVox</translation>
+<translation id="6427415464407526111">Výber bezpečnostného kľúča</translation>
 <translation id="6429384232893414837">Chyba aktualizácie</translation>
 <translation id="6430814529589430811">ASCII s kódovaním Base64, jeden certifikát</translation>
 <translation id="6431217872648827691">Všetky údaje boli zašifrované pomocou vášho hesla Google dňa
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Súbor PPD sa nedá načítať, pretože je príliš veľký. Maximálna veľkosť je 250 kB.</translation>
 <translation id="7100897339030255923">Počet vybratých položiek: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Automatické aktualizácie sú zapnuté</translation>
+<translation id="7102832101143475489">Platnosť žiadosti vypršala</translation>
 <translation id="7106346894903675391">Kúpiť väčší ukladací priestor...</translation>
 <translation id="7108338896283013870">Skryť</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> chce použiť váš fotoaparát</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Stránka na pozadí: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Otvoriť všetky v novom okne}=1{Otvoriť v novom okne}few{Otvoriť všetky (#) v novom okne}many{Otvoriť všetky (#) v novom okne}other{Otvoriť všetky (#) v novom okne}}</translation>
 <translation id="7434509671034404296">Vývojár</translation>
-<translation id="7436470008146509879">Nastavenie systému Linux v zariadení <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ojoj! Pri premenovaní sa vyskytla chyba.</translation>
 <translation id="7441830548568730290">Ostatní používatelia</translation>
 <translation id="7442465037756169001">Ovládač Hangouts Meet hardware je pripravený na nastavenie.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Zakázať titulky</translation>
 <translation id="7882358943899516840">Typ poskytovateľa</translation>
 <translation id="7885253890047913815">Nedávne ciele</translation>
-<translation id="7886917304091689118">Spustená v Chrome</translation>
 <translation id="7887334752153342268">Duplikovať</translation>
 <translation id="7887864092952184874">Myš Bluetooth bola spárovaná</translation>
 <translation id="7889565820482017512">Veľkosť zobrazenia</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Veľkosť</translation>
 <translation id="8030656706657716245">Pridať tlačiareň</translation>
 <translation id="8032244173881942855">Kartu nie je možné prenášať.</translation>
+<translation id="8033958968890501070">Časový limit vypršal</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Otvoriť všetky v okne inkognito}=1{Otvoriť v okne inkognito}few{Otvoriť všetky (#) v okne inkognito}many{Otvoriť všetky (#) v okne inkognito}other{Otvoriť všetky (#) v okne inkognito}}</translation>
 <translation id="8037117027592400564">Čítať akýkoľvek hovorený text prenesený pomocou hlasového syntetizátora</translation>
 <translation id="8037357227543935929">Opýtať sa (predvolené)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Spravovať sťahovanie</translation>
 <translation id="81238879832906896">Žltý a biely kvet</translation>
 <translation id="8124313775439841391">Spravovaná konfigurácia ONC</translation>
-<translation id="8125562866093998907">Tento web chce overiť bezpečnostný kľúč, aby sa zaistila zvýšená bezpečnosť účtu.</translation>
 <translation id="813082847718468539">Zobraziť informácie o stránkach</translation>
 <translation id="8131740175452115882">Potvrdiť</translation>
 <translation id="8133676275609324831">&amp;Zobraziť v priečinku</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">strana</translation>
 <translation id="8180786512391440389">Rozšírenie <ph name="EXTENSION" /> dokáže čítať a odstrániť obrázky, videá a zvukové súbory vo vybratých umiestneniach.</translation>
 <translation id="8181215761849004992">Nepodarilo sa pripojiť k doméne. Skontrolujte svoj účet, či máte dostatočné oprávnenia na pridávanie zariadení.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Tento web by podľa mňa nemal byť blokovaný!</translation>
 <translation id="8184288427634747179">Prepnúť na používateľa <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Ďalšie informácie</translation>
 <translation id="8185331656081929126">Zobrazovať upozornenia, keď sa v sieti zistia nové tlačiarne</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Port ladenia klienta NaCl</translation>
 <translation id="843760761634048214">Uloženie kreditnej karty</translation>
 <translation id="8438328416656800239">Prepnite na inteligentný prehliadač</translation>
+<translation id="8438566539970814960">Zlepšovať vyhľadávania a prehliadanie</translation>
 <translation id="8439506636278576865">Ponúkať preklady stránok v tomto jazyku</translation>
 <translation id="8446884382197647889">Ďalšie informácie</translation>
 <translation id="8447409163267621480">Použite buď Ctrl, alebo Alt</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Tieto webové stránky boli aktualizované na pozadí.</translation>
 <translation id="8737685506611670901">Otvárať odkazy protokolu <ph name="PROTOCOL" /> a nie aplikáciu <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Obraz v obraze</translation>
 <translation id="8743390665131937741">Úroveň priblíženia lupy celej obrazovky:</translation>
 <translation id="8743864605301774756">Aktualizované pred 1 hodinou</translation>
 <translation id="874689135111202667">{0,plural, =1{Nahrať na tento web jeden súbor?}few{Nahrať na tento web # súbory?}many{Nahrať na tento web # súboru?}other{Nahrať na tento web # súborov?}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Zlyhanie</translation>
 <translation id="8983677657449185470">Pomáhať s vylepšovaním Bezpečného prehliadania</translation>
 <translation id="8984654317541110628">Webová adresa zdieľaného úložiska</translation>
+<translation id="8984872292925913496">Šesťmiestny kód PIN nájdete na zadnej strane kľúča</translation>
 <translation id="8986362086234534611">Odstrániť</translation>
 <translation id="8986494364107987395">Automaticky odosielať Googlu štatistiky používania a správy o zlyhaní</translation>
 <translation id="8987927404178983737">Mesiac</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">Ojoj! Pri overení totožnosti sa vyskytla chyba sieťovej komunikácie. Skontrolujte pripojenie k sieti a skúste to znova.</translation>
 <translation id="9161070040817969420">Podrámce pre: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Odosielanie systémových údajov. Toto zariadenie momentálne automaticky odosiela Googlu diagnostiku a údaje o využívaní zariadenia a aplikácií. Používanie tohto nastavenia je vynútené vlastníkom. Ak ste zapli ďalšiu aktivitu na internete a v aplikáciách, tieto informácie sa budú ukladať vo vašom účte a budete ich môcť spravovať na stránke Moja aktivita. <ph name="BEGIN_LINK1" />Ďalšie informácie<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Obraz v obraze</translation>
 <translation id="9169496697824289689">Zobraziť klávesové skratky</translation>
 <translation id="9169931577761441333">Pridať aplikáciu <ph name="APP_NAME" /> na plochu</translation>
 <translation id="9170397650136757332">Teraz pohýbte zľahka prstom, aby ste nasnímali všetky odlišné časti vášho odtlačku</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">Neaktivované</translation>
 <translation id="957960681186851048">Tento web sa pokúsil automaticky stiahnuť viacero súborov</translation>
 <translation id="9580706199804957">Nepodarilo sa pripojiť k službám Google</translation>
-<translation id="958416628331784386">Táto karta prehráva video v režime obrazu v obraze.</translation>
 <translation id="960719561871045870">Kód operátora</translation>
 <translation id="960987915827980018">Zostáva približne 1 hodina</translation>
 <translation id="962802172452141067">Stromová štruktúra priečinka so záložkami</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index fa029b5..7d02eed 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Pomagajte izboljšati <ph name="PRODUCT_NAME" /> s samodejnim pošiljanjem statističnih podatkov o uporabi in poročil o zrušitvah Googlu</translation>
 <translation id="1658424621194652532">Ta stran dostopa do vašega mikrofona.</translation>
 <translation id="1660204651932907780">Dovoli spletnim mestom predvajanje zvoka (priporočljivo)</translation>
-<translation id="1660938185063657230">Preverjanje varnostnega ključa</translation>
 <translation id="1661156625580498328">Vsili šifriranje AES (priporočeno).</translation>
 <translation id="1661245713600520330">Stran navaja vse module, naložene v glavni proces in module, registrirane za poznejšo naložitev.</translation>
 <translation id="166179487779922818">Geslo je prekratko.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752">Izbris gesla za <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Dotaknite se »Obvestila aplikacije &gt; Storitve Google Play«.</translation>
 <translation id="1826516787628120939">Preverjanje</translation>
-<translation id="1827750274519118478">Videoposnetek v načinu slike v sliki se bo nehal predvajati.</translation>
 <translation id="1828378091493947763">Ta vtičnik ni podprt v tej napravi</translation>
 <translation id="1828901632669367785">Tiskanje v sistemskem pogovornem oknu ...</translation>
 <translation id="1829192082282182671">Poma&amp;njšaj</translation>
@@ -2466,7 +2464,6 @@
 <translation id="4856478137399998590">Mobilna podatkovna storitev je aktivirana in pripravljena za uporabo</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Odpiranje vseh v &amp;oknu brez beleženja zgodovine}=1{Odpiranje v &amp;oknu brez beleženja zgodovine}one{Odpiranje vseh (#) v &amp;oknu brez beleženja zgodovine}two{Odpiranje vseh (#) v &amp;oknu brez beleženja zgodovine}few{Odpiranje vseh (#) v &amp;oknu brez beleženja zgodovine}other{Odpiranje vseh (#) v &amp;oknu brez beleženja zgodovine}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – videoposnetek se predvaja v načinu slike v sliki</translation>
 <translation id="4862050643946421924">Dodajanje naprave ...</translation>
 <translation id="4862642413395066333">Podpisovanje odgovorov OCSP</translation>
 <translation id="4863769717153320198">Videti je <ph name="WIDTH" /> x <ph name="HEIGHT" /> (privzeta)</translation>
@@ -4147,7 +4144,6 @@
 <translation id="7427348830195639090">Stran v ozadju: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Odpiranje vseh v &amp;novem oknu}=1{Odpiranje v &amp;novem oknu}one{Odpiranje vseh (#) v &amp;novem oknu}two{Odpiranje vseh (#) v &amp;novem oknu}few{Odpiranje vseh (#) v &amp;novem oknu}other{Odpiranje vseh (#) v &amp;novem oknu}}</translation>
 <translation id="7434509671034404296">Razvijalec</translation>
-<translation id="7436470008146509879">Namestitev Linuxa v napravi <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ti šment! Napaka med preimenovanjem.</translation>
 <translation id="7441830548568730290">Drugi uporabniki</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware je pripravljen za nastavitev.</translation>
@@ -4446,7 +4442,6 @@
 <translation id="7881969471599061635">Onemogočanje podnapisov</translation>
 <translation id="7882358943899516840">Vrsta ponudnika</translation>
 <translation id="7885253890047913815">Nedavni cilji</translation>
-<translation id="7886917304091689118">Izvaja se v Chromu</translation>
 <translation id="7887334752153342268">Podvoji</translation>
 <translation id="7887864092952184874">Miška Bluetooth je seznanjena</translation>
 <translation id="7889565820482017512">Velikost prikaza</translation>
@@ -4617,7 +4612,6 @@
 <translation id="8118860139461251237">Upravljanje prenosov</translation>
 <translation id="81238879832906896">Rumena in bela roža</translation>
 <translation id="8124313775439841391">Upravljan ONC</translation>
-<translation id="8125562866093998907">Spletno mesto želi zaradi dodatne varnosti v vašem računu preveriti vaš varnostni ključ.</translation>
 <translation id="813082847718468539">Ogled podatkov o mestu</translation>
 <translation id="8131740175452115882">Potrdi</translation>
 <translation id="8133676275609324831">&amp;Pokaži v mapi</translation>
@@ -4996,7 +4990,6 @@
 <translation id="8736288397686080465">To spletno mesto je bilo posodobljeno v ozadju.</translation>
 <translation id="8737685506611670901">Odpiranje povezav za <ph name="PROTOCOL" /> namesto <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Slika v sliki</translation>
 <translation id="8743390665131937741">Stopnja povečave celozaslonske lupe:</translation>
 <translation id="8743864605301774756">Posodobljeno pred 1 uro</translation>
 <translation id="874689135111202667">{0,plural, =1{Ali želite naložiti eno datoteko na to spletno mesto?}one{Ali želite naložiti # datoteko na to spletno mesto?}two{Ali želite naložiti # datoteki na to spletno mesto?}few{Ali želite naložiti # datoteke na to spletno mesto?}other{Ali želite naložiti # datotek na to spletno mesto?}}</translation>
@@ -5270,6 +5263,7 @@
 <translation id="9158715103698450907">Ojej!  Težava z omrežno komunikacijo med preverjanjem pristnosti.  Preverite omrežno povezavo in poskusite znova.</translation>
 <translation id="9161070040817969420">Podokvirji za: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Pošiljanje podatkov o sistemu. Ta naprava trenutno samodejno pošilja diagnostične podatke ter podatke o uporabi naprav in aplikacij Googlu. To nastavitev je uveljavil lastnik. Če ste vklopili dodatno dejavnost v spletu in aplikacijah, bodo ti podatki shranjeni v računu, tako da jih lahko upravljate v Moji dejavnosti. <ph name="BEGIN_LINK1" />Več o tem<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Slika v sliki</translation>
 <translation id="9169496697824289689">Ogled bližnjičnih tipk</translation>
 <translation id="9169931577761441333">Dodajanje aplikacije <ph name="APP_NAME" /> na začetni zaslon</translation>
 <translation id="9170397650136757332">Rahlo premaknite prst, da bodo zajeti vsi različni deli prstnega odtisa</translation>
@@ -5320,7 +5314,6 @@
 <translation id="952992212772159698">Ni aktivirano</translation>
 <translation id="957960681186851048">Spletno mesto je poskušalo samodejno prenesti več datotek</translation>
 <translation id="9580706199804957">Ni se bilo mogoče povezati z Googlovimi storitvami</translation>
-<translation id="958416628331784386">Na tem zavihku se predvaja videoposnetek v načinu slike v sliki.</translation>
 <translation id="960719561871045870">Koda operaterja</translation>
 <translation id="960987915827980018">Še približno ena ura</translation>
 <translation id="962802172452141067">Drevo mape z zaznamki</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index a249e049..2293e25 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Паузирај</translation>
 <translation id="1181037720776840403">Уклони</translation>
 <translation id="1183237619868651138">Није успело инсталирање датотеке <ph name="EXTERNAL_CRX_FILE" /> у локалном кешу.</translation>
+<translation id="1183378459020939734">Да ли сте спремни да упарите безбедносни кључ?</translation>
 <translation id="1185924365081634987">Можете да покушате и да <ph name="GUEST_SIGNIN_LINK_START" />прегледате као гост<ph name="GUEST_SIGNIN_LINK_END" /> да бисте исправили ову грешку на мрежи.</translation>
 <translation id="1186771945450942097">Уклони штетан софтвер</translation>
 <translation id="1187722533808055681">Буђења из стања мировања</translation>
@@ -451,7 +452,6 @@
 <translation id="1657406563541664238">Помозите унапређивање <ph name="PRODUCT_NAME" /> прегледача тако што ћете аутоматски слати Google-у статистику коришћења и извештаје о отказивању</translation>
 <translation id="1658424621194652532">Ова страница приступа микрофону.</translation>
 <translation id="1660204651932907780">Дозволи сајтовима да пуштају звук (препоручено)</translation>
-<translation id="1660938185063657230">Потврдите безбедносни кључ</translation>
 <translation id="1661156625580498328">Примени AES шифровање (препоручено).</translation>
 <translation id="1661245713600520330">Ова страница наводи све модуле учитане у главни процес и модуле регистроване за накнадно учитавање.</translation>
 <translation id="166179487779922818">Лозинка је прекратка.</translation>
@@ -538,6 +538,7 @@
 <translation id="1782530111891678861">Промена режима додирног дисплеја у игри</translation>
 <translation id="1784849162047402014">Уређају понестаје простора на диску</translation>
 <translation id="1786636458339910689">Дискови тимова</translation>
+<translation id="1792161662640298233">Безбедносни кључ се верификује</translation>
 <translation id="1792619191750875668">Проширени приказ</translation>
 <translation id="1794791083288629568">Шаљи повратне информације као помоћ за решавање овог проблема.</translation>
 <translation id="1795214765651529549">Користи класичну</translation>
@@ -563,7 +564,6 @@
 <translation id="1818007989243628752">Избришите лозинку за <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Додирните Обавештења о апликацији &gt; Google Play услуге.</translation>
 <translation id="1826516787628120939">Провера</translation>
-<translation id="1827750274519118478">Престаће да се пушта видео у режиму Слика у слици</translation>
 <translation id="1828378091493947763">Ова додатна компонента није подржана на овом уређају</translation>
 <translation id="1828901632669367785">Одштампај помоћу системског дијалога...</translation>
 <translation id="1829192082282182671">Zoom &amp;Out (Умањи)</translation>
@@ -599,6 +599,7 @@
 <translation id="186612162884103683">„<ph name="EXTENSION" />“ може да чита слике, видео и аудио датотеке на наведеним локацијама, као и да уписује податке у њих.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> је спреман да доврши инсталацију</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> је ажуриран</translation>
+<translation id="1875312262568496299">Започни</translation>
 <translation id="1875387611427697908">Ово може да се дода само из услуге <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Преузимање токена за потврду идентитета није успело. Одјавите се, па се поново пријавите да бисте пробали поново.</translation>
 <translation id="1878302395768190018">Ово увек можете да прилагодите у подешавањима Chrome-а</translation>
@@ -745,6 +746,7 @@
 <translation id="2114896190328250491">Аутор слике: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Пошаљи на телефон</translation>
 <translation id="2119349053129246860">Отвори у <ph name="APP" /></translation>
+<translation id="2120297377148151361">Активности и интеракције</translation>
 <translation id="2121825465123208577">Промени величину</translation>
 <translation id="2124930039827422115">{1,plural, =1{Један корисник је оценио са <ph name="AVERAGE_RATING" />.}one{# корисник је оценио са <ph name="AVERAGE_RATING" />.}few{# корисника су оценила са <ph name="AVERAGE_RATING" />.}other{# корисника је оценило са <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">Администратор је онемогућио синхронизацију.</translation>
@@ -878,6 +880,7 @@
 <translation id="2318143611928805047">Величина папира</translation>
 <translation id="2318817390901984578">Да бисте користили Android апликације, напуните и ажурирајте <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Актуелна сесија без архивирања (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Користите безбедносни кључ са апликацијом <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Заглавља и подножја</translation>
 <translation id="2325650632570794183">Овај тип датотеке није подржан. Посетите Chrome веб-продавницу и пронађите апликацију која може да отвара овај тип датотеке.</translation>
 <translation id="2326931316514688470">&amp;Поново учитај апликацију</translation>
@@ -911,6 +914,7 @@
 <translation id="2367199180085172140">Додајте дељење датотека</translation>
 <translation id="2367972762794486313">Прикажите апликације</translation>
 <translation id="2369536625682139252">Сви подаци које <ph name="SITE" /> сачува биће избрисани осим колачића.</translation>
+<translation id="237058345584060620">Упарите кључ са овим уређајем да бисте га користили за пријављивање на налог</translation>
 <translation id="2371076942591664043">Отвори кад буде &amp;довршено</translation>
 <translation id="2376559921867170420">Када подесите Chromebook, притисните дугме Помоћник или реците „Ок Google“ да бисте затражили помоћ од Помоћника у било ком тренутку.</translation>
 <translation id="2377319039870049694">Пређи на приказ листе</translation>
@@ -976,6 +980,7 @@
 <translation id="248861575772995840">Не можемо да пронађемо телефон. Проверите да ли је на <ph name="DEVICE_TYPE" />-у укључен Bluetooth. &lt;a&gt;Сазнајте више&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Додај &amp;директоријум...</translation>
 <translation id="249113932447298600">Жао нам је, уређај <ph name="DEVICE_LABEL" /> тренутно није подржан.</translation>
+<translation id="2492040222276243256">Притисните дугме на безбедносном кључу и задржите га најмање 5 секунди</translation>
 <translation id="2493021387995458222">Избор опције „једна по једна реч“</translation>
 <translation id="249303669840926644">Није могуће довршити регистрацију</translation>
 <translation id="2495777824269688114">Откријте још функција или добијте одговоре. Изаберите „?“ да бисте добили помоћ.</translation>
@@ -1003,6 +1008,7 @@
 <translation id="2520644704042891903">Чека се доступан прикључак...</translation>
 <translation id="252219247728877310">Компонента није ажурирана</translation>
 <translation id="2522791476825452208">Врло близу</translation>
+<translation id="2523184218357549926">URL-ови страница које посећујете се шаљу Google-у</translation>
 <translation id="2525250408503682495">Проклетство! Није могуће прикључити криптохром за киоск апликацију.</translation>
 <translation id="2526277209479171883">Инсталирај и настави</translation>
 <translation id="2526590354069164005">Радна површина</translation>
@@ -1029,6 +1035,7 @@
 <translation id="2562743677925229011">Нисте пријављени на <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Честитамо! Услуга преноса података „<ph name="NAME" />“ је активирана и спремна за коришћење.</translation>
 <translation id="2564520396658920462">Извршавање JavaScript-а помоћу AppleScript-а је искључено. Да бисте га укључили, на траци менија изаберите View &gt; Developer &gt; Allow JavaScript from Apple Events (Приказ &gt; Програмер &gt; Дозволи JavaScript из Apple Events-а). Додатне информације: https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Побољшана провера правописа</translation>
 <translation id="2566124945717127842">Powerwash ресетује <ph name="IDS_SHORT_PRODUCT_NAME" /> уређај да би био као нов.</translation>
 <translation id="2567257616420533738">Лозинка је сачувана. Прегледајте сачуване лозинке и управљајте њима на <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Контејнер траке са информацијама</translation>
@@ -1077,6 +1084,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> користи <ph name="USAGE" /> MB простора на диску.</translation>
 <translation id="2633212996805280240">Желите ли да уклоните „<ph name="EXTENSION_NAME" />“?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> није могао да доврши инсталацију, али ће наставити да се покреће са слике диска.</translation>
+<translation id="2633326789677284179">Пронађите одштампани назив на позадини кључа</translation>
 <translation id="2635276683026132559">Потписивање</translation>
 <translation id="2636625531157955190">Chrome не може да приступи слици.</translation>
 <translation id="2638087589890736295">За почетак синхронизације је потребна приступна фраза</translation>
@@ -1390,6 +1398,7 @@
 <translation id="3090819949319990166">Није успело копирање спољне crx датотеке у датотеку <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Упарили сте „<ph name="DEVICE_NAME" />“</translation>
 <translation id="3101709781009526431">Датум и време</translation>
+<translation id="3104900172193317662">Дозволите да се безбедносни кључ користи</translation>
 <translation id="310671807099593501">Сајт користи Bluetooth</translation>
 <translation id="3115128645424181617">Не можемо да пронађемо телефон. Проверите да ли је у близини и да ли је Bluetooth укључен.</translation>
 <translation id="3115147772012638511">Чека се кеш меморија...</translation>
@@ -1873,6 +1882,7 @@
 <translation id="3839516600093027468">Увек блокирај увид у привремену меморију страници <ph name="HOST" /></translation>
 <translation id="3840053866656739575">Прекинута је веза са Chromebox-ом. Приближите се или проверите уређај док покушамо да се поново повежемо.</translation>
 <translation id="3842552989725514455">Фонт Serif</translation>
+<translation id="3846116211488856547">Пронађите алатке за програмирање веб-сајтова, Android апликација и још много тога. Инсталирање Linux-а ће преузети податке (<ph name="DOWNLOAD_SIZE" />).</translation>
 <translation id="385051799172605136">Назад</translation>
 <translation id="3851428669031642514">Учитавај небезбедне скрипте</translation>
 <translation id="3855441664322950881">Запакуј додатак</translation>
@@ -1896,6 +1906,7 @@
 <translation id="3872991219937722530">Ослободите простор на диску или ће уређај престати да се одазива.</translation>
 <translation id="3878840326289104869">Прављење корисника под надзором</translation>
 <translation id="3879748587602334249">Менаџер преузимања</translation>
+<translation id="3880709822663530586">Безбедносни кључ функционише када је Bluetooth уређаја укључен</translation>
 <translation id="3888550877729210209">Прављење бележака помоћу апликације <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Додај OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">Читање и мењање ваших подешавања приступачности</translation>
@@ -2357,6 +2368,7 @@
 <translation id="4681930562518940301">Отвори оригиналну сл&amp;ику у новој картици</translation>
 <translation id="4682551433947286597">Позадине се приказују на екрану за пријављивање.</translation>
 <translation id="4684427112815847243">Синхронизуј све</translation>
+<translation id="4689235506267737042">Одаберите подешавања демонстрације</translation>
 <translation id="4689421377817139245">Синхронизујте овај обележивач са iPhone-ом</translation>
 <translation id="4690091457710545971">&lt;Четири датотеке које је генерисао Intel фирмвер за Wi-Fi: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Прве три датотеке су бинарне датотеке које садрже исписе регистара и Intel потврђује да не садрже личне податке нити податке који могу да идентификују уређај.  Последња датотека је траг извршења Intel фирмвера; из ње су уклоњени било какви лични подаци или подаци који могу да идентификују уређај, али је превелика да бисмо је овде приказали.  Ове датотеке су генерисане као одговор на недавне проблеме са Wi-Fi-јем на уређају и делићемо их са Intel-ом да бисмо решили те проблеме.&gt;</translation>
 <translation id="4692302215262324251"><ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> је пријавио <ph name="DEVICE_TYPE" /> за управљање предузећем.
@@ -2462,7 +2474,6 @@
 <translation id="4856478137399998590">Услуга мобилног преноса података је активирана и спремна за употребу</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Отвори све у &amp;прозору Без архивирања}=1{Отвори у &amp;прозору Без архивирања}one{Отвори све (#) у &amp;прозору Без архивирања}few{Отвори све (#) у &amp;прозору Без архивирања}other{Отвори све (#) у &amp;прозору Без архивирања}}</translation>
 <translation id="4858913220355269194">Фриц</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> – видео се репродукује у режиму слике у слици</translation>
 <translation id="4862050643946421924">Додаје се уређај...</translation>
 <translation id="4862642413395066333">Потписивање OCSP одговора</translation>
 <translation id="4863769717153320198">Изгледа да је у питању <ph name="WIDTH" />×<ph name="HEIGHT" /> (подразумевано)</translation>
@@ -2486,6 +2497,7 @@
 <translation id="4880827082731008257">Претражи историју</translation>
 <translation id="4881695831933465202">Отвори</translation>
 <translation id="4882473678324857464">Фокус на обележивачима</translation>
+<translation id="4882831918239250449">Контролишите начин на који се историја прегледања користи за персонализацију Претраге, огласа и других услуга</translation>
 <translation id="4883178195103750615">Извоз обележивача у HTML датотеку...</translation>
 <translation id="4883436287898674711">Сви <ph name="WEBSITE_1" /> сајтови</translation>
 <translation id="48838266408104654">&amp;Менаџер задатака</translation>
@@ -2761,6 +2773,7 @@
 <translation id="5288678174502918605">П&amp;оново отвори затворену картицу</translation>
 <translation id="52912272896845572">Датотека приватног кључа је неважећа.</translation>
 <translation id="529175790091471945">Форматирај овај уређај</translation>
+<translation id="5292195676005197571">Да бисте користили већину кључева, само притисните дугме</translation>
 <translation id="5293170712604732402">Вратите подешавања на првобитне подразумеване вредности</translation>
 <translation id="5298219193514155779">Тему је направио/ла</translation>
 <translation id="5299109548848736476">Не прати</translation>
@@ -3022,11 +3035,13 @@
 <translation id="5658415415603568799">Ради веће безбедности Smart Lock ће вам тражити да унесете лозинку после 20 сати.</translation>
 <translation id="5659593005791499971">Имејл</translation>
 <translation id="5659833766619490117">Превођење ове странице није успело</translation>
+<translation id="5660204307954428567">Упарите са уређајем <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Трајна</translation>
 <translation id="5667546120811588575">Google Play се подешава…</translation>
 <translation id="5669267381087807207">Активирање</translation>
 <translation id="5669691691057771421">Унесите нови PIN</translation>
 <translation id="5671641761787789573">Слике су блокиране</translation>
+<translation id="5673076758299428095">Искључи Linux</translation>
 <translation id="5677503058916217575">Језик странице:</translation>
 <translation id="5677928146339483299">Блокирано</translation>
 <translation id="5678550637669481956">Одобрен је приступ за <ph name="VOLUME_NAME" /> ради читања и писања.</translation>
@@ -3192,6 +3207,9 @@
 <translation id="5920835625712313205">Уписивање слика Chrome ОС система</translation>
 <translation id="5921745308587794300">Ротација прозора</translation>
 <translation id="5924047253200400718">Потражите помоћ<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Снимите нову слику или одаберите постојећу слику или икону.
+    <ph name="LINE_BREAK" />
+    Tа слика ће се приказивати на Chromebook екрану за пријављивање и закључаном екрану.</translation>
 <translation id="5925147183566400388">Показивач изјаве о пракси издавања сертификата</translation>
 <translation id="592880897588170157">Преузмите PDF датотеке да се не би аутоматски отварале у Chrome-у</translation>
 <translation id="5931146425219109062">Читање и мењање свих ваших података на веб-сајтовима које посећујете</translation>
@@ -3288,6 +3306,7 @@
 <translation id="6078752646384677957">Проверите нивое микрофона и звука.</translation>
 <translation id="6080515710685820702">Користите дељени рачунар? Отворите прозор без архивирања.</translation>
 <translation id="6080689532560039067">Проверите системско време</translation>
+<translation id="6082111513049964958">Лозинка за откључавање</translation>
 <translation id="6082651258230788217">Прикажи на траци с алаткама</translation>
 <translation id="6086846494333236931">Инсталирао је администратор</translation>
 <translation id="6087960857463881712">Задовољно лице</translation>
@@ -3511,6 +3530,7 @@
 <translation id="642282551015776456">Овај назив не може да се користи као назив датотеке или директоријума</translation>
 <translation id="642469772702851743">Овај уређај (СБ: <ph name="SERIAL_NUMBER" />) је закључао власник.</translation>
 <translation id="6426200009596957090">Отвори подешавања ChromeVox-а</translation>
+<translation id="6427415464407526111">Изаберите безбедносни кључ</translation>
 <translation id="6429384232893414837">Грешка при ажурирању</translation>
 <translation id="6430814529589430811">ASCII датотека шифрована методом „Base64“, један сертификат</translation>
 <translation id="6431217872648827691">Сви подаци се шифрују помоћу Google лозинке од <ph name="TIME" /></translation>
@@ -3936,6 +3956,7 @@
 <translation id="7099337801055912064">Велики PPD не може да се учита. Максимална величина је 250 kB.</translation>
 <translation id="7100897339030255923">Изабраних ставки: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Аутоматска ажурирања су укључена</translation>
+<translation id="7102832101143475489">Захтев је истекао</translation>
 <translation id="7106346894903675391">Купи још меморијског простора...</translation>
 <translation id="7108338896283013870">Сакриј</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> жели да користи камеру</translation>
@@ -4144,7 +4165,6 @@
 <translation id="7427348830195639090">Страница у позадини: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Отвори све у &amp;новом прозору}=1{Отвори у &amp;новом прозору}one{Отвори све (#) у &amp;новом прозору}few{Отвори све (#) у &amp;новом прозору}other{Отвори све (#) у &amp;новом прозору}}</translation>
 <translation id="7434509671034404296">Програмер</translation>
-<translation id="7436470008146509879">Подесите Linux на <ph name="DEVICE_TYPE" /> уређају</translation>
 <translation id="7436921188514130341">О, не! Дошло је до грешке током промене назива.</translation>
 <translation id="7441830548568730290">Други корисници</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware је спреман за подешавање.</translation>
@@ -4443,7 +4463,6 @@
 <translation id="7881969471599061635">Онемогући титлове</translation>
 <translation id="7882358943899516840">Тип добављача</translation>
 <translation id="7885253890047913815">Недавна одредишта</translation>
-<translation id="7886917304091689118">Покренуто је у Chrome-у</translation>
 <translation id="7887334752153342268">Направи дупликат</translation>
 <translation id="7887864092952184874">Bluetooth миш је упарен</translation>
 <translation id="7889565820482017512">Величина приказа</translation>
@@ -4556,6 +4575,7 @@
 <translation id="8028993641010258682">Величина</translation>
 <translation id="8030656706657716245">Додај штампач</translation>
 <translation id="8032244173881942855">Није успело пребацивање картице.</translation>
+<translation id="8033958968890501070">Време је истекло</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Отвори све у &amp;прозору Без архивирања}=1{Отвори у &amp;прозору Без архивирања}one{Отвори све (#) у &amp;прозору Без архивирања}few{Отвори све (#) у &amp;прозору Без архивирања}other{Отвори све (#) у &amp;прозору Без архивирања}}</translation>
 <translation id="8037117027592400564">Читање свог текста изговореног помоћу синтетизованог говора</translation>
 <translation id="8037357227543935929">Питај (подразумевано)</translation>
@@ -4614,7 +4634,6 @@
 <translation id="8118860139461251237">Управљање преузимањима</translation>
 <translation id="81238879832906896">Жути и бели цвет</translation>
 <translation id="8124313775439841391">Управљани ONC</translation>
-<translation id="8125562866093998907">Сајт жели да верификује безбедносни кључ ради боље безбедности налога.</translation>
 <translation id="813082847718468539">Погледајте информације о сајту</translation>
 <translation id="8131740175452115882">Потврди</translation>
 <translation id="8133676275609324831">&amp;Прикажи у директоријуму</translation>
@@ -4646,6 +4665,8 @@
 <translation id="8180239481735238521">страница</translation>
 <translation id="8180786512391440389">„<ph name="EXTENSION" />“ може да чита и брише слике, видео и аудио датотеке на наведеним локацијама.</translation>
 <translation id="8181215761849004992">Придруживање домену није успело. На налогу проверите да ли имате привилегије за додавање уређаја.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Мислим да овај сајт не треба да буде блокиран!</translation>
 <translation id="8184288427634747179">Пребаци на <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Више информација</translation>
 <translation id="8185331656081929126">Прикажи обавештења када се на мрежи открију нови штампачи</translation>
@@ -4789,6 +4810,7 @@
 <translation id="8434480141477525001">NaCl порт за отклањање грешака</translation>
 <translation id="843760761634048214">Сачувајте кредитну картицу</translation>
 <translation id="8438328416656800239">Пређите на паметан прегледач</translation>
+<translation id="8438566539970814960">Побољшај претраге и прегледање</translation>
 <translation id="8439506636278576865">Понуди превод страница на овом језику</translation>
 <translation id="8446884382197647889">Сазнајте више</translation>
 <translation id="8447409163267621480">Користите или Ctrl или Alt</translation>
@@ -4993,7 +5015,6 @@
 <translation id="8736288397686080465">Овај сајт је ажуриран у позадини.</translation>
 <translation id="8737685506611670901">отвори линкове за <ph name="PROTOCOL" /> уместо <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Слика у слици</translation>
 <translation id="8743390665131937741">Ниво зумирања целог екрана:</translation>
 <translation id="8743864605301774756">Ажурирано пре 1 сата</translation>
 <translation id="874689135111202667">{0,plural, =1{Желите ли да отпремите једну датотеку на овај сајт?}one{Желите ли да отпремите # датотеку на овај сајт?}few{Желите ли да отпремите # датотеке на овај сајт?}other{Желите ли да отпремите # датотека на овај сајт?}}</translation>
@@ -5145,6 +5166,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Отказао је</translation>
 <translation id="8983677657449185470">Помозите нам да побољшамо Безбедно прегледање</translation>
 <translation id="8984654317541110628">URL дељења датотека</translation>
+<translation id="8984872292925913496">Пронађите 6-цифрени PIN на полеђини кључа</translation>
 <translation id="8986362086234534611">Заборави</translation>
 <translation id="8986494364107987395">Аутоматски шаљи Google-у статистичке податке о коришћењу и извештаје о отказивању</translation>
 <translation id="8987927404178983737">Месец</translation>
@@ -5267,6 +5289,7 @@
 <translation id="9158715103698450907">Упс! Дошло је до проблема са комуникацијом на мрежи током потврде аутентичности. Проверите мрежну везу и покушајте поново.</translation>
 <translation id="9161070040817969420">Подоквири за: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Шаљите податке о систему. Овај уређај тренутно аутоматски шаље Google-у дијагностичке податке, као и податке о коришћењу уређаја и апликација. Ово подешавање примењује власник. Ако сте укључили додатне Активности на вебу и у апликацијама, ове информације ће се сачувати на вашем налогу, па можете да управљате њима у одељку Моје активности. <ph name="BEGIN_LINK1" />Сазнајте више<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Слика у слици</translation>
 <translation id="9169496697824289689">Приказ тастерских пречица</translation>
 <translation id="9169931577761441333">Додајте <ph name="APP_NAME" /> на почетни екран</translation>
 <translation id="9170397650136757332">Сада мало померите прст да бисте снимили све различите делове отиска прста</translation>
@@ -5317,7 +5340,6 @@
 <translation id="952992212772159698">Није активирано</translation>
 <translation id="957960681186851048">Овај сајт је покушао да аутоматски преузме више датотека</translation>
 <translation id="9580706199804957">Повезивање са Google услугама није успело</translation>
-<translation id="958416628331784386">Ова картица репродукује видео у режиму слике у слици.</translation>
 <translation id="960719561871045870">Кôд мобилног оператера</translation>
 <translation id="960987915827980018">Остало је око сат времена</translation>
 <translation id="962802172452141067">Стабло директоријума обележивача</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index d817ad05..f06e49b 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -453,7 +453,6 @@
 <translation id="1657406563541664238">Hjälp till att göra <ph name="PRODUCT_NAME" /> bättre genom att automatiskt skicka användningsstatistik och felrapporter till Google</translation>
 <translation id="1658424621194652532">Den här sidan använder din mikrofon.</translation>
 <translation id="1660204651932907780">Tillåt att ljud spelas upp på webbplatser (rekommenderas)</translation>
-<translation id="1660938185063657230">Verifiera säkerhetsnyckeln</translation>
 <translation id="1661156625580498328">Tillämpa AES-kryptering (rekommenderas).</translation>
 <translation id="1661245713600520330">På den här sidan listas alla moduler som har lästs in i huvudprocessen och moduler som har registrerats för att läsas in senare.</translation>
 <translation id="166179487779922818">Lösenordet är för kort.</translation>
@@ -565,7 +564,6 @@
 <translation id="1818007989243628752">Radera lösenordet för <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Tryck på Appaviseringar &gt; Google Play-tjänster.</translation>
 <translation id="1826516787628120939">Kontrollerar</translation>
-<translation id="1827750274519118478">Videouppspelningen i bild-i-bild-läge stoppas.</translation>
 <translation id="1828378091493947763">Enheten har inte stöd för det här pluginprogrammet</translation>
 <translation id="1828901632669367785">Skriv ut via systemets dialogruta ...</translation>
 <translation id="1829192082282182671">Zooma ut</translation>
@@ -2465,7 +2463,6 @@
 <translation id="4856478137399998590">Datatjänsten har aktiverats och är klar att användas</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Öppna alla i ett &amp;inkognitofönster}=1{Öppna i ett &amp;inkognitofönster}other{Öppna alla (#) i ett &amp;inkognitofönster}}</translation>
 <translation id="4858913220355269194">Fotboll</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" />– video spelas upp bild-i-bild</translation>
 <translation id="4862050643946421924">Enheten läggs till …</translation>
 <translation id="4862642413395066333">Signera OCSP-svar</translation>
 <translation id="4863769717153320198">Ser ut som <ph name="WIDTH" /> × <ph name="HEIGHT" /> (standard)</translation>
@@ -4146,7 +4143,6 @@
 <translation id="7427348830195639090">Bakgrundssida: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Öppna alla i ett &amp;nytt fönster}=1{Öppna i ett &amp;nytt fönster}other{Öppna alla (#) i ett &amp;nytt fönster}}</translation>
 <translation id="7434509671034404296">Utvecklare</translation>
-<translation id="7436470008146509879">Konfigurera Linux på <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">Ett fel uppstod när namnet skulle bytas.</translation>
 <translation id="7441830548568730290">Andra användare</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware är klar att konfigurera.</translation>
@@ -4445,7 +4441,6 @@
 <translation id="7881969471599061635">Inaktivera undertexter</translation>
 <translation id="7882358943899516840">Leverantörstyp</translation>
 <translation id="7885253890047913815">Senaste platserna</translation>
-<translation id="7886917304091689118">Körs i Chrome</translation>
 <translation id="7887334752153342268">Duplicera</translation>
 <translation id="7887864092952184874">Bluetooth-musen har kopplats</translation>
 <translation id="7889565820482017512">Visningsstorlek</translation>
@@ -4616,7 +4611,6 @@
 <translation id="8118860139461251237">Hantera dina nedladdningar</translation>
 <translation id="81238879832906896">Gul och vit blomma</translation>
 <translation id="8124313775439841391">Hanterad ONC</translation>
-<translation id="8125562866093998907">Webbplatsen vill verifiera din säkerhetsnyckel som ett ytterligare skydd för ditt konto.</translation>
 <translation id="813082847718468539">Visa information om webbplatsen</translation>
 <translation id="8131740175452115882">Bekräfta</translation>
 <translation id="8133676275609324831">&amp;Visa i mapp</translation>
@@ -4995,7 +4989,6 @@
 <translation id="8736288397686080465">Den här webbplatsen har uppdaterats i bakgrunden.</translation>
 <translation id="8737685506611670901">Öppna <ph name="PROTOCOL" />-länkar i stället för <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Bild i bild</translation>
 <translation id="8743390665131937741">Zoomnivå för helskärmsförstorare</translation>
 <translation id="8743864605301774756">Uppdaterad för en timme sedan</translation>
 <translation id="874689135111202667">{0,plural, =1{Vill du ladda upp en fil på webbplatsen?}other{Vill du ladda upp # filer på webbplatsen?}}</translation>
@@ -5269,6 +5262,7 @@
 <translation id="9158715103698450907">Hoppsan! Ett nätverkskommunikationsproblem uppstod under autentiseringen. Kontrollera nätverksanslutningen och försök igen.</translation>
 <translation id="9161070040817969420">Underordnade ramar för: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Skicka systemdata. Skicka automatiskt diagnostik- och användningsdata för enheten och appar till Google. Ägaren har låst inställningen. Om du har aktiverat ytterligare webb- och appaktivitet lagras den informationen i kontot så att du kan hantera den på sidan Min aktivitet. <ph name="BEGIN_LINK1" />Läs mer<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Bild-i-bild</translation>
 <translation id="9169496697824289689">Visa kortkommandon</translation>
 <translation id="9169931577761441333">Lägg till <ph name="APP_NAME" /> på startskärmen</translation>
 <translation id="9170397650136757332">Flytta nu fingret något så att hela fingeravtrycket läggs till</translation>
@@ -5319,7 +5313,6 @@
 <translation id="952992212772159698">Inte aktiverat</translation>
 <translation id="957960681186851048">Den här webbplatsen försökte ladda ned flera filer automatiskt</translation>
 <translation id="9580706199804957">Det gick inte att ansluta till Googles tjänster</translation>
-<translation id="958416628331784386">På den här fliken spelas en video upp bild-i-bild</translation>
 <translation id="960719561871045870">Operatörskod</translation>
 <translation id="960987915827980018">Ca 1 timme kvar</translation>
 <translation id="962802172452141067">Mappstruktur för bokmärken</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 118de25c..3332ddf 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -451,7 +451,6 @@
 <translation id="1657406563541664238">Saidia kuboresha <ph name="PRODUCT_NAME" /> kwa kutumia Google takwimu za matumizi na ripoti wakati wowote huduma hii inapoacha kufanya kazi.</translation>
 <translation id="1658424621194652532">Ukarasa huu unafikia maikrofoni yako.</translation>
 <translation id="1660204651932907780">Ruhusu tovuti kucheza sauti (inapendekezwa)</translation>
-<translation id="1660938185063657230">Thibitisha Ufunguo wako wa Usalama</translation>
 <translation id="1661156625580498328">Imarisha usimbaji wa AES (inapendekezwa).</translation>
 <translation id="1661245713600520330">Ukurasa huu unaorodhesha vipengee vyote vilivyopakiwa katika mchakato halisi na vilivyosajiliwa kupakiwa baadaye.</translation>
 <translation id="166179487779922818">Nenosiri ni fupi mno.</translation>
@@ -563,7 +562,6 @@
 <translation id="1818007989243628752">Futa nenosiri la <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Gusa Arifa za programu &gt; Huduma za Google Play.</translation>
 <translation id="1826516787628120939">Inakagua</translation>
-<translation id="1827750274519118478">Video iliyo katika hali ya Picha ndani ya Picha itaacha kucheza.</translation>
 <translation id="1828378091493947763">Programu-jalizi hii haitumiki kwenye kifaa hiki</translation>
 <translation id="1828901632669367785">Chapisha kwa Kutumia Kidadisi cha Mfumo...</translation>
 <translation id="1829192082282182671">Fif&amp;iza</translation>
@@ -1487,7 +1485,7 @@
 <translation id="3271648667212143903"><ph name="ORIGIN" /> inataka kuunganisha</translation>
 <translation id="3274763671541996799">Umeamua kutumia skrini nzima.</translation>
 <translation id="3275778913554317645">Fungua kama dirisha</translation>
-<translation id="3279230909244266691">Huenda mchakato ukachukua dakika kadhaa. Inaanzisha mashine dhahania.</translation>
+<translation id="3279230909244266691">Huenda mchakato ukachukua dakika kadhaa. Inaanzisha kompyuta iliyo mbali.</translation>
 <translation id="3279741024917655738">Onyesha video za skrini kamili kwenye</translation>
 <translation id="3280237271814976245">Hifadhi k&amp;ama...</translation>
 <translation id="3280243678470289153">Endelea kutumia Chrome</translation>
@@ -2304,7 +2302,7 @@
 <translation id="4598776695426288251">Wi-Fi inapatikana kupitia vifaa vingi</translation>
 <translation id="4602466770786743961">Ruhusu <ph name="HOST" /> ifikie kamera na maikrofoni yako kila wakati</translation>
 <translation id="4608500690299898628">Ta&amp;futa</translation>
-<translation id="4608520674724523647">Mchoro wa usajili uliokamilika</translation>
+<translation id="4608520674724523647">Inaashiria usajili uliokamilika</translation>
 <translation id="4610162781778310380">Hitilafu imetokea katika <ph name="PLUGIN_NAME" /></translation>
 <translation id="4610637590575890427">Je, ulitaka kwenda <ph name="SITE" />?</translation>
 <translation id="4611114513649582138">Muunganisho wa data unapatikana</translation>
@@ -2457,7 +2455,6 @@
 <translation id="4856478137399998590">Huduma yako ya data ya simu ya mkononi imeamilishwa na iko tayari kutumia</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Fungua Zote katika &amp;Dirisha Fiche}=1{Fungua katika &amp;Dirisha Fiche}other{Fungua Zote (#) katika &amp;Dirisha Fiche}}</translation>
 <translation id="4858913220355269194">Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Video inacheza katika hali ya Picha ndani ya Picha</translation>
 <translation id="4862050643946421924">Inaongeza kifaa...</translation>
 <translation id="4862642413395066333">Kuweka Sahihi Majibu ya OCSP</translation>
 <translation id="4863769717153320198">Inaonekana kama <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Chaguomsingi)</translation>
@@ -3796,7 +3793,7 @@
 <translation id="6885771755599377173">Onyesho la Kuchungulia la Maelezo ya Mfumo</translation>
 <translation id="6886871292305414135">Fungua kiungo katika &amp;kichupo kipya</translation>
 <translation id="6892812721183419409">Fungua Kiungo ukitumia <ph name="USER" /></translation>
-<translation id="6896398788631624004">Weka Ufunguo Salama na uuwashe</translation>
+<translation id="6896398788631624004">Weka Ufunguo Salama na uanzishe utumiaji wake</translation>
 <translation id="6896758677409633944">Nakili</translation>
 <translation id="6898440773573063262">Programu za skrini nzima sasa zinaweza kusanidiwa ili zijifungue kiotomatiki kwenye kifaa hiki.</translation>
 <translation id="6898699227549475383">Shirika (O)</translation>
@@ -4138,7 +4135,6 @@
 <translation id="7427348830195639090">Ukurasa wa Mandharinyuma: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Fungua Zote katika &amp;Dirisha Jipya}=1{Fungua katika &amp;Dirisha Jipya}other{Fungua Zote (#) katika Dirisha Jipya}}</translation>
 <translation id="7434509671034404296">Wasanidi Programu</translation>
-<translation id="7436470008146509879">Weka mipangilio ya Linux kwenye <ph name="DEVICE_TYPE" /> yako</translation>
 <translation id="7436921188514130341">Samahani. Hitilafu imetokea wakati wa kubadilisha jina.</translation>
 <translation id="7441830548568730290">Watumiaji wengine</translation>
 <translation id="7442465037756169001">Maunzi yako ya Hangouts Meet yako tayari kuwekwa.</translation>
@@ -4438,7 +4434,6 @@
 <translation id="7881969471599061635">Zima manukuu</translation>
 <translation id="7882358943899516840">Aina ya mtoa huduma</translation>
 <translation id="7885253890047913815">Printa ulizotumia hivi karibuni</translation>
-<translation id="7886917304091689118">Umefunguka katika Chrome</translation>
 <translation id="7887334752153342268">Maradufu</translation>
 <translation id="7887864092952184874">Kipanya cha Bluetooth kimeoanishwa</translation>
 <translation id="7889565820482017512">Ukubwa wa Onyesho</translation>
@@ -4609,7 +4604,6 @@
 <translation id="8118860139461251237">Kudhibiti maudhui unayopakua</translation>
 <translation id="81238879832906896">Ua la rangi ya manjano na nyeupe</translation>
 <translation id="8124313775439841391">ONC Inayodhibitiwa</translation>
-<translation id="8125562866093998907">Tovuti ingependa kuthibitisha Ufunguo wako wa Usalama ili kuboresha usalama wa akaunti yako.</translation>
 <translation id="813082847718468539">Angalia maelezo ya tovuti</translation>
 <translation id="8131740175452115882">Thibitisha</translation>
 <translation id="8133676275609324831">&amp;Onyesha katika folda</translation>
@@ -4989,7 +4983,6 @@
 <translation id="8736288397686080465">Tovuti hii imesasishwa chini chini.</translation>
 <translation id="8737685506611670901">Fungua viungo vya <ph name="PROTOCOL" /> badala ya <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Picha ndani ya picha</translation>
 <translation id="8743390665131937741">Kiwango cha ukuzaji wa skrini nzima:</translation>
 <translation id="8743864605301774756">Ulisasishwa saa 1 iliyopita</translation>
 <translation id="874689135111202667">{0,plural, =1{Ungependa kupakia faili moja kwenye tovuti hii?}other{Ungependa kupakia faili # kwenye tovuti hii?}}</translation>
@@ -5168,7 +5161,7 @@
 <translation id="9024331582947483881">skrini nzima</translation>
 <translation id="9025098623496448965">Sawa, Nirudishe nyuma hadi kwenye skrini ya kuingia katika akaunti</translation>
 <translation id="9026731007018893674">pakua</translation>
-<translation id="9026852570893462412">Huenda mchakato huu ukachukua dakika kadhaa. Inapakua mashine dhahania.</translation>
+<translation id="9026852570893462412">Huenda mchakato huu ukachukua dakika kadhaa. Inapakua kompyuta iliyo mbali.</translation>
 <translation id="9027459031423301635">Fungua Kiungo katika Kichupo &amp;Kipya</translation>
 <translation id="9030515284705930323">Shirika lako halijaruhusu Duka la Google Play kwa akaunti yako. Wasiliana na msimamizi wako kwa maelezo zaidi.</translation>
 <translation id="9033857511263905942">&amp;Bandika</translation>
@@ -5263,6 +5256,7 @@
 <translation id="9158715103698450907">Lo! Tatizo la mawasiliano katika mtandao lilitokea wakati wa uthibitishaji. Tafadhali kagua muunganisho wa mtandao wako na ujaribu tena.</translation>
 <translation id="9161070040817969420">Fremu ndogo za: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Tuma data ya mfumo. Tuma kiotomatiki data ya uchanganuzi na matumizi ya kifaa na programu kwa Google. Mipangilio hii husimamiwa na mmiliki. Ukiwasha Historia ya Shughuli kwenye Wavuti na Programu, maelezo haya yatahifadhiwa kwenye akaunti yako ili uweze kuyadhibiti katika Shughuli Zangu. <ph name="BEGIN_LINK1" />Pata Maelezo Zaidi<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Picha ndani ya Picha</translation>
 <translation id="9169496697824289689">Angalia njia za mkato za kibodi</translation>
 <translation id="9169931577761441333">Ongeza <ph name="APP_NAME" /> kwenye Skrini ya Mwanzo</translation>
 <translation id="9170397650136757332">Sasa sogeza kidole chako taratibu ili kupiga picha sehemu zote za alama ya kidole chako</translation>
@@ -5313,7 +5307,6 @@
 <translation id="952992212772159698">Haijaamilishwa</translation>
 <translation id="957960681186851048">Tovuti hii imejaribu kupakua faili nyingi kiotomatiki</translation>
 <translation id="9580706199804957">Imeshindwa kuunganisha kwenye huduma za Google</translation>
-<translation id="958416628331784386">Kichupo hiki kinacheza video katika hali ya Picha ndani ya Picha.</translation>
 <translation id="960719561871045870">Msimbo wa mtoa huduma</translation>
 <translation id="960987915827980018">Takriban saa 1 imesalia</translation>
 <translation id="962802172452141067">Kielelezo cha folda ya alamisho</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 0d890a6..9c0d34e 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">தானாகவே பயன்பாட்டு புள்ளிவிவரங்களையும் சிதைவு புகார்களையும் Google க்கு அனுப்புவதன் மூலம், <ph name="PRODUCT_NAME" /> ஐ மேலும் சிறப்பானதாக்க உதவுங்கள்</translation>
 <translation id="1658424621194652532">இந்தப் பக்கமானது உங்கள் மைக்ரோஃபோனை அணுகுகிறது.</translation>
 <translation id="1660204651932907780">ஒலியை இயக்க, தளங்களை அனுமதிக்கும் (பரிந்துரைக்கப்படுவது)</translation>
-<translation id="1660938185063657230">பாதுகாப்புச் சாவியைச் சரிபார்க்கவும்</translation>
 <translation id="1661156625580498328">AES என்க்ரிப்ஷனைச் (பரிந்துரைக்கப்பட்டது) செயல்படுத்தும்.</translation>
 <translation id="1661245713600520330">முதன்மை செயல்முறையில் ஏற்றப்பட்ட எல்லா தொகுதிகூறுகளையும், பின்னர் ஏற்றுவதற்கு பதிவுசெய்யப்பட்டுள்ள தொகுதிக்கூறுகளையும் இந்தப் பக்கம் பட்டியலிடுகிறது.</translation>
 <translation id="166179487779922818">கடவுச்சொல் மிகச் சிறியதாக உள்ளது.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> இன் கடவுச்சொல்லை நீக்கும்</translation>
 <translation id="1819721979226826163">பயன்பாட்டு அறிவிப்புகள் &gt; Google Play சேவைகள் என்பதைத் தட்டவும்.</translation>
 <translation id="1826516787628120939">சரிபார்க்கிறது</translation>
-<translation id="1827750274519118478">பிக்ச்சர்-இன்-பிக்ச்சர் பயன்முறையில் இயக்கப்படும் வீடியோ நிறுத்தப்படும்.</translation>
 <translation id="1828378091493947763">சாதனத்தில் இந்தச் செருகுநிரல் ஆதரிக்கப்படவில்லை</translation>
 <translation id="1828901632669367785">கணினி உரையாடலைப் பயன்படுத்தி அச்சிடுக…</translation>
 <translation id="1829192082282182671">Zoom &amp;Out</translation>
@@ -2466,7 +2464,6 @@
 <translation id="4856478137399998590">உங்கள் மொபைல் டேட்டா சேவை செயல்படுத்தப்பட்டது மற்றும் பயன்படுத்தத் தயாராக உள்ளது</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{எல்லாவற்றையும் &amp;மறைநிலைச் சாளரத்தில் திற}=1{&amp;மறைநிலைச் சாளரத்தில் திற}other{எல்லாவற்றையும் (#) &amp;மறைநிலைச் சாளரத்தில் திற}}</translation>
 <translation id="4858913220355269194">ஃபிரிட்ஸ்</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - பிக்ச்சர்-இன்-பிக்ச்சர் பயன்முறையில் வீடியோவை இயக்குகிறது</translation>
 <translation id="4862050643946421924">சாதனத்தைச் சேர்க்கிறது...</translation>
 <translation id="4862642413395066333">OCSP மறுமொழிகளை கையொப்பமிடல்</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (இயல்பு) போல் தெரிகிறது</translation>
@@ -4148,7 +4145,6 @@
 <translation id="7427348830195639090">பின்புல பக்கம்: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{எல்லாவற்றையும் &amp;புதிய சாளரத்தில் திற}=1{&amp;புதிய சாளரத்தில் திற}other{எல்லாவற்றையும் (#) &amp;புதிய சாளரத்தில் திற}}</translation>
 <translation id="7434509671034404296">டெவலப்பர்</translation>
-<translation id="7436470008146509879"><ph name="DEVICE_TYPE" /> சாதனத்தில் Linuxஸை அமைக்கவும்</translation>
 <translation id="7436921188514130341">அச்சச்சோ! பெயரை மாற்றும் போது பிழை ஏற்பட்டது.</translation>
 <translation id="7441830548568730290">பிற பயனர்கள்</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware அமைப்பதற்குத் தயாராக உள்ளது.</translation>
@@ -4445,7 +4441,6 @@
 <translation id="7881969471599061635">வசனங்களை முடக்கு</translation>
 <translation id="7882358943899516840">வழங்குநர் வகை</translation>
 <translation id="7885253890047913815">சமீபத்திய இலக்குகள்</translation>
-<translation id="7886917304091689118">Chrome இல் இயங்குகிறது</translation>
 <translation id="7887334752153342268">பிரதி எடு</translation>
 <translation id="7887864092952184874">புளூடூத் மவுஸ் இணைக்கப்பட்டது</translation>
 <translation id="7889565820482017512">திரை அளவு</translation>
@@ -4616,7 +4611,6 @@
 <translation id="8118860139461251237">உங்கள் பதிவிறக்கங்களை நிர்வகிக்கவும்</translation>
 <translation id="81238879832906896">மஞ்சள் வெள்ளை மலர்</translation>
 <translation id="8124313775439841391">நிர்வகிக்கப்படும் ONC</translation>
-<translation id="8125562866093998907">உங்கள் கணக்கின் பாதுகாப்பை மேலும் அதிகரிப்பதற்காக, தளம் உங்கள் பாதுகாப்புச் சாவியைச் சரிபார்க்க விரும்புகிறது.</translation>
 <translation id="813082847718468539">தள விவரங்களைக் காண்க</translation>
 <translation id="8131740175452115882">உறுதிப்படுத்து</translation>
 <translation id="8133676275609324831">கோப்புறையில் &amp;காண்பி</translation>
@@ -4995,7 +4989,6 @@
 <translation id="8736288397686080465">இந்தத் தளம் பின்புலத்தில் புதுப்பிக்கப்படும்.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />க்குப் பதிலாக <ph name="PROTOCOL" /> இணைப்புகளைத் திறக்கும்</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">பிக்ச்சர்-இன்-பிக்ச்சர்</translation>
 <translation id="8743390665131937741">முழுத்திரைப் பெரிதாக்கியின் அளவை மாற்றுவதற்கான நிலை:</translation>
 <translation id="8743864605301774756">புதுப்பித்தது: 1ம முன்பு</translation>
 <translation id="874689135111202667">{0,plural, =1{இந்தத் தளத்தில் ஒரு கோப்பைப் பதிவேற்றவா?}other{இந்தத் தளத்தில் # கோப்புகளைப் பதிவேற்றவா?}}</translation>
@@ -5269,6 +5262,7 @@
 <translation id="9158715103698450907">அச்சச்சோ!  அங்கீகரிப்பின்போது பிணைய தகவல்தொடர்பு சிக்கல் ஏற்பட்டது. உங்கள் பிணைய இணைப்பைச் சோதித்து மீண்டும் முயலவும்.</translation>
 <translation id="9161070040817969420">இதற்கான சப்ஃபிரேம்கள்: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">சாதனத் தரவை அனுப்பும். இந்தச் சாதனம் தற்போது பிழை அறிக்கைகளையும் சாதனம் மற்றும் பயன்பாட்டின் உபயோகத் தரவையும் தானாகவே Googleக்கு அனுப்பும். உரிமையாளர் இந்த அமைப்பைச் செயல்படுத்துகிறார். கூடுதல் இணையம் மற்றும் பயன்பாட்டுச் செயல்பாடு இயக்கத்தில் இருந்தால், இந்தத் தகவல் உங்கள் கணக்கில் சேமிக்கப்படும், எனது செயல்பாடு என்பதில் இதை நீங்கள் நிர்வகிக்கலாம். <ph name="BEGIN_LINK1" />மேலும் அறிக<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">பிக்ச்சர்-இன்-பிக்ச்சர்</translation>
 <translation id="9169496697824289689">விசைப்பலகைக் குறுக்குவழிகளைக் காட்டு</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" />ஐ முகப்புத் திரையில் சேர்க்கவும்</translation>
 <translation id="9170397650136757332">இப்போது, உங்கள் கைரேகையின் வெவ்வேறு பகுதிகளைப் பதிவு செய்ய, விரலைச் சற்று நகர்த்தவும்</translation>
@@ -5319,7 +5313,6 @@
 <translation id="952992212772159698">செயலாக்கப்படவில்லை</translation>
 <translation id="957960681186851048">இந்தத் தளம் பல கோப்புகளைத் தானாகப் பதிவிறக்க முயன்றது</translation>
 <translation id="9580706199804957">Google சேவைகளுடன் இணைக்க முடியவில்லை</translation>
-<translation id="958416628331784386">வீடியோவை இந்தத் தாவல் பிக்ச்சர்-இன்-பிக்ச்சர் பயன்முறையில் இயக்குகிறது.</translation>
 <translation id="960719561871045870">ஆபரேட்டர் குறியீடு</translation>
 <translation id="960987915827980018">1 மணிநேரம் உள்ளது</translation>
 <translation id="962802172452141067">புத்தகக்குறி கோப்புறை ட்ரீ</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 23213a67..f7fed9d 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Googleకు ఉపయోగ గణాంకాలు మరియు క్రాష్ నివేదికలను స్వయంచాలకంగా పంపడం ద్వారా <ph name="PRODUCT_NAME" />ను మరింత మెరుగుపరచడంలో సహాయపడండి</translation>
 <translation id="1658424621194652532">ఈ పేజీ మీ మైక్రోఫోన్‌ను ప్రాప్యత చేస్తోంది.</translation>
 <translation id="1660204651932907780">ధ్వనిని ప్లే చేయడానికి సైట్‌లను అనుమతించండి (సిఫార్సు చేయబడింది)</translation>
-<translation id="1660938185063657230">మీ భద్రతా కీని ధృవీకరించండి</translation>
 <translation id="1661156625580498328">AES ఎన్‌క్రిప్షన్‌ను అమలు చేయి (సిఫార్సు చేయబడినది).</translation>
 <translation id="1661245713600520330">ఈ పేజీ ప్రధాన ప్రాసెస్‌లోకి లోడ్ చెయ్యబడిన అన్ని మాడ్యూళ్ళను మరియు తర్వాత లోడ్ చెయ్యడానికి నమోదు చెయ్యబడిన మాడ్యూళ్ళను జాబితా చేస్తుంది.</translation>
 <translation id="166179487779922818">పాస్‌వర్డ్ చాలా చిన్నదిగా ఉంది.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> యొక్క పాస్‌వర్డ్‌ను తొలగించండి</translation>
 <translation id="1819721979226826163">యాప్ నోటిఫికేషన్‌లు &gt; Google Play సేవలను నొక్కండి.</translation>
 <translation id="1826516787628120939">తనిఖీ చేస్తోంది</translation>
-<translation id="1827750274519118478">చిత్రంలో చిత్రంలో వీడియో ప్లే అవ్వడం ఆగిపోతుంది.</translation>
 <translation id="1828378091493947763">ఈ పరికరంలో ఈ ప్లగిన్‌కు మద్దతు లేదు</translation>
 <translation id="1828901632669367785">సిస్టమ్ డైలాగ్‌ని ఉపయోగించి ముద్రించు...</translation>
 <translation id="1829192082282182671">&amp;దూరంగా జూమ్ చెయ్యి</translation>
@@ -2455,7 +2453,6 @@
 <translation id="4856478137399998590">మీ మొబైల్ డేటా సేవ సక్రియం చెయ్యబడింది మరియు ఉపయోగించడానికి సిద్ధంగా ఉంది</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{అన్నింటినీ &amp;అజ్ఞాత విండోలో తెరవండి}=1{&amp;అజ్ఞాత విండోలో తెరవండి}other{అన్నింటినీ (#) &amp;అజ్ఞాత విండోలో తెరవండి}}</translation>
 <translation id="4858913220355269194">ఫ్రిట్జ్</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - చిత్రంలో చిత్రం మోడ్‌లో వీడియో ప్లే అవుతోంది</translation>
 <translation id="4862050643946421924">పరికరాన్ని జోడించడం...</translation>
 <translation id="4862642413395066333">OCSP ప్రతిస్పందనలను సైన్ చేస్తోంది</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> ఉన్నట్టుంది (డిఫాల్ట్)</translation>
@@ -4129,7 +4126,6 @@
 <translation id="7427348830195639090">నేపథ్య పేజీ: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{అన్నింటినీ &amp;కొత్త విండోలో తెరవండి}=1{&amp;కొత్త విండోలో తెరవండి}other{అన్నింటినీ (#) &amp;కొత్త విండోలో తెరవండి}}</translation>
 <translation id="7434509671034404296">డెవలపర్</translation>
-<translation id="7436470008146509879">మీ <ph name="DEVICE_TYPE" />లో Linuxను సెటప్ చేయండి</translation>
 <translation id="7436921188514130341">అయ్యో! పేరు మారుస్తున్నప్పుడు లోపం ఏర్పడింది.</translation>
 <translation id="7441830548568730290">ఇతర వినియోగదారులు</translation>
 <translation id="7442465037756169001">మీ Hangouts Meet hardware సెటప్ చేయడానికి సిద్ధంగా ఉంది.</translation>
@@ -4426,7 +4422,6 @@
 <translation id="7881969471599061635">ఉపశీర్షికలను నిలిపివేయి</translation>
 <translation id="7882358943899516840">ప్రదాత రకం</translation>
 <translation id="7885253890047913815">ఇటీవలి గమ్యస్థానాలు</translation>
-<translation id="7886917304091689118">Chromeలో అమలు అవుతోంది</translation>
 <translation id="7887334752153342268">నకిలీ</translation>
 <translation id="7887864092952184874">బ్లూటూత్ మౌస్ జత చేయబడింది</translation>
 <translation id="7889565820482017512">ప్రదర్శన పరిమాణం</translation>
@@ -4594,7 +4589,6 @@
 <translation id="8118860139461251237">మీ డౌన్‌లోడ్‌లను నిర్వహించండి</translation>
 <translation id="81238879832906896">పసుపు మరియు తెలుపు రంగు పుష్పం</translation>
 <translation id="8124313775439841391">నిర్వహిత ONC</translation>
-<translation id="8125562866093998907">మీ ఖాతాకు అదనపు భద్రత కోసం సైట్ మీ భద్రతా కీని ధృవీకరించాలని కోరుతోంది.</translation>
 <translation id="813082847718468539">సైట్ సమాచారాన్ని వీక్షించండి</translation>
 <translation id="8131740175452115882">నిర్ధారించు</translation>
 <translation id="8133676275609324831">&amp;ఫోల్డర్‌లో చూపించు</translation>
@@ -4974,7 +4968,6 @@
 <translation id="8736288397686080465">ఈ సైట్ నేపథ్యంలో నవీకరించబడింది.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" />కి బదులుగా <ph name="PROTOCOL" /> లింక్‌లను తెరవాలనుకుంటోంది</translation>
 <translation id="8737709691285775803">షిల్</translation>
-<translation id="8741316211671074806">చిత్రంలో చిత్రం</translation>
 <translation id="8743390665131937741">పూర్తిస్క్రీన్ జూమ్ స్థాయి:</translation>
 <translation id="8743864605301774756">1గంట క్రితం నవీకరించబడింది</translation>
 <translation id="874689135111202667">{0,plural, =1{ఈ సైట్‌కు ఒక ఫైల్‌ను అప్‌లోడ్ చేయాలా?}other{ఈ సైట్‌కు # ఫైల్‌లను అప్‌లోడ్ చేయాలా?}}</translation>
@@ -5245,6 +5238,7 @@
 <translation id="9158715103698450907">అయ్యో!  ప్రామాణీకరణ సమయంలో నెట్‌వర్క్ కమ్యూనికేషన్ సమస్య సంభవించింది.  దయచేసి మీ నెట్‌వర్క్ కనెక్షన్‌ను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="9161070040817969420">దీనికి ఉపఫ్రేమ్‌లు: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">సిస్టమ్ డేటాని పంపండి. ఈ పరికరం ప్రస్తుతం సమస్య విశ్లేషణ మరియు పరికర మరియు యాప్ వినియోగ డేటాని ఆటోమేటిక్‌గా Googleకి పంపుతోంది. ఈ సెట్టింగ్‌ని యజమాని ప్రారంభించారు. మీరు అదనపు వెబ్ &amp; యాప్ కార్యకలాపాన్ని ఆన్ చేసి ఉంటే, ఈ సమాచారం మీ ఖాతాలో నిల్వ చేయబడుతుంది, కనుక మీరు నా కార్యకలాపంలో దీనిని నిర్వహించవచ్చు. <ph name="BEGIN_LINK1" />మరింత తెలుసుకోండి<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">చిత్రంలో చిత్రం</translation>
 <translation id="9169496697824289689">కీబోర్డ్ సత్వరమార్గాలను వీక్షించండి</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" />ని హోమ్ స్క్రీన్‌కి జోడించండి</translation>
 <translation id="9170397650136757332">మీ వేలిముద్రలోని వివిధ భాగాలన్నింటినీ సంగ్రహించడానికి ఇప్పుడు మీ వేలిని మెల్లగా అటూ ఇటూ కదిలించండి</translation>
@@ -5294,7 +5288,6 @@
 <translation id="952992212772159698">సక్రియం చెయ్యబడలేదు</translation>
 <translation id="957960681186851048">ఈ సైట్ ఆటోమెటిక్‌గా పలు ఫైల్‌లను డౌన్‌లోడ్ చేయడానికి ప్రయత్నించింది</translation>
 <translation id="9580706199804957">Google సేవలకు కనెక్ట్ చేయడం సాధ్యం కాలేదు</translation>
-<translation id="958416628331784386">ఈ ట్యాబ్ వీడియోను చిత్రంలో చిత్రం మోడ్‌లో ప్లే చేస్తోంది.</translation>
 <translation id="960719561871045870">ఆపరేటర్ కోడ్</translation>
 <translation id="960987915827980018">సుమారు 1 గంట మిగిలి ఉంది</translation>
 <translation id="962802172452141067">బుక్‌మార్క్ ఫోల్డర్‌ ట్రీ</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index df17df8..6d6bc87 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">หยุดชั่วคราว</translation>
 <translation id="1181037720776840403">ลบ</translation>
 <translation id="1183237619868651138">ไม่สามารถติดตั้ง <ph name="EXTERNAL_CRX_FILE" /> ในแคชในเครื่อง</translation>
+<translation id="1183378459020939734">พร้อมจับคู่คีย์ความปลอดภัยไหม</translation>
 <translation id="1185924365081634987">คุณสามารถลอง<ph name="GUEST_SIGNIN_LINK_START" />เรียกดูในฐานะผู้เยี่ยมชม<ph name="GUEST_SIGNIN_LINK_END" /> เพื่อแก้ไขข้อผิดพลาดของเครือข่าย</translation>
 <translation id="1186771945450942097">นำซอฟต์แวร์อันตรายออก</translation>
 <translation id="1187722533808055681">ไม่ใช้งานการปลุก</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">ช่วยปรับปรุง <ph name="PRODUCT_NAME" /> ให้ดีขึ้นโดยการส่งสถิติการใช้งานและรายงานปัญหาไปยัง Google โดยอัตโนมัติ</translation>
 <translation id="1658424621194652532">หน้านี้กำลังเข้าถึงไมโครโฟนของคุณ</translation>
 <translation id="1660204651932907780">อนุญาตให้ไซต์เล่นเสียง (แนะนำ)</translation>
-<translation id="1660938185063657230">ยืนยันกุญแจรักษาความปลอดภัย</translation>
 <translation id="1661156625580498328">บังคับใช้การเข้ารหัส AES (แนะนำ)</translation>
 <translation id="1661245713600520330">หน้าเว็บนี้แสดงรายการโมดูลทั้งหมดที่โหลดเข้ากระบวนการหลักและโมดูลที่ลงทะเบียนเพื่อโหลดในภายหลัง</translation>
 <translation id="166179487779922818">รหัสผ่านสั้นเกินไป</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">เปลี่ยนโหมด HUD การแตะ</translation>
 <translation id="1784849162047402014">อุปกรณ์เครื่องนี้เหลือพื้นที่ว่างในดิสก์ต่ำ</translation>
 <translation id="1786636458339910689">ไดรฟ์ของทีม</translation>
+<translation id="1792161662640298233">กำลังยืนยันคีย์ความปลอดภัย</translation>
 <translation id="1792619191750875668">การแสดงผลแบบขยาย</translation>
 <translation id="1794791083288629568">ส่งความคิดเห็นเพื่อช่วยเราแก้ไขปัญหานี้</translation>
 <translation id="1795214765651529549">ใช้แบบคลาสสิก</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">ลบรหัสผ่านสำหรับ <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">แตะ "การแจ้งเตือนของแอป" &gt; บริการ Google Play</translation>
 <translation id="1826516787628120939">กำลังตรวจสอบ</translation>
-<translation id="1827750274519118478">วิดีโอในโหมดการแสดงภาพซ้อนภาพจะหยุดเล่น</translation>
 <translation id="1828378091493947763">อุปกรณ์นี้ไม่รองรับปลั๊กอินนี้</translation>
 <translation id="1828901632669367785">พิมพ์โดยใช้ช่องโต้ตอบของระบบ…</translation>
 <translation id="1829192082282182671">ย่อ</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" สามารถอ่านและเขียนรูปภาพ วิดีโอ และไฟล์เสียงในตำแหน่งที่เลือก</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> พร้อมที่จะดำเนินการติดตั้งให้คุณ</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> ของคุณเป็นเวอร์ชันล่าสุดแล้ว</translation>
+<translation id="1875312262568496299">เริ่มต้น</translation>
 <translation id="1875387611427697908">ต้องเพิ่มจาก <ph name="CHROME_WEB_STORE" /> เท่านั้น</translation>
 <translation id="1877520246462554164">ไม่ได้รับโทเค็นการตรวจสอบสิทธิ์ โปรดออกจากระบบแล้วลงชื่อเข้าใช้อีกครั้งเพื่อลองอีกครั้ง</translation>
 <translation id="1878302395768190018">ปรับแต่งการตั้งค่านี้ได้ทุกเมื่อในการตั้งค่า Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">รูปภาพจาก <ph name="NAME" /></translation>
 <translation id="2115103655317273167">ส่งไปที่โทรศัพท์</translation>
 <translation id="2119349053129246860">เปิดใน<ph name="APP" /></translation>
+<translation id="2120297377148151361">กิจกรรมและการโต้ตอบ</translation>
 <translation id="2121825465123208577">ปรับขนาด</translation>
 <translation id="2124930039827422115">{1,plural, =1{ได้คะแนน <ph name="AVERAGE_RATING" /> จากผู้ใช้ 1 ราย}other{ได้คะแนน <ph name="AVERAGE_RATING" /> จากผู้ใช้ # ราย}}</translation>
 <translation id="2126167708562367080">ผู้ดูแลระบบปิดใช้การซิงค์</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">ขนาดกระดาษ</translation>
 <translation id="2318817390901984578">หากต้องการใช้แอป Android ให้ชาร์จและอัปเดต <ph name="DEVICE_TYPE" /></translation>
 <translation id="2318923050469484167">เซสชันไม่ระบุตัวตนปัจจุบัน (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">ใช้คีย์ความปลอดภัยกับ <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">ส่วนหัวและส่วนท้ายกระดาษ</translation>
 <translation id="2325650632570794183">ไฟล์ประเภทนี้ไม่ได้รับการสนับสนุน โปรดไปที่ Chrome เว็บสโตร์เพื่อหาแอปพลิเคชันที่สามารถเปิดไฟล์ประเภทนี้</translation>
 <translation id="2326931316514688470">โ&amp;หลดแอปซ้ำ</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">เพิ่มการแชร์ไฟล์</translation>
 <translation id="2367972762794486313">แสดงแอป</translation>
 <translation id="2369536625682139252">ข้อมูลทั้งหมด (ยกเว้นคุกกี้) ที่ <ph name="SITE" /> จัดเก็บไว้จะถูกลบออก</translation>
+<translation id="237058345584060620">จับคู่คีย์กับอุปกรณ์นี้เพื่อให้คุณใช้คีย์ลงชื่อเข้าใช้บัญชีได้</translation>
 <translation id="2371076942591664043">เปิดเมื่อเ&amp;สร็จ</translation>
 <translation id="2376559921867170420">เมื่อตั้งค่า Chromebook แล้ว ก็กดปุ่ม Assistant หรือพูดว่า "Ok Google" เพื่อรับความช่วยเหลือจาก Assistant ได้ทุกเมื่อ</translation>
 <translation id="2377319039870049694">เปลี่ยนเป็นมุมมองรายการ</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">ไม่พบโทรศัพท์ของคุณ โปรดตรวจสอบว่า <ph name="DEVICE_TYPE" /> เปิดบลูทูธอยู่ &lt;a&gt;ดูข้อมูลเพิ่มเติม&lt;/a&gt;</translation>
 <translation id="2489918096470125693">เพิ่ม&amp;โฟลเดอร์...</translation>
 <translation id="249113932447298600">ขออภัย อุปกรณ์ <ph name="DEVICE_LABEL" /> ไม่ได้รับการสนับสนุนในขณะนี้</translation>
+<translation id="2492040222276243256">กดปุ่มบนคีย์ความปลอดภัยค้างไว้อย่างน้อย 5 วินาที</translation>
 <translation id="2493021387995458222">เลือก "ทีละคำ"</translation>
 <translation id="249303669840926644">ไม่สามารถลงทะเบียนให้เสร็จสมบูรณ์ได้</translation>
 <translation id="2495777824269688114">ค้นพบฟีเจอร์เพิ่มเติมหรือรับคำตอบที่ต้องการ เลือก “?” เพื่อรับความช่วยเหลือ</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">กำลังรอ Socket ที่ใช้งานได้...</translation>
 <translation id="252219247728877310">ไม่ได้อัปเดตคอมโพเนนต์</translation>
 <translation id="2522791476825452208">ใกล้มาก</translation>
+<translation id="2523184218357549926">ส่ง URL ของหน้าที่คุณเข้าชมไปยัง Google</translation>
 <translation id="2525250408503682495">แย่แล้ว! ไม่สามารถต่อเชื่อม Cryptohome สำหรับแอปพลิเคชันคีออสก์ได้</translation>
 <translation id="2526277209479171883">ติดตั้งและดำเนินการต่อ</translation>
 <translation id="2526590354069164005">เดสก์ท็อป</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">ไม่ได้ลงชื่อเข้าใช้ <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">ขอแสดงความยินดี! บริการข้อมูล "<ph name="NAME" />" ของคุณได้เปิดใช้งานและพร้อมใช้งานแล้ว</translation>
 <translation id="2564520396658920462">การเรียกใช้ JavaScript ผ่าน AppleScript ปิดอยู่ หากต้องการเปิด จากแถบเมนู ให้ไปที่ มุมมอง &gt; นักพัฒนาซอฟต์แวร์ &gt; อนุญาตให้เรียกใช้ JavaScript จากกิจกรรมใน Apple ดูข้อมูลเพิ่มเติมที่ https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">การตรวจตัวสะกดที่ได้รับการปรับปรุง</translation>
 <translation id="2566124945717127842">Powerwash เพื่อรีเซ็ตอุปกรณ์ <ph name="IDS_SHORT_PRODUCT_NAME" /> ให้เหมือนใหม่</translation>
 <translation id="2567257616420533738">บันทึกรหัสผ่านแล้ว ดูและจัดการรหัสผ่านที่บันทึกไว้ได้ที่ <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">ที่เก็บแถบข้อมูล</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> กำลังใช้พื้นที่ดิสก์ <ph name="USAGE" /> MB</translation>
 <translation id="2633212996805280240">นำ "<ph name="EXTENSION_NAME" />" ออกหรือไม่</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> ไม่สามารถติดตั้งให้เสร็จสมบูรณ์ แต่จะเรียกใช้จากดิสก์อิมเมจต่อไป</translation>
+<translation id="2633326789677284179">ค้นหาชื่อที่พิมพ์ไว้ด้านหลังคีย์</translation>
 <translation id="2635276683026132559">การเซ็นชื่อ</translation>
 <translation id="2636625531157955190">Chrome ไม่สามารถเข้าถึงภาพ</translation>
 <translation id="2638087589890736295">ต้องระบุรหัสผ่านเพื่อเริ่มการซิงค์</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">ไม่สามารถคัดลอกไฟล์ crx ภายนอกไปยัง <ph name="TEMP_CRX_FILE" /></translation>
 <translation id="3090871774332213558">จับคู่ "<ph name="DEVICE_NAME" />" แล้ว</translation>
 <translation id="3101709781009526431">วันที่และเวลา</translation>
+<translation id="3104900172193317662">อนุญาตให้ใช้คีย์ความปลอดภัย</translation>
 <translation id="310671807099593501">เว็บไซต์กำลังใช้บลูทูธ</translation>
 <translation id="3115128645424181617">ไม่พบโทรศัพท์ของคุณ โปรดตรวจสอบว่าโทรศัพท์อยู่ใกล้ๆ มือและเปิดบลูทูธอยู่</translation>
 <translation id="3115147772012638511">กำลังรอแคช...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">บล็อก <ph name="HOST" /> ไม่ให้ดูคลิปบอร์ดเสมอ</translation>
 <translation id="3840053866656739575">ขาดการเชื่อมต่อกับ Chromebox โปรดเข้าใกล้อุปกรณ์ หรือตรวจสอบอุปกรณ์ของคุณขณะที่เราพยายามเชื่อมต่อใหม่</translation>
 <translation id="3842552989725514455">แบบอักษร Serif</translation>
+<translation id="3846116211488856547">รับเครื่องมือสำหรับพัฒนาเว็บไซต์, แอป Android และอื่นๆ การติดตั้ง Linux จะดาวน์โหลดข้อมูล <ph name="DOWNLOAD_SIZE" /></translation>
 <translation id="385051799172605136">กลับ</translation>
 <translation id="3851428669031642514">โหลดสคริปต์ที่ไม่ปลอดภัย</translation>
 <translation id="3855441664322950881">แพคส่วนขยาย</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">เพิ่มพื้นที่ว่างในดิสก์ มิเช่นนั้นอุปกรณ์จะไม่ตอบสนองต่อการทำงาน</translation>
 <translation id="3878840326289104869">กำลังสร้างผู้ใช้ภายใต้การดูแล</translation>
 <translation id="3879748587602334249">Download Manager</translation>
+<translation id="3880709822663530586">คีย์ความปลอดภัยจะทำงานเมื่อบลูทูธของอุปกรณ์เปิดอยู่เท่านั้น</translation>
 <translation id="3888550877729210209">จดโน้ตด้วย <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">เพิ่ม OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">อ่านและเปลี่ยนการตั้งค่าการเข้าถึง</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">เ&amp;ปิดภาพต้นฉบับในแท็บใหม่</translation>
 <translation id="4682551433947286597">วอลเปเปอร์ที่ปรากฏบนหน้าจอการลงชื่อเข้าใช้</translation>
 <translation id="4684427112815847243">ซิงค์ทุกอย่าง</translation>
+<translation id="4689235506267737042">เลือกค่ากำหนดการสาธิต</translation>
 <translation id="4689421377817139245">ซิงค์บุ๊กมาร์กนี้กับ iPhone ของคุณ</translation>
 <translation id="4690091457710545971">&lt;มีไฟล์ 4 ไฟล์ที่สร้างขึ้นโดยเฟิร์มแวร์ Wi-Fi ของ Intel ได้แก่ csr.lst, fh_regs.lst, radio_reg.lst และ monitor.lst.sysmon  โดย 3 ไฟล์แรกเป็นไฟล์ไบนารีที่มี Register Dump ซึ่งผ่านการยืนยันโดย Intel เพื่อไม่ให้รวมข้อมูลส่วนตัวหรือข้อมูลที่ระบุอุปกรณ์  ส่วนไฟล์สุดท้ายเป็นการติดตามการทำงานจากเฟิร์มแวร์ของ Intel โดยมีการลบข้อมูลส่วนตัวหรือข้อมูลที่ระบุอุปกรณ์ออกไปแล้ว แต่ไฟล์มีขนาดใหญ่เกินกว่าที่จะแสดงตรงนี้ได้  ไฟล์เหล่านี้สร้างขึ้นมาเพื่อตอบสนองต่อปัญหา Wi-Fi ล่าสุดในอุปกรณ์ของคุณและระบบจะแชร์ไฟล์กับ Intel เพื่อช่วยแก้ปัญหาเหล่านี้&gt;</translation>
 <translation id="4692302215262324251">ลงทะเบียน <ph name="DEVICE_TYPE" /> ของคุณสำหรับการจัดการองค์กรโดย <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> เรียบร้อยแล้ว
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">บริการดาต้าบนมือถือของคุณเปิดใช้งานและพร้อมทำงานแล้ว</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{เปิดทั้งหมดใน&amp;หน้าต่างที่ไม่ระบุตัวตน}=1{เปิดใน&amp;หน้าต่างที่ไม่ระบุตัวตน}other{เปิดทั้งหมด (#) ใน&amp;หน้าต่างที่ไม่ระบุตัวตน}}</translation>
 <translation id="4858913220355269194">ฟริทซ์</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - วิดีโอกำลังเล่นในโหมดการแสดงภาพซ้อนภาพ</translation>
 <translation id="4862050643946421924">กำลังเพิ่มอุปกรณ์...</translation>
 <translation id="4862642413395066333">การเซ็นชื่อในการตอบสนอง OCSP</translation>
 <translation id="4863769717153320198">ดูเหมือน <ph name="WIDTH" /> x <ph name="HEIGHT" /> (ค่าเริ่มต้น)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">ค้นประวัติการเข้าชม</translation>
 <translation id="4881695831933465202">เปิด</translation>
 <translation id="4882473678324857464">โฟกัสบุ๊กมาร์ก</translation>
+<translation id="4882831918239250449">ควบคุมการใช้ประวัติการท่องเว็บเพื่อปรับเปลี่ยน Search, โฆษณา และบริการอื่นๆ ในแบบของคุณ</translation>
 <translation id="4883178195103750615">ส่งออกบุ๊กมาร์กไปยังไฟล์ HTML...</translation>
 <translation id="4883436287898674711">ไซต์ <ph name="WEBSITE_1" /> ทั้งหมด</translation>
 <translation id="48838266408104654">&amp;ตัวจัดการงาน</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">เ&amp;ปิดแท็บที่ถูกปิดขึ้นใหม่</translation>
 <translation id="52912272896845572">ไฟล์กุญแจส่วนตัวไม่ถูกต้อง</translation>
 <translation id="529175790091471945">ฟอร์แมตอุปกรณ์นี้</translation>
+<translation id="5292195676005197571">ในการใช้คีย์ส่วนใหญ่ ให้แตะปุ่ม</translation>
 <translation id="5293170712604732402">คืนค่าการตั้งค่าเป็นค่าเริ่มต้นเดิม</translation>
 <translation id="5298219193514155779">ธีมที่สร้างโดย</translation>
 <translation id="5299109548848736476">ไม่ติดตาม</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Smart Lock จะขอให้คุณป้อนรหัสผ่านเมื่อผ่านไปแล้ว 20 ชั่วโมงเพื่อเพิ่มความปลอดภัย</translation>
 <translation id="5659593005791499971">อีเมล</translation>
 <translation id="5659833766619490117">แปลหน้านี้ไม่ได้</translation>
+<translation id="5660204307954428567">จับคู่กับ <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">ถาวร</translation>
 <translation id="5667546120811588575">กำลังตั้งค่า Google Play...</translation>
 <translation id="5669267381087807207">กำลังเปิดการใช้งาน</translation>
 <translation id="5669691691057771421">ป้อน PIN ใหม่</translation>
 <translation id="5671641761787789573">บล็อกรูปภาพ</translation>
+<translation id="5673076758299428095">ปิด Linux</translation>
 <translation id="5677503058916217575">ภาษาหน้าเว็บ:</translation>
 <translation id="5677928146339483299">ถูกบล็อก</translation>
 <translation id="5678550637669481956">ได้รับสิทธิ์ในการอ่านและเขียน <ph name="VOLUME_NAME" /> แล้ว</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">ตัวเขียนอิมเมจระบบ Chrome OS</translation>
 <translation id="5921745308587794300">หมุนหน้าต่าง</translation>
 <translation id="5924047253200400718">รับความช่วยเหลือ<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">ถ่ายรูปใหม่ หรือเลือกรูปหรือไอคอนที่มีอยู่แล้ว
+    <ph name="LINE_BREAK" />
+    ภาพนี้จะแสดงในหน้าลงชื่อเข้าใช้และหน้าจอล็อกของ Chromebook</translation>
 <translation id="5925147183566400388">ตัวชี้ไปยังคำชี้แจงเกี่ยวกับแนวทางปฏิบัติสำหรับใบรับรอง</translation>
 <translation id="592880897588170157">ดาวน์โหลดไฟล์ PDF แทนการเปิดโดยอัตโนมัติใน Chrome</translation>
 <translation id="5931146425219109062">อ่านและเปลี่ยนแปลงข้อมูลทั้งหมดบนเว็บไซต์ที่คุณเข้าชม</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">โปรดตรวจสอบไมโครโฟนและระดับเสียง</translation>
 <translation id="6080515710685820702">หากมีการใช้คอมพิวเตอร์ร่วมกัน ให้ลองเปิดหน้าต่างที่ไม่ระบุตัวตน</translation>
 <translation id="6080689532560039067">ตรวจสอบเวลาระบบของคุณ</translation>
+<translation id="6082111513049964958">รหัสผ่านสำหรับปลดล็อก</translation>
 <translation id="6082651258230788217">แสดงในแถบเครื่องมือ</translation>
 <translation id="6086846494333236931">ติดตั้งโดยผู้ดูแลระบบ</translation>
 <translation id="6087960857463881712">ใบหน้าเจ๋ง</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">ชื่อนี้ไม่สามารถใช้เป็นชื่อไฟล์ของโฟลเดอร์</translation>
 <translation id="642469772702851743">เจ้าของล็อกอุปกรณ์นี้ไว้ (หมายเลขประจำเครื่อง: <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="6426200009596957090">เปิดการตั้งค่า ChromeVox</translation>
+<translation id="6427415464407526111">เลือกคีย์ความปลอดภัย</translation>
 <translation id="6429384232893414837">เกิดข้อผิดพลาดในการอัปเดต</translation>
 <translation id="6430814529589430811">Base64-encoded ASCII, ใบรับรองเดี่ยว</translation>
 <translation id="6431217872648827691">ข้อมูลทั้งหมดมีการเข้ารหัสด้วยรหัสผ่าน Google ของคุณตั้งแต่
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">โหลด PPD ขนาดใหญ่ไม่ได้ ขนาดต้องไม่เกิน 250 KB</translation>
 <translation id="7100897339030255923">รายการที่เลือก <ph name="COUNT" /> รายการ</translation>
 <translation id="7102687220333134671">การอัปเดตอัตโนมัติเปิดอยู่</translation>
+<translation id="7102832101143475489">คำขอหมดเวลาแล้ว</translation>
 <translation id="7106346894903675391">ซื้อพื้นที่เก็บข้อมูลเพิ่มเติม...</translation>
 <translation id="7108338896283013870">ซ่อน</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> ต้องการใช้กล้องถ่ายรูปของคุณ</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">หน้าเว็บพื้นหลัง: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{เปิดทั้งหมดใน&amp;หน้าต่างใหม่}=1{เปิดใน&amp;หน้าต่างใหม่}other{เปิดทั้งหมด (#) ใน&amp;หน้าต่างใหม่}}</translation>
 <translation id="7434509671034404296">นักพัฒนา</translation>
-<translation id="7436470008146509879">ตั้งค่า Linux ใน <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">แย่จัง! เกิดข้อผิดพลาดในระหว่างการตั้งชื่อ</translation>
 <translation id="7441830548568730290">ผู้ใช้รายอื่น</translation>
 <translation id="7442465037756169001">พร้อมตั้งค่า Hangouts Meet hardware แล้ว</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">ปิดคำบรรยาย</translation>
 <translation id="7882358943899516840">ประเภทผู้ให้บริการ</translation>
 <translation id="7885253890047913815">ปลายทางล่าสุด</translation>
-<translation id="7886917304091689118">กำลังทำงานใน Chrome</translation>
 <translation id="7887334752153342268">ทำซ้ำ</translation>
 <translation id="7887864092952184874">จับคู่เมาส์บลูทูธแล้ว</translation>
 <translation id="7889565820482017512">ขนาดการแสดงผล</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">ขนาด</translation>
 <translation id="8030656706657716245">เพิ่มเครื่องพิมพ์</translation>
 <translation id="8032244173881942855">ไม่สามารถแคสต์แท็บ</translation>
+<translation id="8033958968890501070">หมดเวลา</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{เปิดทั้งหมดใน&amp;หน้าต่างที่ไม่ระบุตัวตน}=1{เปิดใน&amp;หน้าต่างที่ไม่ระบุตัวตน}other{เปิดทั้งหมด (#) ใน&amp;หน้าต่างที่ไม่ระบุตัวตน}}</translation>
 <translation id="8037117027592400564">อ่านข้อความทั้งหมดที่พูดโดยใช้เสียงสังเคราะห์</translation>
 <translation id="8037357227543935929">ขอ (ค่าเริ่มต้น)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">จัดการการดาวน์โหลดของคุณ</translation>
 <translation id="81238879832906896">ดอกไม้สีเหลืองแซมขาว</translation>
 <translation id="8124313775439841391">ONC ที่มีการจัดการ</translation>
-<translation id="8125562866093998907">เว็บไซต์ต้องการยืนยันกุญแจรักษาความปลอดภัยเพื่อเพิ่มการรักษาความปลอดภัยให้บัญชี</translation>
 <translation id="813082847718468539">ดูข้อมูลเว็บไซต์</translation>
 <translation id="8131740175452115882">ยืนยัน</translation>
 <translation id="8133676275609324831">แ&amp;สดงในโฟลเดอร์</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">หน้า</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" สามารถอ่านและลบรูปภาพ วิดีโอ และไฟล์เสียงในตำแหน่งที่เลือก</translation>
 <translation id="8181215761849004992">เข้าร่วมโดเมนไม่ได้ ตรวจสอบบัญชีว่าคุณมีสิทธิ์เพียงพอที่จะเพิ่มอุปกรณ์ไหม</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    ฉันคิดว่าไม่ควรบล็อกเว็บไซต์นี้</translation>
 <translation id="8184288427634747179">สลับเป็น <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">ข้อมูลเพิ่มเติม</translation>
 <translation id="8185331656081929126">แสดงการแจ้งเตือนเมื่อตรวจพบเครื่องพิมพ์ใหม่บนเครือข่าย</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">พอร์ตแก้ปัญหา NaCl</translation>
 <translation id="843760761634048214">บันทึกบัตรเครดิต</translation>
 <translation id="8438328416656800239">เปลี่ยนเป็นเบราว์เซอร์ที่มีประสิทธิภาพ</translation>
+<translation id="8438566539970814960">ปรับปรุงการค้นหาและการท่องเว็บให้ดียิ่งขึ้น</translation>
 <translation id="8439506636278576865">เสนอที่จะแปลหน้าต่างๆ ที่เป็นภาษานี้</translation>
 <translation id="8446884382197647889">ดูข้อมูลเพิ่มเติม</translation>
 <translation id="8447409163267621480">รวมปุ่ม Ctrl หรือ Alt</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">มีการอัปเดตไซต์นี้ในพื้นหลัง</translation>
 <translation id="8737685506611670901">เปิดลิงก์ <ph name="PROTOCOL" /> แทน <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">การแสดงภาพซ้อนภาพ</translation>
 <translation id="8743390665131937741">ระดับการซูมทั้งหน้าจอ:</translation>
 <translation id="8743864605301774756">อัปเดตเมื่อ 1 ชั่วโมงที่ผ่านมา</translation>
 <translation id="874689135111202667">{0,plural, =1{อัปโหลด 1 ไฟล์ไปยังเว็บไซต์นี้ใช่ไหม}other{อัปโหลด # ไฟล์ไปยังเว็บไซต์นี้ใช่ไหม}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ขัดข้อง</translation>
 <translation id="8983677657449185470">ช่วยปรับปรุง Safe Browsing</translation>
 <translation id="8984654317541110628">URL ของพื้นที่แชร์ไฟล์</translation>
+<translation id="8984872292925913496">ค้นหา PIN 6 หลักที่ด้านหลังคีย์</translation>
 <translation id="8986362086234534611">ไม่จำ</translation>
 <translation id="8986494364107987395">ส่งสถิติการใช้งานและรายงานข้อขัดข้องไปยัง Google โดยอัตโนมัติ</translation>
 <translation id="8987927404178983737">เดือน</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">อ๊ะ! เกิดปัญหาในการสื่อสารกับเครือข่ายในระหว่างการตรวจสอบสิทธิ์ โปรดตรวจสอบการเชื่อมต่อเครือข่ายของคุณและลองอีกครั้ง</translation>
 <translation id="9161070040817969420">เฟรมย่อยสำหรับ: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">ส่งข้อมูลระบบ ปัจจุบันอุปกรณ์นี้ส่งข้อมูลการวินิจฉัยและข้อมูลการใช้งานอุปกรณ์และแอปไปยัง Google โดยอัตโนมัติ เจ้าของเป็นผู้บังคับใช้การตั้งค่านี้ หากคุณเปิดกิจกรรมบนเว็บและแอปเพิ่มเติม ระบบจะเก็บข้อมูลนี้ไว้กับบัญชีเพื่อให้คุณจัดการได้ในกิจกรรมของฉัน <ph name="BEGIN_LINK1" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">การแสดงภาพซ้อนภาพ</translation>
 <translation id="9169496697824289689">ดูแป้นพิมพ์ลัด</translation>
 <translation id="9169931577761441333">เพิ่ม <ph name="APP_NAME" /> ในหน้าจอหลัก</translation>
 <translation id="9170397650136757332">เลื่อนนิ้วเล็กน้อยเพื่อจับภาพส่วนต่างๆ ทั้งหมดของลายนิ้วมือ</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">ไม่ได้เปิดการใช้งาน</translation>
 <translation id="957960681186851048">เว็บไซต์นี้พยายามดาวน์โหลดไฟล์หลายไฟล์โดยอัตโนมัติ</translation>
 <translation id="9580706199804957">ไม่สามารถเชื่อมต่อกับบริการของ Google</translation>
-<translation id="958416628331784386">แท็บนี้กำลังเล่นวิดีโอในโหมดการแสดงภาพซ้อนภาพ</translation>
 <translation id="960719561871045870">รหัสผู้ให้บริการ</translation>
 <translation id="960987915827980018">เหลือเวลาอีกประมาณ 1 ชั่วโมง</translation>
 <translation id="962802172452141067">แผนผังของโฟลเดอร์บุ๊กมาร์ก</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index 28c3d37..1bc4153 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -454,7 +454,6 @@
 <translation id="1657406563541664238">Google'a otomatik olarak kullanım istatistikleri ve kilitlenme raporları göndererek <ph name="PRODUCT_NAME" /> ürününü iyileştirmemize yardımcı olun.</translation>
 <translation id="1658424621194652532">Bu sayfa mikrofonunuza erişiyor.</translation>
 <translation id="1660204651932907780">Sitelerin ses çalmasına izin ver (önerilir)</translation>
-<translation id="1660938185063657230">Güvenlik Anahtarınızı doğrulayın</translation>
 <translation id="1661156625580498328">AES şifrelemesini uygula (önerilir).</translation>
 <translation id="1661245713600520330">Bu sayfada, ana işleme yüklenen tüm modüller ve ilerideki bir noktada yüklenmek için kaydedilmiş modüller listelenir.</translation>
 <translation id="166179487779922818">Şifre çok kısa.</translation>
@@ -566,7 +565,6 @@
 <translation id="1818007989243628752"><ph name="USERNAME" /> kullanıcısının şifresini sil</translation>
 <translation id="1819721979226826163">Uygulama bildirimleri &gt; Google Play hizmetlerine dokunun.</translation>
 <translation id="1826516787628120939">Kontrol ediliyor</translation>
-<translation id="1827750274519118478">Videonun pencere içinde pencere modunda oynatılması durdurulacak.</translation>
 <translation id="1828378091493947763">Bu eklenti, bu cihazda desteklenmiyor</translation>
 <translation id="1828901632669367785">Sistem İletişim Kutusunu Kullanarak Yazdır…</translation>
 <translation id="1829192082282182671">U&amp;zaklaştır</translation>
@@ -2466,7 +2464,6 @@
 <translation id="4856478137399998590">Mobil veri hizmetiniz etkinleştirildi ve kullanıma hazır</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Tümünü &amp;Gizli Pencerede Aç}=1{&amp;Gizli Pencerede Aç}other{Tümünü (#) &amp;Gizli Pencerede Aç}}</translation>
 <translation id="4858913220355269194">Futbolcu</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Video Pencere İçinde Pencere modunda oynatılıyor</translation>
 <translation id="4862050643946421924">Cihaz ekleniyor...</translation>
 <translation id="4862642413395066333">İmza OCSP Yanıtları</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> şeklinde görünür (Varsayılan)</translation>
@@ -4148,7 +4145,6 @@
 <translation id="7427348830195639090">Arka Plan Sayfası: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Tümünü &amp;Yeni Pencerede Aç}=1{&amp;Yeni Pencerede Aç}other{Tümünü (#) &amp;Yeni Pencerede Aç}}</translation>
 <translation id="7434509671034404296">Geliştirici</translation>
-<translation id="7436470008146509879"><ph name="DEVICE_TYPE" /> cihazınızda Linux'ı kurun</translation>
 <translation id="7436921188514130341">Hay aksi! Yeniden adlandırma sırasında bir hata oluştu.</translation>
 <translation id="7441830548568730290">Diğer kullanıcılar</translation>
 <translation id="7442465037756169001">Hangouts Meet hardware cihazınız kuruluma hazır.</translation>
@@ -4446,7 +4442,6 @@
 <translation id="7881969471599061635">Altyazıları devre dışı bırak</translation>
 <translation id="7882358943899516840">Sağlayıcı türü</translation>
 <translation id="7885253890047913815">En Son Hedefler</translation>
-<translation id="7886917304091689118">Chrome'da çalıştırılıyor</translation>
 <translation id="7887334752153342268">Yinele</translation>
 <translation id="7887864092952184874">Bluetooth fare eşlendi</translation>
 <translation id="7889565820482017512">Görüntü Boyutu</translation>
@@ -4617,7 +4612,6 @@
 <translation id="8118860139461251237">İndirilen öğelerinizi yönetme</translation>
 <translation id="81238879832906896">Sarı ve beyaz çiçek</translation>
 <translation id="8124313775439841391">Yönetilen ONC</translation>
-<translation id="8125562866093998907">Site, hesabınızla ilgili ek güvenlik için Güvenlik Anahtarınızı doğrulamak istiyor.</translation>
 <translation id="813082847718468539">Site bilgilerini görüntüle</translation>
 <translation id="8131740175452115882">Onayla</translation>
 <translation id="8133676275609324831">Klasörde &amp;göster</translation>
@@ -4996,7 +4990,6 @@
 <translation id="8736288397686080465">Bu site arka planda güncellendi.</translation>
 <translation id="8737685506611670901"><ph name="REPLACED_HANDLER_TITLE" /> yerine <ph name="PROTOCOL" /> bağlantılarını açma</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Pencere İçinde Pencere</translation>
 <translation id="8743390665131937741">Tam ekran yakınlaştırma düzeyi:</translation>
 <translation id="8743864605301774756">1 saat önce güncellendi</translation>
 <translation id="874689135111202667">{0,plural, =1{Bu siteye bir dosya yüklensin mi?}other{Bu siteye # dosya yüklensin mi?}}</translation>
@@ -5270,6 +5263,7 @@
 <translation id="9158715103698450907">Hata! Kimlik doğrulama sırasında bir ağ iletişim sorunu oldu. Lütfen ağ bağlantınızı kontrol edin ve tekrar deneyin.</translation>
 <translation id="9161070040817969420"><ph name="PARENT_SITE" /> için alt çerçeveler</translation>
 <translation id="916501514001398070">Sistem verilerini gönderin. Bu cihaz şu anda teşhis, cihaz ve uygulama kullanım verilerini Google'a otomatik olarak göndermektedir. Bu ayar, cihaz sahibi tarafından uygulanır. Ayrıca Web ve Uygulama Etkinliği'ni etkinleştirdiyseniz bu bilgi, Etkinliğim sayfasında yönetebilmeniz için hesabınızda depolanır. <ph name="BEGIN_LINK1" />Daha Fazla Bilgi<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Pencere içinde Pencere</translation>
 <translation id="9169496697824289689">Klavye kısayollarını görüntüle</translation>
 <translation id="9169931577761441333"><ph name="APP_NAME" /> uygulamasını Ana ekrana ekle</translation>
 <translation id="9170397650136757332">Şimdi parmak izinizin tüm farklı noktalarını yakalamak için parmağınızı çok az hareket ettirin</translation>
@@ -5320,7 +5314,6 @@
 <translation id="952992212772159698">Etkin değil</translation>
 <translation id="957960681186851048">Bu site birden fazla dosyayı otomatik olarak indirmeye çalıştı</translation>
 <translation id="9580706199804957">Google hizmetlerine bağlanamadı</translation>
-<translation id="958416628331784386">Bu sekmede bir video Pencere İçinde Pencere modunda oynatılıyor.</translation>
 <translation id="960719561871045870">Operatör kodu</translation>
 <translation id="960987915827980018">Yaklaşık 1 saat kaldı</translation>
 <translation id="962802172452141067">Yer işareti klasör ağacı</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 31af287..87431166 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Пауза</translation>
 <translation id="1181037720776840403">Видалити</translation>
 <translation id="1183237619868651138">Не вдається встановити <ph name="EXTERNAL_CRX_FILE" /> у локальному кеші.</translation>
+<translation id="1183378459020939734">Готові підключити ключ безпеки?</translation>
 <translation id="1185924365081634987">Щоб виправити цю помилку мережі, можна також спробувати <ph name="GUEST_SIGNIN_LINK_START" />перегляд у гостьовому режимі<ph name="GUEST_SIGNIN_LINK_END" />.</translation>
 <translation id="1186771945450942097">Вилучити зловмисне програмне забезпечення</translation>
 <translation id="1187722533808055681">Вихід зі стану неактивності</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Допоможіть покращити <ph name="PRODUCT_NAME" />, автоматично надсилаючи статистику використання та звіти про аварійне завершення роботи в Google</translation>
 <translation id="1658424621194652532">Ця сторінка має доступ до вашого мікрофона.</translation>
 <translation id="1660204651932907780">Дозволити сайтам відтворювати звук (рекомендується)</translation>
-<translation id="1660938185063657230">Підтвердьте ключ безпеки</translation>
 <translation id="1661156625580498328">Застосувати шифрування AES (рекомендовано).</translation>
 <translation id="1661245713600520330">На цій сторінці вказано всі модулі, завантажені в основний процес, і модулі, зареєстровані для пізнішого завантаження.</translation>
 <translation id="166179487779922818">Пароль закороткий.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Змінити режим Touch HUD</translation>
 <translation id="1784849162047402014">На диску пристрою мало вільного місця</translation>
 <translation id="1786636458339910689">Спільні Диски</translation>
+<translation id="1792161662640298233">Підтвердження ключа безпеки</translation>
 <translation id="1792619191750875668">Розширений дисплей</translation>
 <translation id="1794791083288629568">Надіслати відгук, щоб допомогти нам вирішити цю проблему.</translation>
 <translation id="1795214765651529549">Вибрати класичну тему</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Видалити пароль для <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Торкніться меню "Сповіщення додатків" &gt; "Сервіси Google Play".</translation>
 <translation id="1826516787628120939">Перевірка</translation>
-<translation id="1827750274519118478">Відео в режимі "Картинка в картинці" зупиниться.</translation>
 <translation id="1828378091493947763">Цей плагін не підтримується на цьому пристрої</translation>
 <translation id="1828901632669367785">Друкувати за допомогою діалогового вікна системи...</translation>
 <translation id="1829192082282182671">Зменшити &amp;масштаб</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">Розширення "<ph name="EXTENSION" />" має доступ до читання й записування зображень, відео та звукових файлів у вибраних розташуваннях.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> готовий виконати інсталяцію</translation>
 <translation id="1871615898038944731">Ваш пристрій <ph name="DEVICE_TYPE" /> оновлено</translation>
+<translation id="1875312262568496299">Почати</translation>
 <translation id="1875387611427697908">Можна додавати лише із сайту <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Не вдалось отримати маркер автентифікації. Щоб повторити спробу, вийдіть і знову ввійдіть в обліковий запис.</translation>
 <translation id="1878302395768190018">Це можна будь-коли змінити в налаштуваннях Chrome</translation>
@@ -678,7 +679,7 @@
 <translation id="1997616988432401742">Ваші сертифікати</translation>
 <translation id="1999115740519098545">Після запуску</translation>
 <translation id="2001796770603320721">Керувати на Диску</translation>
-<translation id="2004663115385769400">Не вдається відкрити за допомогою $1</translation>
+<translation id="2004663115385769400">Не вдається відкрити за допомогою додатка $1</translation>
 <translation id="200544492091181894">Це можна змінити пізніше в налаштуваннях</translation>
 <translation id="2006638907958895361">Відкрити посилання в додатку <ph name="APP" /></translation>
 <translation id="2007404777272201486">Повідомити про проблему...</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Автор фотографії: <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Надіслати на телефон</translation>
 <translation id="2119349053129246860">Відкрити в додатку <ph name="APP" /></translation>
+<translation id="2120297377148151361">Активність і взаємодії</translation>
 <translation id="2121825465123208577">Змінити розмір</translation>
 <translation id="2124930039827422115">{1,plural, =1{Оцінка одного користувача: <ph name="AVERAGE_RATING" />.}one{Оцінка # користувача: <ph name="AVERAGE_RATING" />.}few{Оцінка # користувачів: <ph name="AVERAGE_RATING" />.}many{Оцінка # користувачів: <ph name="AVERAGE_RATING" />.}other{Оцінка # користувача: <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">Ваш адміністратор вимкнув синхронізацію.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Розмір паперу</translation>
 <translation id="2318817390901984578">Щоб користуватися додатками Android, зарядіть і оновіть пристрій <ph name="DEVICE_TYPE" />.</translation>
 <translation id="2318923050469484167">Поточний сеанс анонімного перегляду (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Використовуйте ключ безпеки з додатком <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Верхні та нижні колонтитули</translation>
 <translation id="2325650632570794183">Цей тип файлу не підтримується. Відвідайте Веб-магазин Chrome, щоб знайти програму, яка може відкрити файл цього типу.</translation>
 <translation id="2326931316514688470">&amp;Перезавантажити додаток</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Додати файл для спільного доступу</translation>
 <translation id="2367972762794486313">Показати програми</translation>
 <translation id="2369536625682139252">Усі дані, збережені сайтом <ph name="SITE" />, буде видалено (окрім файлів cookie).</translation>
+<translation id="237058345584060620">Підключіть ключ до пристрою, щоб входити з нього в обліковий запис</translation>
 <translation id="2371076942591664043">Відкрити коли &amp;виконано</translation>
 <translation id="2376559921867170420">Налаштувавши Chromebook, натисніть кнопку Асистента або скажіть "Ok Google", щоб будь-коли отримати допомогу від Асистента.</translation>
 <translation id="2377319039870049694">Список</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Не вдається знайти телефон. Переконайтеся, що на пристрої <ph name="DEVICE_TYPE" /> увімкнено Bluetooth. &lt;a&gt;Докладніше&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Додати &amp;папку...</translation>
 <translation id="249113932447298600">На жаль, зараз пристрій <ph name="DEVICE_LABEL" /> не підтримується.</translation>
+<translation id="2492040222276243256">Утримуйте кнопку на ключі безпеки принаймні 5 секунд</translation>
 <translation id="2493021387995458222">Вибирати "слово за раз"</translation>
 <translation id="249303669840926644">Не вдалося закінчити реєстрацію</translation>
 <translation id="2495777824269688114">Відкрийте для себе нові функції або отримайте відповіді. Виберіть "?", щоб переглянути довідку.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Очікування доступного сокета…</translation>
 <translation id="252219247728877310">Компонент не оновлено</translation>
 <translation id="2522791476825452208">Дуже близько</translation>
+<translation id="2523184218357549926">Надсилає в Google URL-адреси відвіданих сторінок</translation>
 <translation id="2525250408503682495">Це ж треба! Не вдалося підключити розташування для криптографії програми для терміналів.</translation>
 <translation id="2526277209479171883">Установити та продовжити</translation>
 <translation id="2526590354069164005">Google Desktop</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Ви не ввійшли в <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Вітаємо! Вашу службу передавання даних "<ph name="NAME" />" активовано. Нею можна користуватися.</translation>
 <translation id="2564520396658920462">Виконання JavaScript через AppleScript вимкнено. Щоб увімкнути його, на панелі меню виберіть "Перегляд" &gt; "Для розробників" &gt; "Дозволити JavaScript від подій Apple". Щоб дізнатися більше, відвідайте сторінку https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Покращена перевірка орфографії</translation>
 <translation id="2566124945717127842">Виконайте Powerwash, щоб відновити заводські налаштування пристрою <ph name="IDS_SHORT_PRODUCT_NAME" />.</translation>
 <translation id="2567257616420533738">Пароль збережено. Переглядайте збережені паролі та керуйте ними на сторінці <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Контейнер інформаційної панелі</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> використовує <ph name="USAGE" /> МБ місця на диску.</translation>
 <translation id="2633212996805280240">Видалити "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> не вдалося завершити встановлення, але він продовжить працювати, використовуючи своє зображення диска.</translation>
+<translation id="2633326789677284179">Знайдіть назву на звороті ключа</translation>
 <translation id="2635276683026132559">Підписування</translation>
 <translation id="2636625531157955190">Chrome не може отримати доступ до зображення.</translation>
 <translation id="2638087589890736295">Введіть парольну фразу, щоб почати синхронізацію</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Не вдається скопіювати зовнішній файл .crx у файл <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558"><ph name="DEVICE_NAME" />: підключено</translation>
 <translation id="3101709781009526431">Дата та час</translation>
+<translation id="3104900172193317662">Дозволити використання ключа безпеки</translation>
 <translation id="310671807099593501">Сайт використовує Bluetooth</translation>
 <translation id="3115128645424181617">Не вдається знайти телефон. Переконайтеся, що він поблизу та на ньому ввімкнено Bluetooth.</translation>
 <translation id="3115147772012638511">...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Завжди забороняти сайту <ph name="HOST" /> переглядати буфер обміну</translation>
 <translation id="3840053866656739575">Утрачено з’єднання з Chromebox. Підійдіть ближче або перевірте пристрій, поки ми намагатимемося відновити з’єднання.</translation>
 <translation id="3842552989725514455">Шрифт Serif</translation>
+<translation id="3846116211488856547">Отримайте інструменти для розробки веб-сайтів, додатків Android тощо. Під час встановлення Linux завантажиться <ph name="DOWNLOAD_SIZE" /> даних.</translation>
 <translation id="385051799172605136">Назад</translation>
 <translation id="3851428669031642514">Завантажити небезпечні сценарії</translation>
 <translation id="3855441664322950881">Запакувати розширення</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Звільніть місце на диску. Інакше пристрій перестане відповідати.</translation>
 <translation id="3878840326289104869">Створення користувача, яким керує адміністратор</translation>
 <translation id="3879748587602334249">Диспетчер завантажень</translation>
+<translation id="3880709822663530586">Ключ безпеки працює, лише коли на пристрої ввімкнено Bluetooth</translation>
 <translation id="3888550877729210209">Створення нотаток за допомогою додатка <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Додати OpenVPN або L2TP…</translation>
 <translation id="3893536212201235195">Переглядати та змінювати налаштування доступності</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Відкрити оригінальне зображення в новій вкладці</translation>
 <translation id="4682551433947286597">Фонові малюнки з’являються на екрані входу.</translation>
 <translation id="4684427112815847243">Синхронізувати все</translation>
+<translation id="4689235506267737042">Виберіть демо-параметри</translation>
 <translation id="4689421377817139245">Синхронізуйте цю закладку з iPhone</translation>
 <translation id="4690091457710545971">&lt;Мікропрограма Wi-Fi від Intel згенерувала чотири файли: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon. Перші три – це двійкові файли, що містять дані розвантаження пам’яті реєстру та не включають особисту інформацію й відомості, за якими можна ідентифікувати пристрій (як стверджує компанія Intel). Останній файл – це трасування виконання мікропрограми Intel; з нього стерто всю особисту інформацію й дані, за якими можна ідентифікувати пристрій, але він завеликий, щоб відображатися тут. Ці файли згенеровано у відповідь на нещодавні проблеми з Wi-Fi на пристрої. Їх буде надіслано в Intel, щоб допомогти вирішити ці проблеми.&gt;</translation>
 <translation id="4692302215262324251">Ваш пристрій <ph name="DEVICE_TYPE" /> зареєстровано для корпоративного керування в домені <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Службу пересилання мобільних даних активовано. Нею можна користуватися</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Відкрити всі в &amp;анонімному вікні}=1{Відкрити в &amp;анонімному вікні}one{Відкрити всі (#) в &amp;анонімному вікні}few{Відкрити всі (#) в &amp;анонімному вікні}many{Відкрити всі (#) в &amp;анонімному вікні}other{Відкрити всі (#) в &amp;анонімному вікні}}</translation>
 <translation id="4858913220355269194">Футбол</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" />: відео відтворюється в режимі "Картинка в картинці"</translation>
 <translation id="4862050643946421924">Додавання пристрою…</translation>
 <translation id="4862642413395066333">Підписування відповідей OCSP</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" />x<ph name="HEIGHT" /> (за умовчанням)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Пошук в історії</translation>
 <translation id="4881695831933465202">Відкрити</translation>
 <translation id="4882473678324857464">Перейти до закладок</translation>
+<translation id="4882831918239250449">Указуйте, як використовувати історію веб-перегляду для персоналізації Пошуку, оголошень тощо</translation>
 <translation id="4883178195103750615">Експортувати закладки у файл HTML...</translation>
 <translation id="4883436287898674711">Усі сайти <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Диспетчер завдань</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">В&amp;ідкрити закриту вкладку знову</translation>
 <translation id="52912272896845572">Файл секретного ключа недійсний.</translation>
 <translation id="529175790091471945">Форматувати цей пристрій</translation>
+<translation id="5292195676005197571">Просто натисніть кнопку (для більшості ключів)</translation>
 <translation id="5293170712604732402">Відновити початкові налаштування за умовчанням</translation>
 <translation id="5298219193514155779">Автор теми:</translation>
 <translation id="5299109548848736476">Не відстежувати</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">З міркувань безпеки Smart Lock запропонує ввести пароль через 20 годин.</translation>
 <translation id="5659593005791499971">Електронна пошта</translation>
 <translation id="5659833766619490117">Цю сторінку неможливо перекласти</translation>
+<translation id="5660204307954428567">Підключити до пристрою <ph name="DEVICE_NAME" />?</translation>
 <translation id="5662477687021125631">Безстрокова ліцензія</translation>
 <translation id="5667546120811588575">Налаштування Google Play…</translation>
 <translation id="5669267381087807207">Активація</translation>
 <translation id="5669691691057771421">Введіть новий PIN-код</translation>
 <translation id="5671641761787789573">Зображення заблоковано</translation>
+<translation id="5673076758299428095">Завершити роботу Linux</translation>
 <translation id="5677503058916217575">Мова сторінки:</translation>
 <translation id="5677928146339483299">Заблоковано</translation>
 <translation id="5678550637669481956"><ph name="VOLUME_NAME" />: надано доступ для перегляду й редагування.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Інструмент створення образів ОС Chrome</translation>
 <translation id="5921745308587794300">Обернути вікно</translation>
 <translation id="5924047253200400718">Довідка<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Зробіть новий знімок або виберіть наявне фото чи значок.
+    <ph name="LINE_BREAK" />
+    Це зображення з’являтиметься на екрані входу й заблокованому екрані Chromebook.</translation>
 <translation id="5925147183566400388">Вказівник на заяву про порядок сертифікації</translation>
 <translation id="592880897588170157">Завантажуйте файли PDF замість автоматичного відкривання їх у Chrome</translation>
 <translation id="5931146425219109062">Читати й змінювати всі ваші дані на веб-сайтах, які ви відвідуєте</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Перевірте рівень мікрофона та звуку.</translation>
 <translation id="6080515710685820702">Користуєтеся комп’ютером спільно з іншими? Відкрийте вікно в режимі анонімного перегляду.</translation>
 <translation id="6080689532560039067">Перевірте час системи</translation>
+<translation id="6082111513049964958">Пароль для розблокування</translation>
 <translation id="6082651258230788217">Показати на панелі інструментів</translation>
 <translation id="6086846494333236931">Установив адміністратор</translation>
 <translation id="6087960857463881712">Гарне обличчя</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Не може використовуватися як ім’я файлу чи назва папки</translation>
 <translation id="642469772702851743">Власник заблокував цей пристрій (серійний номер <ph name="SERIAL_NUMBER" />).</translation>
 <translation id="6426200009596957090">Відкрити налаштування ChromeVox</translation>
+<translation id="6427415464407526111">Виберіть ключ безпеки</translation>
 <translation id="6429384232893414837">Помилка оновлення</translation>
 <translation id="6430814529589430811">ASCII Base64-кодування, єдиний сертифікат</translation>
 <translation id="6431217872648827691">Усі дані зашифровано за допомогою вашого пароля Google
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Не вдається завантажити великий файл PPD. Розмір не може перевищувати 250 КБ.</translation>
 <translation id="7100897339030255923">Вибрано елементів: <ph name="COUNT" /></translation>
 <translation id="7102687220333134671">Автоматичні оновлення ввімкнено</translation>
+<translation id="7102832101143475489">Час очікування запиту минув</translation>
 <translation id="7106346894903675391">Придбати більше місця...</translation>
 <translation id="7108338896283013870">Сховати</translation>
 <translation id="7108634116785509031">Сайт <ph name="HOST" /> хоче отримати доступ до вашої камери</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Фонова сторінка: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Відкрити всі у &amp;новому вікні}=1{Відкрити в &amp;новому вікні}one{Відкрити всі (#) у &amp;новому вікні}few{Відкрити всі (#) у &amp;новому вікні}many{Відкрити всі (#) у &amp;новому вікні}other{Відкрити всі (#) у &amp;новому вікні}}</translation>
 <translation id="7434509671034404296">Для розробників</translation>
-<translation id="7436470008146509879">Налаштування Linux на пристрої <ph name="DEVICE_TYPE" /></translation>
 <translation id="7436921188514130341">От халепа! Сталася помилка під час перейменування.</translation>
 <translation id="7441830548568730290">Інші користувачі</translation>
 <translation id="7442465037756169001">Обладнання Hangouts Meet hardware можна налаштовувати.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Вимкнути субтитри</translation>
 <translation id="7882358943899516840">Тип постачальника</translation>
 <translation id="7885253890047913815">Останні місця призначення</translation>
-<translation id="7886917304091689118">Відкрито в Chrome</translation>
 <translation id="7887334752153342268">Створити копію</translation>
 <translation id="7887864092952184874">Підключено мишу Bluetooth</translation>
 <translation id="7889565820482017512">Масштаб</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Розмір</translation>
 <translation id="8030656706657716245">Додати принтер</translation>
 <translation id="8032244173881942855">Не вдається транслювати вкладку.</translation>
+<translation id="8033958968890501070">Час очікування минув</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Відкрити всі в &amp;анонімному вікні}=1{Відкрити в &amp;анонімному вікні}one{Відкрити всі (#) в &amp;анонімному вікні}few{Відкрити всі (#) в &amp;анонімному вікні}many{Відкрити всі (#) в &amp;анонімному вікні}other{Відкрити всі (#) в &amp;анонімному вікні}}</translation>
 <translation id="8037117027592400564">Читати весь текст, відтворений за допомогою синтезованого мовлення</translation>
 <translation id="8037357227543935929">Запитувати (за умовчанням)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Керувати вашими завантаженнями</translation>
 <translation id="81238879832906896">Жовто-біла квітка</translation>
 <translation id="8124313775439841391">Керований ONC</translation>
-<translation id="8125562866093998907">Сайт хоче підтвердити ваш ключ безпеки, щоб покращити захист облікового запису.</translation>
 <translation id="813082847718468539">Перегляд інформації про сайт</translation>
 <translation id="8131740175452115882">Підтвердити</translation>
 <translation id="8133676275609324831">&amp;Показати в папці</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">сторінка</translation>
 <translation id="8180786512391440389">Розширення "<ph name="EXTENSION" />" має доступ до читання й видалення зображень, відео та звукових файлів у вибраних розташуваннях.</translation>
 <translation id="8181215761849004992">Не вдається приєднатися до домену. Перевірте в обліковому записі, чи ви можете додавати пристрої.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Цей сайт заблоковано помилково.</translation>
 <translation id="8184288427634747179">Перейти у профіль "<ph name="AVATAR_NAME" />"</translation>
 <translation id="8184318863960255706">Докладніше</translation>
 <translation id="8185331656081929126">Показувати сповіщення, якщо в мережі виявлено нові принтери</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Порт налагодження NaCl</translation>
 <translation id="843760761634048214">Зберегти дані кредитної картки</translation>
 <translation id="8438328416656800239">Виберіть розумний веб-переглядач</translation>
+<translation id="8438566539970814960">Покращувати пошук і веб-перегляд</translation>
 <translation id="8439506636278576865">Пропонувати переклад сторінок цією мовою</translation>
 <translation id="8446884382197647889">Докладніше</translation>
 <translation id="8447409163267621480">Натискайте Ctrl або Alt</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Цей сайт оновлено у фоновому режимі.</translation>
 <translation id="8737685506611670901">Відкривати посилання протоколу <ph name="PROTOCOL" />, а не обробника <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Картинка в картинці</translation>
 <translation id="8743390665131937741">Рівень масштабування лупи для всього екрана:</translation>
 <translation id="8743864605301774756">Оновлено 1 год тому</translation>
 <translation id="874689135111202667">{0,plural, =1{Завантажити один файл на цей сайт?}one{Завантажити # файл на цей сайт?}few{Завантажити # файли на цей сайт?}many{Завантажити # файлів на цей сайт?}other{Завантажити # файлу на цей сайт?}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – аварійне завершення роботи</translation>
 <translation id="8983677657449185470">Допоможіть покращити безпечний перегляд</translation>
 <translation id="8984654317541110628">URL-адреса спільного файлу</translation>
+<translation id="8984872292925913496">Знайдіть шестизначний PIN-код на звороті ключа</translation>
 <translation id="8986362086234534611">Видалити</translation>
 <translation id="8986494364107987395">Автоматично надсилати статистику використання та звіти про аварійне завершення роботи в Google</translation>
 <translation id="8987927404178983737">Місяць</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">На жаль, під час автентифікації виникла проблема з обміном даних через мережу. Перевірте з’єднання з мережею та повторіть спробу.</translation>
 <translation id="9161070040817969420">Додаткові фрейми для сайту <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Надсилання системних даних. Зараз цей пристрій автоматично надсилає в Google дані про діагностику та використання пристрою й додатків. Цей параметр налаштовано власником. Якщо Історію додатків і веб-пошуку ввімкнено, ця інформація зберігатиметься в обліковому записі. Ви зможете керувати нею в розділі "Моя активність". <ph name="BEGIN_LINK1" />Докладніше<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Картинка в картинці</translation>
 <translation id="9169496697824289689">Переглянути комбінації клавіш</translation>
 <translation id="9169931577761441333">Додати додаток <ph name="APP_NAME" /> на головний екран</translation>
 <translation id="9170397650136757332">Тепер трохи перемістіть палець, щоб зісканувати всі його частини</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">Не активовано</translation>
 <translation id="957960681186851048">Цей сайт намагався автоматично завантажити декілька файлів</translation>
 <translation id="9580706199804957">Не вдалося під’єднатися до служб Google</translation>
-<translation id="958416628331784386">На цій вкладці відео відтворюється в режимі "Картинка в картинці".</translation>
 <translation id="960719561871045870">Код оператора</translation>
 <translation id="960987915827980018">Залишилася приблизно 1 год.</translation>
 <translation id="962802172452141067">Дерево папок із закладками</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index d212fe0..e37c6b1 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">Tạm dừng</translation>
 <translation id="1181037720776840403">Xóa</translation>
 <translation id="1183237619868651138">Không thể cài đặt <ph name="EXTERNAL_CRX_FILE" /> trong bộ nhớ đệm cục bộ.</translation>
+<translation id="1183378459020939734">Bạn đã sẵn sàng ghép nối Khóa bảo mật?</translation>
 <translation id="1185924365081634987">Bạn cũng có thể thử <ph name="GUEST_SIGNIN_LINK_START" />duyệt với tư cách khách<ph name="GUEST_SIGNIN_LINK_END" /> để khắc phục lỗi mạng này.</translation>
 <translation id="1186771945450942097">Xóa phần mềm độc hại</translation>
 <translation id="1187722533808055681">Đánh thức khỏi chế độ rảnh</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">Trợ giúp cải thiện <ph name="PRODUCT_NAME" /> bằng cách tự động gửi cho Google thống kê sử dụng và báo cáo sự cố</translation>
 <translation id="1658424621194652532">Trang này đang truy cập micrô của bạn.</translation>
 <translation id="1660204651932907780">Cho phép các trang web phát âm thanh (được đề xuất)</translation>
-<translation id="1660938185063657230">Xác minh khóa bảo mật của bạn</translation>
 <translation id="1661156625580498328">Thực thi mã hóa AES (khuyên dùng).</translation>
 <translation id="1661245713600520330">Trang này liệt kê tất cả các mô-đun được tải vào quy trình chính và các mô-đun được đăng ký để tải sau này.</translation>
 <translation id="166179487779922818">Mật khẩu quá ngắn.</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">Thay đổi chế độ HUD cảm ứng</translation>
 <translation id="1784849162047402014">Thiết bị sắp hết dung lượng đĩa</translation>
 <translation id="1786636458339910689">Drive Nhóm</translation>
+<translation id="1792161662640298233">Đang xác minh Khóa bảo mật</translation>
 <translation id="1792619191750875668">Màn hình mở rộng</translation>
 <translation id="1794791083288629568">Gửi phản hồi để giúp chúng tôi khắc phục sự cố này.</translation>
 <translation id="1795214765651529549">Sử dụng chủ đề Cổ điển</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">Xóa mật khẩu của <ph name="USERNAME" /></translation>
 <translation id="1819721979226826163">Nhấn vào Thông báo ứng dụng &gt; Dịch vụ của Google Play.</translation>
 <translation id="1826516787628120939">Đang kiểm tra</translation>
-<translation id="1827750274519118478">Video ở chế độ Hình trong hình sẽ dừng phát.</translation>
 <translation id="1828378091493947763">Thiết bị này không hỗ trợ plugin này</translation>
 <translation id="1828901632669367785">In bằng hộp thoại hệ thống...</translation>
 <translation id="1829192082282182671">Thu &amp;nhỏ</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">"<ph name="EXTENSION" />" có thể đọc và ghi hình ảnh, video và tệp âm thanh trong các vị trí đã chọn.</translation>
 <translation id="1867780286110144690"><ph name="PRODUCT_NAME" /> sẵn sàng hoàn tất việc cài đặt của bạn</translation>
 <translation id="1871615898038944731"><ph name="DEVICE_TYPE" /> của bạn đã cập nhật</translation>
+<translation id="1875312262568496299">Bắt đầu</translation>
 <translation id="1875387611427697908">Chỉ có thể thêm ứng dụng/tiện ích này từ <ph name="CHROME_WEB_STORE" /></translation>
 <translation id="1877520246462554164">Không nhận được mã thông báo xác thực. Vui lòng đăng xuất rồi đăng nhập lại để thử lại.</translation>
 <translation id="1878302395768190018">Bạn có thể tùy chỉnh tùy chọn này bất cứ lúc nào trong mục Cài đặt Chrome</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">Ảnh của <ph name="NAME" /></translation>
 <translation id="2115103655317273167">Gửi tới điện thoại</translation>
 <translation id="2119349053129246860">Mở trong <ph name="APP" /></translation>
+<translation id="2120297377148151361">Hoạt động và tương tác</translation>
 <translation id="2121825465123208577">Đổi kích thước</translation>
 <translation id="2124930039827422115">{1,plural, =1{Một người dùng đã xếp hạng <ph name="AVERAGE_RATING" />.}other{# người dùng đã xếp hạng <ph name="AVERAGE_RATING" />.}}</translation>
 <translation id="2126167708562367080">Đồng bộ hóa bị quản trị viên của bạn tắt.</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">Khổ giấy</translation>
 <translation id="2318817390901984578">Để sử dụng ứng dụng Android, hãy tính phí và cập nhật <ph name="DEVICE_TYPE" /> của bạn.</translation>
 <translation id="2318923050469484167">Phiên ẩn danh hiện tại (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">Sử dụng Khóa bảo mật cho <ph name="APP_NAME" /></translation>
 <translation id="2322193970951063277">Đầu trang và chân trang</translation>
 <translation id="2325650632570794183">Loại tệp này không được hỗ trợ. Vui lòng truy cập Cửa hàng Chrome trực tuyến để tìm ứng dụng có thể mở loại tệp này.</translation>
 <translation id="2326931316514688470">Tải &amp;lại ứng dụng</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">Thêm Chia sẻ tệp</translation>
 <translation id="2367972762794486313">Hiển thị ứng dụng</translation>
 <translation id="2369536625682139252">Tất cả dữ liệu do <ph name="SITE" /> lưu trữ sẽ bị xóa, ngoại trừ cookie.</translation>
+<translation id="237058345584060620">Ghép nối khóa với thiết bị này để bạn có thể đăng nhập vào tài khoản bằng khóa đó</translation>
 <translation id="2371076942591664043">Mở khi &amp;hoàn tất</translation>
 <translation id="2376559921867170420">Khi thiết lập Chromebook, hãy nhấn nút Trợ lý hoặc nói "OK Google" để nhận trợ giúp từ Trợ lý của bạn bất cứ lúc nào.</translation>
 <translation id="2377319039870049694">Chuyển sang chế độ xem danh sách</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">Không thể tìm thấy điện thoại của bạn. Hãy đảm bảo Bluetooth của <ph name="DEVICE_TYPE" /> đang bật. &lt;a&gt;Tìm hiểu thêm&lt;/a&gt;</translation>
 <translation id="2489918096470125693">Thêm &amp;thư mục...</translation>
 <translation id="249113932447298600">Rất tiếc, thiết bị <ph name="DEVICE_LABEL" /> không được hỗ trợ vào thời điểm này.</translation>
+<translation id="2492040222276243256">Nhấn và giữ nút trên Khóa bảo mật trong ít nhất 5 giây</translation>
 <translation id="2493021387995458222">Chọn "từng từ một"</translation>
 <translation id="249303669840926644">Không thể hoàn tất đăng ký</translation>
 <translation id="2495777824269688114">Khám phá các tính năng khác hoặc nhận câu trả lời. Hãy chọn “?” để được trợ giúp.</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">Đang chờ cổng kết nối hiện có...</translation>
 <translation id="252219247728877310">Thành phần chưa được cập nhật</translation>
 <translation id="2522791476825452208">Rất gần</translation>
+<translation id="2523184218357549926">Gửi cho Google URL của các trang bạn truy cập</translation>
 <translation id="2525250408503682495">Rất tiếc! Không thể gắn cryptohome dành cho ứng dụng kiosk.</translation>
 <translation id="2526277209479171883">Cài đặt và tiếp tục</translation>
 <translation id="2526590354069164005">Màn hình nền</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">Chưa được đăng nhập vào <ph name="SHORT_PRODUCT_NAME" /></translation>
 <translation id="2563856802393254086">Xin chúc mừng! Dịch vụ dữ liệu '<ph name="NAME" />' của bạn đã được kích hoạt và sẵn sàng sử dụng.</translation>
 <translation id="2564520396658920462">Tùy chọn thực thi JavaScript qua AppleScript đã bị tắt. Để bật tùy chọn này, từ thanh menu, hãy chuyển đến Xem&gt; Nhà phát triển &gt; Cho phép JavaScript từ Apple Events. Để biết thêm thông tin, hãy truy cập vào https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">Kiểm tra lỗi chính tả nâng cao</translation>
 <translation id="2566124945717127842">Powerwash để đặt lại thiết bị <ph name="IDS_SHORT_PRODUCT_NAME" /> của bạn giống như mới.</translation>
 <translation id="2567257616420533738">Đã lưu mật khẩu. Xem và quản lý mật khẩu đã lưu tại <ph name="SAVED_PASSWORDS_LINK" /></translation>
 <translation id="2568774940984945469">Bộ chứa Thanh thông tin</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344"><ph name="NAME" /> đang sử dụng <ph name="USAGE" /> MB dung lượng đĩa.</translation>
 <translation id="2633212996805280240">Xóa "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> không thể hoàn tất cài đặt nhưng sẽ tiếp tục chạy từ hình ảnh đĩa của trình duyệt này.</translation>
+<translation id="2633326789677284179">Tìm tên in trên mặt sau khóa</translation>
 <translation id="2635276683026132559">Ký</translation>
 <translation id="2636625531157955190">Chrome không thể truy cập hình ảnh.</translation>
 <translation id="2638087589890736295">Yêu cầu cụm mật khẩu để bắt đầu đồng bộ hóa</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">Không thể sao chép tệp crx bên ngoài sang <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Đã ghép nối "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3101709781009526431">Ngày và giờ</translation>
+<translation id="3104900172193317662">Cho phép sử dụng Khóa bảo mật của bạn</translation>
 <translation id="310671807099593501">Trang web đang sử dụng Bluetooth</translation>
 <translation id="3115128645424181617">Không thể tìm thấy điện thoại của bạn. Hãy đảm bảo rằng điện thoại ở trong tầm tay và Bluetooth đang bật.</translation>
 <translation id="3115147772012638511">Đang chờ bộ nhớ đệm…</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">Luôn chặn <ph name="HOST" /> xem khay nhớ tạm</translation>
 <translation id="3840053866656739575">Mất kết nối với Chromebox của bạn. Vui lòng chuyển thiết bị đến gần hơn hoặc kiểm tra thiết bị của bạn trong khi chúng tôi tìm cách kết nối lại.</translation>
 <translation id="3842552989725514455">Phông chữ Serif</translation>
+<translation id="3846116211488856547">Tải các công cụ phát triển trang web, ứng dụng Android, v.v. Việc cài đặt Linux sẽ tải <ph name="DOWNLOAD_SIZE" /> dữ liệu xuống.</translation>
 <translation id="385051799172605136">Quay lại</translation>
 <translation id="3851428669031642514">Tải tập lệnh không an toàn</translation>
 <translation id="3855441664322950881">Đóng gói tiện ích</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">Giải phóng dung lượng đĩa, nếu không thiết bị sẽ không phản hồi.</translation>
 <translation id="3878840326289104869">Tạo người dùng được giám sát</translation>
 <translation id="3879748587602334249">Trình quản lý tải xuống</translation>
+<translation id="3880709822663530586">Khóa bảo mật chỉ hoạt động khi bạn bật Bluetooth trên thiết bị của mình</translation>
 <translation id="3888550877729210209">Ghi chú bằng <ph name="LOCK_SCREEN_APP_NAME" /></translation>
 <translation id="3892414795099177503">Thêm OpenVPN / L2TP...</translation>
 <translation id="3893536212201235195">Đọc và thay đổi cài đặt khả năng truy cập của bạn</translation>
@@ -2361,6 +2372,7 @@
 <translation id="4681930562518940301">Mở &amp;hình ảnh gốc trong tab mới</translation>
 <translation id="4682551433947286597">Hình nền xuất hiện trên màn hình đăng nhập.</translation>
 <translation id="4684427112815847243">Đồng bộ hóa mọi thứ</translation>
+<translation id="4689235506267737042">Chọn tùy chọn minh họa</translation>
 <translation id="4689421377817139245">Đồng bộ hóa dấu trang này với iPhone của bạn</translation>
 <translation id="4690091457710545971">&lt;Bốn tệp do chương trình cơ sở Intel Wi-Fi tạo ra: csr.lst, fh_regs.lst, radio_reg.lst, monitor.lst.sysmon.  Ba tệp đầu tiên là tệp nhị phân có chứa nội dung kết xuất đăng ký và được Intel xác nhận là không chứa thông tin nhận dạng cá nhân hoặc thiết bị.  Tệp cuối cùng là dấu vết thực thi từ chương trình cơ sở Intel; tệp này đã được xóa mọi thông tin nhận dạng cá nhân hoặc thiết bị, nhưng kích thước tệp quá lớn nên không hiển thị được ở đây.  Các tệp này được tạo do các sự cố Wi-Fi xảy ra gần đây với thiết bị của bạn và sẽ được chia sẻ với Intel để giúp khắc phục các sự cố này.&gt;</translation>
 <translation id="4692302215262324251"><ph name="DEVICE_TYPE" /> của bạn đã được đăng ký thành công cho quản lý doanh nghiệp <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />.
@@ -2466,7 +2478,6 @@
 <translation id="4856478137399998590">Dịch vụ dữ liệu di động của bạn đã được kích hoạt và sẵn sàng để sử dụng</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{Mở tất cả trong &amp;cửa sổ ẩn danh}=1{Mở trong &amp;cửa sổ ẩn danh}other{Mở tất cả (#) trong cửa sổ ẩn danh}}</translation>
 <translation id="4858913220355269194">Nam cầu thủ Fritz</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - Phát video ở chế độ Hình trong hình</translation>
 <translation id="4862050643946421924">Đang thêm thiết bị...</translation>
 <translation id="4862642413395066333">Ký Phản hồi OCSP</translation>
 <translation id="4863769717153320198">Có vẻ như là <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Mặc định)</translation>
@@ -2490,6 +2501,7 @@
 <translation id="4880827082731008257">Lịch sử tìm kiếm</translation>
 <translation id="4881695831933465202">Mở</translation>
 <translation id="4882473678324857464">Lấy tiêu điểm dấu trang</translation>
+<translation id="4882831918239250449">Kiểm soát cách chúng tôi sử dụng lịch sử duyệt web của bạn để cá nhân hóa dịch vụ Tìm kiếm, quảng cáo và các dịch vụ khác của Google</translation>
 <translation id="4883178195103750615">Xuất dấu trang sang tệp  HTML...</translation>
 <translation id="4883436287898674711">Tất cả trang web <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;Trình quản lý Tác vụ</translation>
@@ -2765,6 +2777,7 @@
 <translation id="5288678174502918605">&amp;Mở lại Tab đã Đóng</translation>
 <translation id="52912272896845572">Tệp khóa cá nhân không hợp lệ.</translation>
 <translation id="529175790091471945">Định dạng thiết bị này</translation>
+<translation id="5292195676005197571">Bạn chỉ cần nhấn nút để sử dụng hầu hết các khóa</translation>
 <translation id="5293170712604732402">Khôi phục cài đặt về mặc định ban đầu</translation>
 <translation id="5298219193514155779">Chủ đề được tạo bởi</translation>
 <translation id="5299109548848736476">Không theo dõi</translation>
@@ -3025,11 +3038,13 @@
 <translation id="5658415415603568799">Để tăng cường bảo mật, Smart Lock sẽ yêu cầu bạn nhập mật khẩu sau 20 giờ.</translation>
 <translation id="5659593005791499971">Email</translation>
 <translation id="5659833766619490117">Không thể dịch trang này</translation>
+<translation id="5660204307954428567">Ghép nối với <ph name="DEVICE_NAME" /></translation>
 <translation id="5662477687021125631">Vĩnh viễn</translation>
 <translation id="5667546120811588575">Đang thiết lập Google Play...</translation>
 <translation id="5669267381087807207">Đang kích hoạt</translation>
 <translation id="5669691691057771421">Nhập mã PIN mới</translation>
 <translation id="5671641761787789573">Đã chặn hình ảnh</translation>
+<translation id="5673076758299428095">Tắt Linux</translation>
 <translation id="5677503058916217575">Ngôn ngữ trang:</translation>
 <translation id="5677928146339483299">Bị chặn</translation>
 <translation id="5678550637669481956">Quyền truy cập đọc và ghi vào <ph name="VOLUME_NAME" /> đã được cấp.</translation>
@@ -3194,6 +3209,9 @@
 <translation id="5920835625712313205">Trình tạo hình ảnh hệ thống Chrome OS</translation>
 <translation id="5921745308587794300">Xoay cửa sổ</translation>
 <translation id="5924047253200400718">Nhận trợ giúp<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">Chụp ảnh mới hoặc chọn ảnh hay biểu tượng có sẵn.
+          <ph name="LINE_BREAK" />
+          Hình ảnh này sẽ hiển thị trên màn hình đăng nhập và màn hình khóa của Chromebook.</translation>
 <translation id="5925147183566400388">Con trỏ tới Báo cáo Thực hành Chứng nhận</translation>
 <translation id="592880897588170157">Tải tệp PDF xuống thay vì tự động mở trong Chrome</translation>
 <translation id="5931146425219109062">Đọc và thay đổi tất cả dữ liệu của bạn trên các trang web bạn truy cập</translation>
@@ -3290,6 +3308,7 @@
 <translation id="6078752646384677957">Vui lòng kiểm tra micrô và mức âm thanh của bạn.</translation>
 <translation id="6080515710685820702">Bạn đang sử dụng máy tính dùng chung? Hãy thử mở cửa sổ ẩn danh.</translation>
 <translation id="6080689532560039067">Kiểm tra giờ hệ thống của bạn</translation>
+<translation id="6082111513049964958">Mật khẩu mở khóa</translation>
 <translation id="6082651258230788217">Hiển thị trên thanh công cụ</translation>
 <translation id="6086846494333236931">Do quản trị viên của bạn cài đặt</translation>
 <translation id="6087960857463881712">Khuôn mặt vui nhộn</translation>
@@ -3513,6 +3532,7 @@
 <translation id="642282551015776456">Không thể sử dụng tên này làm tên tệp trong thư mục</translation>
 <translation id="642469772702851743">Thiết bị này (Số sê-ri: <ph name="SERIAL_NUMBER" />) đã bị chủ sở hữu khóa.</translation>
 <translation id="6426200009596957090">Mở cài đặt ChromeVox</translation>
+<translation id="6427415464407526111">Chọn Khóa bảo mật của bạn</translation>
 <translation id="6429384232893414837">Lỗi cập nhật</translation>
 <translation id="6430814529589430811">ASCII được mã hóa base64, chứng chỉ đơn</translation>
 <translation id="6431217872648827691">Tất cả dữ liệu đã được mã hóa bằng mật khẩu Google của bạn bắt đầu từ
@@ -3939,6 +3959,7 @@
 <translation id="7099337801055912064">Không thể tải PPD có kích cỡ lớn. Kích cỡ tối đa là 250 kB.</translation>
 <translation id="7100897339030255923">Đã chọn <ph name="COUNT" /> mục</translation>
 <translation id="7102687220333134671">Tính năng tự động cập nhật đã được bật</translation>
+<translation id="7102832101143475489">Yêu cầu đã hết giờ</translation>
 <translation id="7106346894903675391">Mua thêm dung lượng lưu trữ...</translation>
 <translation id="7108338896283013870">Ẩn</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> muốn sử dụng máy ảnh của bạn</translation>
@@ -4147,7 +4168,6 @@
 <translation id="7427348830195639090">Trang nền: <ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{Mở tất cả trong &amp;cửa sổ mới}=1{Mở trong &amp;cửa sổ mới}other{Mở tất cả (#) trong &amp;cửa sổ mới}}</translation>
 <translation id="7434509671034404296">Nhà phát triển</translation>
-<translation id="7436470008146509879">Thiết lập Linux trên <ph name="DEVICE_TYPE" /> của bạn</translation>
 <translation id="7436921188514130341">Ôi, hỏng! Đã xảy ra lỗi trong khi đổi tên.</translation>
 <translation id="7441830548568730290">Người dùng khác</translation>
 <translation id="7442465037756169001">Bạn hiện có thể thiết lập phần cứng Hangouts Meet.</translation>
@@ -4446,7 +4466,6 @@
 <translation id="7881969471599061635">Tắt phụ đề</translation>
 <translation id="7882358943899516840">Loại nhà mạng</translation>
 <translation id="7885253890047913815">Máy in đích gần đây</translation>
-<translation id="7886917304091689118">Đang chạy trong Chrome</translation>
 <translation id="7887334752153342268">Nhân đôi</translation>
 <translation id="7887864092952184874">Đã ghép nối chuột Bluetooth</translation>
 <translation id="7889565820482017512">Kích thước hiển thị</translation>
@@ -4559,6 +4578,7 @@
 <translation id="8028993641010258682">Kích thước</translation>
 <translation id="8030656706657716245">Thêm máy in</translation>
 <translation id="8032244173881942855">Không thể truyền tab.</translation>
+<translation id="8033958968890501070">Hết giờ</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{Mở tất cả trong &amp;cửa sổ ẩn danh}=1{Mở trong &amp;cửa sổ ẩn danh}other{Mở tất cả (#) trong &amp;cửa sổ ẩn danh}}</translation>
 <translation id="8037117027592400564">Đọc tất cả văn bản được nói bằng giọng nói tổng hợp</translation>
 <translation id="8037357227543935929">Yêu cầu (mặc định)</translation>
@@ -4617,7 +4637,6 @@
 <translation id="8118860139461251237">Quản lý bản tải xuống của bạn</translation>
 <translation id="81238879832906896">Hoa màu vàng và trắng</translation>
 <translation id="8124313775439841391">ONC được quản lý</translation>
-<translation id="8125562866093998907">Trang web muốn xác minh Khóa bảo mật để tăng cường bảo mật cho tài khoản của bạn.</translation>
 <translation id="813082847718468539">Xem thông tin trang web</translation>
 <translation id="8131740175452115882">Xác nhận</translation>
 <translation id="8133676275609324831">&amp;Hiển thị trong thư mục</translation>
@@ -4649,6 +4668,8 @@
 <translation id="8180239481735238521">trang</translation>
 <translation id="8180786512391440389">"<ph name="EXTENSION" />" có thể đọc và xóa các tệp hình ảnh, video và âm thanh trong vị trí đã chọn.</translation>
 <translation id="8181215761849004992">Không thể kết hợp miền. Hãy kiểm tra tài khoản của bạn để xem bạn có đủ đặc quyền thêm thiết bị hay không.</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    Tôi không cho rằng nên chặn trang web này!</translation>
 <translation id="8184288427634747179">Chuyển sang <ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">Thông tin khác</translation>
 <translation id="8185331656081929126">Hiển thị thông báo khi phát hiện thấy máy in mới trên mạng</translation>
@@ -4792,6 +4813,7 @@
 <translation id="8434480141477525001">Cổng gỡ lỗi NaCl</translation>
 <translation id="843760761634048214">Lưu thẻ tín dụng</translation>
 <translation id="8438328416656800239">Chuyển sang một trình duyệt thông minh</translation>
+<translation id="8438566539970814960">Cải thiện tính năng tìm kiếm và duyệt web</translation>
 <translation id="8439506636278576865">Đề xuất dịch trang bằng ngôn ngữ này</translation>
 <translation id="8446884382197647889">Tìm hiểu thêm</translation>
 <translation id="8447409163267621480">Bao gồm phím Ctrl hoặc phím Alt</translation>
@@ -4996,7 +5018,6 @@
 <translation id="8736288397686080465">Trang web này đã được cập nhật trong nền.</translation>
 <translation id="8737685506611670901">Mở liên kết <ph name="PROTOCOL" /> thay vì <ph name="REPLACED_HANDLER_TITLE" /></translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">Chế độ hình trong hình</translation>
 <translation id="8743390665131937741">Mức thu phóng toàn bộ màn hình:</translation>
 <translation id="8743864605301774756">Đã cập nhật 1 giờ trước</translation>
 <translation id="874689135111202667">{0,plural, =1{Bạn muốn tải một tệp lên trang web này?}other{Bạn muốn tải # tệp lên trang web này?}}</translation>
@@ -5148,6 +5169,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Đã bị lỗi</translation>
 <translation id="8983677657449185470">Giúp cải thiện tính năng Duyệt web an toàn</translation>
 <translation id="8984654317541110628">URL chia sẻ tệp</translation>
+<translation id="8984872292925913496">Tìm mã PIN có 6 chữ số ở mặt sau của khóa</translation>
 <translation id="8986362086234534611">Quên</translation>
 <translation id="8986494364107987395">Tự động gửi số liệu thống kê về việc sử dụng và báo cáo sự cố cho Google</translation>
 <translation id="8987927404178983737">Tháng</translation>
@@ -5270,6 +5292,7 @@
 <translation id="9158715103698450907">Rất tiếc!  Đã xảy ra sự cố giao tiếp mạng trong khi xác thực.  Vui lòng kiểm tra kết nối mạng của bạn và thử lại.</translation>
 <translation id="9161070040817969420">Khung phụ cho: <ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">Gửi dữ liệu hệ thống. Thiết bị này hiện đang tự động gửi dữ liệu chẩn đoán, dữ liệu về mức sử dụng thiết bị và ứng dụng đến Google. Cài đặt này do chủ sở hữu thiết bị thực thi. Nếu bạn đã bật tính năng Hoạt động web và ứng dụng bổ sung, thì thông tin này sẽ được lưu trữ cùng với tài khoản để bạn có thể quản lý trong mục Hoạt động của tôi. <ph name="BEGIN_LINK1" />Tìm hiểu thêm<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">Ảnh trong ảnh</translation>
 <translation id="9169496697824289689">Xem phím tắt</translation>
 <translation id="9169931577761441333">Thêm <ph name="APP_NAME" /> vào Màn hình chính</translation>
 <translation id="9170397650136757332">Bây giờ, hãy di chuyển nhẹ ngón tay để chụp tất cả các phần khác nhau của dấu vân tay của bạn</translation>
@@ -5320,7 +5343,6 @@
 <translation id="952992212772159698">Chưa được kích hoạt</translation>
 <translation id="957960681186851048">Trang web này đã cố gắng tự động tải nhiều tệp xuống</translation>
 <translation id="9580706199804957">Không thể kết nối với các dịch vụ của Google</translation>
-<translation id="958416628331784386">Tab này đang phát video ở chế độ Hình trong hình.</translation>
 <translation id="960719561871045870">Mã của nhà mạng</translation>
 <translation id="960987915827980018">Còn khoảng 1 giờ</translation>
 <translation id="962802172452141067">Cây thư mục dấu trang</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index c6d5b9d..49513c9 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -451,7 +451,6 @@
 <translation id="1657406563541664238">将使用情况统计信息和崩溃报告自动发送给 Google,帮助我们完善 <ph name="PRODUCT_NAME" /></translation>
 <translation id="1658424621194652532">此网页正在使用您的麦克风。</translation>
 <translation id="1660204651932907780">允许网站播放声音(推荐)</translation>
-<translation id="1660938185063657230">验证您的安全密钥</translation>
 <translation id="1661156625580498328">强制执行 AES 加密(推荐)。</translation>
 <translation id="1661245713600520330">此网页列出了已加载主进程中的所有模块以及稍后要加载的模块。</translation>
 <translation id="166179487779922818">密码太短。</translation>
@@ -563,7 +562,6 @@
 <translation id="1818007989243628752">删除 <ph name="USERNAME" /> 的密码</translation>
 <translation id="1819721979226826163">依次点按“应用通知”&gt;“Google Play 服务”。</translation>
 <translation id="1826516787628120939">正在检查</translation>
-<translation id="1827750274519118478">“画中画”模式中的视频将会停止播放。</translation>
 <translation id="1828378091493947763">该插件在此设备上不受支持</translation>
 <translation id="1828901632669367785">使用系统对话框进行打印...</translation>
 <translation id="1829192082282182671">缩小(&amp;O)</translation>
@@ -2459,7 +2457,6 @@
 <translation id="4856478137399998590">您的移动数据服务已激活,可以立即使用</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{在无痕式窗口中打开全部网址(&amp;I)}=1{在无痕式窗口中打开 1 个网址(&amp;I)}other{在无痕式窗口中打开全部(# 个)网址(&amp;I)}}</translation>
 <translation id="4858913220355269194">足球</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - 视频正在“画中画”模式中播放</translation>
 <translation id="4862050643946421924">添加设备…</translation>
 <translation id="4862642413395066333">签名 OCSP 响应</translation>
 <translation id="4863769717153320198">有效分辨率:<ph name="WIDTH" /> x <ph name="HEIGHT" />(默认)</translation>
@@ -3121,7 +3118,7 @@
 <translation id="5835486486592033703"><ph name="WINDOW_TITLE" /> - 摄像头或麦克风正在录制/录音</translation>
 <translation id="5835754902560991078">极短(0.6 秒)</translation>
 <translation id="5838456317242088717">当前的隐身会话</translation>
-<translation id="5842053879378944309">通过<ph name="APP_NAME" />使用 USB 安全密钥</translation>
+<translation id="5842053879378944309">对<ph name="APP_NAME" />使用 USB 安全密钥</translation>
 <translation id="5842497610951477805">蓝牙开关</translation>
 <translation id="5843250171025351504">您的设备已不再符合管理员指定的最低客户端版本的要求。请先更新操作系统,然后再登录。</translation>
 <translation id="5846929185714966548">标签页 4</translation>
@@ -4133,7 +4130,6 @@
 <translation id="7427348830195639090">后台网页:<ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{在新窗口中打开全部网址(&amp;N)}=1{在新窗口中打开 1 个网址(&amp;N)}other{在新窗口中打开全部(# 个)网址(&amp;N)}}</translation>
 <translation id="7434509671034404296">开发者</translation>
-<translation id="7436470008146509879">在 <ph name="DEVICE_TYPE" /> 上设置 Linux</translation>
 <translation id="7436921188514130341">糟糕!重命名过程中出错了。</translation>
 <translation id="7441830548568730290">其他用户</translation>
 <translation id="7442465037756169001">您的 Hangouts Meet 设备现已可供设置了。</translation>
@@ -4430,7 +4426,6 @@
 <translation id="7881969471599061635">停用字幕</translation>
 <translation id="7882358943899516840">提供商类型</translation>
 <translation id="7885253890047913815">近期使用过的目标打印机</translation>
-<translation id="7886917304091689118">正在 Chrome 中运行</translation>
 <translation id="7887334752153342268">复制</translation>
 <translation id="7887864092952184874">蓝牙鼠标已配对</translation>
 <translation id="7889565820482017512">显示大小</translation>
@@ -4601,7 +4596,6 @@
 <translation id="8118860139461251237">管理您的下载内容</translation>
 <translation id="81238879832906896">黄色和白色花朵</translation>
 <translation id="8124313775439841391">受管理的 ONC</translation>
-<translation id="8125562866093998907">该网站想验证您的安全密钥,以提高您帐号的安全性。</translation>
 <translation id="813082847718468539">查看网站信息</translation>
 <translation id="8131740175452115882">确认</translation>
 <translation id="8133676275609324831">在文件夹中显示(&amp;S)</translation>
@@ -4980,7 +4974,6 @@
 <translation id="8736288397686080465">此网站已在后台更新。</translation>
 <translation id="8737685506611670901">打开<ph name="PROTOCOL" />链接而非“<ph name="REPLACED_HANDLER_TITLE" />”</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">画中画</translation>
 <translation id="8743390665131937741">全屏放大镜的缩放级别:</translation>
 <translation id="8743864605301774756">上次更新时间:1 小时前</translation>
 <translation id="874689135111202667">{0,plural, =1{将 1 个文件上传到此网站?}other{将 # 个文件上传到此网站?}}</translation>
@@ -5254,6 +5247,7 @@
 <translation id="9158715103698450907">糟糕!系统在进行身份验证时发生了网络通信问题。请检查您的网络连接,然后重试。</translation>
 <translation id="9161070040817969420">以下网址的辅助框架:<ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">发送系统数据。此设备目前会自动向 Google 发送诊断数据以及设备和应用使用情况数据。此设备的所有者已强制启用了这项设置。如果您开启了“其他网络与应用活动记录”设置,这些信息将会存储在您的帐号中,以便您在“我的活动记录”页面中进行管理。<ph name="BEGIN_LINK1" />了解详情<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">画中画</translation>
 <translation id="9169496697824289689">查看键盘快捷键</translation>
 <translation id="9169931577761441333">将“<ph name="APP_NAME" />”添加到主屏幕</translation>
 <translation id="9170397650136757332">现在请稍微移动一下您的手指,以便系统记录您指纹的各个部分</translation>
@@ -5304,7 +5298,6 @@
 <translation id="952992212772159698">未激活</translation>
 <translation id="957960681186851048">此网站试图自动下载多个文件</translation>
 <translation id="9580706199804957">无法连接到 Google 服务</translation>
-<translation id="958416628331784386">此标签页正在“画中画”模式中播放视频。</translation>
 <translation id="960719561871045870">运营商代码</translation>
 <translation id="960987915827980018">约剩 1 小时</translation>
 <translation id="962802172452141067">书签文件夹树</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index 16caacaf..44fffb56 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -127,6 +127,7 @@
 <translation id="1178581264944972037">暫停</translation>
 <translation id="1181037720776840403">移除</translation>
 <translation id="1183237619868651138">無法在本機快取中安裝 <ph name="EXTERNAL_CRX_FILE" />。</translation>
+<translation id="1183378459020939734">準備好配對你的安全金鑰了嗎?</translation>
 <translation id="1185924365081634987">你也可以嘗試<ph name="GUEST_SIGNIN_LINK_START" />以訪客身分瀏覽<ph name="GUEST_SIGNIN_LINK_END" />,藉此修復網路問題。</translation>
 <translation id="1186771945450942097">移除有害軟體</translation>
 <translation id="1187722533808055681">閒置喚醒</translation>
@@ -454,7 +455,6 @@
 <translation id="1657406563541664238">只要自動傳送使用統計資料及當機報告給 Google,就能助我們一臂之力,讓「<ph name="PRODUCT_NAME" />」更臻完美</translation>
 <translation id="1658424621194652532">這個網頁正在存取你的麥克風。</translation>
 <translation id="1660204651932907780">允許網站播放音訊 (建議)</translation>
-<translation id="1660938185063657230">驗證安全金鑰</translation>
 <translation id="1661156625580498328">強制執行 AES 加密 (建議使用)。</translation>
 <translation id="1661245713600520330">這個頁面列出了所有已載入主要程序中的模組,以及已註冊於日後載入的模組。</translation>
 <translation id="166179487779922818">密碼太短。</translation>
@@ -541,6 +541,7 @@
 <translation id="1782530111891678861">變更觸控 HUD 模式</translation>
 <translation id="1784849162047402014">裝置磁碟空間即將用盡</translation>
 <translation id="1786636458339910689">小組雲端硬碟</translation>
+<translation id="1792161662640298233">正在驗證安全金鑰</translation>
 <translation id="1792619191750875668">擴充顯示畫面</translation>
 <translation id="1794791083288629568">提供意見,協助我們修正這個問題。</translation>
 <translation id="1795214765651529549">使用傳統版</translation>
@@ -566,7 +567,6 @@
 <translation id="1818007989243628752">刪除 <ph name="USERNAME" /> 的密碼</translation>
 <translation id="1819721979226826163">依序輕觸 [應用程式通知] &gt; [Google Play 服務]。</translation>
 <translation id="1826516787628120939">檢查中</translation>
-<translation id="1827750274519118478">子母畫面中的影片將停止播放。</translation>
 <translation id="1828378091493947763">這部裝置不支援這個外掛程式</translation>
 <translation id="1828901632669367785">使用系統對話方塊進行列印...</translation>
 <translation id="1829192082282182671">縮小(&amp;O)</translation>
@@ -602,6 +602,7 @@
 <translation id="186612162884103683">「<ph name="EXTENSION" />」對於勾選位置中的圖片、影片和聲音檔,具有讀取和寫入權限。</translation>
 <translation id="1867780286110144690">「<ph name="PRODUCT_NAME" />」已準備好完成安裝程序</translation>
 <translation id="1871615898038944731">你的 <ph name="DEVICE_TYPE" /> 已搭載最新版本的作業系統</translation>
+<translation id="1875312262568496299">開始</translation>
 <translation id="1875387611427697908">只能從 <ph name="CHROME_WEB_STORE" /> 新增</translation>
 <translation id="1877520246462554164">無法取得驗證憑證。請先登出,然後重新登入再試一次。</translation>
 <translation id="1878302395768190018">你隨時可在 Chrome 設定中自訂這項設定</translation>
@@ -748,6 +749,7 @@
 <translation id="2114896190328250491">相片提供:<ph name="NAME" /></translation>
 <translation id="2115103655317273167">傳送到手機</translation>
 <translation id="2119349053129246860">在「<ph name="APP" />」中開啟</translation>
+<translation id="2120297377148151361">活動與互動行為</translation>
 <translation id="2121825465123208577">調整大小</translation>
 <translation id="2124930039827422115">{1,plural, =1{平均評分:<ph name="AVERAGE_RATING" /> (評分人數:1)。}other{平均評分:<ph name="AVERAGE_RATING" /> (評分人數:#)。}}</translation>
 <translation id="2126167708562367080">你的管理員停用了同步功能。</translation>
@@ -881,6 +883,7 @@
 <translation id="2318143611928805047">紙張大小</translation>
 <translation id="2318817390901984578">如要使用 Android 應用程式,請先為你的 <ph name="DEVICE_TYPE" /> 充電並進行更新。</translation>
 <translation id="2318923050469484167">目前的無痕模式工作階段 (<ph name="EMBEDDING" />)</translation>
+<translation id="2321482478556590128">透過「<ph name="APP_NAME" />」使用安全金鑰</translation>
 <translation id="2322193970951063277">頁首及頁尾</translation>
 <translation id="2325650632570794183">系統不支援這個檔案類型。請造訪 Chrome 線上應用程式商店,尋找是否有可開啟這類檔案的應用程式。</translation>
 <translation id="2326931316514688470">重新載入應用程式(&amp;R)</translation>
@@ -914,6 +917,7 @@
 <translation id="2367199180085172140">新增檔案共用</translation>
 <translation id="2367972762794486313">顯示應用程式</translation>
 <translation id="2369536625682139252">即將刪除 <ph name="SITE" /> 儲存的所有資料 (Cookie 除外)。</translation>
+<translation id="237058345584060620">將你的金鑰與這個裝置配對,即可透過金鑰登入你的帳戶</translation>
 <translation id="2371076942591664043">完成後開啟(&amp;D)</translation>
 <translation id="2376559921867170420">Chromebook 設定完成後,只要按下 Google 助理按鈕或說出「Ok Google」,就能隨時向你的 Google 助理下達指令。</translation>
 <translation id="2377319039870049694">切換為清單檢視</translation>
@@ -979,6 +983,7 @@
 <translation id="248861575772995840">找不到你的手機。請確定已開啟 <ph name="DEVICE_TYPE" /> 的藍牙功能。&lt;a&gt;瞭解詳情&lt;/a&gt;</translation>
 <translation id="2489918096470125693">新增資料夾(&amp;F)...</translation>
 <translation id="249113932447298600">很抱歉,系統目前不支援 <ph name="DEVICE_LABEL" /> 裝置。</translation>
+<translation id="2492040222276243256">按住安全金鑰上的按鈕至少 5 秒</translation>
 <translation id="2493021387995458222">一次選取一字</translation>
 <translation id="249303669840926644">無法完成註冊</translation>
 <translation id="2495777824269688114">探索其他功能或者獲得問題解答。選取 [?] 即可取得相關說明。</translation>
@@ -1006,6 +1011,7 @@
 <translation id="2520644704042891903">正在等待可用的通訊端...</translation>
 <translation id="252219247728877310">元件未更新</translation>
 <translation id="2522791476825452208">非常近</translation>
+<translation id="2523184218357549926">將你造訪的網頁網址傳送給 Google</translation>
 <translation id="2525250408503682495">糟糕,是氪石!系統無法掛載 Kiosk 應用程式的 Cryptohome。</translation>
 <translation id="2526277209479171883">安裝並繼續</translation>
 <translation id="2526590354069164005">桌面</translation>
@@ -1032,6 +1038,7 @@
 <translation id="2562743677925229011">未登入「<ph name="SHORT_PRODUCT_NAME" />」</translation>
 <translation id="2563856802393254086">恭喜你!你的「<ph name="NAME" />」數據服務已啟用,隨時可供使用。</translation>
 <translation id="2564520396658920462">透過 AppleScript 執行 JavaScript 的功能已關閉。如要開啟,請在選單列中依序前往 [檢視] &gt; [開發人員] &gt; [允許 Apple 事件的 JavaScript]。詳情請見:https://support.google.com/chrome/?p=applescript</translation>
+<translation id="2564653188463346023">進階拼字檢查功能</translation>
 <translation id="2566124945717127842">Powerwash 會將你的 <ph name="IDS_SHORT_PRODUCT_NAME" /> 裝置重設並恢復為原廠設定。</translation>
 <translation id="2567257616420533738">密碼已儲存。你可以前往 <ph name="SAVED_PASSWORDS_LINK" /> 查看及管理已儲存的密碼</translation>
 <translation id="2568774940984945469">資訊列容器</translation>
@@ -1081,6 +1088,7 @@
 <translation id="2633199387167390344">「<ph name="NAME" />」正在使用 <ph name="USAGE" /> MB 的磁碟空間。</translation>
 <translation id="2633212996805280240">要移除「<ph name="EXTENSION_NAME" />」嗎?</translation>
 <translation id="263325223718984101"><ph name="PRODUCT_NAME" /> 無法完成安裝,但會繼續透過磁碟映像執行。</translation>
+<translation id="2633326789677284179">找出印在金鑰背面的名稱</translation>
 <translation id="2635276683026132559">簽署</translation>
 <translation id="2636625531157955190">Chrome 無法存取這張圖片。</translation>
 <translation id="2638087589890736295">必須輸入通關密語,才能開始進行同步處理</translation>
@@ -1394,6 +1402,7 @@
 <translation id="3090819949319990166">無法將外部 crx 檔案複製到 <ph name="TEMP_CRX_FILE" />。</translation>
 <translation id="3090871774332213558">「<ph name="DEVICE_NAME" />」已配對</translation>
 <translation id="3101709781009526431">日期與時間</translation>
+<translation id="3104900172193317662">允許使用你的安全金鑰</translation>
 <translation id="310671807099593501">網站正在使用藍牙</translation>
 <translation id="3115128645424181617">找不到你的手機。請確定手機在適當距離範圍內,且藍牙功能已開啟。</translation>
 <translation id="3115147772012638511">等候快取...</translation>
@@ -1877,6 +1886,7 @@
 <translation id="3839516600093027468">一律禁止 <ph name="HOST" /> 讀取剪貼簿</translation>
 <translation id="3840053866656739575">與 Chromebox 的連線已中斷。請將你的裝置靠近 Chromebox,或是檢查你的裝置並嘗試重新連線。</translation>
 <translation id="3842552989725514455">Serif 字型</translation>
+<translation id="3846116211488856547">取得網站開發工具、Android 應用程式等等。安裝 Linux 將下載 <ph name="DOWNLOAD_SIZE" /> 的資料。</translation>
 <translation id="385051799172605136">返回</translation>
 <translation id="3851428669031642514">載入不安全的指令碼</translation>
 <translation id="3855441664322950881">封裝擴充功能</translation>
@@ -1900,6 +1910,7 @@
 <translation id="3872991219937722530">請釋出磁碟空間,否則裝置會無回應。</translation>
 <translation id="3878840326289104869">正在建立受監管的使用者</translation>
 <translation id="3879748587602334249">下載管理員</translation>
+<translation id="3880709822663530586">必須開啟裝置的藍牙功能才能使用安全金鑰</translation>
 <translation id="3888550877729210209">使用「<ph name="LOCK_SCREEN_APP_NAME" />」寫筆記</translation>
 <translation id="3892414795099177503">新增 OpenVPN/L2TP...</translation>
 <translation id="3893536212201235195">讀取及變更你的協助工具設定</translation>
@@ -2360,6 +2371,7 @@
 <translation id="4681930562518940301">在新分頁中開啟原始圖片(&amp;I)</translation>
 <translation id="4682551433947286597">登入畫面上顯示的桌布。</translation>
 <translation id="4684427112815847243">同步處理所有資料</translation>
+<translation id="4689235506267737042">選擇示範模式偏好設定</translation>
 <translation id="4689421377817139245">將這個書籤同步到 iPhone 上</translation>
 <translation id="4690091457710545971">&lt;Intel Wi-Fi 韌體產生了 4 個檔案:csr.lst、fh_regs.lst、radio_reg.lst 和 monitor.lst.sysmon。前三個檔案為包含暫存器傾印的二進位檔案,且 Intel 表示當中並未包含任何個人資訊或裝置識別資訊。最後一個檔案是 Intel 韌體的執行追蹤記錄,其中的個人資訊或裝置識別資訊已全部遭到清除,但由於檔案過大而無法顯示在這裡。這些檔案的產生原因是裝置的 Wi-Fi 最近出現問題所導致,系統會將檔案提供給 Intel 以協助排解這些問題。&gt;</translation>
 <translation id="4692302215262324251">你的 <ph name="DEVICE_TYPE" /> 已成功註冊企業管理服務,由以下網域管理:<ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" />。
@@ -2465,7 +2477,6 @@
 <translation id="4856478137399998590">你的行動數據服務已啟用,隨時可供使用</translation>
 <translation id="4857506433977877623">{COUNT,plural, =0{在無痕式視窗中開啟所有書籤(&amp;I)}=1{在無痕式視窗中開啟(&amp;I)}other{在無痕式視窗中開啟全部 # 個書籤(&amp;I)}}</translation>
 <translation id="4858913220355269194">飛球</translation>
-<translation id="4862042298115071399"><ph name="WINDOW_TITLE" /> - 正在使用子母畫面播放影片</translation>
 <translation id="4862050643946421924">新增裝置...</translation>
 <translation id="4862642413395066333">簽署 OCSP 回應</translation>
 <translation id="4863769717153320198">螢幕解析度:<ph name="WIDTH" /> x <ph name="HEIGHT" /> (預設)</translation>
@@ -2489,6 +2500,7 @@
 <translation id="4880827082731008257">搜尋記錄</translation>
 <translation id="4881695831933465202">開啟</translation>
 <translation id="4882473678324857464">將焦點移至書籤</translation>
+<translation id="4882831918239250449">控制 Google 使用瀏覽記錄提供個人化搜尋服務、廣告和其他內容的方式</translation>
 <translation id="4883178195103750615">將書籤匯出為 HTML 檔案...</translation>
 <translation id="4883436287898674711">所有 <ph name="WEBSITE_1" /> 網站</translation>
 <translation id="48838266408104654">工作管理員(&amp;T)</translation>
@@ -2763,6 +2775,7 @@
 <translation id="5288678174502918605">重新開啟先前關閉的分頁(&amp;E)</translation>
 <translation id="52912272896845572">秘密金鑰檔案無效。</translation>
 <translation id="529175790091471945">格式化這台裝置</translation>
+<translation id="5292195676005197571">只要按下按鈕即可使用大多數的金鑰</translation>
 <translation id="5293170712604732402">將設定還原成原始預設值</translation>
 <translation id="5298219193514155779">主題製作者</translation>
 <translation id="5299109548848736476">不追蹤</translation>
@@ -3023,11 +3036,13 @@
 <translation id="5658415415603568799">為了提升安全性,Smart Lock 會在經過 20 小時後要求您輸入密碼。</translation>
 <translation id="5659593005791499971">電子郵件</translation>
 <translation id="5659833766619490117">無法翻譯這個網頁的內容</translation>
+<translation id="5660204307954428567">與「<ph name="DEVICE_NAME" />」配對</translation>
 <translation id="5662477687021125631">永久</translation>
 <translation id="5667546120811588575">正在設定 Google Play...</translation>
 <translation id="5669267381087807207">啟用中</translation>
 <translation id="5669691691057771421">輸入新的 PIN 碼</translation>
 <translation id="5671641761787789573">已封鎖圖片</translation>
+<translation id="5673076758299428095">關閉 Linux</translation>
 <translation id="5677503058916217575">網頁語言:</translation>
 <translation id="5677928146339483299">已封鎖</translation>
 <translation id="5678550637669481956">已授予 <ph name="VOLUME_NAME" /> 的讀取及寫入權限。</translation>
@@ -3192,6 +3207,9 @@
 <translation id="5920835625712313205">Chrome 作業系統映像檔寫入工具</translation>
 <translation id="5921745308587794300">旋轉視窗</translation>
 <translation id="5924047253200400718">查看說明。<ph name="SCANNING_STATUS" /></translation>
+<translation id="5924527146239595929">你可以拍一張新的相片,也可以選擇現有的相片或圖示。
+    <ph name="LINE_BREAK" />
+    這張圖片會顯示在 Chromebook 的登入畫面和鎖定畫面中。</translation>
 <translation id="5925147183566400388">憑證實務作業基準指標</translation>
 <translation id="592880897588170157">下載 PDF 檔案,而不自動在 Chrome 中開啟</translation>
 <translation id="5931146425219109062">讀取及變更你造訪過的網站上的所有資料</translation>
@@ -3288,6 +3306,7 @@
 <translation id="6078752646384677957">請檢查麥克風和音量。</translation>
 <translation id="6080515710685820702">你是與其他人共用電腦嗎?試試使用無痕式視窗。</translation>
 <translation id="6080689532560039067">請檢查你的系統時間</translation>
+<translation id="6082111513049964958">解鎖密碼</translation>
 <translation id="6082651258230788217">顯示在工具列中</translation>
 <translation id="6086846494333236931">由您的管理員安裝</translation>
 <translation id="6087960857463881712">好看的臉蛋</translation>
@@ -3511,6 +3530,7 @@
 <translation id="642282551015776456">無法使用這個名稱做為檔案名稱或資料夾名稱</translation>
 <translation id="642469772702851743">這部裝置 (序號:<ph name="SERIAL_NUMBER" />) 已被擁有者鎖定。</translation>
 <translation id="6426200009596957090">開啟 ChromeVox 設定</translation>
+<translation id="6427415464407526111">選取安全金鑰</translation>
 <translation id="6429384232893414837">更新錯誤</translation>
 <translation id="6430814529589430811">Base64-編碼 ASCII,單一憑證</translation>
 <translation id="6431217872648827691">截至 <ph name="TIME" />為止,系統已透過你的 Google 密碼對所有資料進行加密:</translation>
@@ -3936,6 +3956,7 @@
 <translation id="7099337801055912064">無法載入大型 PPD。大小上限為 250 KB。</translation>
 <translation id="7100897339030255923">已選取 <ph name="COUNT" /> 個項目</translation>
 <translation id="7102687220333134671">自動更新功能已開啟</translation>
+<translation id="7102832101143475489">要求逾時</translation>
 <translation id="7106346894903675391">購買更多儲存空間...</translation>
 <translation id="7108338896283013870">隱藏</translation>
 <translation id="7108634116785509031"><ph name="HOST" /> 要求使用攝影機</translation>
@@ -4144,7 +4165,6 @@
 <translation id="7427348830195639090">背景頁面:<ph name="BACKGROUND_PAGE_URL" /></translation>
 <translation id="7433692219247014412">{COUNT,plural, =0{在新視窗中開啟所有書籤(&amp;N)}=1{在新視窗中開啟(&amp;N)}other{在新視窗中開啟全部 # 個書籤(&amp;N)}}</translation>
 <translation id="7434509671034404296">開發人員選項</translation>
-<translation id="7436470008146509879">在你的 <ph name="DEVICE_TYPE" /> 上設定 Linux</translation>
 <translation id="7436921188514130341">糟糕!重新命名過程中發生錯誤。</translation>
 <translation id="7441830548568730290">其他使用者</translation>
 <translation id="7442465037756169001">現在可以開始設定你的 Hangouts Meet 設備了。</translation>
@@ -4442,7 +4462,6 @@
 <translation id="7881969471599061635">停用字幕</translation>
 <translation id="7882358943899516840">供應商類型</translation>
 <translation id="7885253890047913815">最近用過的印表機</translation>
-<translation id="7886917304091689118">正在 Chrome 中執行</translation>
 <translation id="7887334752153342268">複製</translation>
 <translation id="7887864092952184874">已配對藍牙滑鼠</translation>
 <translation id="7889565820482017512">顯示大小</translation>
@@ -4555,6 +4574,7 @@
 <translation id="8028993641010258682">大小</translation>
 <translation id="8030656706657716245">新增印表機</translation>
 <translation id="8032244173881942855">無法投放分頁。</translation>
+<translation id="8033958968890501070">逾時</translation>
 <translation id="803435727213847625">{COUNT,plural, =0{在無痕式視窗中開啟所有書籤(&amp;I)}=1{在無痕式視窗中開啟(&amp;I)}other{在無痕式視窗中開啟全部 # 個書籤(&amp;I)}}</translation>
 <translation id="8037117027592400564">讀取使用合成語音朗讀的所有文字</translation>
 <translation id="8037357227543935929">詢問 (預設)</translation>
@@ -4613,7 +4633,6 @@
 <translation id="8118860139461251237">管理下載內容</translation>
 <translation id="81238879832906896">黃色和白色花朵</translation>
 <translation id="8124313775439841391">管理化 ONC</translation>
-<translation id="8125562866093998907">這個網站要求驗證你的安全金鑰,以便為你的帳戶提供多一層防護。</translation>
 <translation id="813082847718468539">查看網站資訊</translation>
 <translation id="8131740175452115882">確認</translation>
 <translation id="8133676275609324831">在資料夾中顯示(&amp;S)</translation>
@@ -4645,6 +4664,8 @@
 <translation id="8180239481735238521">頁面</translation>
 <translation id="8180786512391440389">「<ph name="EXTENSION" />」可以讀取及刪除勾選位置中的圖片、影片和音訊檔案。</translation>
 <translation id="8181215761849004992">無法加入網域。請檢查你的帳戶是否有新增裝置的必要權限。</translation>
+<translation id="8182664696082410784"><ph name="REASON" />
+    我認為不應封鎖這個網站!</translation>
 <translation id="8184288427634747179">切換成<ph name="AVATAR_NAME" /></translation>
 <translation id="8184318863960255706">更多資訊</translation>
 <translation id="8185331656081929126">在網路上偵測到新印表機時顯示通知</translation>
@@ -4788,6 +4809,7 @@
 <translation id="8434480141477525001">NaCl 偵錯通訊埠</translation>
 <translation id="843760761634048214">儲存信用卡</translation>
 <translation id="8438328416656800239">改用智慧瀏覽器</translation>
+<translation id="8438566539970814960">改善搜尋和瀏覽體驗</translation>
 <translation id="8439506636278576865">翻譯這個語言的網頁</translation>
 <translation id="8446884382197647889">瞭解詳情</translation>
 <translation id="8447409163267621480">必須包含 Ctrl 或 Alt 鍵</translation>
@@ -4992,7 +5014,6 @@
 <translation id="8736288397686080465">這個網站已在背景更新。</translation>
 <translation id="8737685506611670901">開啟<ph name="PROTOCOL" />連結 (取代 <ph name="REPLACED_HANDLER_TITLE" />)</translation>
 <translation id="8737709691285775803">Shill</translation>
-<translation id="8741316211671074806">子母畫面</translation>
 <translation id="8743390665131937741">全螢幕縮放比例:</translation>
 <translation id="8743864605301774756">1 小時前更新</translation>
 <translation id="874689135111202667">{0,plural, =1{要將 1 個檔案上傳到這個網站嗎?}other{要將 # 個檔案上傳到這個網站嗎?}}</translation>
@@ -5144,6 +5165,7 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - 已當機</translation>
 <translation id="8983677657449185470">協助改善「安全瀏覽」的品質</translation>
 <translation id="8984654317541110628">檔案共用網址</translation>
+<translation id="8984872292925913496">找出金鑰背面的 6 位數 PIN 碼</translation>
 <translation id="8986362086234534611">清除</translation>
 <translation id="8986494364107987395">自動傳送使用統計資料及當機報告給 Google</translation>
 <translation id="8987927404178983737">月</translation>
@@ -5266,6 +5288,7 @@
 <translation id="9158715103698450907">糟糕!驗證過程中發生網路通訊問題,請檢查你的網路連線,然後再試一次。</translation>
 <translation id="9161070040817969420">子頁框:<ph name="PARENT_SITE" /></translation>
 <translation id="916501514001398070">傳送系統資料。這個裝置目前會自動將診斷資料、裝置與應用程式使用情形資料傳送給 Google。擁有者強制啟用了這項設定。如果你另外開啟了「網路和應用程式活動」設定,這項資訊會儲存在你的帳戶中,方便你在「我的活動」中進行管理。<ph name="BEGIN_LINK1" />瞭解詳情<ph name="END_LINK1" /></translation>
+<translation id="916607977885256133">子母畫面</translation>
 <translation id="9169496697824289689">查看鍵盤快速鍵</translation>
 <translation id="9169931577761441333">將 <ph name="APP_NAME" /> 新增至主畫面</translation>
 <translation id="9170397650136757332">現在請稍微移動你的手指,讓系統擷取完整的指紋</translation>
@@ -5316,7 +5339,6 @@
 <translation id="952992212772159698">未啟用</translation>
 <translation id="957960681186851048">這個網站試圖自動下載多個檔案</translation>
 <translation id="9580706199804957">無法連上 Google 服務</translation>
-<translation id="958416628331784386">這個分頁正在使用子母畫面播放影片。</translation>
 <translation id="960719561871045870">電信業者代碼</translation>
 <translation id="960987915827980018">剩下約 1 個小時</translation>
 <translation id="962802172452141067">書籤資料夾樹狀結構</translation>
diff --git a/chrome/app/resources/google_chrome_strings_am.xtb b/chrome/app/resources/google_chrome_strings_am.xtb
index 468d3ec..437f378 100644
--- a/chrome/app/resources/google_chrome_strings_am.xtb
+++ b/chrome/app/resources/google_chrome_strings_am.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Google Chrome የይለፍ ቃሎችን ለማሳየት እየሞከረ ነው። ይህንን ለመፍቀድ የእርስዎን Windows የይለፍ ቃል ይተይቡ።</translation>
 <translation id="8290100596633877290">ኧረ ገዳይ! Google Chrome ተሰናክሏል። አሁን እንደገና ይጀመር?</translation>
 <translation id="8342675569599923794">ይህ ፋይል አደገኛ ስለሆነ Chrome አግዶታል።</translation>
+<translation id="8380166467911888159">የሥርዓተ ፊደል አጻጻፍ ስህተቶችን ለማስተካከል፣ Chrome እርስዎ በጽሑፍ መስኮች ውስጥ የሚተይቡትን ጽሑፍ ወደ Google ይልካል</translation>
 <translation id="840084489713044809">Google Chrome የእርስዎን የይለፍ ቃላት ወደ ውጭ መላክ ይፈልጋል።</translation>
 <translation id="8406086379114794905">Chrome የተሻለ እንዲሆን ያግዙ</translation>
 <translation id="8439301513305169426">Chrome ይህን የይለፍ ቃል ከ<ph name="SAVED_PASSWORD_LINK" /> ጋር ያስቀምጠዋል። በቃልዎ ማስታወስ አይጠበቅብዎትም።</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bg.xtb b/chrome/app/resources/google_chrome_strings_bg.xtb
index 4a9d0eaa..988419c 100644
--- a/chrome/app/resources/google_chrome_strings_bg.xtb
+++ b/chrome/app/resources/google_chrome_strings_bg.xtb
@@ -248,6 +248,7 @@
 <translation id="8286862437124483331">Google Chrome опитва да покаже паролите. За да разрешите това, въведете паролата си за Windows.</translation>
 <translation id="8290100596633877290">О, не! Google Chrome претърпя срив. Да се стартира ли отново сега?</translation>
 <translation id="8342675569599923794">Chrome блокира този файл, тъй като е опасен.</translation>
+<translation id="8380166467911888159">С цел поправка на правописни грешки Chrome изпраща до Google текста, който въвеждате в текстовите полета</translation>
 <translation id="840084489713044809">Google Chrome иска да експортира паролите ви.</translation>
 <translation id="8406086379114794905">Помогнете за подобряването на Chrome</translation>
 <translation id="8439301513305169426">Chrome ще запази тази парола посредством <ph name="SAVED_PASSWORD_LINK" />. Не е нужно да я помните.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb
index b81c72e..d78fe785 100644
--- a/chrome/app/resources/google_chrome_strings_ca.xtb
+++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome està provant de mostrar contrasenyes. Escriviu la vostra contrasenya de Windows per permetre-ho.</translation>
 <translation id="8290100596633877290">Google Chrome s'ha bloquejat. Voleu tornar-lo a iniciar?</translation>
 <translation id="8342675569599923794">Chrome ha bloquejat aquest fitxer perquè és perillós.</translation>
+<translation id="8380166467911888159">Per corregir els errors d'ortografia, Chrome envia a Google el que escrius als camps de text</translation>
 <translation id="840084489713044809">Google Chrome vol exportar les teves contrasenyes.</translation>
 <translation id="8406086379114794905">Ajudeu a millorar Chrome</translation>
 <translation id="8439301513305169426">Chrome desarà aquesta contrasenya amb <ph name="SAVED_PASSWORD_LINK" /> i no caldrà que la recordis.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_de.xtb b/chrome/app/resources/google_chrome_strings_de.xtb
index ea808663..787a50a 100644
--- a/chrome/app/resources/google_chrome_strings_de.xtb
+++ b/chrome/app/resources/google_chrome_strings_de.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome möchte Passwörter anzeigen. Geben Sie Ihr Windows-Passwort ein, um dies zuzulassen.</translation>
 <translation id="8290100596633877290">Google Chrome ist abgestürzt. Jetzt neu starten?</translation>
 <translation id="8342675569599923794">Diese Datei ist schädlich und wurde von Chrome blockiert.</translation>
+<translation id="8380166467911888159">Zur Behebung von Tippfehlern sendet Chrome eingegebenen Text an Google</translation>
 <translation id="840084489713044809">Google Chrome möchte Ihre Passwörter exportieren.</translation>
 <translation id="8406086379114794905">Zur Verbesserung von Chrome beitragen</translation>
 <translation id="8439301513305169426">Chrome speichert dieses Passwort mit <ph name="SAVED_PASSWORD_LINK" />. Sie müssen es sich nicht merken.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index 588db03..fd5edfda 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -250,6 +250,7 @@
 <translation id="8286862437124483331">Το Google Chrome προσπαθεί να εμφανίσει τους κωδικούς πρόσβασης. Πληκτρολογήστε τον κωδικό πρόσβασής σας Windows για να το επιτρέψετε αυτό.</translation>
 <translation id="8290100596633877290">Πω πω! Το Google Chrome παρουσίασε σφάλμα. Επανεκκίνηση τώρα;</translation>
 <translation id="8342675569599923794">Αυτό το αρχείο είναι επικίνδυνο και έχει αποκλειστεί από το Chrome.</translation>
+<translation id="8380166467911888159">Για τη διόρθωση ορθογραφικών λαθών, το Chrome στέλνει στην Google το κείμενο που πληκτρολογείτε σε πεδία κειμένου</translation>
 <translation id="840084489713044809">Το Google Chrome θέλει να εξαγάγει τους κωδικούς πρόσβασής σας.</translation>
 <translation id="8406086379114794905">Βοηθήστε μας να κάνουμε καλύτερο το Chrome</translation>
 <translation id="8439301513305169426">Το Chrome θα αποθηκεύσει αυτόν τον κωδικό πρόσβασης με το <ph name="SAVED_PASSWORD_LINK" />. Δεν χρειάζεται να τον απομνημονεύσετε.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_en-GB.xtb b/chrome/app/resources/google_chrome_strings_en-GB.xtb
index 613f840..16bed41 100644
--- a/chrome/app/resources/google_chrome_strings_en-GB.xtb
+++ b/chrome/app/resources/google_chrome_strings_en-GB.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Google Chrome is trying to show passwords. Type your Windows password to allow this.</translation>
 <translation id="8290100596633877290">Whoa! Google Chrome has crashed. Relaunch now?</translation>
 <translation id="8342675569599923794">This file is dangerous, so Chrome has blocked it.</translation>
+<translation id="8380166467911888159">To fix spelling errors, Chrome sends the text that you type in text fields to Google</translation>
 <translation id="840084489713044809">Google Chrome wants to export your passwords.</translation>
 <translation id="8406086379114794905">Help make Chrome better</translation>
 <translation id="8439301513305169426">Chrome will save this password with <ph name="SAVED_PASSWORD_LINK" />. You don’t have to remember it.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb
index 8b0cefe..2467a87c 100644
--- a/chrome/app/resources/google_chrome_strings_es.xtb
+++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Google Chrome está intentando mostrar contraseñas. Para permitirlo, escribe tu contraseña de Windows.</translation>
 <translation id="8290100596633877290">¡Vaya! Se ha producido un fallo en Google Chrome. ¿Quieres reiniciar el navegador ahora?</translation>
 <translation id="8342675569599923794">Este archivo es peligroso, por lo que Chrome lo ha bloqueado.</translation>
+<translation id="8380166467911888159">Para corregir errores ortográficos, Chrome envía a Google el texto que escribes en los campos de texto</translation>
 <translation id="840084489713044809">Google Chrome quiere exportar tus contraseñas.</translation>
 <translation id="8406086379114794905">Ayuda a mejorar Chrome</translation>
 <translation id="8439301513305169426">Chrome guardará esta contraseña con <ph name="SAVED_PASSWORD_LINK" />, por lo que no es necesario que la recuerdes.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb
index 61be509..24106da 100644
--- a/chrome/app/resources/google_chrome_strings_et.xtb
+++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -250,6 +250,7 @@
 <translation id="8286862437124483331">Google Chrome proovib kuvada paroole. Selle lubamiseks sisestage Windowsi parool.</translation>
 <translation id="8290100596633877290">Tohoh! Google Chrome jooksis kokku. Kas soovite kohe taaskäivitada?</translation>
 <translation id="8342675569599923794">Chrome blokeeris faili, kuna see on ohtlik.</translation>
+<translation id="8380166467911888159">Õigekirjavigade parandamiseks saadab Chrome teie tekstiväljadel sisestatud teksti Google'ile</translation>
 <translation id="840084489713044809">Google Chrome soovib teie paroole eksportida.</translation>
 <translation id="8406086379114794905">Aidake Chrome'i täiustada</translation>
 <translation id="8439301513305169426">Chrome salvestab selle parooli funktsiooniga <ph name="SAVED_PASSWORD_LINK" />. Te ei pea seda meelde jätma.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fil.xtb b/chrome/app/resources/google_chrome_strings_fil.xtb
index 34fefff9..178308a 100644
--- a/chrome/app/resources/google_chrome_strings_fil.xtb
+++ b/chrome/app/resources/google_chrome_strings_fil.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Sinusubukan ng Google Chrome na ipakita ang mga password. I-type ang iyong password sa Windows upang payagan ito.</translation>
 <translation id="8290100596633877290">Whoa! Nag-crash ang Google Chrome. Ilunsad muli ngayon?</translation>
 <translation id="8342675569599923794">Mapanganib ang file na ito, kaya na-block ito ng Chrome.</translation>
+<translation id="8380166467911888159">Para maayos ang mga error sa pagbabaybay, ipinapadala ng Chrome sa Google ang text na na-type mo sa mga text field</translation>
 <translation id="840084489713044809">Gustong i-export ng Google Chrome ang iyong mga password.</translation>
 <translation id="8406086379114794905">Tulungang pahusayin ang Chrome</translation>
 <translation id="8439301513305169426">Ise-save ng Chrome ang password na ito sa <ph name="SAVED_PASSWORD_LINK" />. Hindi mo ito kailangang tandaan.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr.xtb b/chrome/app/resources/google_chrome_strings_fr.xtb
index e5113ff..e396d56 100644
--- a/chrome/app/resources/google_chrome_strings_fr.xtb
+++ b/chrome/app/resources/google_chrome_strings_fr.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Google Chrome tente d'afficher les mots de passe. Pour autoriser cette action, saisissez votre mot de passe Windows.</translation>
 <translation id="8290100596633877290">Google Chrome est bloqué. Voulez-vous le relancer maintenant ?</translation>
 <translation id="8342675569599923794">Chrome a bloqué ce fichier, car ce dernier est dangereux.</translation>
+<translation id="8380166467911888159">Pour corriger les fautes d'orthographe, Chrome envoie à Google le texte que vous saisissez dans les champs</translation>
 <translation id="840084489713044809">Google Chrome veut exporter vos mots de passe.</translation>
 <translation id="8406086379114794905">Aidez-nous à améliorer Chrome</translation>
 <translation id="8439301513305169426">Chrome va enregistrer ce mot de passe avec <ph name="SAVED_PASSWORD_LINK" />. Vous n'avez pas besoin de le retenir.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hi.xtb b/chrome/app/resources/google_chrome_strings_hi.xtb
index d82521d..db66cb16 100644
--- a/chrome/app/resources/google_chrome_strings_hi.xtb
+++ b/chrome/app/resources/google_chrome_strings_hi.xtb
@@ -250,6 +250,7 @@
 <translation id="8286862437124483331">Google Chrome पासवर्ड दिखाने का प्रयास कर रहा है. इसकी अनुमति देने के लिए अपना Windows पासवर्ड लिखें.</translation>
 <translation id="8290100596633877290">रुकिए! Google Chrome क्रैश हो गया है. अभी पुन: लॉन्च करें?</translation>
 <translation id="8342675569599923794">यह फ़ाइल खतरनाक है, इसलिए Chrome ने इसे अवरुद्ध कर दिया है.</translation>
+<translation id="8380166467911888159">स्पेलिंग की गड़बड़ियां ठीक करने के लिए, Chrome लेख फ़ील्ड में आपके लिखे गए लेख को Google को भेजती है</translation>
 <translation id="840084489713044809">Google Chrome आपके पासवर्ड निर्यात करना चाहता है.</translation>
 <translation id="8406086379114794905">Chrome को बेहतर बनाने में सहायता करें</translation>
 <translation id="8439301513305169426">Chrome इस पासवर्ड को <ph name="SAVED_PASSWORD_LINK" /> से सहेज लेगा. आपके इसे याद रखने की ज़रूरत नहीं है.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb
index a31cd32..09deee7 100644
--- a/chrome/app/resources/google_chrome_strings_hr.xtb
+++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome pokušava prikazati zaporke. Upišite svoju zaporku za Windows da biste to dopustili.</translation>
 <translation id="8290100596633877290">Opa! Google Chrome je pao. Ponovo pokrenuti sada?</translation>
 <translation id="8342675569599923794">Datoteka je opasna i Chrome ju je blokirao.</translation>
+<translation id="8380166467911888159">Chrome Googleu šalje tekst koji utipkate u tekstualna polja kako bi ispravio pravopisne pogreške</translation>
 <translation id="840084489713044809">Google Chrome želi izvesti vaše zaporke.</translation>
 <translation id="8406086379114794905">Pomozite nam da poboljšamo Chrome</translation>
 <translation id="8439301513305169426">Chrome će spremiti tu zaporku pomoću značajke <ph name="SAVED_PASSWORD_LINK" />. Ne morate je pamtiti.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb
index 2ab8feb..1e49ee5 100644
--- a/chrome/app/resources/google_chrome_strings_hu.xtb
+++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">A Google Chrome megkísérli megjeleníteni a jelszavakat. Ennek engedélyezéséhez írja be Windows-jelszavát.</translation>
 <translation id="8290100596633877290">Hmm. A Google Chrome összeomlott. Újraindítja most?</translation>
 <translation id="8342675569599923794">Ez a fájl veszélyes, ezért a Chrome letiltotta.</translation>
+<translation id="8380166467911888159">A nyelvtani hibák javítása érdekében a Chrome elküldi a szövegmezőkbe gépelt szöveget a Google-nak</translation>
 <translation id="840084489713044809">A Google Chrome exportálni szeretné a jelszavakat.</translation>
 <translation id="8406086379114794905">Segítsen a Chrome tökéletesítésében</translation>
 <translation id="8439301513305169426">A Chrome a jelszót a(z) <ph name="SAVED_PASSWORD_LINK" /> szolgáltatás segítségével menti, így Önnek nem kell megjegyeznie.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb
index ad01d53..cee3d0ea 100644
--- a/chrome/app/resources/google_chrome_strings_id.xtb
+++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome mencoba menampilkan sandi. Ketik sandi Windows Anda untuk mengizinkannya.</translation>
 <translation id="8290100596633877290">Aduh! Google Chrome ngadat. Luncurkan ulang sekarang?</translation>
 <translation id="8342675569599923794">File ini berbahaya, jadi Chrome telah memblokirnya.</translation>
+<translation id="8380166467911888159">Untuk memperbaiki kesalahan ejaan, Chrome mengirimkan teks yang Anda ketik di kolom teks ke Google</translation>
 <translation id="840084489713044809">Google Chrome ingin mengekspor sandi.</translation>
 <translation id="8406086379114794905">Bantu kami membuat Chrome jadi lebih baik</translation>
 <translation id="8439301513305169426">Chrome akan menyimpan sandi ini dengan <ph name="SAVED_PASSWORD_LINK" />. Anda tidak perlu mengingatnya.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_it.xtb b/chrome/app/resources/google_chrome_strings_it.xtb
index dc42977..b71ce7a 100644
--- a/chrome/app/resources/google_chrome_strings_it.xtb
+++ b/chrome/app/resources/google_chrome_strings_it.xtb
@@ -247,6 +247,7 @@
 <translation id="8286862437124483331">Google Chrome sta cercando di visualizzare le password. Per consentire la visualizzazione, digita la tua password Windows.</translation>
 <translation id="8290100596633877290">Spiacenti, si è verificato un arresto anomalo di Google Chrome. Riavviarlo ora?</translation>
 <translation id="8342675569599923794">Questo file è pericoloso, pertanto è stato bloccato da Chrome.</translation>
+<translation id="8380166467911888159">Per correggere gli errori ortografici, Chrome invia a Google il testo digitato nei campi di testo</translation>
 <translation id="840084489713044809">Google Chrome vuole esportare le password.</translation>
 <translation id="8406086379114794905">Contribuisci a migliorare Chrome</translation>
 <translation id="8439301513305169426">Chrome salverà la password con <ph name="SAVED_PASSWORD_LINK" /> affinché tu non debba memorizzarla.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_iw.xtb b/chrome/app/resources/google_chrome_strings_iw.xtb
index 2f9599f..4aa1b897 100644
--- a/chrome/app/resources/google_chrome_strings_iw.xtb
+++ b/chrome/app/resources/google_chrome_strings_iw.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">‏Google Chrome מנסה להציג סיסמאות. הקלד את הסיסמה שלך ל-Windows כדי לאפשר זאת.</translation>
 <translation id="8290100596633877290">‏אופס! Google Chrome קרס. להפעיל מחדש עכשיו?</translation>
 <translation id="8342675569599923794">‏Chrome‏ חסם את הקובץ הזה כי הוא מסוכן.</translation>
+<translation id="8380166467911888159">‏Chrome שולח את הטקסט שמוקלד בשדות טקסט ל-Google כדי לתקן שגיאות כתיב</translation>
 <translation id="840084489713044809">‏Google Chrome רוצה לייצא את הסיסמאות שלך.</translation>
 <translation id="8406086379114794905">‏עזור לשפר את Chrome</translation>
 <translation id="8439301513305169426">‏הסיסמה תישמר ב-Chrome באמצעות <ph name="SAVED_PASSWORD_LINK" />. אין צורך לזכור אותה.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kn.xtb b/chrome/app/resources/google_chrome_strings_kn.xtb
index 2bf67d68..b0937796 100644
--- a/chrome/app/resources/google_chrome_strings_kn.xtb
+++ b/chrome/app/resources/google_chrome_strings_kn.xtb
@@ -248,6 +248,7 @@
 <translation id="8286862437124483331">Google Chrome ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ. ಇದಕ್ಕೆ ಅನುಮತಿಸಲು ನಿಮ್ಮ Windows ಪಾಸ್‌ವರ್ಡ್‌ ಟೈಪ್ ಮಾಡಿ.</translation>
 <translation id="8290100596633877290">ಓಹ್! Google Chrome ಕ್ರ‍್ಯಾಶ್‌ ಆಗಿದೆ.ಇದೀಗ ಮರುಪ್ರಾರಂಭಿಸುವುದೆ?</translation>
 <translation id="8342675569599923794">ಈ ಫೈಲ್ ಅಪಾಯಕಾರಿಯಾಗಿದೆ, ಹೀಗಾಗಿ Chrome ಇದನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ.</translation>
+<translation id="8380166467911888159">ಕಾಗುಣಿತ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲು, ನೀವು ಪಠ್ಯ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಟೈಪ್ ಮಾಡುವ ಪಠ್ಯವನ್ನು, Chrome, Google ಗೆ ಕಳುಹಿಸುತ್ತದೆ</translation>
 <translation id="840084489713044809">Google Chrome ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ರಫ್ತು ಮಾಡಲು ಬಯಸುತ್ತದೆ.</translation>
 <translation id="8406086379114794905">Chrome ಉತ್ತಮಗೊಳಿಸುವಲ್ಲಿ ಸಹಾಯ ಮಾಡಿ.</translation>
 <translation id="8439301513305169426">Chrome ಈ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು <ph name="SAVED_PASSWORD_LINK" /> ಬಳಸಿ ಉಳಿಸುತ್ತದೆ. ನೀವು ಅದನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಕಿಲ್ಲ.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lt.xtb b/chrome/app/resources/google_chrome_strings_lt.xtb
index c32d948..dee5f99 100644
--- a/chrome/app/resources/google_chrome_strings_lt.xtb
+++ b/chrome/app/resources/google_chrome_strings_lt.xtb
@@ -255,6 +255,7 @@
 <translation id="8286862437124483331">„Google Chrome“ bando rodyti slaptažodžius. Įveskite „Windows“ slaptažodį, kad tai leistumėte.</translation>
 <translation id="8290100596633877290">Oi! „Google Chrome“ užstrigo. Paleisti iš naujo dabar?</translation>
 <translation id="8342675569599923794">Šis failas pavojingas, todėl „Chrome“ jį užblokavo.</translation>
+<translation id="8380166467911888159">Kad ištaisytų rašybos klaidas, „Chrome“ siunčia „Google“ tekstą, kurį įvedate teksto laukuose</translation>
 <translation id="840084489713044809">„Google Chrome“ nori eksportuoti jūsų slaptažodžius.</translation>
 <translation id="8406086379114794905">Padėkite tobulinti „Chrome“</translation>
 <translation id="8439301513305169426">„Chrome“ išsaugos šį slaptažodį adresu <ph name="SAVED_PASSWORD_LINK" />. Nereikia jo įsiminti.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb
index 4a2d5ccf..9a3946c 100644
--- a/chrome/app/resources/google_chrome_strings_lv.xtb
+++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -250,6 +250,7 @@
 <translation id="8286862437124483331">Google Chrome mēģina rādīt paroles. Lai to atļautu, ierakstiet savu Windows paroli.</translation>
 <translation id="8290100596633877290">Eh! Google Chrome ir avarējis. Vai restartēt to tūlīt?</translation>
 <translation id="8342675569599923794">Šis fails ir bīstams, tāpēc Chrome to bloķēja.</translation>
+<translation id="8380166467911888159">Lai izlabotu pareizrakstības kļūdas, Chrome nosūta teksta laukos ievadīto tekstu Google serveriem.</translation>
 <translation id="840084489713044809">Pārlūkā Google Chrome tiek mēģināts eksportēt jūsu paroles.</translation>
 <translation id="8406086379114794905">Palīdziet uzlabot Chrome</translation>
 <translation id="8439301513305169426">Chrome saglabās šo paroli vietnē <ph name="SAVED_PASSWORD_LINK" />. Jums parole nav jāatceras.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb
index 6454d5b..8d8c1f8 100644
--- a/chrome/app/resources/google_chrome_strings_ml.xtb
+++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Google Chrome പാസ്‌വേഡുകൾ ദൃശ്യമാക്കാൻ ശ്രമിക്കുന്നു. ഇത് അനുവദിക്കാൻ നിങ്ങളുടെ Windows പാസ്‌വേഡ് ടൈപ്പുചെയ്യുക.</translation>
 <translation id="8290100596633877290">ഓ! Google Chrome ക്രാഷുചെയ്തു. ഇപ്പോള്‍ വീണ്ടും സമാരംഭിക്കണോ?</translation>
 <translation id="8342675569599923794">ഈ ഫയൽ അപകടകരമായതിനാൽ Chrome ഇതിനെ ബ്ലോക്കുചെയ്‌തു.</translation>
+<translation id="8380166467911888159">അക്ഷരപ്പിശകുകൾ പരിഹരിക്കാൻ, ടെക്‌സ്‌റ്റ് ഫീൽഡുകളിൽ നിങ്ങൾ ടൈപ്പ് ചെയ്യുന്ന ടെക്‌സ്‌‌റ്റ് Chrome, Google-ന് അയയ്ക്കുന്നു</translation>
 <translation id="840084489713044809">നിങ്ങളുടെ പാസ്‌വേഡുകൾ എക്‌സ്‌പോർട്ട് ചെയ്യാൻ Google Chrome ആഗ്രഹിക്കുന്നു.</translation>
 <translation id="8406086379114794905">Chrome-നെ മികച്ചതാക്കാൻ സഹായിക്കുക</translation>
 <translation id="8439301513305169426"><ph name="SAVED_PASSWORD_LINK" /> ഉപയോഗിച്ച് Chrome ഈ പാസ്‌വേഡ് സംരക്ഷിക്കും. നിങ്ങൾ അത് ഓർത്തുവെയ്‌ക്കേണ്ടതില്ല.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ms.xtb b/chrome/app/resources/google_chrome_strings_ms.xtb
index fae7725..ebe101c 100644
--- a/chrome/app/resources/google_chrome_strings_ms.xtb
+++ b/chrome/app/resources/google_chrome_strings_ms.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome cuba menunjukkan kata laluan. Taip kata laluan Windows anda untuk membenarkannya.</translation>
 <translation id="8290100596633877290">Alamak! Google Chrome mengalami ranap sistem. Lancarkan semula sekarang?</translation>
 <translation id="8342675569599923794">Fail ini berbahaya, maka Chrome telah menyekatnya.</translation>
+<translation id="8380166467911888159">Untuk membetulkan kesilapan ejaan, Chrome menghantar teks yang anda taip dalam medan teks kepada Google</translation>
 <translation id="840084489713044809">Google Chrome mahu mengeksport kata laluan anda.</translation>
 <translation id="8406086379114794905">Bantu mempertingkat Chrome</translation>
 <translation id="8439301513305169426">Chrome akan menyimpan kata laluan ini dengan <ph name="SAVED_PASSWORD_LINK" />. Anda tidak perlu mengingatinya.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_nl.xtb b/chrome/app/resources/google_chrome_strings_nl.xtb
index 27b78f99..dc489796 100644
--- a/chrome/app/resources/google_chrome_strings_nl.xtb
+++ b/chrome/app/resources/google_chrome_strings_nl.xtb
@@ -252,6 +252,7 @@
 <translation id="8286862437124483331">Google Chrome probeert wachtwoorden weer te geven. Geef je Windows-wachtwoord op om dit toe te staan.</translation>
 <translation id="8290100596633877290">Oeps! Google Chrome is vastgelopen. Nu opnieuw starten?</translation>
 <translation id="8342675569599923794">Dit bestand is gevaarlijk en is daarom door Chrome geblokkeerd.</translation>
+<translation id="8380166467911888159">Chrome verzendt de tekst die je in tekstvelden typt naar Google om spelfouten te corrigeren</translation>
 <translation id="840084489713044809">Google Chrome wil je wachtwoorden exporteren.</translation>
 <translation id="8406086379114794905">Help ons Chrome te verbeteren</translation>
 <translation id="8439301513305169426">Chrome slaat dit wachtwoord op met <ph name="SAVED_PASSWORD_LINK" />. Je hoeft het niet te onthouden.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb
index 3e63899..33561bc5 100644
--- a/chrome/app/resources/google_chrome_strings_pl.xtb
+++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -247,6 +247,7 @@
 <translation id="8286862437124483331">Google Chrome próbuje pokazać hasła. Podaj swoje hasło do Windows, by na to zezwolić.</translation>
 <translation id="8290100596633877290">O kurczę! Przeglądarka Google Chrome uległa awarii. Uruchomić ją teraz ponownie?</translation>
 <translation id="8342675569599923794">Ten plik jest niebezpieczny, dlatego został zablokowany przez Chrome.</translation>
+<translation id="8380166467911888159">Aby naprawić błędy pisowni, Chrome wysyła tekst wpisany w polach tekstowych do Google</translation>
 <translation id="840084489713044809">Google Chrome chce wyeksportować Twoje hasła.</translation>
 <translation id="8406086379114794905">Pomóż ulepszać Chrome</translation>
 <translation id="8439301513305169426">Chrome zapisze to hasło za pomocą <ph name="SAVED_PASSWORD_LINK" />. Nie musisz go pamiętać.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb
index 73057ba..8aa445c8 100644
--- a/chrome/app/resources/google_chrome_strings_ro.xtb
+++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome încearcă să afișeze parolele. Pentru a permite acest lucru, introduceți parola pentru Windows.</translation>
 <translation id="8290100596633877290">Hopa! Google Chrome s-a blocat. Repornești acum?</translation>
 <translation id="8342675569599923794">Fișierul este periculos, așadar Chrome l-a blocat.</translation>
+<translation id="8380166467911888159">Pentru a corecta erorile de ortografie, Chrome trimite la Google textul pe care îl introduci în câmpurile de text</translation>
 <translation id="840084489713044809">Google Chrome vrea să îți exporte parolele.</translation>
 <translation id="8406086379114794905">Contribuie la îmbunătățirea Chrome</translation>
 <translation id="8439301513305169426">Chrome va salva parola folosind <ph name="SAVED_PASSWORD_LINK" />. Nu trebuie să o reții.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ru.xtb b/chrome/app/resources/google_chrome_strings_ru.xtb
index 45740958..7a9bd6a 100644
--- a/chrome/app/resources/google_chrome_strings_ru.xtb
+++ b/chrome/app/resources/google_chrome_strings_ru.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Чтобы просмотреть пароли, введите пароль своего аккаунта Windows.</translation>
 <translation id="8290100596633877290">Произошел сбой Google Chrome. Перезапустить?</translation>
 <translation id="8342675569599923794">Chrome заблокировал этот файл как опасный.</translation>
+<translation id="8380166467911888159">Для проверки правописания Chrome отправляет введенный вами текст в Google.</translation>
 <translation id="840084489713044809">Вы собираетесь экспортировать пароли из Google Chrome.</translation>
 <translation id="8406086379114794905">Помогите сделать Chrome безопаснее</translation>
 <translation id="8439301513305169426">Chrome сохранит этот пароль в <ph name="SAVED_PASSWORD_LINK" />. Вам не нужно его запоминать.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb
index 921c92e..379a916 100644
--- a/chrome/app/resources/google_chrome_strings_sk.xtb
+++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -252,6 +252,7 @@
 <translation id="8286862437124483331">Prehliadač Google Chrome sa pokúša zobraziť heslá. Ak to chcete povoliť, zadajte svoje heslo systému Windows.</translation>
 <translation id="8290100596633877290">Google Chrome zlyhal. Chcete ho spustiť znova?</translation>
 <translation id="8342675569599923794">Tento súbor je nebezpečný, a preto ho Chrome zablokoval.</translation>
+<translation id="8380166467911888159">Chrome odošle text zadaný v textových poliach Googlu s cieľom opraviť pravopisné chyby</translation>
 <translation id="840084489713044809">Google Chrome sa pokúša exportovať vaše heslá.</translation>
 <translation id="8406086379114794905">Pomôžte nám prehliadač Chrome zlepšiť</translation>
 <translation id="8439301513305169426">Chrome heslo uloží pomocou funkcie <ph name="SAVED_PASSWORD_LINK" />. Nemusíte si ho pamätať.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb
index b214aa9..737b0f2 100644
--- a/chrome/app/resources/google_chrome_strings_sr.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -254,6 +254,7 @@
 <translation id="8286862437124483331">Google Chrome покушава да прикаже лозинке. Унесите лозинку за Windows да бисте то омогућили.</translation>
 <translation id="8290100596633877290">Опа! Google Chrome је отказао. Желите ли да га одмах поново покренете?</translation>
 <translation id="8342675569599923794">Ова датотека је опасна, па ју је Chrome блокирао.</translation>
+<translation id="8380166467911888159">Да би исправио правописне грешке, Chrome шаље Google-овим серверима текст који уносите у поља за текст.</translation>
 <translation id="840084489713044809">Google Chrome жели да извезе лозинке.</translation>
 <translation id="8406086379114794905">Помозите нам да побољшамо Chrome</translation>
 <translation id="8439301513305169426">Chrome ће сачувати ову лозинку за <ph name="SAVED_PASSWORD_LINK" />. Не морате да је памтите.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb
index 4b63df6..a123b7d9b5 100644
--- a/chrome/app/resources/google_chrome_strings_th.xtb
+++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -247,6 +247,7 @@
 <translation id="8286862437124483331">Google Chrome กำลังพยายามแสดงรหัสผ่าน พิมพ์รหัสผ่าน Windows ของคุณเพื่อแสดงรหัสผ่าน</translation>
 <translation id="8290100596633877290">อ๊ะ! Google Chrome ขัดข้อง เปิดใหม่ตอนนี้หรือไม่</translation>
 <translation id="8342675569599923794">ไฟล์นี้อันตราย Chrome จึงบล็อกไว้</translation>
+<translation id="8380166467911888159">Chrome จะส่งข้อความที่คุณพิมพ์ในช่องข้อความไปยัง Google เพื่อแก้ไขข้อผิดพลาดของการสะกดคำ</translation>
 <translation id="840084489713044809">Google Chrome ต้องการส่งออกรหัสผ่านของคุณ</translation>
 <translation id="8406086379114794905">ช่วยปรับปรุง Chrome ให้ดีขึ้น</translation>
 <translation id="8439301513305169426">Chrome จะบันทึกรหัสผ่านนี้ด้วย <ph name="SAVED_PASSWORD_LINK" /> คุณไม่จำเป็นต้องจำรหัสผ่าน</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb
index f83a527..c8f7aabd 100644
--- a/chrome/app/resources/google_chrome_strings_uk.xtb
+++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -246,6 +246,7 @@
 <translation id="8286862437124483331">Google Chrome намагається показати паролі. Щоб дозволити, введіть свій пароль Windows.</translation>
 <translation id="8290100596633877290">Відбулося аварійне завершення роботи Google Chrome. Перезапустити зараз?</translation>
 <translation id="8342675569599923794">Цей файл небезпечний, тому Chrome заблокував його.</translation>
+<translation id="8380166467911888159">Щоб виправляти орфографічні помилки, Chrome надсилає введений текст у Google</translation>
 <translation id="840084489713044809">Google Chrome хоче експортувати ваші паролі.</translation>
 <translation id="8406086379114794905">Допоможіть покращити Chrome</translation>
 <translation id="8439301513305169426">Chrome збереже цей пароль тут: <ph name="SAVED_PASSWORD_LINK" />. Не потрібно його запам’ятовувати.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb
index 68a9084..3249649 100644
--- a/chrome/app/resources/google_chrome_strings_vi.xtb
+++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -251,6 +251,7 @@
 <translation id="8286862437124483331">Google Chrome đang cố gắng hiển thị 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="8290100596633877290">Chà! Google Chrome đã bị lỗi. Mở lại bây giờ không? </translation>
 <translation id="8342675569599923794">Tệp này nguy hiểm, do đó Chrome đã chặn tệp.</translation>
+<translation id="8380166467911888159">Để sửa lỗi chính tả, Chrome sẽ gửi cho Google văn bản bạn nhập vào các trường văn bản</translation>
 <translation id="840084489713044809">Google Chrome muốn xuất các mật khẩu của bạn.</translation>
 <translation id="8406086379114794905">Giúp cải thiện Chrome tốt hơn</translation>
 <translation id="8439301513305169426">Chrome sẽ lưu mật khẩu này bằng <ph name="SAVED_PASSWORD_LINK" />. Bạn không cần phải nhớ mật khẩu đó.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-TW.xtb b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
index 61d8217..c02df0c 100644
--- a/chrome/app/resources/google_chrome_strings_zh-TW.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
@@ -248,6 +248,7 @@
 <translation id="8286862437124483331">Google Chrome 現在會嘗試顯示密碼。如果你同意的話,請輸入你的 Windows 密碼。</translation>
 <translation id="8290100596633877290">真糟糕!Google Chrome 當掉了,要立即重新啟動嗎?</translation>
 <translation id="8342675569599923794">這個檔案並不安全,因此遭到 Chrome 封鎖。</translation>
+<translation id="8380166467911888159">為修正拼字錯誤,Chrome 會將你在文字欄位輸入的文字傳送給 Google</translation>
 <translation id="840084489713044809">Google Chrome 要求匯出你的密碼。</translation>
 <translation id="8406086379114794905">協助改善 Chrome 的服務品質</translation>
 <translation id="8439301513305169426">Chrome 會將這組密碼儲存至 <ph name="SAVED_PASSWORD_LINK" />,你不須記住密碼。</translation>
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index ce89280a..829cbf9f 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4845,6 +4845,8 @@
     "subresource_filter/test_ruleset_publisher.h",
     "sync/profile_sync_test_util.cc",
     "sync/profile_sync_test_util.h",
+    "unified_consent/unified_consent_test_util.cc",
+    "unified_consent/unified_consent_test_util.h",
   ]
 
   configs += [ "//build/config:precompiled_headers" ]
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index 36855ba..181de053 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -42,6 +42,7 @@
   "+mash/public/mojom",
   "+media/audio", # For media audio hang monitor.
   "+media/base",  # For media switches
+  "+media/capabilities", # For InMemoryVideoDecodeStatsDB
   "+media/cdm/cdm_paths.h",
   "+media/capture",
   "+media/midi",  # For midi switches
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 0e63d15..8406dea 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2034,9 +2034,10 @@
      flag_descriptions::kExperimentalSecurityFeaturesDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnablePotentiallyAnnoyingSecurityFeatures)},
 #endif  // OS_CHROMEOS
-    {"committed-interstitials", flag_descriptions::kCommittedInterstitialsName,
-     flag_descriptions::kCommittedInterstitialsDescription, kOsAll,
-     SINGLE_VALUE_TYPE(switches::kCommittedInterstitials)},
+    {"ssl-committed-interstitials",
+     flag_descriptions::kSSLCommittedInterstitialsName,
+     flag_descriptions::kSSLCommittedInterstitialsDescription, kOsAll,
+     FEATURE_VALUE_TYPE(features::kSSLCommittedInterstitials)},
     {"enable-site-per-process", flag_descriptions::kStrictSiteIsolationName,
      flag_descriptions::kStrictSiteIsolationDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kSitePerProcess)},
diff --git a/chrome/browser/android/vr/BUILD.gn b/chrome/browser/android/vr/BUILD.gn
index e27b7b7..d2c2b2fe 100644
--- a/chrome/browser/android/vr/BUILD.gn
+++ b/chrome/browser/android/vr/BUILD.gn
@@ -74,7 +74,7 @@
   }
 
   deps = [
-    ":vr_shell_jni_headers",
+    ":vr_jni_headers",
     "//base",
     "//cc",
     "//chrome/browser/vr:vr_common",
@@ -115,18 +115,18 @@
   }
 }
 
-generate_jni("vr_shell_jni_headers") {
+generate_jni("vr_jni_headers") {
   sources = [
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidUiGestureTarget.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/AndroidVSyncHelper.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrCoreInfo.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrInputConnection.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/GvrKeyboardLoaderClient.java",
-    "//chrome/android/java/src/org/chromium/chrome/browser/vr_shell/keyboard/TextEditAction.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidUiGestureTarget.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/AndroidVSyncHelper.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/VrCoreInfo.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/VrInputConnection.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellDelegate.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/VrShellImpl.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/GvrKeyboardLoaderClient.java",
+    "//chrome/android/java/src/org/chromium/chrome/browser/vr/keyboard/TextEditAction.java",
   ]
-  jni_package = "vr_shell"
+  jni_package = "vr"
 }
 
 if (enable_arcore) {
diff --git a/chrome/browser/android/vr/arcore_device/arcore_device.cc b/chrome/browser/android/vr/arcore_device/arcore_device.cc
index 890393bb..d49ff76 100644
--- a/chrome/browser/android/vr/arcore_device/arcore_device.cc
+++ b/chrome/browser/android/vr/arcore_device/arcore_device.cc
@@ -21,6 +21,7 @@
 #include "components/content_settings/core/common/content_settings_types.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
+#include "device/vr/vr_display_impl.h"
 #include "ui/display/display.h"
 
 using base::android::JavaRef;
@@ -135,6 +136,10 @@
   DCHECK(IsOnMainThread());
 
   is_arcore_gl_thread_initialized_ = true;
+
+  if (pending_request_session_callback_) {
+    std::move(pending_request_session_callback_).Run();
+  }
 }
 
 void ARCoreDevice::RequestSession(
@@ -145,12 +150,17 @@
   // TODO(https://crbug.com/849568): Instead of splitting the initialization
   // of this class between construction and RequestSession, perform all the
   // initialization at once on the first successful RequestSession call.
-
-  // TODO(https://crbug.com/846521): If the RequestSession call comes before
-  // the arcore gl thread is initialized, the resolution of the request should
-  // be delayed.
   if (!is_arcore_gl_thread_initialized_) {
-    std::move(callback).Run(nullptr, nullptr);
+    if (pending_request_session_callback_) {
+      // We can only store one request at a time, so reject any further
+      // requests.
+      // TODO(http://crbug.com/836496) Make this queue session requests.
+      std::move(callback).Run(nullptr, nullptr);
+    }
+
+    pending_request_session_callback_ =
+        base::BindOnce(&ARCoreDevice::RequestSession, GetWeakPtr(),
+                       std::move(options), std::move(callback));
     return;
   }
 
@@ -267,25 +277,37 @@
 }
 
 void ARCoreDevice::OnMagicWindowFrameDataRequest(
-    const gfx::Size& frame_size,
-    display::Display::Rotation display_rotation,
     mojom::VRMagicWindowProvider::GetFrameDataCallback callback) {
   TRACE_EVENT0("gpu", __FUNCTION__);
   DCHECK(IsOnMainThread());
+  // We should not be able to reach this point if we are not initialized.
+  DCHECK(is_arcore_gl_thread_initialized_);
 
-  // TODO(ijamardo): Do we need to queue requests to avoid breaking
-  // applications?
-  // TODO(https://crbug.com/837944): Ensure is_arcore_gl_thread_initialized_
-  // is always true by blocking requestDevice()'s callback until it is true
-  if (is_paused_ || !is_arcore_gl_thread_initialized_) {
+  if (is_paused_) {
+    std::move(callback).Run(nullptr);
+    return;
+  }
+
+  // TODO(https://crbug.com/836496) This current implementation does not handle
+  // multiple sessions well. There should be a better way to handle this than
+  // taking the max of all sessions.
+  gfx::Size max_size(0, 0);
+  display::Display::Rotation rotation;
+  for (auto& session : magic_window_sessions_) {
+    max_size.SetToMax(session->sessionFrameSize());
+    // We have to pick a rotation so just go with the last one.
+    rotation = session->sessionRotation();
+  }
+
+  if (max_size.IsEmpty()) {
+    DLOG(ERROR) << "No valid AR frame size provided!";
     std::move(callback).Run(nullptr);
     return;
   }
 
   PostTaskToGlThread(base::BindOnce(
       &ARCoreGl::ProduceFrame, arcore_gl_thread_->GetARCoreGl()->GetWeakPtr(),
-      frame_size, display_rotation,
-      CreateMainThreadCallback(std::move(callback))));
+      max_size, rotation, CreateMainThreadCallback(std::move(callback))));
 }
 
 void ARCoreDevice::RequestHitTest(
diff --git a/chrome/browser/android/vr/arcore_device/arcore_device.h b/chrome/browser/android/vr/arcore_device/arcore_device.h
index a23c6d9..ad09a36 100644
--- a/chrome/browser/android/vr/arcore_device/arcore_device.h
+++ b/chrome/browser/android/vr/arcore_device/arcore_device.h
@@ -52,8 +52,6 @@
   // VRDeviceBase implementation
   bool ShouldPauseTrackingWhenFrameDataRestricted() override;
   void OnMagicWindowFrameDataRequest(
-      const gfx::Size& frame_size,
-      display::Display::Rotation display_rotation,
       mojom::VRMagicWindowProvider::GetFrameDataCallback callback) override;
   void RequestHitTest(
       mojom::XRRayPtr ray,
@@ -121,6 +119,10 @@
   bool is_arcore_gl_thread_initialized_ = false;
   bool is_arcore_gl_initialized_ = false;
 
+  // If we get a requestSession before we are completely initialized, store it
+  // until we are intialized.
+  base::OnceClosure pending_request_session_callback_;
+
   // This object is not paused when it is created. Although it is not
   // necessarily running during initialization, it is not paused. If it is
   // paused before initialization completes, then the underlying runtime will
diff --git a/chrome/browser/android/vr/arcore_device/arcore_gl.cc b/chrome/browser/android/vr/arcore_device/arcore_gl.cc
index 7dcc9cf..891ed17 100644
--- a/chrome/browser/android/vr/arcore_device/arcore_gl.cc
+++ b/chrome/browser/android/vr/arcore_device/arcore_gl.cc
@@ -124,6 +124,8 @@
 
   // Set the texture on ARCore to render the camera.
   arcore_->SetCameraTexture(ar_image_transport_->GetCameraTextureId());
+  // Set the Geometry to ensure consistent behaviour.
+  arcore_->SetDisplayGeometry(gfx::Size(0, 0), display::Display::ROTATE_0);
 
   is_initialized_ = true;
 
@@ -179,13 +181,36 @@
   DCHECK(IsOnGlThread());
   DCHECK(is_initialized_);
 
-  // Set display geometry before calling Update. It's a pending request that
-  // applies to the next frame.
-  // TODO(klausw): Only call if there was a change, this may be an expensive
-  // operation. If there was no change, the previous projection matrix and UV
-  // transform remain valid.
-  gfx::Size transfer_size = frame_size;
-  arcore_->SetDisplayGeometry(transfer_size, display_rotation);
+  // Check if the frame_size and display_rotation updated last frame.
+  if (should_recalculate_uvs_) {
+    // Get the UV transform matrix from ARCore's UV transform.
+    std::vector<float> uvs_transformed =
+        arcore_->TransformDisplayUvCoords(kDisplayCoordinatesForTransform);
+    uv_transform_ = ConvertUvsToTransformMatrix(uvs_transformed);
+
+    // We need near/far distances to make a projection matrix. The actual
+    // values don't matter, the Renderer will recalculate dependent values
+    // based on the application's near/far settngs.
+    constexpr float depth_near = 0.1f;
+    constexpr float depth_far = 1000.f;
+    projection_ = arcore_->GetProjectionMatrix(depth_near, depth_far);
+    should_recalculate_uvs_ = false;
+  }
+
+  if (transfer_size_ != frame_size || display_rotation_ != display_rotation) {
+    // Set display geometry before calling Update. It's a pending request that
+    // applies to the next frame.
+    arcore_->SetDisplayGeometry(frame_size, display_rotation);
+
+    // Store the passed in values to ensure that we can update them only if they
+    // change.
+    transfer_size_ = frame_size;
+    display_rotation_ = display_rotation;
+
+    // Tell the uvs to recalculate on the next animation frame, by which time
+    // SetDisplayGeometry will have set the new values in arcore_.
+    should_recalculate_uvs_ = true;
+  }
 
   TRACE_EVENT_BEGIN0("gpu", "ARCore Update");
   bool camera_updated = false;
@@ -197,34 +222,20 @@
     return;
   }
 
-  // Get the UV transform matrix from ARCore's UV transform. TODO(klausw): do
-  // this only on changes, not every frame.
-  std::vector<float> uvs_transformed =
-      arcore_->TransformDisplayUvCoords(kDisplayCoordinatesForTransform);
-  gfx::Transform uv_transform = ConvertUvsToTransformMatrix(uvs_transformed);
-
   // Transfer the camera image texture to a MailboxHolder for transport to
   // the renderer process.
   gpu::MailboxHolder buffer_holder =
-      ar_image_transport_->TransferFrame(transfer_size, uv_transform);
+      ar_image_transport_->TransferFrame(transfer_size_, uv_transform_);
 
   // Create the frame data to return to the renderer.
   mojom::XRFrameDataPtr frame_data = mojom::XRFrameData::New();
   frame_data->pose = std::move(pose);
   frame_data->buffer_holder = buffer_holder;
-  frame_data->buffer_size = transfer_size;
+  frame_data->buffer_size = transfer_size_;
   frame_data->time_delta = base::TimeTicks::Now() - base::TimeTicks();
-  // We need near/far distances to make a projection matrix. The actual
-  // values don't matter, the Renderer will recalculate dependent values
-  // based on the application's near/far settngs.
-  constexpr float depth_near = 0.1f;
-  constexpr float depth_far = 1000.f;
-  gfx::Transform projection =
-      arcore_->GetProjectionMatrix(depth_near, depth_far);
   // Convert the Transform's 4x4 matrix to 16 floats in column-major order.
-
   frame_data->projection_matrix.emplace(16);
-  projection.matrix().asColMajorf(frame_data->projection_matrix->data());
+  projection_.matrix().asColMajorf(frame_data->projection_matrix->data());
 
   fps_meter_.AddFrame(base::TimeTicks::Now());
   TRACE_COUNTER1("gpu", "WebXR FPS", fps_meter_.GetFPS());
diff --git a/chrome/browser/android/vr/arcore_device/arcore_gl.h b/chrome/browser/android/vr/arcore_device/arcore_gl.h
index 2994e5c..d190193 100644
--- a/chrome/browser/android/vr/arcore_device/arcore_gl.h
+++ b/chrome/browser/android/vr/arcore_device/arcore_gl.h
@@ -81,6 +81,16 @@
   std::unique_ptr<ARCore> arcore_;
   std::unique_ptr<ARImageTransport> ar_image_transport_;
 
+  // Default dummy values to ensure consistent behaviour.
+  gfx::Size transfer_size_ = gfx::Size(0, 0);
+  display::Display::Rotation display_rotation_ = display::Display::ROTATE_0;
+
+  gfx::Transform uv_transform_;
+  gfx::Transform projection_;
+  // The first run of ProduceFrame should set uv_transform_ and projection_
+  // using the default settings in ARCore.
+  bool should_recalculate_uvs_ = true;
+
   bool is_initialized_ = false;
 
   vr::FPSMeter fps_meter_;
diff --git a/chrome/browser/android/vr/vr_core_info.h b/chrome/browser/android/vr/vr_core_info.h
index 04c59db..c5f7881 100644
--- a/chrome/browser/android/vr/vr_core_info.h
+++ b/chrome/browser/android/vr/vr_core_info.h
@@ -11,7 +11,7 @@
 
 namespace vr {
 
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum VrCoreCompatibility {
   VR_CORE_COMPATIBILITY_VR_NOT_SUPPORTED = 0,
   VR_CORE_COMPATIBILITY_VR_NOT_AVAILABLE = 1,
diff --git a/chrome/browser/android/vr/vr_shell_delegate.h b/chrome/browser/android/vr/vr_shell_delegate.h
index 0f6f05a..cc0e76c 100644
--- a/chrome/browser/android/vr/vr_shell_delegate.h
+++ b/chrome/browser/android/vr/vr_shell_delegate.h
@@ -28,7 +28,7 @@
 
 namespace vr {
 
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum class VrSupportLevel : int {
   kVrNotAvailable = 0,
   kVrCardboard = 1,
diff --git a/chrome/browser/android/vr/vr_shell_gl.cc b/chrome/browser/android/vr/vr_shell_gl.cc
index 8aabe96..5a459e5a 100644
--- a/chrome/browser/android/vr/vr_shell_gl.cc
+++ b/chrome/browser/android/vr/vr_shell_gl.cc
@@ -887,8 +887,15 @@
   showing_vr_dialog_ = true;
   vr_dialog_input_delegate_.reset(new PlatformUiInputDelegate(input_handler));
   vr_dialog_input_delegate_->SetSize(width, height);
-  ui_->SetAlertDialogEnabled(true, vr_dialog_input_delegate_.get(), width,
-                             height);
+  if (web_vr_mode_) {
+    ui_->SetAlertDialogEnabled(true, vr_dialog_input_delegate_.get(), width,
+                               height);
+  } else {
+    ui_->SetContentOverlayAlertDialogEnabled(
+        true, vr_dialog_input_delegate_.get(),
+        width / content_tex_buffer_size_.width(),
+        height / content_tex_buffer_size_.width());
+  }
   ScheduleOrCancelWebVrFrameTimeout();
 }
 
@@ -906,10 +913,13 @@
   // ratio matters. But, if they are floating, its size should be relative to
   // the contents. During a WebXR presentation, the contents might not have been
   // initialized but, in this case, the dialogs are never floating.
-  float scale = content_tex_buffer_size_.IsEmpty()
-                    ? 1.0f
-                    : content_tex_buffer_size_.width();
-  ui_->SetAlertDialogSize(width / scale, height / scale);
+  if (web_vr_mode_) {
+    ui_->SetAlertDialogSize(width, height);
+  } else {
+    ui_->SetContentOverlayAlertDialogSize(
+        width / content_tex_buffer_size_.width(),
+        height / content_tex_buffer_size_.width());
+  }
 }
 
 void VrShellGl::SetDialogLocation(float x, float y) {
@@ -1547,7 +1557,7 @@
   // Update the render position of all UI elements (including desktop).
   TRACE_EVENT_BEGIN0("gpu", "SceneUpdate");
   base::TimeTicks scene_start = base::TimeTicks::Now();
-  bool scene_changed =
+  bool ui_updated =
       ui_->scene()->OnBeginFrame(current_time, render_info_.head_pose);
 
   // WebVR handles controller input in OnVsync.
@@ -1560,22 +1570,24 @@
     ui_controller_update_time_.AddSample(controller_time);
   }
 
-  if (!graphics_delegate_->MakeSkiaContextCurrent()) {
-    ForceExitVr();
-    return;
-  }
-  bool textures_changed = ui_->scene()->UpdateTextures();
-  if (!graphics_delegate_->MakeMainContextCurrent()) {
-    ForceExitVr();
-    return;
+  if (ui_->SceneHasDirtyTextures()) {
+    if (!graphics_delegate_->MakeSkiaContextCurrent()) {
+      ForceExitVr();
+      return;
+    }
+    ui_->UpdateSceneTextures();
+    if (!graphics_delegate_->MakeMainContextCurrent()) {
+      ForceExitVr();
+      return;
+    }
+    ui_updated = true;
   }
 
   // TODO(mthiesse): Determine if a visible controller is actually drawn in the
   // viewport.
   bool controller_dirty = ui_->IsControllerVisible();
 
-  bool ui_updated =
-      scene_changed || textures_changed || content_frame_available_;
+  ui_updated |= content_frame_available_;
   ReportUiStatusForTesting(scene_start, ui_updated);
 
   // TODO(mthiesse): Refine this notion of when we need to redraw. If only a
diff --git a/chrome/browser/autofill/autofill_interactive_uitest.cc b/chrome/browser/autofill/autofill_interactive_uitest.cc
index d47d3935..aced1026 100644
--- a/chrome/browser/autofill/autofill_interactive_uitest.cc
+++ b/chrome/browser/autofill/autofill_interactive_uitest.cc
@@ -1988,8 +1988,7 @@
 IN_PROC_BROWSER_TEST_P(AutofillInteractiveTest, DynamicChangingFormFill) {
   // Explicitly disable the filling of dynamic forms.
   base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitAndDisableFeature(
-      features::kAutofillRequireSecureCreditCardContext);
+  scoped_feature_list.InitAndDisableFeature(features::kAutofillDynamicForms);
 
   CreateTestProfile();
 
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 993679877..2e6464a 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -637,8 +637,8 @@
   DCHECK(io_thread_);
   if (!network_connection_tracker_) {
     network_connection_tracker_ =
-        std::make_unique<content::NetworkConnectionTracker>();
-    network_connection_tracker_->Initialize(content::GetNetworkService());
+        std::make_unique<content::NetworkConnectionTracker>(
+            base::BindRepeating(&content::GetNetworkService));
   }
   return network_connection_tracker_.get();
 }
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
index ae53a60..6bf3a245 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -56,6 +56,7 @@
 #include "chrome/browser/search_engines/template_url_service_factory.h"
 #include "chrome/browser/sessions/tab_restore_service_factory.h"
 #include "chrome/browser/web_data_service_factory.h"
+#include "chrome/browser/webauthn/chrome_authenticator_request_delegate.h"
 #include "chrome/common/buildflags.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
@@ -129,6 +130,10 @@
 #include "components/user_manager/user.h"
 #endif  // defined(OS_CHROMEOS)
 
+#if defined(OS_MACOSX)
+#include "device/fido/mac/browsing_data_deletion.h"
+#endif  // defined(OS_MACOSX)
+
 #if BUILDFLAG(ENABLE_PLUGINS)
 #include "chrome/browser/browsing_data/browsing_data_flash_lso_helper.h"
 #endif  // BUILDFLAG(ENABLE_PLUGINS)
@@ -782,6 +787,14 @@
         ->GetNetworkContext()
         ->ClearHttpAuthCache(delete_begin_,
                              CreatePendingTaskCompletionClosureForMojo());
+
+#if defined(OS_MACOSX)
+    auto authenticator_config = ChromeAuthenticatorRequestDelegate::
+        TouchIdAuthenticatorConfigForProfile(profile_);
+    device::fido::mac::DeleteWebAuthnCredentials(
+        authenticator_config.keychain_access_group,
+        authenticator_config.metadata_secret, delete_begin_, delete_end_);
+#endif  // defined(OS_MACOSX)
   }
 
   if (remove_mask & content::BrowsingDataRemover::DATA_TYPE_COOKIES) {
diff --git a/chrome/browser/captive_portal/captive_portal_service.cc b/chrome/browser/captive_portal/captive_portal_service.cc
index 81b23b52..e63c76e 100644
--- a/chrome/browser/captive_portal/captive_portal_service.cc
+++ b/chrome/browser/captive_portal/captive_portal_service.cc
@@ -278,8 +278,8 @@
         })");
   captive_portal_detector_->DetectCaptivePortal(
       test_url_,
-      base::Bind(&CaptivePortalService::OnPortalDetectionCompleted,
-                 base::Unretained(this)),
+      base::BindOnce(&CaptivePortalService::OnPortalDetectionCompleted,
+                     base::Unretained(this)),
       traffic_annotation);
 }
 
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 85cbd1b..f2e110b1 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2626,8 +2626,7 @@
     return;
   }
 
-  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kCommittedInterstitials)) {
+  if (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials)) {
     // We deny the request here in order to trigger the committed interstitials
     // code path (committing certificate error pages as navigations) instead of
     // the old code path.
@@ -3940,8 +3939,7 @@
   throttles.push_back(std::make_unique<PolicyBlacklistNavigationThrottle>(
       handle, handle->GetWebContents()->GetBrowserContext()));
 
-  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kCommittedInterstitials)) {
+  if (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials)) {
     throttles.push_back(std::make_unique<SSLErrorNavigationThrottle>(
         handle,
         std::make_unique<CertificateReportingServiceCertReporter>(web_contents),
diff --git a/chrome/browser/chromeos/arc/auth/arc_auth_service.cc b/chrome/browser/chromeos/arc/auth/arc_auth_service.cc
index 66a59d7..9ce4d8b 100644
--- a/chrome/browser/chromeos/arc/auth/arc_auth_service.cc
+++ b/chrome/browser/chromeos/arc/auth/arc_auth_service.cc
@@ -18,6 +18,7 @@
 #include "chrome/browser/chromeos/login/demo_mode/demo_session.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/app_list/arc/arc_data_removal_dialog.h"
 #include "chromeos/chromeos_switches.h"
 #include "components/arc/arc_bridge_service.h"
 #include "components/arc/arc_browser_context_keyed_service_factory_base.h"
@@ -235,12 +236,15 @@
           static_cast<int>(ArcSupervisionTransition::NO_TRANSITION));
       // TODO(brunokim): notify potential observers.
       break;
-    case mojom::SupervisionChangeStatus::INVALID_SUPERVISION_STATE:
     case mojom::SupervisionChangeStatus::CLOUD_DPC_DISABLING_FAILED:
     case mojom::SupervisionChangeStatus::CLOUD_DPC_ENABLING_FAILED:
-    default:
-      LOG(WARNING) << "Failed to changed supervision: " << status;
-      // TODO(crbug/841939): Block ARC++ in case of Unicorn graduation failure.
+      LOG(ERROR) << "Child transition failed: " << status;
+      ShowDataRemovalConfirmationDialog(
+          profile_, base::BindOnce(&ArcAuthService::OnDataRemovalAccepted,
+                                   weak_ptr_factory_.GetWeakPtr()));
+      break;
+    case mojom::SupervisionChangeStatus::INVALID_SUPERVISION_STATE:
+      NOTREACHED() << "Invalid status of child transition: " << status;
   }
 }
 
@@ -373,4 +377,15 @@
   url_loader_factory_ = std::move(url_loader_factory);
 }
 
+void ArcAuthService::OnDataRemovalAccepted(bool accepted) {
+  if (!accepted)
+    return;
+  if (!IsArcPlayStoreEnabledForProfile(profile_))
+    return;
+  VLOG(1)
+      << "Request for data removal on child transition failure is confirmed";
+  ArcSessionManager::Get()->RequestArcDataRemoval();
+  ArcSessionManager::Get()->StopAndEnableArc();
+}
+
 }  // namespace arc
diff --git a/chrome/browser/chromeos/arc/auth/arc_auth_service.h b/chrome/browser/chromeos/arc/auth/arc_auth_service.h
index aaa0f5b..ef73872 100644
--- a/chrome/browser/chromeos/arc/auth/arc_auth_service.h
+++ b/chrome/browser/chromeos/arc/auth/arc_auth_service.h
@@ -76,6 +76,9 @@
   void OnAccountInfoReady(mojom::AccountInfoPtr account_info,
                           mojom::ArcSignInStatus status);
 
+  // Callback for data removal confirmation.
+  void OnDataRemovalAccepted(bool accepted);
+
   Profile* const profile_;
   ArcBridgeService* const arc_bridge_service_;
   scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
diff --git a/chrome/browser/chromeos/arc/auth/arc_auth_service_browsertest.cc b/chrome/browser/chromeos/arc/auth/arc_auth_service_browsertest.cc
index 4c0216ff..b9f5ba8 100644
--- a/chrome/browser/chromeos/arc/auth/arc_auth_service_browsertest.cc
+++ b/chrome/browser/chromeos/arc/auth/arc_auth_service_browsertest.cc
@@ -31,11 +31,14 @@
 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/browser/supervised_user/supervised_user_constants.h"
+#include "chrome/browser/ui/app_list/arc/arc_data_removal_dialog.h"
 #include "chrome/browser/ui/ash/multi_user/multi_user_util.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/testing_profile.h"
+#include "chromeos/cryptohome/cryptohome_parameters.h"
 #include "components/account_id/account_id.h"
 #include "components/arc/arc_bridge_service.h"
+#include "components/arc/arc_data_remover.h"
 #include "components/arc/arc_features.h"
 #include "components/arc/arc_prefs.h"
 #include "components/arc/arc_service_manager.h"
@@ -128,6 +131,9 @@
   }
 
   void TearDownOnMainThread() override {
+    if (arc_bridge_service_)
+      arc_bridge_service_->auth()->CloseInstance(&auth_instance_);
+
     // Explicitly removing the user is required; otherwise ProfileHelper keeps
     // a dangling pointer to the User.
     // TODO(nya): Consider removing all users from ProfileHelper in the
@@ -207,6 +213,19 @@
     // context; currently we just skip it.
     // TODO(blundell): Figure out how to enable this flow.
     ArcSessionManager::Get()->auth_context()->SkipMergeSessionForTesting();
+
+    auth_service_ = ArcAuthService::GetForBrowserContext(profile());
+    DCHECK(auth_service_);
+
+    test_shared_loader_factory_ =
+        base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
+            &test_url_loader_factory_);
+    auth_service_->SetURLLoaderFactoryForTesting(test_shared_loader_factory_);
+
+    arc_bridge_service_ = ArcServiceManager::Get()->arc_bridge_service();
+    DCHECK(arc_bridge_service_);
+    arc_bridge_service_->auth()->SetInstance(&auth_instance_);
+    WaitForInstanceReady(arc_bridge_service_->auth());
   }
 
   Profile* profile() { return profile_.get(); }
@@ -215,10 +234,22 @@
     profile_->set_profile_name(username);
   }
 
+  network::TestURLLoaderFactory& test_url_loader_factory() {
+    return test_url_loader_factory_;
+  }
+  ArcAuthService& auth_service() { return *auth_service_; }
+  FakeAuthInstance& auth_instance() { return auth_instance_; }
+
  private:
   std::unique_ptr<user_manager::ScopedUserManager> user_manager_enabler_;
   base::ScopedTempDir temp_dir_;
   std::unique_ptr<TestingProfile> profile_;
+  network::TestURLLoaderFactory test_url_loader_factory_;
+  scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory_;
+  FakeAuthInstance auth_instance_;
+  // Not owned.
+  ArcAuthService* auth_service_ = nullptr;
+  ArcBridgeService* arc_bridge_service_ = nullptr;
 
   DISALLOW_COPY_AND_ASSIGN(ArcAuthServiceTest);
 };
@@ -227,40 +258,22 @@
 // Chrome supplies the info configured in SetAccountAndProfile() method.
 IN_PROC_BROWSER_TEST_F(ArcAuthServiceTest, SuccessfulBackgroundFetch) {
   SetAccountAndProfile(user_manager::USER_TYPE_REGULAR);
-  network::TestURLLoaderFactory test_url_loader_factory;
-  test_url_loader_factory.AddResponse(
+  test_url_loader_factory().AddResponse(
       arc::kAuthTokenExchangeEndPoint,
       "{ \"token\" : \"" + std::string(kFakeAuthCode) + "\" }");
 
-  FakeAuthInstance auth_instance;
-  ArcAuthService* auth_service =
-      ArcAuthService::GetForBrowserContext(profile());
-  ASSERT_TRUE(auth_service);
-
-  scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory =
-      base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
-          &test_url_loader_factory);
-  auth_service->SetURLLoaderFactoryForTesting(test_shared_loader_factory);
-
-  ArcBridgeService* arc_bridge_service =
-      ArcServiceManager::Get()->arc_bridge_service();
-  ASSERT_TRUE(arc_bridge_service);
-  arc_bridge_service->auth()->SetInstance(&auth_instance);
-  WaitForInstanceReady(arc_bridge_service->auth());
-
   base::RunLoop run_loop;
-  auth_instance.RequestAccountInfo(run_loop.QuitClosure());
+  auth_instance().RequestAccountInfo(run_loop.QuitClosure());
   run_loop.Run();
 
-  ASSERT_TRUE(auth_instance.account_info());
-  EXPECT_EQ(kFakeUserName, auth_instance.account_info()->account_name.value());
-  EXPECT_EQ(kFakeAuthCode, auth_instance.account_info()->auth_code.value());
+  ASSERT_TRUE(auth_instance().account_info());
+  EXPECT_EQ(kFakeUserName,
+            auth_instance().account_info()->account_name.value());
+  EXPECT_EQ(kFakeAuthCode, auth_instance().account_info()->auth_code.value());
   EXPECT_EQ(mojom::ChromeAccountType::USER_ACCOUNT,
-            auth_instance.account_info()->account_type);
-  EXPECT_FALSE(auth_instance.account_info()->enrollment_token);
-  EXPECT_FALSE(auth_instance.account_info()->is_managed);
-
-  arc_bridge_service->auth()->CloseInstance(&auth_instance);
+            auth_instance().account_info()->account_type);
+  EXPECT_FALSE(auth_instance().account_info()->enrollment_token);
+  EXPECT_FALSE(auth_instance().account_info()->is_managed);
 }
 
 class ArcRobotAccountAuthServiceTest : public ArcAuthServiceTest {
@@ -344,27 +357,18 @@
   interceptor()->PushJobCallback(
       base::Bind(&ArcRobotAccountAuthServiceTest::ResponseJob));
 
-  ArcBridgeService* arc_bridge_service =
-      ArcServiceManager::Get()->arc_bridge_service();
-  ASSERT_TRUE(arc_bridge_service);
-
-  FakeAuthInstance auth_instance;
-  arc_bridge_service->auth()->SetInstance(&auth_instance);
-  WaitForInstanceReady(arc_bridge_service->auth());
-
   base::RunLoop run_loop;
-  auth_instance.RequestAccountInfo(run_loop.QuitClosure());
+  auth_instance().RequestAccountInfo(run_loop.QuitClosure());
   run_loop.Run();
 
-  ASSERT_TRUE(auth_instance.account_info());
-  EXPECT_EQ(kFakeUserName, auth_instance.account_info()->account_name.value());
-  EXPECT_EQ(kFakeAuthCode, auth_instance.account_info()->auth_code.value());
+  ASSERT_TRUE(auth_instance().account_info());
+  EXPECT_EQ(kFakeUserName,
+            auth_instance().account_info()->account_name.value());
+  EXPECT_EQ(kFakeAuthCode, auth_instance().account_info()->auth_code.value());
   EXPECT_EQ(mojom::ChromeAccountType::ROBOT_ACCOUNT,
-            auth_instance.account_info()->account_type);
-  EXPECT_FALSE(auth_instance.account_info()->enrollment_token);
-  EXPECT_FALSE(auth_instance.account_info()->is_managed);
-
-  arc_bridge_service->auth()->CloseInstance(&auth_instance);
+            auth_instance().account_info()->account_type);
+  EXPECT_FALSE(auth_instance().account_info()->enrollment_token);
+  EXPECT_FALSE(auth_instance().account_info()->is_managed);
 }
 
 IN_PROC_BROWSER_TEST_F(ArcRobotAccountAuthServiceTest, GetOfflineDemoAccount) {
@@ -374,27 +378,17 @@
 
   SetAccountAndProfile(user_manager::USER_TYPE_PUBLIC_ACCOUNT);
 
-  ArcBridgeService* arc_bridge_service =
-      ArcServiceManager::Get()->arc_bridge_service();
-  ASSERT_TRUE(arc_bridge_service);
-
-  FakeAuthInstance auth_instance;
-  arc_bridge_service->auth()->SetInstance(&auth_instance);
-  WaitForInstanceReady(arc_bridge_service->auth());
-
   base::RunLoop run_loop;
-  auth_instance.RequestAccountInfo(run_loop.QuitClosure());
+  auth_instance().RequestAccountInfo(run_loop.QuitClosure());
   run_loop.Run();
 
-  ASSERT_TRUE(auth_instance.account_info());
-  EXPECT_TRUE(auth_instance.account_info()->account_name.value().empty());
-  EXPECT_TRUE(auth_instance.account_info()->auth_code.value().empty());
+  ASSERT_TRUE(auth_instance().account_info());
+  EXPECT_TRUE(auth_instance().account_info()->account_name.value().empty());
+  EXPECT_TRUE(auth_instance().account_info()->auth_code.value().empty());
   EXPECT_EQ(mojom::ChromeAccountType::OFFLINE_DEMO_ACCOUNT,
-            auth_instance.account_info()->account_type);
-  EXPECT_FALSE(auth_instance.account_info()->enrollment_token);
-  EXPECT_TRUE(auth_instance.account_info()->is_managed);
-
-  arc_bridge_service->auth()->CloseInstance(&auth_instance);
+            auth_instance().account_info()->account_type);
+  EXPECT_FALSE(auth_instance().account_info()->enrollment_token);
+  EXPECT_TRUE(auth_instance().account_info()->is_managed);
 }
 
 class ArcAuthServiceChildAccountTest : public ArcAuthServiceTest {
@@ -419,40 +413,129 @@
 IN_PROC_BROWSER_TEST_F(ArcAuthServiceChildAccountTest, ChildAccountFetch) {
   SetAccountAndProfile(user_manager::USER_TYPE_CHILD);
   EXPECT_TRUE(profile()->IsChild());
-  network::TestURLLoaderFactory test_url_loader_factory;
-  test_url_loader_factory.AddResponse(
+  test_url_loader_factory().AddResponse(
       arc::kAuthTokenExchangeEndPoint,
       "{ \"token\" : \"" + std::string(kFakeAuthCode) + "\" }");
 
-  FakeAuthInstance auth_instance;
-  ArcAuthService* auth_service =
-      ArcAuthService::GetForBrowserContext(profile());
-  ASSERT_TRUE(auth_service);
-
-  scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory =
-      base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
-          &test_url_loader_factory);
-  auth_service->SetURLLoaderFactoryForTesting(test_shared_loader_factory);
-
-  ArcBridgeService* arc_bridge_service =
-      ArcServiceManager::Get()->arc_bridge_service();
-  ASSERT_TRUE(arc_bridge_service);
-  arc_bridge_service->auth()->SetInstance(&auth_instance);
-  WaitForInstanceReady(arc_bridge_service->auth());
-
   base::RunLoop run_loop;
-  auth_instance.RequestAccountInfo(run_loop.QuitClosure());
+  auth_instance().RequestAccountInfo(run_loop.QuitClosure());
   run_loop.Run();
 
-  ASSERT_TRUE(auth_instance.account_info());
-  EXPECT_EQ(kFakeUserName, auth_instance.account_info()->account_name.value());
-  EXPECT_EQ(kFakeAuthCode, auth_instance.account_info()->auth_code.value());
+  ASSERT_TRUE(auth_instance().account_info());
+  EXPECT_EQ(kFakeUserName,
+            auth_instance().account_info()->account_name.value());
+  EXPECT_EQ(kFakeAuthCode, auth_instance().account_info()->auth_code.value());
   EXPECT_EQ(mojom::ChromeAccountType::CHILD_ACCOUNT,
-            auth_instance.account_info()->account_type);
-  EXPECT_FALSE(auth_instance.account_info()->enrollment_token);
-  EXPECT_FALSE(auth_instance.account_info()->is_managed);
+            auth_instance().account_info()->account_type);
+  EXPECT_FALSE(auth_instance().account_info()->enrollment_token);
+  EXPECT_FALSE(auth_instance().account_info()->is_managed);
+}
 
-  arc_bridge_service->auth()->CloseInstance(&auth_instance);
+IN_PROC_BROWSER_TEST_F(ArcAuthServiceChildAccountTest, ChildTransition) {
+  SetAccountAndProfile(user_manager::USER_TYPE_CHILD);
+
+  ArcSessionManager* session = ArcSessionManager::Get();
+  ASSERT_TRUE(session);
+
+  // Used to track data removal requests.
+  ArcDataRemover data_remover(profile()->GetPrefs(),
+                              cryptohome::Identification{EmptyAccountId()});
+
+  const std::vector<mojom::SupervisionChangeStatus> success_statuses{
+      mojom::SupervisionChangeStatus::CLOUD_DPC_DISABLED,
+      mojom::SupervisionChangeStatus::CLOUD_DPC_ALREADY_DISABLED,
+      mojom::SupervisionChangeStatus::CLOUD_DPC_ENABLED,
+      mojom::SupervisionChangeStatus::CLOUD_DPC_ALREADY_ENABLED};
+
+  const std::vector<mojom::SupervisionChangeStatus> failure_statuses{
+      mojom::SupervisionChangeStatus::CLOUD_DPC_DISABLING_FAILED,
+      mojom::SupervisionChangeStatus::CLOUD_DPC_ENABLING_FAILED};
+
+  // Suppress ToS.
+  profile()->GetPrefs()->SetBoolean(prefs::kArcTermsAccepted, true);
+  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
+
+  // Success statuses do not affect running state of ARC++.
+  for (mojom::SupervisionChangeStatus status : success_statuses) {
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+    auth_service().ReportSupervisionChangeStatus(status);
+    base::RunLoop().RunUntilIdle();
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+  }
+
+  // Test failure statuses that lead to showing data removal confirmation and
+  // ARC++ stopping. This block tests cancelation of data removal.
+  for (mojom::SupervisionChangeStatus status : failure_statuses) {
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    // Confirmation dialog is not shown.
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+    // No data removal request.
+    EXPECT_FALSE(data_remover.IsScheduledForTesting());
+    // Report a failure that brings confirmation dialog.
+    auth_service().ReportSupervisionChangeStatus(status);
+    base::RunLoop().RunUntilIdle();
+    // This does not cause ARC++ stopped.
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    // Dialog should be shown.
+    EXPECT_TRUE(IsDataRemovalConfirmationDialogOpenForTesting());
+    // No data removal request.
+    EXPECT_FALSE(data_remover.IsScheduledForTesting());
+    // Cancel data removal confirmation.
+    CloseDataRemovalConfirmationDialogForTesting(false);
+    // No data removal request.
+    EXPECT_FALSE(data_remover.IsScheduledForTesting());
+    // Session state does not change.
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    base::RunLoop().RunUntilIdle();
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+  }
+
+  // At this time accepts data removal.
+  for (mojom::SupervisionChangeStatus status : failure_statuses) {
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+    EXPECT_FALSE(data_remover.IsScheduledForTesting());
+    auth_service().ReportSupervisionChangeStatus(status);
+    base::RunLoop().RunUntilIdle();
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+    EXPECT_TRUE(IsDataRemovalConfirmationDialogOpenForTesting());
+    EXPECT_FALSE(data_remover.IsScheduledForTesting());
+
+    // Accept data removal confirmation.
+    CloseDataRemovalConfirmationDialogForTesting(true);
+    // Data removal request is issued.
+    EXPECT_TRUE(data_remover.IsScheduledForTesting());
+    // Session should switch to data removal.
+    EXPECT_EQ(ArcSessionManager::State::REMOVING_DATA_DIR, session->state());
+    base::RunLoop().RunUntilIdle();
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+    // After data removal ARC++ is automatically restarted.
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+  }
+
+  profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, false);
+  base::RunLoop().RunUntilIdle();
+  EXPECT_EQ(ArcSessionManager::State::STOPPED, session->state());
+
+  // Opting out ARC++ forces confirmation dialog to close.
+  for (mojom::SupervisionChangeStatus status : failure_statuses) {
+    // Suppress ToS.
+    profile()->GetPrefs()->SetBoolean(prefs::kArcTermsAccepted, true);
+    profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, true);
+    session->StartArcForTesting();
+    EXPECT_EQ(ArcSessionManager::State::ACTIVE, session->state());
+
+    auth_service().ReportSupervisionChangeStatus(status);
+    base::RunLoop().RunUntilIdle();
+    EXPECT_TRUE(IsDataRemovalConfirmationDialogOpenForTesting());
+
+    profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, false);
+    base::RunLoop().RunUntilIdle();
+    EXPECT_EQ(ArcSessionManager::State::STOPPED, session->state());
+    EXPECT_FALSE(IsDataRemovalConfirmationDialogOpenForTesting());
+  }
 }
 
 }  // namespace arc
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc
index 91e94f80..1205f08 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -1458,8 +1458,12 @@
   if (Fault(!web_contents, download_extension_errors::kInvisibleContext,
             &error))
     return RespondNow(Error(error));
+  // Extensions with debugger permission could fake user gestures and should
+  // not be trusted.
   if (GetSenderWebContents() &&
-      GetSenderWebContents()->HasRecentInteractiveInputEvent()) {
+      GetSenderWebContents()->HasRecentInteractiveInputEvent() &&
+      !extension()->permissions_data()->HasAPIPermission(
+          APIPermission::kDebugger)) {
     download_item->OpenDownload();
     return RespondNow(NoArguments());
   }
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index eca27cb..8168c4e 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -166,11 +166,6 @@
     "eligibility requirements for showing app banners, such as having a "
     "manifest, are met.";
 
-const char kCommittedInterstitialsName[] = "Committed Interstitials";
-const char kCommittedInterstitialsDescription[] =
-    "Use committed error pages instead of transient navigation entries "
-    "for interstitial error pages (e.g. certificate errors).";
-
 const char kCanvas2DImageChromiumName[] = "Canvas 2D Image Chromium";
 const char kCanvas2DImageChromiumDescription[] =
     "Allows for using CHROMIUM_image GLES2 extension for HTML Canvas Contexts";
@@ -1680,6 +1675,11 @@
 const char kSpellingFeedbackFieldTrialDescription[] =
     "Enable the field trial for sending user feedback to spelling service.";
 
+const char kSSLCommittedInterstitialsName[] = "Committed Interstitials";
+const char kSSLCommittedInterstitialsDescription[] =
+    "Use committed error pages instead of transient navigation entries "
+    "for SSL interstitial error pages (i.e. certificate errors).";
+
 const char kStopInBackgroundName[] = "Stop in background";
 const char kStopInBackgroundDescription[] =
     "Stop scheduler task queues, in the background, "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index eee3be3c1..14889ef9 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -125,9 +125,6 @@
 extern const char kBypassAppBannerEngagementChecksName[];
 extern const char kBypassAppBannerEngagementChecksDescription[];
 
-extern const char kCommittedInterstitialsName[];
-extern const char kCommittedInterstitialsDescription[];
-
 extern const char kCanvas2DImageChromiumName[];
 extern const char kCanvas2DImageChromiumDescription[];
 
@@ -1021,6 +1018,9 @@
 extern const char kSpellingFeedbackFieldTrialName[];
 extern const char kSpellingFeedbackFieldTrialDescription[];
 
+extern const char kSSLCommittedInterstitialsName[];
+extern const char kSSLCommittedInterstitialsDescription[];
+
 extern const char kStopInBackgroundName[];
 extern const char kStopInBackgroundDescription[];
 
diff --git a/chrome/browser/global_keyboard_shortcuts_mac.mm b/chrome/browser/global_keyboard_shortcuts_mac.mm
index c6d5d03..903444f 100644
--- a/chrome/browser/global_keyboard_shortcuts_mac.mm
+++ b/chrome/browser/global_keyboard_shortcuts_mac.mm
@@ -123,9 +123,9 @@
     {true,  true,  false, false, kVK_ANSI_RightBracket, IDC_SELECT_NEXT_TAB},
     {true,  true,  false, false, kVK_ANSI_LeftBracket,  IDC_SELECT_PREVIOUS_TAB},
     {false, false, true,  false, kVK_PageDown,          IDC_SELECT_NEXT_TAB},
-    {false, false, true,  false, kVK_Tab,               IDC_SELECT_NEXT_TAB},
     {false, false, true,  false, kVK_PageUp,            IDC_SELECT_PREVIOUS_TAB},
-    {false, true,  true,  false, kVK_Tab,               IDC_SELECT_PREVIOUS_TAB},
+    {true,  false, false, true,  kVK_RightArrow,        IDC_SELECT_NEXT_TAB},
+    {true,  false, false, true,  kVK_LeftArrow,         IDC_SELECT_PREVIOUS_TAB},
 
     // Cmd-0..8 select the nth tab, with cmd-9 being "last tab".
     {true, false, false, false, kVK_ANSI_1,             IDC_SELECT_TAB_0},
diff --git a/chrome/browser/media/android/remote/media_controller_bridge.h b/chrome/browser/media/android/remote/media_controller_bridge.h
index c1e46e99..a854346 100644
--- a/chrome/browser/media/android/remote/media_controller_bridge.h
+++ b/chrome/browser/media/android/remote/media_controller_bridge.h
@@ -7,12 +7,12 @@
 
 #include "base/android/scoped_java_ref.h"
 #include "base/time/time.h"
-#include "content/public/browser/media_controller.h"
+#include "media/base/media_controller.h"
 
 namespace media_router {
 
 // Allows native code to call into a Java MediaController.
-class MediaControllerBridge : public content::MediaController {
+class MediaControllerBridge : public media::MediaController {
  public:
   explicit MediaControllerBridge(
       base::android::ScopedJavaGlobalRef<jobject> controller);
diff --git a/chrome/browser/media/android/router/media_router_android.cc b/chrome/browser/media/android/router/media_router_android.cc
index 754814e..aa2895d 100644
--- a/chrome/browser/media/android/router/media_router_android.cc
+++ b/chrome/browser/media/android/router/media_router_android.cc
@@ -312,8 +312,8 @@
     observer.OnRoutesUpdated(active_routes_, std::vector<MediaRoute::Id>());
 }
 
-std::unique_ptr<content::MediaController>
-MediaRouterAndroid::GetMediaController(const MediaRoute::Id& route_id) {
+std::unique_ptr<media::MediaController> MediaRouterAndroid::GetMediaController(
+    const MediaRoute::Id& route_id) {
   return bridge_->GetMediaController(route_id);
 }
 
diff --git a/chrome/browser/media/android/router/media_router_android.h b/chrome/browser/media/android/router/media_router_android.h
index 9e0a8789..74e89600 100644
--- a/chrome/browser/media/android/router/media_router_android.h
+++ b/chrome/browser/media/android/router/media_router_android.h
@@ -65,7 +65,7 @@
                    const std::string& search_input,
                    const std::string& domain,
                    MediaSinkSearchResponseCallback sink_callback) override;
-  std::unique_ptr<content::MediaController> GetMediaController(
+  std::unique_ptr<media::MediaController> GetMediaController(
       const MediaRoute::Id& route_id) override;
 
   // The methods called by the Java bridge.
diff --git a/chrome/browser/media/android/router/media_router_android_bridge.cc b/chrome/browser/media/android/router/media_router_android_bridge.cc
index 4ea41fe..9a07306 100644
--- a/chrome/browser/media/android/router/media_router_android_bridge.cc
+++ b/chrome/browser/media/android/router/media_router_android_bridge.cc
@@ -8,8 +8,8 @@
 #include "base/android/jni_string.h"
 #include "chrome/browser/media/android/remote/media_controller_bridge.h"
 #include "chrome/browser/media/android/router/media_router_android.h"
-#include "content/public/browser/media_controller.h"
 #include "jni/ChromeMediaRouter_jni.h"
+#include "media/base/media_controller.h"
 
 using base::android::ConvertUTF8ToJavaString;
 using base::android::ConvertJavaStringToUTF8;
@@ -120,7 +120,7 @@
                                                  jsource_id);
 }
 
-std::unique_ptr<content::MediaController>
+std::unique_ptr<media::MediaController>
 MediaRouterAndroidBridge::GetMediaController(const MediaRoute::Id& route_id) {
   JNIEnv* env = base::android::AttachCurrentThread();
   ScopedJavaLocalRef<jstring> jroute_id =
diff --git a/chrome/browser/media/android/router/media_router_android_bridge.h b/chrome/browser/media/android/router/media_router_android_bridge.h
index 14b10c1..d5e81f9f 100644
--- a/chrome/browser/media/android/router/media_router_android_bridge.h
+++ b/chrome/browser/media/android/router/media_router_android_bridge.h
@@ -10,7 +10,7 @@
 #include "chrome/common/media_router/media_route.h"
 #include "chrome/common/media_router/media_sink.h"
 #include "chrome/common/media_router/media_source.h"
-#include "content/public/browser/media_controller.h"
+#include "media/base/media_controller.h"
 #include "url/origin.h"
 
 namespace media_router {
@@ -44,7 +44,7 @@
   virtual void DetachRoute(const MediaRoute::Id& route_id);
   virtual bool StartObservingMediaSinks(const MediaSource::Id& source_id);
   virtual void StopObservingMediaSinks(const MediaSource::Id& source_id);
-  virtual std::unique_ptr<content::MediaController> GetMediaController(
+  virtual std::unique_ptr<media::MediaController> GetMediaController(
       const MediaRoute::Id& route_id);
 
   // Methods called by the Java counterpart.
diff --git a/chrome/browser/media/router/media_router.h b/chrome/browser/media/router/media_router.h
index 85b9f720..a11f2395 100644
--- a/chrome/browser/media/router/media_router.h
+++ b/chrome/browser/media/router/media_router.h
@@ -22,8 +22,8 @@
 #include "chrome/common/media_router/media_source.h"
 #include "components/keyed_service/core/keyed_service.h"
 #include "components/sessions/core/session_id.h"
-#include "content/public/browser/media_controller.h"
 #include "content/public/browser/presentation_service_delegate.h"
+#include "media/base/media_controller.h"
 
 namespace content {
 class WebContents;
@@ -192,7 +192,7 @@
 
   // Returns a controller that directly sends commands to media within a route.
   // Returns a nullptr if no controller can be be found from |route_id|.
-  virtual std::unique_ptr<content::MediaController> GetMediaController(
+  virtual std::unique_ptr<media::MediaController> GetMediaController(
       const MediaRoute::Id& route_id) = 0;
 
 #if !defined(OS_ANDROID)
diff --git a/chrome/browser/media/router/media_router_base.cc b/chrome/browser/media/router/media_router_base.cc
index 166b4a0..e5c4a5a 100644
--- a/chrome/browser/media/router/media_router_base.cc
+++ b/chrome/browser/media/router/media_router_base.cc
@@ -86,7 +86,7 @@
   return internal_routes_observer_->current_routes;
 }
 
-std::unique_ptr<content::MediaController> MediaRouterBase::GetMediaController(
+std::unique_ptr<media::MediaController> MediaRouterBase::GetMediaController(
     const MediaRoute::Id& route_id) {
   return nullptr;
 }
diff --git a/chrome/browser/media/router/media_router_base.h b/chrome/browser/media/router/media_router_base.h
index 814ac90..330d14e 100644
--- a/chrome/browser/media/router/media_router_base.h
+++ b/chrome/browser/media/router/media_router_base.h
@@ -17,7 +17,7 @@
 #include "chrome/browser/media/router/media_router.h"
 #include "chrome/browser/media/router/media_routes_observer.h"
 #include "chrome/common/media_router/media_route.h"
-#include "content/public/browser/media_controller.h"
+#include "media/base/media_controller.h"
 #include "third_party/blink/public/platform/modules/presentation/presentation.mojom.h"
 
 namespace media_router {
@@ -35,7 +35,7 @@
   void OnIncognitoProfileShutdown() override;
   IssueManager* GetIssueManager() final;
   std::vector<MediaRoute> GetCurrentRoutes() const override;
-  std::unique_ptr<content::MediaController> GetMediaController(
+  std::unique_ptr<media::MediaController> GetMediaController(
       const MediaRoute::Id& route_id) override;
 #if !defined(OS_ANDROID)
   scoped_refptr<MediaRouteController> GetRouteController(
diff --git a/chrome/browser/media/router/presentation/presentation_service_delegate_impl.cc b/chrome/browser/media/router/presentation/presentation_service_delegate_impl.cc
index 93ef0477..1bab943 100644
--- a/chrome/browser/media/router/presentation/presentation_service_delegate_impl.cc
+++ b/chrome/browser/media/router/presentation/presentation_service_delegate_impl.cc
@@ -673,7 +673,7 @@
     observer.OnDefaultPresentationRemoved();
 }
 
-std::unique_ptr<content::MediaController>
+std::unique_ptr<media::MediaController>
 PresentationServiceDelegateImpl::GetMediaController(
     int render_process_id,
     int render_frame_id,
diff --git a/chrome/browser/media/router/presentation/presentation_service_delegate_impl.h b/chrome/browser/media/router/presentation/presentation_service_delegate_impl.h
index 8421448..6f5e207 100644
--- a/chrome/browser/media/router/presentation/presentation_service_delegate_impl.h
+++ b/chrome/browser/media/router/presentation/presentation_service_delegate_impl.h
@@ -21,11 +21,11 @@
 #include "chrome/browser/media/router/presentation/presentation_service_delegate_observers.h"
 #include "chrome/browser/media/router/presentation/render_frame_host_id.h"
 #include "chrome/common/media_router/media_source.h"
-#include "content/public/browser/media_controller.h"
 #include "content/public/browser/presentation_request.h"
 #include "content/public/browser/presentation_service_delegate.h"
 #include "content/public/browser/web_contents_observer.h"
 #include "content/public/browser/web_contents_user_data.h"
+#include "media/base/media_controller.h"
 
 namespace content {
 class PresentationScreenAvailabilityListener;
@@ -110,7 +110,7 @@
   void Terminate(int render_process_id,
                  int render_frame_id,
                  const std::string& presentation_id) override;
-  std::unique_ptr<content::MediaController> GetMediaController(
+  std::unique_ptr<media::MediaController> GetMediaController(
       int render_process_id,
       int render_frame_id,
       const std::string& presentation_id) override;
diff --git a/chrome/browser/navigation_predictor/navigation_predictor.cc b/chrome/browser/navigation_predictor/navigation_predictor.cc
index 46ad3722..76650ef 100644
--- a/chrome/browser/navigation_predictor/navigation_predictor.cc
+++ b/chrome/browser/navigation_predictor/navigation_predictor.cc
@@ -10,11 +10,14 @@
 #include "chrome/browser/profiles/profile.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/site_instance.h"
+#include "mojo/public/cpp/bindings/message.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "url/gurl.h"
 
-NavigationPredictor::NavigationPredictor(Profile* profile) : profile_(profile) {
-  DCHECK(profile_);
+NavigationPredictor::NavigationPredictor(
+    content::RenderFrameHost* render_frame_host)
+    : render_frame_host_(render_frame_host) {
+  DCHECK(render_frame_host_);
 }
 NavigationPredictor::~NavigationPredictor() = default;
 
@@ -25,19 +28,20 @@
   if (render_frame_host->GetParent())
     return;
 
-  Profile* profile = Profile::FromBrowserContext(
-      render_frame_host->GetSiteInstance()->GetBrowserContext());
-
-  mojo::MakeStrongBinding(std::make_unique<NavigationPredictor>(profile),
-                          std::move(request));
+  mojo::MakeStrongBinding(
+      std::make_unique<NavigationPredictor>(render_frame_host),
+      std::move(request));
 }
 
-base::Optional<double> NavigationPredictor::GetEngagementScore(
-    const GURL& url) const {
-  DCHECK(url.SchemeIsHTTPOrHTTPS());
+bool NavigationPredictor::IsValidMetricFromRenderer(
+    const blink::mojom::AnchorElementMetrics& metric) const {
+  return metric.target_url.SchemeIsHTTPOrHTTPS();
+}
 
-  SiteEngagementService* service = SiteEngagementService::Get(profile_);
-  return service ? base::make_optional(service->GetScore(url)) : base::nullopt;
+SiteEngagementService* NavigationPredictor::GetEngagementService() const {
+  Profile* profile = Profile::FromBrowserContext(
+      render_frame_host_->GetSiteInstance()->GetBrowserContext());
+  return SiteEngagementService::Get(profile);
 }
 
 void NavigationPredictor::UpdateAnchorElementMetrics(
@@ -45,10 +49,22 @@
   // TODO(chelu): https://crbug.com/850624/. Use |metrics| to aggregate metrics
   // extracted from the browser process. Analyze and use them to take some
   // actions accordingly.
-  auto target_score = GetEngagementScore(metrics->target_url);
-  if (target_score.has_value()) {
+  if (!IsValidMetricFromRenderer(*metrics)) {
+    mojo::ReportBadMessage("Bad anchor element metrics.");
+    return;
+  }
+
+  SiteEngagementService* engagement_service = GetEngagementService();
+  DCHECK(engagement_service);
+
+  double target_score = engagement_service->GetScore(metrics->target_url);
+
+  UMA_HISTOGRAM_COUNTS_100("AnchorElementMetrics.Clicked.HrefEngagementScore2",
+                           static_cast<int>(target_score));
+
+  if (target_score > 0) {
     UMA_HISTOGRAM_COUNTS_100(
-        "AnchorElementMetrics.Clicked.HrefEngagementScore2",
-        static_cast<int>(target_score.value()));
+        "AnchorElementMetrics.Clicked.HrefEngagementScorePositive",
+        static_cast<int>(target_score));
   }
 }
diff --git a/chrome/browser/navigation_predictor/navigation_predictor.h b/chrome/browser/navigation_predictor/navigation_predictor.h
index 367ecca2..64020b4 100644
--- a/chrome/browser/navigation_predictor/navigation_predictor.h
+++ b/chrome/browser/navigation_predictor/navigation_predictor.h
@@ -6,7 +6,6 @@
 #define CHROME_BROWSER_NAVIGATION_PREDICTOR_NAVIGATION_PREDICTOR_H_
 
 #include "base/macros.h"
-#include "base/optional.h"
 #include "mojo/public/cpp/bindings/interface_request.h"
 #include "third_party/blink/public/mojom/loader/navigation_predictor.mojom.h"
 
@@ -14,30 +13,39 @@
 class RenderFrameHost;
 }
 
-class GURL;
-class Profile;
+class SiteEngagementService;
 
 // This class gathers metrics of anchor elements from both renderer process
 // and browser process. Then it uses these metrics to make predictions on what
 // are the most likely anchor elements that the user will click.
 class NavigationPredictor : public blink::mojom::AnchorElementMetricsHost {
  public:
-  explicit NavigationPredictor(Profile* profile);
+  // |render_frame_host| is the host associated with the render frame. It is
+  // used to retrieve metrics at the browser side.
+  explicit NavigationPredictor(content::RenderFrameHost* render_frame_host);
   ~NavigationPredictor() override;
 
+  // Create and bind NavigationPredictor.
   static void Create(mojo::InterfaceRequest<AnchorElementMetricsHost> request,
                      content::RenderFrameHost* render_frame_host);
 
-  // blink::mojom::AnchorElementMetricsHost implementation.
+ private:
+  // blink::mojom::AnchorElementMetricsHost:
   void UpdateAnchorElementMetrics(
       blink::mojom::AnchorElementMetricsPtr metrics) override;
 
- private:
-  // Get site engagement score from SiteEngagementService.
-  base::Optional<double> GetEngagementScore(const GURL& url) const;
+  // Returns true if the anchor element metric from the renderer process is
+  // valid.
+  bool IsValidMetricFromRenderer(
+      const blink::mojom::AnchorElementMetrics& metric) const;
 
-  // Browser profile used to retrieve site engagement score.
-  Profile* const profile_;
+  // Returns site engagement service, which can be used to get site engagement
+  // score. Return value is guaranteed to be non-null.
+  SiteEngagementService* GetEngagementService() const;
+
+  // |render_frame_host_| is the host associated with the render frame. It is
+  // used to retrieve metrics at the browser side.
+  content::RenderFrameHost* const render_frame_host_;
 
   DISALLOW_COPY_AND_ASSIGN(NavigationPredictor);
 };
diff --git a/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc b/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc
index e8a492c3..c7f5aa1 100644
--- a/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc
+++ b/chrome/browser/navigation_predictor/navigation_predictor_unittest.cc
@@ -41,14 +41,23 @@
   base::HistogramTester histogram_tester;
 
   auto metrics = blink::mojom::AnchorElementMetrics::New();
-  metrics->ratio_area = 0.1;
-  metrics->ratio_distance_root_top = 0.1;
-  metrics->ratio_distance_center_to_visible_top = 0.1;
   metrics->target_url = GURL("https://example.com");
-
   predictor_service()->UpdateAnchorElementMetrics(std::move(metrics));
   base::RunLoop().RunUntilIdle();
 
   histogram_tester.ExpectTotalCount(
       "AnchorElementMetrics.Clicked.HrefEngagementScore2", 1);
 }
+
+// Test that if source url is not http or https, no score will be calculated.
+TEST_F(NavigationPredictorTest, BadUrlUpdateAnchorElementMetrics) {
+  base::HistogramTester histogram_tester;
+
+  auto metrics = blink::mojom::AnchorElementMetrics::New();
+  metrics->target_url = GURL("ftp://example.com");
+  predictor_service()->UpdateAnchorElementMetrics(std::move(metrics));
+  base::RunLoop().RunUntilIdle();
+
+  histogram_tester.ExpectTotalCount(
+      "AnchorElementMetrics.Clicked.HrefEngagementScore2", 0);
+}
diff --git a/chrome/browser/net/network_connection_tracker_browsertest.cc b/chrome/browser/net/network_connection_tracker_browsertest.cc
index 38937f6b..5ce5fac 100644
--- a/chrome/browser/net/network_connection_tracker_browsertest.cc
+++ b/chrome/browser/net/network_connection_tracker_browsertest.cc
@@ -3,14 +3,20 @@
 // found in the LICENSE file.
 
 #include "base/callback_forward.h"
+#include "base/feature_list.h"
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/run_loop.h"
-#include "base/test/scoped_feature_list.h"
+#include "base/sequence_checker.h"
+#include "base/test/bind_test_util.h"
 #include "build/build_config.h"
 #include "chrome/browser/browser_process_impl.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
 #include "chrome/test/base/in_process_browser_test.h"
+#include "content/public/browser/browser_context.h"
 #include "content/public/browser/network_connection_tracker.h"
+#include "content/public/browser/storage_partition.h"
 #include "content/public/common/service_manager_connection.h"
 #include "content/public/common/service_names.mojom.h"
 #include "content/public/test/browser_test.h"
@@ -30,7 +36,9 @@
   explicit TestNetworkConnectionObserver(NetworkConnectionTracker* tracker)
       : num_notifications_(0),
         tracker_(tracker),
+        run_loop_(std::make_unique<base::RunLoop>()),
         connection_type_(network::mojom::ConnectionType::CONNECTION_UNKNOWN) {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
     tracker_->AddNetworkConnectionObserver(this);
   }
 
@@ -40,6 +48,7 @@
 
   // NetworkConnectionObserver implementation:
   void OnConnectionChanged(network::mojom::ConnectionType type) override {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
     network::mojom::ConnectionType queried_type;
     bool sync = tracker_->GetConnectionType(
         &queried_type,
@@ -49,10 +58,13 @@
 
     num_notifications_++;
     connection_type_ = type;
-    run_loop_.Quit();
+    run_loop_->Quit();
   }
 
-  void WaitForNotification() { run_loop_.Run(); }
+  void WaitForNotification() {
+    run_loop_->Run();
+    run_loop_ = std::make_unique<base::RunLoop>();
+  }
 
   size_t num_notifications() const { return num_notifications_; }
   network::mojom::ConnectionType connection_type() const {
@@ -62,27 +74,21 @@
  private:
   size_t num_notifications_;
   NetworkConnectionTracker* tracker_;
-  base::RunLoop run_loop_;
+  std::unique_ptr<base::RunLoop> run_loop_;
   network::mojom::ConnectionType connection_type_;
 
+  SEQUENCE_CHECKER(sequence_checker_);
+
   DISALLOW_COPY_AND_ASSIGN(TestNetworkConnectionObserver);
 };
 
 }  // namespace
 
-class NetworkConnectionTrackerBrowserTest
-    : public InProcessBrowserTest,
-      public testing::WithParamInterface<bool> {
+class NetworkConnectionTrackerBrowserTest : public InProcessBrowserTest {
  public:
-  NetworkConnectionTrackerBrowserTest() : network_service_enabled_(GetParam()) {
-    if (network_service_enabled_) {
-      scoped_feature_list_.InitAndEnableFeature(
-          network::features::kNetworkService);
-    } else {
-      scoped_feature_list_.InitAndDisableFeature(
-          network::features::kNetworkService);
-    }
-  }
+  NetworkConnectionTrackerBrowserTest()
+      : network_service_enabled_(
+            base::FeatureList::IsEnabled(network::features::kNetworkService)) {}
   ~NetworkConnectionTrackerBrowserTest() override {}
 
   // Simulates a network connection change.
@@ -106,12 +112,11 @@
   bool network_service_enabled() const { return network_service_enabled_; }
 
  private:
-  base::test::ScopedFeatureList scoped_feature_list_;
   const bool network_service_enabled_;
 };
 
 // Basic test to make sure NetworkConnectionTracker is set up.
-IN_PROC_BROWSER_TEST_P(NetworkConnectionTrackerBrowserTest,
+IN_PROC_BROWSER_TEST_F(NetworkConnectionTrackerBrowserTest,
                        NetworkConnectionTracker) {
 #if defined(OS_CHROMEOS) || defined(OS_MACOSX)
   // NetworkService on ChromeOS doesn't yet have a NetworkChangeManager
@@ -146,8 +151,75 @@
   EXPECT_EQ(1u, network_connection_observer.num_notifications());
 }
 
-INSTANTIATE_TEST_CASE_P(/* no prefix */,
-                        NetworkConnectionTrackerBrowserTest,
-                        testing::Bool());
+// Simulates a network service crash, and ensures that network change manager
+// binds to the restarted network service.
+IN_PROC_BROWSER_TEST_F(NetworkConnectionTrackerBrowserTest,
+                       SimulateNetworkServiceCrash) {
+  // Out-of-process network service is not enabled, so network service's crash
+  // and restart aren't applicable.
+  if (!network_service_enabled())
+    return;
+
+  NetworkConnectionTracker* tracker =
+      g_browser_process->network_connection_tracker();
+  EXPECT_NE(nullptr, tracker);
+
+  // Issue a GetConnectionType() request to make sure NetworkService has been
+  // started up. This way, NetworkService will receive the broadcast when
+  // SimulateNetworkChange() is called.
+  {
+    base::RunLoop run_loop;
+    network::mojom::ConnectionType ignored_type;
+    bool sync = tracker->GetConnectionType(
+        &ignored_type,
+        base::BindOnce(
+            [](base::RunLoop* run_loop, network::mojom::ConnectionType type) {
+              run_loop->Quit();
+            },
+            base::Unretained(&run_loop)));
+    if (!sync)
+      run_loop.Run();
+  }
+
+  TestNetworkConnectionObserver network_connection_observer(tracker);
+  SimulateNetworkChange(network::mojom::ConnectionType::CONNECTION_3G);
+
+  network_connection_observer.WaitForNotification();
+  EXPECT_EQ(network::mojom::ConnectionType::CONNECTION_3G,
+            network_connection_observer.connection_type());
+  // Wait a bit longer to make sure only 1 notification is received and that
+  // there is no duplicate notification.
+  base::RunLoop().RunUntilIdle();
+  EXPECT_EQ(1u, network_connection_observer.num_notifications());
+
+  SimulateNetworkServiceCrash();
+
+  // Issue a GetConnectionType() request to make sure NetworkService has been
+  // started up. This way, NetworkService will receive the broadcast when
+  // SimulateNetworkChange() is called.
+  {
+    base::RunLoop run_loop;
+    network::mojom::ConnectionType ignored_type;
+    bool sync = tracker->GetConnectionType(
+        &ignored_type,
+        base::BindOnce(
+            [](base::RunLoop* run_loop, network::mojom::ConnectionType type) {
+              run_loop->Quit();
+            },
+            base::Unretained(&run_loop)));
+    if (!sync)
+      run_loop.Run();
+  }
+
+  SimulateNetworkChange(network::mojom::ConnectionType::CONNECTION_2G);
+  network_connection_observer.WaitForNotification();
+  EXPECT_EQ(network::mojom::ConnectionType::CONNECTION_2G,
+            network_connection_observer.connection_type());
+
+  // Wait a bit longer to make sure only 2 notifications are received.
+  base::RunLoop().RunUntilIdle();
+
+  EXPECT_EQ(2u, network_connection_observer.num_notifications());
+}
 
 }  // namespace content
diff --git a/chrome/browser/net/network_quality_tracker_browsertest.cc b/chrome/browser/net/network_quality_tracker_browsertest.cc
index 94004ef6..c90f75c 100644
--- a/chrome/browser/net/network_quality_tracker_browsertest.cc
+++ b/chrome/browser/net/network_quality_tracker_browsertest.cc
@@ -95,6 +95,10 @@
   net::EffectiveConnectionType effective_connection_type() const {
     return effective_connection_type_;
   }
+  base::TimeDelta http_rtt() const { return tracker_->GetHttpRTT(); }
+  int32_t downlink_bandwidth_kbps() const {
+    return tracker_->GetDownstreamThroughputKbps();
+  }
 
  private:
   size_t num_notifications_;
@@ -113,13 +117,6 @@
   NetworkQualityTrackerBrowserTest()
       : network_service_enabled_(
             base::FeatureList::IsEnabled(network::features::kNetworkService)) {
-    if (network_service_enabled_) {
-      scoped_feature_list_.InitAndEnableFeature(
-          network::features::kNetworkService);
-    } else {
-      scoped_feature_list_.InitAndDisableFeature(
-          network::features::kNetworkService);
-    }
   }
   ~NetworkQualityTrackerBrowserTest() override {}
 
@@ -154,7 +151,6 @@
   bool network_service_enabled() const { return network_service_enabled_; }
 
  private:
-  base::test::ScopedFeatureList scoped_feature_list_;
   const bool network_service_enabled_;
 };
 
@@ -182,6 +178,11 @@
             network_quality_observer.effective_connection_type());
   base::RunLoop().RunUntilIdle();
   EXPECT_EQ(1u, network_quality_observer.num_notifications());
+  // Typical RTT and downlink values when effective connection type is 3G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(450),
+            network_quality_observer.http_rtt());
+  EXPECT_EQ(400, network_quality_observer.downlink_bandwidth_kbps());
 }
 
 // Basic test to make sure NetworkQualityTracker is set up, and clients are
@@ -201,6 +202,11 @@
       net::EFFECTIVE_CONNECTION_TYPE_2G);
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_2G,
             network_quality_observer.effective_connection_type());
+  // Typical RTT and downlink values when effective connection type is 2G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(1800),
+            network_quality_observer.http_rtt());
+  EXPECT_EQ(75, network_quality_observer.downlink_bandwidth_kbps());
 }
 
 // Simulates a network service crash, and ensures that network quality estimate
@@ -231,6 +237,11 @@
             network_quality_observer.effective_connection_type());
   base::RunLoop().RunUntilIdle();
   EXPECT_EQ(1u, network_quality_observer.num_notifications());
+  // Typical RTT and downlink values when effective connection type is 3G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(450),
+            network_quality_observer.http_rtt());
+  EXPECT_EQ(400, network_quality_observer.downlink_bandwidth_kbps());
 
   SimulateNetworkServiceCrash();
   // Flush the network interface to make sure it notices the crash.
@@ -243,6 +254,9 @@
   network_quality_observer.WaitForNotification(
       net::EFFECTIVE_CONNECTION_TYPE_2G);
   EXPECT_LE(2u, network_quality_observer.num_notifications());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(1800),
+            network_quality_observer.http_rtt());
+  EXPECT_EQ(75, network_quality_observer.downlink_bandwidth_kbps());
 }
 
 }  // namespace network
diff --git a/chrome/browser/net/reporting_permissions_checker.cc b/chrome/browser/net/reporting_permissions_checker.cc
index 394d74e..ad3d2e8 100644
--- a/chrome/browser/net/reporting_permissions_checker.cc
+++ b/chrome/browser/net/reporting_permissions_checker.cc
@@ -7,7 +7,7 @@
 #include "base/bind.h"
 #include "chrome/browser/profiles/profile.h"
 #include "content/public/browser/browser_thread.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "url/gurl.h"
 #include "url/origin.h"
@@ -55,18 +55,13 @@
     return std::set<url::Origin>();
   }
 
-  content::PermissionManager* permission_manager =
-      weak_profile->GetPermissionManager();
-
-  if (!permission_manager) {
-    // Default to prohibiting all Reporting uploads if we don't have a
-    // PermissionManager.
-    return std::set<url::Origin>();
-  }
+  content::PermissionController* permission_controller =
+      content::BrowserContext::GetPermissionController(weak_profile.get());
+  DCHECK(permission_controller);
 
   for (auto it = origins.begin(); it != origins.end();) {
     GURL origin = it->GetURL();
-    bool allowed = permission_manager->GetPermissionStatus(
+    bool allowed = permission_controller->GetPermissionStatus(
                        content::PermissionType::BACKGROUND_SYNC, origin,
                        origin) == blink::mojom::PermissionStatus::GRANTED;
     if (!allowed) {
diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
index d5ca216..2ddbf07 100644
--- a/chrome/browser/notifications/platform_notification_service_impl.cc
+++ b/chrome/browser/notifications/platform_notification_service_impl.cc
@@ -45,7 +45,7 @@
 #include "components/prefs/pref_service.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/notification_event_dispatcher.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/common/notification_resources.h"
 #include "content/public/common/platform_notification_data.h"
@@ -145,8 +145,9 @@
 
   NotificationMetricsLogger* metrics_logger = GetMetricsLogger(browser_context);
   blink::mojom::PermissionStatus permission_status =
-      browser_context->GetPermissionManager()->GetPermissionStatus(
-          content::PermissionType::NOTIFICATIONS, origin, origin);
+      BrowserContext::GetPermissionController(browser_context)
+          ->GetPermissionStatus(content::PermissionType::NOTIFICATIONS, origin,
+                                origin);
 
   // TODO(peter): Change this to a CHECK() when Issue 555572 is resolved.
   // Also change this method to be const again.
diff --git a/chrome/browser/password_manager/password_store_factory.cc b/chrome/browser/password_manager/password_store_factory.cc
index c74dfdd..a234d58 100644
--- a/chrome/browser/password_manager/password_store_factory.cc
+++ b/chrome/browser/password_manager/password_store_factory.cc
@@ -33,6 +33,9 @@
 #include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_service.h"
 #include "components/signin/core/browser/signin_manager.h"
+#include "content/public/browser/browser_context.h"
+#include "content/public/browser/storage_partition.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 #if defined(OS_WIN)
 #include "chrome/browser/password_manager/password_manager_util_win.h"
@@ -106,11 +109,11 @@
     return;
   syncer::SyncService* sync_service =
       ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile);
-  net::URLRequestContextGetter* request_context_getter =
-      profile->GetRequestContext();
 
   password_manager::ToggleAffiliationBasedMatchingBasedOnPasswordSyncedState(
-      password_store.get(), sync_service, request_context_getter,
+      password_store.get(), sync_service,
+      content::BrowserContext::GetDefaultStoragePartition(profile)
+          ->GetURLLoaderFactoryForBrowserProcess(),
       profile->GetPath());
 }
 
diff --git a/chrome/browser/pdf/pdf_extension_test.cc b/chrome/browser/pdf/pdf_extension_test.cc
index 08253ca..04ea0fd 100644
--- a/chrome/browser/pdf/pdf_extension_test.cc
+++ b/chrome/browser/pdf/pdf_extension_test.cc
@@ -134,7 +134,6 @@
         "pdf_private/accessibility_crash_1.pdf",
         "pdf_private/cfuzz5.pdf",
         "pdf_private/cfuzz6.pdf",
-        "pdf_private/crash-11-14-44.pdf",
         "pdf_private/js.pdf",
         "pdf_private/segv-ecx.pdf",
         "pdf_private/tests.pdf",
diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc
index 1d3ed27..c3e0e0b 100644
--- a/chrome/browser/permissions/permission_manager.cc
+++ b/chrome/browser/permissions/permission_manager.cc
@@ -36,6 +36,7 @@
 #include "chrome/common/url_constants.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/render_process_host.h"
@@ -367,7 +368,7 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   if (permissions.empty()) {
     callback.Run(std::vector<ContentSetting>());
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   content::WebContents* web_contents =
@@ -377,7 +378,7 @@
           web_contents, vr::UiSuppressedElement::kPermissionRequest)) {
     callback.Run(
         std::vector<ContentSetting>(permissions.size(), CONTENT_SETTING_BLOCK));
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   GURL embedding_origin = web_contents->GetLastCommittedURL().GetOrigin();
@@ -405,7 +406,7 @@
 
   // The request might have been resolved already.
   if (!pending_requests_.Lookup(request_id))
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
 
   return request_id;
 }
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 17afce8..365276d 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -32,6 +32,7 @@
 #include "chrome/common/pref_names.h"
 #include "components/autofill/core/browser/autofill_credit_card_policy_handler.h"
 #include "components/autofill/core/browser/autofill_policy_handler.h"
+#include "components/autofill/core/browser/autofill_profile_policy_handler.h"
 #include "components/bookmarks/common/bookmark_pref_names.h"
 #include "components/browsing_data/core/pref_names.h"
 #include "components/certificate_transparency/pref_names.h"
@@ -990,6 +991,8 @@
   }
 
   handlers->AddHandler(
+      std::make_unique<autofill::AutofillProfilePolicyHandler>());
+  handlers->AddHandler(
       std::make_unique<autofill::AutofillCreditCardPolicyHandler>());
   handlers->AddHandler(std::make_unique<autofill::AutofillPolicyHandler>());
   handlers->AddHandler(std::make_unique<DefaultSearchPolicyHandler>());
diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc
index 7092b1a2e..dd8f6c5 100644
--- a/chrome/browser/policy/policy_browsertest.cc
+++ b/chrome/browser/policy/policy_browsertest.cc
@@ -1004,7 +1004,8 @@
   void SetUpCommandLine(base::CommandLine* command_line) override {
     PolicyTest::SetUpCommandLine(command_line);
     if (AreCommittedInterstitialsEnabled()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
     // Ensure SSL interstitials are capable of sending reports.
     variations::testing::VariationParamsManager::AppendVariationParams(
@@ -1085,6 +1086,7 @@
   }
 
  private:
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(SSLPolicyTestCommittedInterstitials);
 };
 
diff --git a/chrome/browser/previews/previews_browsertest.cc b/chrome/browser/previews/previews_browsertest.cc
index 436615d9..319367c 100644
--- a/chrome/browser/previews/previews_browsertest.cc
+++ b/chrome/browser/previews/previews_browsertest.cc
@@ -12,12 +12,45 @@
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/optimization_guide/optimization_guide_service.h"
+#include "components/optimization_guide/optimization_guide_service_observer.h"
+#include "components/optimization_guide/proto/hints.pb.h"
 #include "components/optimization_guide/test_component_creator.h"
 #include "components/previews/core/previews_features.h"
 #include "content/public/test/browser_test_utils.h"
 #include "net/test/embedded_test_server/http_request.h"
 #include "net/test/embedded_test_server/http_response.h"
 
+namespace {
+
+// A test observer which can be configured to wait until the server hints are
+// processed.
+class TestOptimizationGuideServiceObserver
+    : public optimization_guide::OptimizationGuideServiceObserver {
+ public:
+  TestOptimizationGuideServiceObserver()
+      : run_loop_(std::make_unique<base::RunLoop>()) {}
+
+  ~TestOptimizationGuideServiceObserver() override {}
+
+  void WaitForNotification() {
+    run_loop_->Run();
+    run_loop_.reset(new base::RunLoop());
+  }
+
+ private:
+  void OnHintsProcessed(
+      const optimization_guide::proto::Configuration& config,
+      const optimization_guide::ComponentInfo& component_info) override {
+    run_loop_->Quit();
+  }
+
+  std::unique_ptr<base::RunLoop> run_loop_;
+
+  DISALLOW_COPY_AND_ASSIGN(TestOptimizationGuideServiceObserver);
+};
+
+}  // namespace
+
 class PreviewsBrowserTest : public InProcessBrowserTest {
  public:
   PreviewsBrowserTest()
@@ -142,9 +175,8 @@
 
 // Previews InfoBar (which these tests triggers) does not work on Mac.
 // See crbug.com/782322 for detail.
-// Also occasional flakes on win7 (crbug.com/789542) and Ubuntu 16.04
-// (crbug.com/831838)
-#if defined(OS_ANDROID)
+// Also occasional flakes on win7 (crbug.com/789542).
+#if defined(OS_ANDROID) || defined(OS_LINUX)
 #define MAYBE_NoScriptPreviewsEnabled NoScriptPreviewsEnabled
 #define MAYBE_NoScriptPreviewsEnabledHttpRedirectToHttps \
   NoScriptPreviewsEnabledHttpRedirectToHttps
@@ -240,6 +272,11 @@
     base::RunLoop().RunUntilIdle();
   }
 
+  void AddTestOptimizationGuideServiceObserver(
+      TestOptimizationGuideServiceObserver* observer) {
+    g_browser_process->optimization_guide_service()->AddObserver(observer);
+  }
+
  private:
   base::test::ScopedFeatureList scoped_feature_list_;
   optimization_guide::testing::TestComponentCreator test_component_creator_;
@@ -259,8 +296,13 @@
 
 IN_PROC_BROWSER_TEST_F(PreviewsOptimizationGuideBrowserTest,
                        MAYBE_NoScriptPreviewsEnabledByWhitelist) {
+  TestOptimizationGuideServiceObserver observer;
+  AddTestOptimizationGuideServiceObserver(&observer);
+  base::RunLoop().RunUntilIdle();
+
   // Whitelist test URL for NoScript.
   SetNoScriptWhitelist({https_url().host()});
+  observer.WaitForNotification();
 
   ui_test_utils::NavigateToURL(browser(), https_url());
 
@@ -271,8 +313,13 @@
 
 IN_PROC_BROWSER_TEST_F(PreviewsOptimizationGuideBrowserTest,
                        NoScriptPreviewsNotEnabledByWhitelist) {
+  TestOptimizationGuideServiceObserver observer;
+  AddTestOptimizationGuideServiceObserver(&observer);
+  base::RunLoop().RunUntilIdle();
+
   // Whitelist random site for NoScript.
   SetNoScriptWhitelist({"foo.com"});
+  observer.WaitForNotification();
 
   ui_test_utils::NavigateToURL(browser(), https_url());
 
diff --git a/chrome/browser/previews/resource_loading_hints/resource_loading_hints_browsertest.cc b/chrome/browser/previews/resource_loading_hints/resource_loading_hints_browsertest.cc
index c8ab4c9..1f6f310 100644
--- a/chrome/browser/previews/resource_loading_hints/resource_loading_hints_browsertest.cc
+++ b/chrome/browser/previews/resource_loading_hints/resource_loading_hints_browsertest.cc
@@ -14,6 +14,8 @@
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/optimization_guide/optimization_guide_service.h"
+#include "components/optimization_guide/optimization_guide_service_observer.h"
+#include "components/optimization_guide/proto/hints.pb.h"
 #include "components/optimization_guide/test_component_creator.h"
 #include "components/previews/core/previews_black_list.h"
 #include "components/previews/core/previews_features.h"
@@ -23,6 +25,33 @@
 
 namespace {
 
+// A test observer which can be configured to wait until the server hints are
+// processed.
+class TestOptimizationGuideServiceObserver
+    : public optimization_guide::OptimizationGuideServiceObserver {
+ public:
+  TestOptimizationGuideServiceObserver()
+      : run_loop_(std::make_unique<base::RunLoop>()) {}
+
+  ~TestOptimizationGuideServiceObserver() override {}
+
+  void WaitForNotification() {
+    run_loop_->Run();
+    run_loop_.reset(new base::RunLoop());
+  }
+
+ private:
+  void OnHintsProcessed(
+      const optimization_guide::proto::Configuration& config,
+      const optimization_guide::ComponentInfo& component_info) override {
+    run_loop_->Quit();
+  }
+
+  std::unique_ptr<base::RunLoop> run_loop_;
+
+  DISALLOW_COPY_AND_ASSIGN(TestOptimizationGuideServiceObserver);
+};
+
 // Retries fetching |histogram_name| until it contains at least |count| samples.
 void RetryForHistogramUntilCountReached(base::HistogramTester* histogram_tester,
                                         const std::string& histogram_name,
@@ -93,7 +122,8 @@
   }
 
   void SetResourceLoadingHintsWhitelist(
-      std::vector<std::string> whitelisted_resource_loading_hints_sites) {
+      const std::vector<std::string>&
+          whitelisted_resource_loading_hints_sites) {
     const optimization_guide::ComponentInfo& component_info =
         test_component_creator_.CreateComponentInfoWithWhitelist(
             optimization_guide::proto::RESOURCE_LOADING,
@@ -105,6 +135,11 @@
     base::RunLoop().RunUntilIdle();
   }
 
+  void AddTestOptimizationGuideServiceObserver(
+      TestOptimizationGuideServiceObserver* observer) {
+    g_browser_process->optimization_guide_service()->AddObserver(observer);
+  }
+
   const GURL& https_url() const { return https_url_; }
   const GURL& https_no_transform_url() const { return https_no_transform_url_; }
   const GURL& http_url() const { return http_url_; }
@@ -180,8 +215,14 @@
 
 IN_PROC_BROWSER_TEST_F(ResourceLoadingHintsBrowserTest,
                        MAYBE_ResourceLoadingHintsHttpsWhitelisted) {
+  TestOptimizationGuideServiceObserver observer;
+  AddTestOptimizationGuideServiceObserver(&observer);
+  base::RunLoop().RunUntilIdle();
+
   // Whitelist test URL for resource loading hints.
   SetResourceLoadingHintsWhitelist({https_url().host()});
+  observer.WaitForNotification();
+
   base::HistogramTester histogram_tester;
 
   ui_test_utils::NavigateToURL(browser(), https_url());
@@ -215,7 +256,13 @@
 IN_PROC_BROWSER_TEST_F(
     ResourceLoadingHintsBrowserTest,
     MAYBE_ResourceLoadingHintsHttpsWhitelistedRedirectToHttps) {
+  TestOptimizationGuideServiceObserver observer;
+  AddTestOptimizationGuideServiceObserver(&observer);
+  base::RunLoop().RunUntilIdle();
+
   SetResourceLoadingHintsWhitelist({https_url().host()});
+  observer.WaitForNotification();
+
   base::HistogramTester histogram_tester;
   ui_test_utils::NavigateToURL(browser(), redirect_url());
 
@@ -251,8 +298,14 @@
 
 IN_PROC_BROWSER_TEST_F(ResourceLoadingHintsBrowserTest,
                        ResourceLoadingHintsHttp) {
+  TestOptimizationGuideServiceObserver observer;
+  AddTestOptimizationGuideServiceObserver(&observer);
+  base::RunLoop().RunUntilIdle();
+
   // Whitelist test HTTP URL for resource loading hints.
   SetResourceLoadingHintsWhitelist({https_url().host()});
+  observer.WaitForNotification();
+
   base::HistogramTester histogram_tester;
 
   ui_test_utils::NavigateToURL(browser(), http_url());
@@ -269,8 +322,14 @@
 
 IN_PROC_BROWSER_TEST_F(ResourceLoadingHintsBrowserTest,
                        ResourceLoadingHintsHttpsWhitelistedNoTransform) {
+  TestOptimizationGuideServiceObserver observer;
+  AddTestOptimizationGuideServiceObserver(&observer);
+  base::RunLoop().RunUntilIdle();
+
   // Whitelist test URL for resource loading hints.
   SetResourceLoadingHintsWhitelist({https_url().host()});
+  observer.WaitForNotification();
+
   base::HistogramTester histogram_tester;
 
   ui_test_utils::NavigateToURL(browser(), https_no_transform_url());
diff --git a/chrome/browser/printing/cloud_print/privet_traffic_detector.cc b/chrome/browser/printing/cloud_print/privet_traffic_detector.cc
index 1df4cc8..ef627f7 100644
--- a/chrome/browser/printing/cloud_print/privet_traffic_detector.cc
+++ b/chrome/browser/printing/cloud_print/privet_traffic_detector.cc
@@ -14,8 +14,10 @@
 #include "base/task_scheduler/post_task.h"
 #include "base/threading/thread_restrictions.h"
 #include "base/threading/thread_task_runner_handle.h"
+#include "chrome/browser/browser_process.h"
 #include "net/base/ip_address.h"
 #include "net/base/net_errors.h"
+#include "net/base/network_change_notifier.h"
 #include "net/base/network_interfaces.h"
 #include "net/dns/dns_protocol.h"
 #include "net/dns/dns_response.h"
@@ -83,20 +85,22 @@
 
 PrivetTrafficDetector::~PrivetTrafficDetector() {
   DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
-  net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
+  g_browser_process->network_connection_tracker()
+      ->RemoveNetworkConnectionObserver(this);
 }
 
 void PrivetTrafficDetector::StartOnIOThread() {
   DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
-  net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
+  g_browser_process->network_connection_tracker()->AddNetworkConnectionObserver(
+      this);
   ScheduleRestart();
 }
 
-void PrivetTrafficDetector::OnNetworkChanged(
-    net::NetworkChangeNotifier::ConnectionType type) {
+void PrivetTrafficDetector::OnConnectionChanged(
+    network::mojom::ConnectionType type) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
   restart_attempts_ = kMaxRestartAttempts;
-  if (type != net::NetworkChangeNotifier::CONNECTION_NONE)
+  if (type != network::mojom::ConnectionType::CONNECTION_NONE)
     ScheduleRestart();
 }
 
diff --git a/chrome/browser/printing/cloud_print/privet_traffic_detector.h b/chrome/browser/printing/cloud_print/privet_traffic_detector.h
index 4db4037..a9f92f85 100644
--- a/chrome/browser/printing/cloud_print/privet_traffic_detector.h
+++ b/chrome/browser/printing/cloud_print/privet_traffic_detector.h
@@ -11,9 +11,9 @@
 #include "base/cancelable_callback.h"
 #include "base/macros.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/network_connection_tracker.h"
 #include "net/base/address_family.h"
 #include "net/base/ip_endpoint.h"
-#include "net/base/network_change_notifier.h"
 
 namespace net {
 class DatagramServerSocket;
@@ -28,8 +28,9 @@
 // When traffic is detected, class fires callback and shutdowns itself.
 class PrivetTrafficDetector
     : public base::RefCountedThreadSafe<
-          PrivetTrafficDetector, content::BrowserThread::DeleteOnIOThread>,
-      private net::NetworkChangeNotifier::NetworkChangeObserver {
+          PrivetTrafficDetector,
+          content::BrowserThread::DeleteOnIOThread>,
+      private content::NetworkConnectionTracker::NetworkConnectionObserver {
  public:
   PrivetTrafficDetector(net::AddressFamily address_family,
                         const base::Closure& on_traffic_detected);
@@ -42,9 +43,8 @@
   friend class base::DeleteHelper<PrivetTrafficDetector>;
   ~PrivetTrafficDetector() override;
 
-    // net::NetworkChangeNotifier::NetworkChangeObserver implementation.
-  void OnNetworkChanged(
-      net::NetworkChangeNotifier::ConnectionType type) override;
+  // content::NetworkConnectionTracker::NetworkConnectionObserver:
+  void OnConnectionChanged(network::mojom::ConnectionType type) override;
 
   void StartOnIOThread();
   void ScheduleRestart();
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
index d05841fc3..16ef2bd 100644
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -58,6 +58,8 @@
 #include "content/public/browser/url_data_source.h"
 #include "content/public/browser/web_contents.h"
 #include "extensions/buildflags/buildflags.h"
+#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
+#include "media/mojo/services/video_decode_perf_history.h"
 #include "net/http/transport_security_state.h"
 #include "ppapi/buildflags/buildflags.h"
 #include "services/network/public/mojom/network_context.mojom.h"
@@ -107,9 +109,12 @@
 using content::HostZoomMap;
 #endif
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
 namespace {
 
+// Key names for OTR Profile user data.
+constexpr char kVideoDecodePerfHistoryId[] = "video-decode-perf-history";
+
+#if BUILDFLAG(ENABLE_EXTENSIONS)
 void NotifyOTRProfileCreatedOnIOThread(void* original_profile,
                                        void* otr_profile) {
   extensions::ExtensionWebRequestEventRouter::GetInstance()
@@ -121,9 +126,9 @@
   extensions::ExtensionWebRequestEventRouter::GetInstance()
       ->OnOTRBrowserContextDestroyed(original_profile, otr_profile);
 }
+#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 
 }  // namespace
-#endif
 
 OffTheRecordProfileImpl::OffTheRecordProfileImpl(Profile* real_profile)
     : profile_(real_profile), start_time_(base::Time::Now()) {
@@ -455,11 +460,37 @@
 
 media::VideoDecodePerfHistory*
 OffTheRecordProfileImpl::GetVideoDecodePerfHistory() {
-  // Defer to the original profile for VideoDecodePerfHistory. The incognito
-  // profile will have no history of its own (we don't save it for incognito)
-  // and the two profiles should have the same video performance. The history is
-  // not exposed directly to the web, so privacy is not compromised.
-  return GetOriginalProfile()->GetVideoDecodePerfHistory();
+  media::VideoDecodePerfHistory* decode_history =
+      static_cast<media::VideoDecodePerfHistory*>(
+          GetUserData(kVideoDecodePerfHistoryId));
+
+  // Lazily created. Note, this does not trigger loading the DB from disk. That
+  // occurs later upon first VideoDecodePerfHistory API request that requires DB
+  // access. DB operations will not block the UI thread.
+  if (!decode_history) {
+    // Use the original profile's DB to seed the OTR VideoDeocdePerfHisotry. The
+    // original DB is treated as read-only, while OTR playbacks will write stats
+    // to the InMemory version (cleared on profile destruction). Guest profiles
+    // don't have a root profile like incognito, meaning they don't have a seed
+    // DB to call on and we can just pass null.
+    media::VideoDecodeStatsDBProvider* seed_db_provider =
+        IsGuestSession() ? nullptr
+                         // Safely passing raw pointer to VideoDecodePerfHistory
+                         // because original profile will outlive this profile.
+                         : GetOriginalProfile()->GetVideoDecodePerfHistory();
+
+    auto db_factory =
+        std::make_unique<media::InMemoryVideoDecodeStatsDBFactory>(
+            seed_db_provider);
+
+    auto new_decode_history =
+        std::make_unique<media::VideoDecodePerfHistory>(std::move(db_factory));
+    decode_history = new_decode_history.get();
+
+    SetUserData(kVideoDecodePerfHistoryId, std::move(new_decode_history));
+  }
+
+  return decode_history;
 }
 
 bool OffTheRecordProfileImpl::IsSameProfile(Profile* profile) {
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index 76b7aa40..09c01b8 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -976,19 +976,12 @@
 
 ProfileIOData::ResourceContext::ResourceContext(ProfileIOData* io_data)
     : io_data_(io_data),
-      host_resolver_(NULL),
       request_context_(NULL) {
   DCHECK(io_data);
 }
 
 ProfileIOData::ResourceContext::~ResourceContext() {}
 
-net::HostResolver* ProfileIOData::ResourceContext::GetHostResolver()  {
-  DCHECK_CURRENTLY_ON(BrowserThread::IO);
-  DCHECK(io_data_->initialized_);
-  return host_resolver_;
-}
-
 net::URLRequestContext* ProfileIOData::ResourceContext::GetRequestContext()  {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
   DCHECK(io_data_->initialized_);
@@ -1178,8 +1171,6 @@
           !GetMetricsEnabledStateOnIOThread());
     }
 
-    resource_context_->host_resolver_ =
-        io_thread_globals->system_request_context->host_resolver();
     resource_context_->request_context_ = main_request_context_;
   }
 
diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h
index c747297..25fb658d 100644
--- a/chrome/browser/profiles/profile_io_data.h
+++ b/chrome/browser/profiles/profile_io_data.h
@@ -449,7 +449,6 @@
     ~ResourceContext() override;
 
     // ResourceContext implementation:
-    net::HostResolver* GetHostResolver() override;
     net::URLRequestContext* GetRequestContext() override;
 
    private:
@@ -457,7 +456,6 @@
 
     ProfileIOData* const io_data_;
 
-    net::HostResolver* host_resolver_;
     net::URLRequestContext* request_context_;
   };
 
diff --git a/chrome/browser/profiling_host/background_profiling_triggers.cc b/chrome/browser/profiling_host/background_profiling_triggers.cc
index d2906a6..2f3d567 100644
--- a/chrome/browser/profiling_host/background_profiling_triggers.cc
+++ b/chrome/browser/profiling_host/background_profiling_triggers.cc
@@ -22,21 +22,25 @@
 namespace {
 
 #if defined(OS_ANDROID)
-// Check memory usage every 10 minutes. Trigger slow report if needed.
-const int kRepeatingCheckMemoryDelayInMinutes = 10;
-const int kThrottledReportRepeatingCheckMemoryDelayInHours = 1;
+// Check memory usage every 5 minutes.
+const int kRepeatingCheckMemoryDelayInMinutes = 5;
 
 const size_t kBrowserProcessMallocTriggerKb = 100 * 1024;    // 100 MB
 const size_t kGPUProcessMallocTriggerKb = 40 * 1024;         // 40 MB
 const size_t kRendererProcessMallocTriggerKb = 125 * 1024;   // 125 MB
+
+// If memory usage has increased by 50MB since the last report, send another.
+const uint32_t kHighWaterMarkThresholdKb = 50 * 1024;  // 50 MB
 #else
-// Check memory usage every hour. Trigger slow report if needed.
-const int kRepeatingCheckMemoryDelayInMinutes = 60;
-const int kThrottledReportRepeatingCheckMemoryDelayInHours = 12;
+// Check memory usage every 15 minutes.
+const int kRepeatingCheckMemoryDelayInMinutes = 15;
 
 const size_t kBrowserProcessMallocTriggerKb = 400 * 1024;    // 400 MB
 const size_t kGPUProcessMallocTriggerKb = 400 * 1024;        // 400 MB
 const size_t kRendererProcessMallocTriggerKb = 500 * 1024;   // 500 MB
+
+// If memory usage has increased by 500MB since the last report, send another.
+const uint32_t kHighWaterMarkThresholdKb = 500 * 1024;  // 500 MB
 #endif  // OS_ANDROID
 
 int GetContentProcessType(
@@ -145,25 +149,37 @@
   for (const auto& proc : dump->process_dumps()) {
     if (!base::ContainsValue(profiled_pids, proc.pid()))
       continue;
+
+    uint32_t private_footprint_kb = proc.os_dump().private_footprint_kb;
+    auto it = pmf_at_last_upload_.find(proc.pid());
+    if (it != pmf_at_last_upload_.end()) {
+      if (private_footprint_kb > it->second + kHighWaterMarkThresholdKb) {
+        should_send_report = true;
+        it->second = private_footprint_kb;
+      }
+      continue;
+    }
+
+    // No high water mark exists yet, check the trigger threshold.
     if (IsOverTriggerThreshold(GetContentProcessType(proc.process_type()),
-                               proc.os_dump().private_footprint_kb)) {
+                               private_footprint_kb)) {
       should_send_report = true;
-      break;
+      pmf_at_last_upload_[proc.pid()] = private_footprint_kb;
     }
   }
 
   if (should_send_report) {
-    TriggerMemoryReport();
+    // Clear the watermark for all non-profiled pids.
+    for (auto it = pmf_at_last_upload_.begin();
+         it != pmf_at_last_upload_.end();) {
+      if (base::ContainsValue(profiled_pids, it->first)) {
+        ++it;
+      } else {
+        it = pmf_at_last_upload_.erase(it);
+      }
+    }
 
-    // If a report was sent, throttle the memory data collection rate to
-    // kThrottledReportRepeatingCheckMemoryDelayInHours to avoid sending too
-    // many reports from a known problematic client.
-    timer_.Start(FROM_HERE,
-                 base::TimeDelta::FromHours(
-                     kThrottledReportRepeatingCheckMemoryDelayInHours),
-                 base::BindRepeating(
-                     &BackgroundProfilingTriggers::PerformMemoryUsageChecks,
-                     weak_ptr_factory_.GetWeakPtr()));
+    TriggerMemoryReport();
   }
 }
 
diff --git a/chrome/browser/profiling_host/background_profiling_triggers.h b/chrome/browser/profiling_host/background_profiling_triggers.h
index 12eff538..cfb006c 100644
--- a/chrome/browser/profiling_host/background_profiling_triggers.h
+++ b/chrome/browser/profiling_host/background_profiling_triggers.h
@@ -31,6 +31,12 @@
   // Register a periodic timer calling |PerformMemoryUsageChecks|.
   void StartTimer();
 
+ protected:
+  // High water mark for private footprint of each profiled pid at time of
+  // upload. Results are stored in |kb|.
+  // Exposed to subclasses for testing.
+  std::map<base::ProcessId, uint32_t> pmf_at_last_upload_;
+
  private:
   friend class FakeBackgroundProfilingTriggers;
   FRIEND_TEST_ALL_PREFIXES(BackgroundProfilingTriggersTest,
diff --git a/chrome/browser/profiling_host/background_profiling_triggers_unittest.cc b/chrome/browser/profiling_host/background_profiling_triggers_unittest.cc
index db2f925..96c134db 100644
--- a/chrome/browser/profiling_host/background_profiling_triggers_unittest.cc
+++ b/chrome/browser/profiling_host/background_profiling_triggers_unittest.cc
@@ -70,7 +70,10 @@
 
   using BackgroundProfilingTriggers::OnReceivedMemoryDump;
 
-  void Reset() { was_report_triggered_ = false; }
+  void Reset() {
+    was_report_triggered_ = false;
+    pmf_at_last_upload_.clear();
+  }
   bool WasReportTriggered() const { return was_report_triggered_; }
 
  private:
@@ -197,6 +200,31 @@
   EXPECT_TRUE(triggers_.WasReportTriggered());
 }
 
+TEST_F(BackgroundProfilingTriggersTest, HighWaterMark) {
+  GlobalMemoryDumpPtr dump(
+      memory_instrumentation::mojom::GlobalMemoryDump::New());
+  PopulateMetrics(&dump, 1, ProcessType::BROWSER, kProcessMallocTriggerKb,
+                  kProcessMallocTriggerKb, kProcessMallocTriggerKb);
+  triggers_.OnReceivedMemoryDump(profiled_pids_, true,
+                                 GlobalMemoryDump::MoveFrom(std::move(dump)));
+  EXPECT_TRUE(triggers_.WasReportTriggered());
+  triggers_.Reset();
+
+  // A small increase in memory should not trigger another report.
+  dump = memory_instrumentation::mojom::GlobalMemoryDump::New();
+  uint32_t small_increase = kProcessMallocTriggerKb + 10 * 1024;
+  PopulateMetrics(&dump, 1, ProcessType::BROWSER, small_increase,
+                  small_increase, small_increase);
+  EXPECT_FALSE(triggers_.WasReportTriggered());
+
+  // But a large increase should trigger another report.
+  dump = memory_instrumentation::mojom::GlobalMemoryDump::New();
+  uint32_t large_increase = kProcessMallocTriggerKb + 1000 * 1024;
+  PopulateMetrics(&dump, 1, ProcessType::BROWSER, large_increase,
+                  large_increase, large_increase);
+  EXPECT_FALSE(triggers_.WasReportTriggered());
+}
+
 // Non-profiled processes don't trigger.
 TEST_F(BackgroundProfilingTriggersTest, OnlyProfiledProcessesTrigger) {
   GlobalMemoryDumpPtr dump(
diff --git a/chrome/browser/resources/local_ntp/custom_backgrounds.css b/chrome/browser/resources/local_ntp/custom_backgrounds.css
index e622360..e59b76ee 100644
--- a/chrome/browser/resources/local_ntp/custom_backgrounds.css
+++ b/chrome/browser/resources/local_ntp/custom_backgrounds.css
@@ -389,6 +389,7 @@
   display: inline-block;
   font-size: 13px;
   height: 24px;
+  overflow: hidden;
   padding: 8px 16px 0 16px;
   position: absolute;
   text-overflow: ellipsis;
diff --git a/chrome/browser/resources/local_ntp/custom_backgrounds.js b/chrome/browser/resources/local_ntp/custom_backgrounds.js
index 9a7ff33..78b85d8 100644
--- a/chrome/browser/resources/local_ntp/custom_backgrounds.js
+++ b/chrome/browser/resources/local_ntp/custom_backgrounds.js
@@ -64,6 +64,18 @@
   SELECTED_CIRCLE: 'selected-circle',
 };
 
+/**
+ * Enum for background sources.
+ * @enum {int}
+ * @const
+ */
+customBackgrounds.SOURCES = {
+  NONE: -1,
+  CHROME_BACKGROUNDS: 0,
+  GOOGLE_PHOTOS: 1,
+  IMAGE_UPLOAD: 2,
+};
+
 customBackgrounds.CUSTOM_BACKGROUND_OVERLAY =
     'linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))';
 
@@ -72,6 +84,12 @@
  */
 customBackgrounds.selectedTile = null;
 
+/* Type of collection that is being browsed, needed in order
+ * to return from the image dialog.
+ * @type {int}
+ */
+customBackgrounds.dialogCollectionsSource = customBackgrounds.SOURCES.NONE;
+
 /**
  * Alias for document.getElementById.
  * @param {string} id The ID of the element to find.
@@ -102,6 +120,7 @@
  */
 customBackgrounds.closeCollectionDialog = function(menu) {
   menu.close();
+  customBackgrounds.dialogCollectionsSource = customBackgrounds.SOURCES.NONE;
   customBackgrounds.resetSelectionDialog();
 };
 
@@ -114,32 +133,75 @@
 };
 
 /**
- * Show dialog for selecting a collection. Populates the dialog
- * with data from |coll|.
- * @param {string} dialogTitle The title to be displayed at the top of the
- * dialog.
+ * Create a tile for a Chrome Backgrounds collection.
  */
-customBackgrounds.showCollectionSelectionDialog = function() {
+customBackgrounds.createChromeBackgroundTile = function(data) {
+  var tile = document.createElement('div');
+  tile.style.backgroundImage = 'url(' + data.previewImageUrl + ')';
+  tile.dataset.id = data.collectionId;
+  tile.dataset.name = data.collectionName;
+  return tile;
+};
+
+/**
+ * Create a tile for a Google Photos album.
+ */
+customBackgrounds.createAlbumTile = function(data) {
+  var tile = document.createElement('div');
+  tile.style.backgroundImage = 'url(' + data.previewImageUrl + ')';
+  tile.dataset.id = data.albumId;
+  tile.dataset.name = data.albumName;
+  tile.dataset.photoContainerId = data.photoContainerId;
+  return tile;
+};
+
+/**
+ * Show dialog for selecting either a Chrome background collection or Google
+ * Photo album. Draw data from either coll or albums.
+ * @param {int} collectionsSource The enum value of the source to fetch
+ *              collection data from.
+ */
+customBackgrounds.showCollectionSelectionDialog = function(collectionsSource) {
   var tileContainer = $(customBackgrounds.IDS.TILES);
   var menu = $(customBackgrounds.IDS.MENU);
+  var collData = null;
+  var sourceIsChromeBackgrounds =
+      (collectionsSource == customBackgrounds.SOURCES.CHROME_BACKGROUNDS);
+  if (collectionsSource != customBackgrounds.SOURCES.CHROME_BACKGROUNDS &&
+      collectionsSource != customBackgrounds.SOURCES.GOOGLE_PHOTOS) {
+    console.log(
+        'showCollectionSelectionDialog() called with invalid source=' +
+        collectionsSource);
+    return;
+  }
+  customBackgrounds.dialogCollectionsSource = collectionsSource;
 
   if (!menu.open)
     menu.showModal();
 
-  // Create dialog header
-  $(customBackgrounds.IDS.TITLE).textContent =
-      configData.translatedStrings.selectChromeWallpaper;
+  // Create dialog header.
+  if (sourceIsChromeBackgrounds) {
+    $(customBackgrounds.IDS.TITLE).textContent =
+        configData.translatedStrings.selectChromeWallpaper;
+    collData = coll;
+  } else {
+    $(customBackgrounds.IDS.TITLE).textContent =
+        configData.translatedStrings.selectGooglePhotoAlbum;
+    collData = albums;
+  }
   menu.classList.add(customBackgrounds.CLASSES.COLLECTION_DIALOG);
   menu.classList.remove(customBackgrounds.CLASSES.IMAGE_DIALOG);
 
-  // Create dialog tiles
-  for (var i = 0; i < coll.length; ++i) {
-    var tile = document.createElement('div');
+  // Create dialog tiles.
+  for (var i = 0; i < collData.length; ++i) {
+    var tile = null;
+    if (sourceIsChromeBackgrounds) {
+      tile = customBackgrounds.createChromeBackgroundTile(collData[i]);
+    } else {
+      tile = customBackgrounds.createAlbumTile(collData[i]);
+    }
     tile.classList.add(customBackgrounds.CLASSES.COLLECTION_TILE);
-    tile.style.backgroundImage = 'url(' + coll[i].previewImageUrl + ')';
     tile.id = 'coll_tile_' + i;
-    tile.dataset.id = coll[i].collectionId;
-    tile.dataset.name = coll[i].collectionName;
     tile.tabIndex = 0;
 
     var title = document.createElement('div');
@@ -151,24 +213,45 @@
       if (tile.classList.contains(customBackgrounds.CLASSES.COLLECTION_TITLE))
         tile = tile.parentNode;
 
-      // Load images for selected collection
+      // Load images for selected collection.
       var imgElement = $('ntp-images-loader');
       if (imgElement) {
         imgElement.parentNode.removeChild(imgElement);
       }
       var imgScript = document.createElement('script');
       imgScript.id = 'ntp-images-loader';
-      imgScript.src = 'chrome-search://local-ntp/ntp-background-images.js?' +
-          'collection_id=' + tile.dataset.id;
+
+      if (sourceIsChromeBackgrounds) {
+        imgScript.src = 'chrome-search://local-ntp/ntp-background-images.js?' +
+            'collection_type=background&collection_id=' + tile.dataset.id;
+      } else {
+        imgScript.src = 'chrome-search://local-ntp/ntp-background-images.js?' +
+            'collection_type=album&album_id=' + tile.dataset.id +
+            '&photo_container_id=' + tile.dataset.photoContainerId;
+      }
+
       document.body.appendChild(imgScript);
 
       imgScript.onload = function() {
+        // Verify that the individual image data was successfully loaded.
+        var imageDataLoaded = false;
+        if (sourceIsChromeBackgrounds) {
+          imageDataLoaded =
+              (coll_img.length > 0 &&
+               coll_img[0].collectionId == tile.dataset.id);
+        } else {
+          imageDataLoaded =
+              (photos.length > 0 && photos[0].albumId == tile.dataset.id &&
+               photos[0].photoContainerId == tile.dataset.photoContainerId);
+        }
+
+        // Dependent upon the succces of the load, populate the image selection
+        // dialog or close the current dialog.
         customBackgrounds.resetSelectionDialog();
-        if (coll_img.length > 0 &&
-            coll_img[0].collectionId == tile.dataset.id) {
+        if (imageDataLoaded) {
           customBackgrounds.showImageSelectionDialog(tile.dataset.name);
         } else {
-          customBackgrounds.closeCollectionDialog();
+          customBackgrounds.closeCollectionDialog(menu);
         }
       };
     };
@@ -219,33 +302,53 @@
  * data should previous have been loaded into coll_img via
  * chrome-search://local-ntp/ntp-background-images.js?collection_id=<collection_id>
  * @param {string} dialogTitle The title to be displayed at the top of the
+ *                 dialog.
  */
 customBackgrounds.showImageSelectionDialog = function(dialogTitle) {
   var menu = $(customBackgrounds.IDS.MENU);
   var tileContainer = $(customBackgrounds.IDS.TILES);
+  var sourceIsChromeBackgrounds =
+      (customBackgrounds.dialogCollectionsSource ==
+       customBackgrounds.SOURCES.CHROME_BACKGROUNDS);
 
   $(customBackgrounds.IDS.TITLE).textContent = dialogTitle;
   menu.classList.remove(customBackgrounds.CLASSES.COLLECTION_DIALOG);
   menu.classList.add(customBackgrounds.CLASSES.IMAGE_DIALOG);
 
-  for (var i = 0; i < coll_img.length; ++i) {
+  var imageData = null;
+  if (sourceIsChromeBackgrounds) {
+    imageData = coll_img;
+  } else {
+    imageData = photos;
+  }
+
+  for (var i = 0; i < imageData.length; ++i) {
     var tile = document.createElement('div');
     tile.classList.add(customBackgrounds.CLASSES.COLLECTION_TILE);
 
-    // TODO(crbug.com/854028): Remove this hardcoded check when wallpaper
-    // previews are supported.
-    if (coll_img[i].collectionId == 'solidcolors') {
-      var imageWithOverlay = [
-        customBackgrounds.CUSTOM_BACKGROUND_OVERLAY,
-        'url(' + coll_img[i].thumbnailImageUrl + ')'
-      ].join(',').trim();
-      tile.style.backgroundImage = imageWithOverlay;
+    // Set the background image, the name of the source variable differs
+    // depending on if it's coming from Chrome Backgrounds or Google Photos.
+    if (sourceIsChromeBackgrounds) {
+      // TODO(crbug.com/854028): Remove this hardcoded check when wallpaper
+      // previews are supported.
+      if (imageData[i].collectionId == 'solidcolors') {
+        var imageWithOverlay = [
+          customBackgrounds.CUSTOM_BACKGROUND_OVERLAY,
+          'url(' + imageData[i].thumbnailImageUrl + ')'
+        ].join(',').trim();
+        tile.style.backgroundImage = imageWithOverlay;
+      } else {
+        tile.style.backgroundImage =
+            'url(' + imageData[i].thumbnailImageUrl + ')';
+      }
+      tile.dataset.url = imageData[i].imageUrl;
     } else {
-      tile.style.backgroundImage = 'url(' + coll_img[i].thumbnailImageUrl + ')';
+      tile.style.backgroundImage =
+          'url(' + imageData[i].thumbnailPhotoUrl + ')';
+      tile.dataset.url = imageData[i].photoUrl;
     }
 
     tile.id = 'img_tile_' + i;
-    tile.dataset.url = coll_img[i].imageUrl;
     tile.tabIndex = 0;
 
     var tileInteraction = function(event) {
@@ -298,8 +401,19 @@
   }
   var collScript = document.createElement('script');
   collScript.id = 'ntp-collection-loader';
-  collScript.src = 'chrome-search://local-ntp/ntp-background-collections.js';
+  collScript.src = 'chrome-search://local-ntp/ntp-background-collections.js?' +
+      'collection_type=background';
   document.body.appendChild(collScript);
+
+  var albumElement = $('ntp-album-loader');
+  if (albumElement) {
+    albumElement.parentNode.removeChild(albumElement);
+  }
+  var albumScript = document.createElement('script');
+  albumScript.id = 'ntp-album-loader';
+  albumScript.src = 'chrome-search://local-ntp/ntp-background-collections.js?' +
+      'collection_type=album';
+  document.body.appendChild(albumScript);
 };
 
 /* Close dialog when an image is selected via the file picker. */
@@ -392,8 +506,9 @@
   // Interactions with the "Chrome backgrounds" option.
   var defaultWallpapersInteraction = function(event) {
     editDialog.close();
-    if (typeof coll != 'undefined') {
-      customBackgrounds.showCollectionSelectionDialog();
+    if (typeof coll != 'undefined' && coll.length > 0) {
+      customBackgrounds.showCollectionSelectionDialog(
+          customBackgrounds.SOURCES.CHROME_BACKGROUNDS);
     }
   };
   $(customBackgrounds.IDS.DEFAULT_WALLPAPERS).onclick =
@@ -404,6 +519,22 @@
     }
   };
 
+  // Interactions with the Google Photos option.
+  var googlePhotosInteraction = function(event) {
+    editDialog.close();
+    if (typeof albums != 'undefined' && albums.length > 0) {
+      customBackgrounds.showCollectionSelectionDialog(
+          customBackgrounds.SOURCES.GOOGLE_PHOTOS);
+    }
+  };
+  $(customBackgrounds.IDS.CONNECT_GOOGLE_PHOTOS).onclick =
+      googlePhotosInteraction;
+  $(customBackgrounds.IDS.CONNECT_GOOGLE_PHOTOS).onkeyup = function(event) {
+    if (event.keyCode === customBackgrounds.KEYCODES.ENTER) {
+      googlePhotosInteraction(event);
+    }
+  };
+
   // Escape and Backspace handling for the background picker dialog.
   menu.onkeydown = function(event) {
     if (event.keyCode === customBackgrounds.KEYCODES.ESC ||
@@ -416,7 +547,8 @@
         customBackgrounds.resetSelectionDialog();
       } else {
         customBackgrounds.resetSelectionDialog();
-        customBackgrounds.showCollectionSelectionDialog();
+        customBackgrounds.showCollectionSelectionDialog(
+            customBackgrounds.dialogCollectionsSource);
       }
     }
   };
@@ -431,7 +563,8 @@
   // Interactions with the back arrow on the image selection dialog.
   var backInteraction = function(event) {
     customBackgrounds.resetSelectionDialog();
-    customBackgrounds.showCollectionSelectionDialog();
+    customBackgrounds.showCollectionSelectionDialog(
+        customBackgrounds.dialogCollectionsSource);
   };
   $(customBackgrounds.IDS.BACK).onclick = backInteraction;
   $(customBackgrounds.IDS.BACK).onkeyup = function(event) {
diff --git a/chrome/browser/resources/local_ntp/local_ntp.html b/chrome/browser/resources/local_ntp/local_ntp.html
index 2e4229e..50ccbb3 100644
--- a/chrome/browser/resources/local_ntp/local_ntp.html
+++ b/chrome/browser/resources/local_ntp/local_ntp.html
@@ -81,7 +81,7 @@
 
   <dialog div id="edit-bg-dialog">
     <div id="edit-bg-title"></div>
-    <div id="edit-bg-google-photos" class="bg-option" tabindex="0" hidden>
+    <div id="edit-bg-google-photos" class="bg-option" tabindex="0">
       <div class="bg-option-img"></div>
       <div id="edit-bg-google-photos-text" class="bg-option-text"></div>
     </div>
diff --git a/chrome/browser/resources/md_downloads/item.html b/chrome/browser/resources/md_downloads/item.html
index 617f3cfa..42872ca 100644
--- a/chrome/browser/resources/md_downloads/item.html
+++ b/chrome/browser/resources/md_downloads/item.html
@@ -157,7 +157,7 @@
       }
 
       .is-active #url {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
       }
 
       #progress,
diff --git a/chrome/browser/resources/md_extensions/detail_view.html b/chrome/browser/resources/md_extensions/detail_view.html
index caa9d9e..2fc8563 100644
--- a/chrome/browser/resources/md_extensions/detail_view.html
+++ b/chrome/browser/resources/md_extensions/detail_view.html
@@ -43,7 +43,7 @@
       }
 
       #enable-section span {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
         font-weight: 500;
       }
 
@@ -121,7 +121,7 @@
       }
 
       .section-content {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
       }
 
       .mid-section-header {
diff --git a/chrome/browser/resources/md_extensions/error_page.html b/chrome/browser/resources/md_extensions/error_page.html
index aa4b986..51caf62 100644
--- a/chrome/browser/resources/md_extensions/error_page.html
+++ b/chrome/browser/resources/md_extensions/error_page.html
@@ -3,9 +3,9 @@
 <link rel="import" href="chrome://resources/cr_elements/cr_container_shadow_behavior.html">
 <link rel="import" href="chrome://resources/cr_elements/cr_icons_css.html">
 <link rel="import" href="chrome://resources/cr_elements/icons.html">
+<link rel="import" href="chrome://resources/cr_elements/paper_button_style_css.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
-<link rel="import" href="chrome://resources/cr_elements/paper_button_style_css.html">
 <link rel="import" href="chrome://resources/html/cr.html">
 <link rel="import" href="chrome://resources/html/cr/ui/focus_outline_manager.html">
 <link rel="import" href="chrome://resources/html/cr/ui/focus_without_ink.html">
diff --git a/chrome/browser/resources/md_extensions/manager.html b/chrome/browser/resources/md_extensions/manager.html
index 274132e..9772389 100644
--- a/chrome/browser/resources/md_extensions/manager.html
+++ b/chrome/browser/resources/md_extensions/manager.html
@@ -30,6 +30,7 @@
   <template>
     <style include="cr-hidden-style">
       :host {
+        color: var(--cr-primary-text-color);
         display: flex;
         flex-direction: column;
         height: 100%;
diff --git a/chrome/browser/resources/plugin_metadata/plugins_linux.json b/chrome/browser/resources/plugin_metadata/plugins_linux.json
index 6b59385b..37ce4bf 100644
--- a/chrome/browser/resources/plugin_metadata/plugins_linux.json
+++ b/chrome/browser/resources/plugin_metadata/plugins_linux.json
@@ -1,5 +1,5 @@
 {
-  "x-version": 30,
+  "x-version": 31,
   "google-talk": {
     "mime_types": [
     ],
@@ -80,9 +80,9 @@
     ],
     "versions": [
       {
-        "version": "29.0.0.171",
+        "version": "30.0.0.134",
         "status": "up_to_date",
-        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb18-16.html"
+        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb18-24.html"
       }
     ],
     "lang": "en-US",
diff --git a/chrome/browser/resources/plugin_metadata/plugins_mac.json b/chrome/browser/resources/plugin_metadata/plugins_mac.json
index f305b16..e40b501e 100644
--- a/chrome/browser/resources/plugin_metadata/plugins_mac.json
+++ b/chrome/browser/resources/plugin_metadata/plugins_mac.json
@@ -1,5 +1,5 @@
 {
-  "x-version": 36,
+  "x-version": 37,
   "google-talk": {
     "mime_types": [
     ],
@@ -115,9 +115,9 @@
     ],
     "versions": [
       {
-        "version": "29.0.0.171",
+        "version": "30.0.0.134",
         "status": "requires_authorization",
-        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb18-16.html"
+        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb18-24.html"
       }
     ],
     "lang": "en-US",
diff --git a/chrome/browser/resources/plugin_metadata/plugins_win.json b/chrome/browser/resources/plugin_metadata/plugins_win.json
index aaea0f38..21a20ed 100644
--- a/chrome/browser/resources/plugin_metadata/plugins_win.json
+++ b/chrome/browser/resources/plugin_metadata/plugins_win.json
@@ -1,5 +1,5 @@
 {
-  "x-version": 45,
+  "x-version": 46,
   "google-talk": {
     "mime_types": [
     ],
@@ -137,9 +137,9 @@
     ],
     "versions": [
       {
-        "version": "29.0.0.171",
+        "version": "30.0.0.134",
         "status": "requires_authorization",
-        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb18-16.html"
+        "reference": "https://helpx.adobe.com/security/products/flash-player/apsb18-24.html"
       }
     ],
     "lang": "en-US",
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
index 546dd8a4..02372cf7 100644
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
@@ -42,10 +42,6 @@
         visibility: hidden;
       }
 
-      #clearBrowsingDataDialog [slot=footer] {
-        color: var(--paper-grey-600);
-      }
-
       #clearBrowsingDataDialog [slot=body] {
         padding-top: 8px;
       }
diff --git a/chrome/browser/resources/settings/device_page/storage.html b/chrome/browser/resources/settings/device_page/storage.html
index c33d47b7..27bef12 100644
--- a/chrome/browser/resources/settings/device_page/storage.html
+++ b/chrome/browser/resources/settings/device_page/storage.html
@@ -1,6 +1,7 @@
 <link rel="import" href="chrome://resources/html/polymer.html">
 
 <link rel="import" href="chrome://resources/cr_elements/icons.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/html/assert.html">
 <link rel="import" href="chrome://resources/html/cr/ui/focus_without_ink.html">
 <link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
@@ -50,7 +51,7 @@
       }
 
       .storage-size {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
       }
 
       .message-area {
diff --git a/chrome/browser/resources/settings/internet_page/network_summary_item.html b/chrome/browser/resources/settings/internet_page/network_summary_item.html
index 1d16847..930197e 100644
--- a/chrome/browser/resources/settings/internet_page/network_summary_item.html
+++ b/chrome/browser/resources/settings/internet_page/network_summary_item.html
@@ -4,6 +4,7 @@
 <link rel="import" href="chrome://resources/cr_elements/chromeos/network/cr_network_icon.html">
 <link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html">
 <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/html/i18n_behavior.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-collapse/iron-collapse.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button-light.html">
@@ -29,7 +30,7 @@
       }
 
       #networkState {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
         font-size: inherit;
         font-weight: 400;
       }
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html b/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html
index 4f489c5..4fea904c 100644
--- a/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html
+++ b/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html
@@ -2,6 +2,7 @@
 
 <link rel="import" href="chrome://resources/cr_elements/cr_action_menu/cr_action_menu.html">
 <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/html/action_link.html">
 <link rel="import" href="chrome://resources/html/action_link_css.html">
 <link rel="import" href="chrome://resources/html/assert.html">
@@ -37,7 +38,7 @@
 
       .payments-label {
         -webkit-margin-start: 16px;
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
       }
 
       #addressList .start {
diff --git a/chrome/browser/resources/settings/people_page/people_page.html b/chrome/browser/resources/settings/people_page/people_page.html
index 82e683a61..8103df4 100644
--- a/chrome/browser/resources/settings/people_page/people_page.html
+++ b/chrome/browser/resources/settings/people_page/people_page.html
@@ -126,6 +126,12 @@
       }
 
       settings-sync-account-control[showing-promo] {
+        --promo-banner: {
+          /* Make the banner image stay within setting-section's card border
+             radius. */
+          border-top-left-radius: var(--cr-card-border-radius);
+          border-top-right-radius: var(--cr-card-border-radius);
+        }
         /* When showing promo in this page, text should be larger. */
         --promo-description: {
           font-size: 0.9rem;
diff --git a/chrome/browser/resources/settings/people_page/setup_pin_dialog.html b/chrome/browser/resources/settings/people_page/setup_pin_dialog.html
index 810d60c..db35d51 100644
--- a/chrome/browser/resources/settings/people_page/setup_pin_dialog.html
+++ b/chrome/browser/resources/settings/people_page/setup_pin_dialog.html
@@ -23,7 +23,7 @@
       }
 
       .warning {
-        color: var(--paper-grey-700);
+        color: var(--cr-secondary-text-color);
       }
 
       .warning > iron-icon {
diff --git a/chrome/browser/resources/settings/people_page/sync_account_control.html b/chrome/browser/resources/settings/people_page/sync_account_control.html
index a7ddef0d..dd6c0fd 100644
--- a/chrome/browser/resources/settings/people_page/sync_account_control.html
+++ b/chrome/browser/resources/settings/people_page/sync_account_control.html
@@ -105,6 +105,8 @@
         background-size: 100% auto;
         display: none;
         padding-top: calc(120 / 680 * 100%); /* Keep background ratio. */
+
+        @apply --promo-banner;
       }
 
       :host([showing-promo]) #banner {
diff --git a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.html b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.html
index ca3682d..e19f575 100644
--- a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.html
+++ b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.html
@@ -52,7 +52,9 @@
         padding: 8px 0;
       }
     </style>
-    <cr-input label="[[label]]" on-click="onClick_" value="{{value}}"
+    <!-- |value| is one-way binding on purpose so that it doesn't change
+      immediately as the user types. -->
+    <cr-input label="[[label]]" on-click="onClick_" value="[[value]]"
         on-value-changed="onInputValueChanged_" id="search">
     </cr-input>
     <iron-dropdown horizontal-align="left" vertical-align="top"
diff --git a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js
index 06c1242..77b61fd 100644
--- a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js
+++ b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js
@@ -61,7 +61,7 @@
 
   /** @private */
   onInputValueChanged_: function() {
-    this.searchTerm_ = this.value;
+    this.searchTerm_ = this.$.search.value;
   },
 
   /**
diff --git a/chrome/browser/resources/settings/settings_page/settings_subpage_search.html b/chrome/browser/resources/settings/settings_page/settings_subpage_search.html
index 3b7e38a..4a2928cb 100644
--- a/chrome/browser/resources/settings/settings_page/settings_subpage_search.html
+++ b/chrome/browser/resources/settings/settings_page/settings_subpage_search.html
@@ -4,6 +4,7 @@
 <link rel="import" href="chrome://resources/cr_elements/cr_input/cr_input.html">
 <link rel="import" href="chrome://resources/cr_elements/icons.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button-light.html">
 
@@ -32,7 +33,7 @@
           -webkit-padding-start: 0;
           padding-bottom: 2px;
           padding-top: 2px;
-          border-bottom: 1px solid var(--paper-grey-800);
+          border-bottom: 1px solid var(--google-grey-900);
         }
         display: inline-block;
         vertical-align: middle;
@@ -45,7 +46,7 @@
       }
 
       #searchInput {
-        color: var(--paper-grey-800);
+        color: var(--cr-primary-text-color);
       }
 
       #clearSearchContainer {
diff --git a/chrome/browser/resources/settings/settings_shared_css.html b/chrome/browser/resources/settings/settings_shared_css.html
index b189a1b..143f024 100644
--- a/chrome/browser/resources/settings/settings_shared_css.html
+++ b/chrome/browser/resources/settings/settings_shared_css.html
@@ -100,7 +100,7 @@
       }
 
       .primary-toggle {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
         font-weight: 500;
       }
 
diff --git a/chrome/browser/resources/settings/site_settings/zoom_levels.html b/chrome/browser/resources/settings/site_settings/zoom_levels.html
index 1ff7688..7dbdc131 100644
--- a/chrome/browser/resources/settings/site_settings/zoom_levels.html
+++ b/chrome/browser/resources/settings/site_settings/zoom_levels.html
@@ -1,6 +1,7 @@
 <link rel="import" href="chrome://resources/html/polymer.html">
 
 <link rel="import" href="chrome://resources/cr_elements/icons.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button-light.html">
 <link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
 <link rel="import" href="../i18n_setup.html">
@@ -17,7 +18,7 @@
 
       .zoom-label {
         -webkit-margin-end: 16px;
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
       }
 
       #empty {
diff --git a/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc b/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc
index 2412c10..787acd7 100644
--- a/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc
+++ b/chrome/browser/safe_browsing/certificate_reporting_service_browsertest.cc
@@ -7,6 +7,7 @@
 #include "base/command_line.h"
 #include "base/macros.h"
 #include "base/test/metrics/histogram_tester.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/test/simple_test_clock.h"
 #include "base/test/thread_test_helper.h"
 #include "base/time/clock.h"
@@ -20,7 +21,7 @@
 #include "chrome/browser/ssl/certificate_reporting_test_utils.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/chrome_switches.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/prefs/pref_service.h"
@@ -125,7 +126,8 @@
         "ReportCertificateErrors", "ShowAndPossiblySend",
         {{"sendingThreshold", "1.0"}}, command_line);
     if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
@@ -249,6 +251,8 @@
   // of CleanUpOnIOThread().
   std::unique_ptr<EventHistogramTester> event_histogram_tester_;
 
+  base::test::ScopedFeatureList scoped_feature_list_;
+
   DISALLOW_COPY_AND_ASSIGN(CertificateReportingServiceBrowserTest);
 };
 
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_impl_win_unittest.cc b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_impl_win_unittest.cc
index 47c3498..0cefa03 100644
--- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_impl_win_unittest.cc
+++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_impl_win_unittest.cc
@@ -493,9 +493,7 @@
   Profile* profile2 = profile_manager.CreateTestingProfile(kTestProfileName2);
   ASSERT_TRUE(profile2);
 
-  // Set the last used profile so that it can be found by
-  // ProfileManager::GetLastUsedProfile().
-  profile_manager.UpdateLastUser(profile1);
+  MockChromeCleanerProcess::AddMockExtensionsToProfile(profile1);
 
   const int num_profiles =
       profile_manager.profile_manager()->GetNumberOfProfiles();
@@ -587,6 +585,8 @@
 
 // Extension names only reported on Windows Chrome build.
 #if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD)
+  scanner_results_on_infected.FetchExtensionNames(profile1);
+  scanner_results_on_cleaning.FetchExtensionNames(profile1);
   EXPECT_EQ(!scanner_results_on_infected.extension_names().empty(),
             ExpectedExtensionsReported());
   EXPECT_EQ(!scanner_results_on_cleaning.extension_names().empty(),
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win_unittest.cc b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win_unittest.cc
index 960c7cb7..ee42f51 100644
--- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win_unittest.cc
+++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win_unittest.cc
@@ -254,10 +254,6 @@
     testing_profile_ = profile_manager_.CreateTestingProfile("Profile 1");
     MockChromeCleanerProcess::AddMockExtensionsToProfile(testing_profile_);
 
-    // Set the last used profile so that it can be found by
-    // ProfileManager::GetLastUsedProfile().
-    profile_manager_.UpdateLastUser(testing_profile_);
-
     UwsFoundState uws_found_state;
     MockChromeCleanerProcess::ItemsReporting registry_keys_reporting;
     MockChromeCleanerProcess::ItemsReporting extensions_reporting;
@@ -419,6 +415,7 @@
     }
 
     if (cleaner_process_options_.extension_ids()) {
+      received_scanner_results_.FetchExtensionNames(testing_profile_);
       EXPECT_THAT(received_scanner_results_.extension_names(),
                   UnorderedElementsAreArray(
                       *cleaner_process_options_.expected_extension_names()));
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.cc b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.cc
index 2b1ef50..6b7e456a 100644
--- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.cc
+++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.cc
@@ -15,15 +15,15 @@
     const FileCollection& files_to_delete,
     const RegistryKeyCollection& registry_keys,
     const ExtensionCollection& extension_ids)
-    : files_to_delete_(files_to_delete), registry_keys_(registry_keys) {
-  GetExtensionNamesFromIds(ProfileManager::GetLastUsedProfile(), extension_ids,
-                           &extension_names_);
-}
+    : files_to_delete_(files_to_delete),
+      registry_keys_(registry_keys),
+      extension_ids_(extension_ids) {}
 
 ChromeCleanerScannerResults::ChromeCleanerScannerResults(
     const ChromeCleanerScannerResults& other)
     : files_to_delete_(other.files_to_delete_),
       registry_keys_(other.registry_keys_),
+      extension_ids_(other.extension_ids_),
       extension_names_(other.extension_names_) {}
 
 ChromeCleanerScannerResults::~ChromeCleanerScannerResults() = default;
@@ -32,8 +32,13 @@
     const ChromeCleanerScannerResults& other) {
   files_to_delete_ = other.files_to_delete_;
   registry_keys_ = other.registry_keys_;
+  extension_ids_ = other.extension_ids_;
   extension_names_ = other.extension_names_;
   return *this;
 }
 
+void ChromeCleanerScannerResults::FetchExtensionNames(Profile* profile) {
+  GetExtensionNamesFromIds(profile, extension_ids_, &extension_names_);
+}
+
 }  // namespace safe_browsing
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.h b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.h
index 9627a42e5..a4260205 100644
--- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.h
+++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_scanner_results.h
@@ -9,6 +9,7 @@
 
 #include "base/files/file_path.h"
 #include "base/strings/string16.h"
+#include "chrome/browser/profiles/profile.h"
 
 namespace safe_browsing {
 
@@ -30,6 +31,8 @@
   ChromeCleanerScannerResults& operator=(
       const ChromeCleanerScannerResults& other);
 
+  void FetchExtensionNames(Profile* profile);
+
   const FileCollection& files_to_delete() const { return files_to_delete_; }
   const RegistryKeyCollection& registry_keys() const { return registry_keys_; }
   const ExtensionCollection& extension_names() const {
@@ -39,6 +42,7 @@
  private:
   FileCollection files_to_delete_;
   RegistryKeyCollection registry_keys_;
+  ExtensionCollection extension_ids_;
   ExtensionCollection extension_names_;
 };
 
diff --git a/chrome/browser/search/background/ntp_background_data.cc b/chrome/browser/search/background/ntp_background_data.cc
index b861b7b..62d2718 100644
--- a/chrome/browser/search/background/ntp_background_data.cc
+++ b/chrome/browser/search/background/ntp_background_data.cc
@@ -109,9 +109,13 @@
 
 AlbumPhoto::AlbumPhoto() = default;
 // TODO(crbug.com/851990) Handle urls with existing image options.
-AlbumPhoto::AlbumPhoto(const std::string& photo_url,
+AlbumPhoto::AlbumPhoto(const std::string& album_id,
+                       const std::string& photo_container_id,
+                       const std::string& photo_url,
                        const std::string& default_image_options)
-    : thumbnail_photo_url(GURL(photo_url)),
+    : album_id(album_id),
+      photo_container_id(photo_container_id),
+      thumbnail_photo_url(GURL(photo_url)),
       photo_url(GURL(photo_url + ((photo_url.find('=') == std::string::npos)
                                       ? default_image_options
                                       : std::string()))) {}
diff --git a/chrome/browser/search/background/ntp_background_data.h b/chrome/browser/search/background/ntp_background_data.h
index 9263c837..e0ff1f96 100644
--- a/chrome/browser/search/background/ntp_background_data.h
+++ b/chrome/browser/search/background/ntp_background_data.h
@@ -108,7 +108,9 @@
   AlbumPhoto();
   // default_image_options are applied to the image.image_url() if options
   // (specifying resolution, cropping, etc) are not already present.
-  AlbumPhoto(const std::string& photo_url,
+  AlbumPhoto(const std::string& album_id,
+             const std::string& photo_container_id,
+             const std::string& photo_url,
              const std::string& default_image_options);
   AlbumPhoto(const AlbumPhoto&);
   AlbumPhoto(AlbumPhoto&&);
@@ -117,6 +119,13 @@
   AlbumPhoto& operator=(const AlbumPhoto&);
   AlbumPhoto& operator=(AlbumPhoto&&);
 
+  // A unique identifier for the album. This is required when requesting the
+  // album.
+  std::string album_id;
+  // A generic photo container ID based on the photo provider. For Google
+  // Photos, this corresponds to media keys for the collection. It is also
+  // required when requesting the album.
+  std::string photo_container_id;
   // The thumbnail image URL, typically lower resolution than the photo_url.
   GURL thumbnail_photo_url;
   // The image URL.
diff --git a/chrome/browser/search/background/ntp_background_service.cc b/chrome/browser/search/background/ntp_background_service.cc
index 9a145203..2f9ef4e 100644
--- a/chrome/browser/search/background/ntp_background_service.cc
+++ b/chrome/browser/search/background/ntp_background_service.cc
@@ -468,8 +468,9 @@
   }
 
   for (int i = 0; i < photos_response.preview_size(); ++i) {
-    album_photos_.emplace_back(photos_response.preview(i).preview_url(),
-                               image_options_);
+    album_photos_.emplace_back(
+        requested_album_id_, requested_photo_container_id_,
+        photos_response.preview(i).preview_url(), image_options_);
   }
 
   NotifyObservers(FetchComplete::ALBUM_PHOTOS);
diff --git a/chrome/browser/search/local_ntp_source.cc b/chrome/browser/search/local_ntp_source.cc
index 812f86ca..6305937 100644
--- a/chrome/browser/search/local_ntp_source.cc
+++ b/chrome/browser/search/local_ntp_source.cc
@@ -171,6 +171,8 @@
               IDS_NTP_CUSTOM_LINKS_DONE);
     AddString(translated_strings.get(), "selectionCancel",
               IDS_NTP_CUSTOM_BG_CANCEL);
+    AddString(translated_strings.get(), "selectGooglePhotoAlbum",
+              IDS_NTP_CUSTOM_BG_SELECT_GOOGLE_ALBUM);
 
     // Voice Search
     AddString(translated_strings.get(), "audioError",
@@ -327,9 +329,11 @@
   photos.GetList().reserve(album_photos.size());
   for (const AlbumPhoto& photo : album_photos) {
     base::Value dict(base::Value::Type::DICTIONARY);
-    dict.SetKey("thumbnail_photo_url",
+    dict.SetKey("thumbnailPhotoUrl",
                 base::Value(photo.thumbnail_photo_url.spec()));
-    dict.SetKey("photo_url", base::Value(photo.photo_url.spec()));
+    dict.SetKey("photoUrl", base::Value(photo.photo_url.spec()));
+    dict.SetKey("albumId", base::Value(photo.album_id));
+    dict.SetKey("photoContainerId", base::Value(photo.photo_container_id));
     photos.GetList().push_back(std::move(dict));
   }
   return photos;
diff --git a/chrome/browser/ssl/captive_portal_blocking_page_browsertest.cc b/chrome/browser/ssl/captive_portal_blocking_page_browsertest.cc
index 7fa136af..4df46e76 100644
--- a/chrome/browser/ssl/captive_portal_blocking_page_browsertest.cc
+++ b/chrome/browser/ssl/captive_portal_blocking_page_browsertest.cc
@@ -10,9 +10,11 @@
 #include "base/bind_helpers.h"
 #include "base/callback.h"
 #include "base/command_line.h"
+#include "base/feature_list.h"
 #include "base/logging.h"
 #include "base/macros.h"
 #include "base/run_loop.h"
+#include "base/test/scoped_feature_list.h"
 #include "chrome/browser/interstitials/security_interstitial_page_test_utils.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/safe_browsing/certificate_reporting_service_test_utils.h"
@@ -23,7 +25,7 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_commands.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/chrome_switches.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
@@ -69,8 +71,7 @@
 };
 
 bool AreCommittedInterstitialsEnabled() {
-  return base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kCommittedInterstitials);
+  return base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials);
 }
 
 class CaptivePortalBlockingPageForTesting : public CaptivePortalBlockingPage {
@@ -249,7 +250,8 @@
         {{"sendingThreshold", "1.0"}}, command_line);
 
     if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
@@ -281,6 +283,7 @@
 
  private:
   std::unique_ptr<TestingThrottleInstaller> testing_throttle_installer_;
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(CaptivePortalBlockingPageTest);
 };
 
diff --git a/chrome/browser/ssl/connection_help_tab_helper.cc b/chrome/browser/ssl/connection_help_tab_helper.cc
index cb88a04..aa23f592 100644
--- a/chrome/browser/ssl/connection_help_tab_helper.cc
+++ b/chrome/browser/ssl/connection_help_tab_helper.cc
@@ -4,12 +4,10 @@
 
 #include "chrome/browser/ssl/connection_help_tab_helper.h"
 
-#include "base/command_line.h"
 #include "base/feature_list.h"
 #include "base/metrics/histogram_macros.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/common/chrome_features.h"
-#include "chrome/common/chrome_switches.h"
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/referrer.h"
@@ -60,8 +58,7 @@
           GetHelpCenterURL()) {
     LearnMoreClickResult histogram_value;
     if (navigation_handle->IsErrorPage()) {
-      if (base::CommandLine::ForCurrentProcess()->HasSwitch(
-              switches::kCommittedInterstitials) &&
+      if (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials) &&
           net::IsCertificateError(navigation_handle->GetNetErrorCode())) {
         // When committed interstitials are enabled, DidAttachInterstitialPage
         // does not get called, so check if this navigation resulted in an SSL
diff --git a/chrome/browser/ssl/connection_help_tab_helper_browsertest.cc b/chrome/browser/ssl/connection_help_tab_helper_browsertest.cc
index 446917ac..a800a39 100644
--- a/chrome/browser/ssl/connection_help_tab_helper_browsertest.cc
+++ b/chrome/browser/ssl/connection_help_tab_helper_browsertest.cc
@@ -9,7 +9,6 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_navigator.h"
 #include "chrome/common/chrome_features.h"
-#include "chrome/common/chrome_switches.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/strings/grit/components_strings.h"
@@ -30,6 +29,10 @@
         https_expired_server_(net::EmbeddedTestServer::TYPE_HTTPS) {}
 
   void SetUpOnMainThread() override {
+    if (GetParam()) {
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
+    }
     https_server_.SetSSLConfig(net::EmbeddedTestServer::CERT_OK);
     https_expired_server_.SetSSLConfig(net::EmbeddedTestServer::CERT_EXPIRED);
     https_server_.ServeFilesFromSourceDirectory("chrome/test/data");
@@ -38,16 +41,9 @@
     ASSERT_TRUE(https_expired_server_.Start());
   }
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
-    }
-  }
-
  protected:
   bool AreCommittedInterstitialsEnabled() {
-    return base::CommandLine::ForCurrentProcess()->HasSwitch(
-        switches::kCommittedInterstitials);
+    return base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials);
   }
 
   void SetHelpCenterUrl(Browser* browser, const GURL& url) {
@@ -65,6 +61,7 @@
  private:
   net::EmbeddedTestServer https_server_;
   net::EmbeddedTestServer https_expired_server_;
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(ConnectionHelpTabHelperTest);
 };
 
diff --git a/chrome/browser/ssl/security_state_tab_helper_browsertest.cc b/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
index 3526601..55a78ed 100644
--- a/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
+++ b/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
@@ -6,6 +6,7 @@
 
 #include "base/base64.h"
 #include "base/command_line.h"
+#include "base/feature_list.h"
 #include "base/files/file_path.h"
 #include "base/macros.h"
 #include "base/run_loop.h"
@@ -13,6 +14,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_command_line.h"
+#include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_notification_types.h"
@@ -25,6 +27,7 @@
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
@@ -106,8 +109,7 @@
 const char kTestCertificateIssuerName[] = "Test Root CA";
 
 bool AreCommittedInterstitialsEnabled() {
-  return base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kCommittedInterstitials);
+  return base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials);
 }
 
 bool IsShowingInterstitial(content::WebContents* tab) {
@@ -495,7 +497,8 @@
     // Browser will both run and display insecure content.
     command_line->AppendSwitch(switches::kAllowRunningInsecureContent);
     if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
@@ -554,6 +557,7 @@
   net::EmbeddedTestServer https_server_;
 
  private:
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(SecurityStateTabHelperTest);
 };
 
@@ -593,7 +597,8 @@
     // Browser will both run and display insecure content.
     command_line->AppendSwitch(switches::kAllowRunningInsecureContent);
     if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
@@ -605,6 +610,7 @@
   net::EmbeddedTestServer https_server_;
 
  private:
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(DidChangeVisibleSecurityStateTest);
 };
 
diff --git a/chrome/browser/ssl/ssl_browsertest.cc b/chrome/browser/ssl/ssl_browsertest.cc
index a6e4909c..af41c23 100644
--- a/chrome/browser/ssl/ssl_browsertest.cc
+++ b/chrome/browser/ssl/ssl_browsertest.cc
@@ -11,6 +11,7 @@
 #include "base/bind_helpers.h"
 #include "base/callback.h"
 #include "base/command_line.h"
+#include "base/feature_list.h"
 #include "base/json/json_reader.h"
 #include "base/location.h"
 #include "base/macros.h"
@@ -198,8 +199,7 @@
 };
 
 bool AreCommittedInterstitialsEnabled() {
-  return base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kCommittedInterstitials);
+  return base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials);
 }
 
 void CheckProceedLinkExists(WebContents* tab) {
@@ -1034,18 +1034,14 @@
   SSLUITest() : SSLUITestBase() {}
 
  protected:
-  void MaybeSetUpCommittedInterstitialCommandLine(
-      base::CommandLine* command_line) {
+  void SetUpOnMainThread() override {
+    SSLUITestBase::SetUpOnMainThread();
     if (IsCommittedInterstitialTest()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    SSLUITestBase::SetUpCommandLine(command_line);
-    MaybeSetUpCommittedInterstitialCommandLine(command_line);
-  }
-
   SSLBlockingPage* GetSSLBlockingPage(WebContents* tab) override {
     if (IsCommittedInterstitialTest()) {
       security_interstitials::SecurityInterstitialTabHelper* helper =
@@ -1164,6 +1160,7 @@
   }
 
  private:
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(SSLUITest);
 };
 
@@ -1178,7 +1175,6 @@
 
   // Browser will not run insecure content.
   void SetUpCommandLine(base::CommandLine* command_line) override {
-    MaybeSetUpCommittedInterstitialCommandLine(command_line);
     // By overriding SSLUITest, we won't apply the flag that allows running
     // insecure content.
   }
@@ -3638,9 +3634,11 @@
 
   ~SSLUIWorkerFetchTest() override {}
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
+  void SetUpOnMainThread() override {
+    SSLUITestBase::SetUpOnMainThread();
     if (GetParam().second) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
@@ -5096,13 +5094,14 @@
     // Enable finch experiment for SSL common name mismatch handling.
     command_line->AppendSwitchASCII(switches::kForceFieldTrials,
                                     "SSLCommonNameMismatchHandling/Enabled/");
-    if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
-    }
   }
 
   void SetUpOnMainThread() override {
     CertVerifierBrowserTest::SetUpOnMainThread();
+    if (GetParam()) {
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
+    }
     host_resolver()->AddRule("*", "127.0.0.1");
     content::BrowserThread::PostTask(
         content::BrowserThread::IO, FROM_HERE,
@@ -5114,6 +5113,9 @@
                                      base::BindOnce(&CleanUpOnIOThread));
     CertVerifierBrowserTest::TearDownOnMainThread();
   }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
 };
 
 INSTANTIATE_TEST_CASE_P(,
@@ -6163,10 +6165,11 @@
     https_server_.ServeFilesFromSourceDirectory(base::FilePath(kDocRoot));
   }
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    CertVerifierBrowserTest::SetUpCommandLine(command_line);
+  void SetUpOnMainThread() override {
+    CertVerifierBrowserTest::SetUpOnMainThread();
     if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
     }
   }
 
@@ -6229,6 +6232,7 @@
   net::EmbeddedTestServer* https_server() { return &https_server_; }
 
  private:
+  base::test::ScopedFeatureList scoped_feature_list_;
   net::EmbeddedTestServer https_server_;
 };
 
@@ -6428,17 +6432,14 @@
 
   void SetUpOnMainThread() override {
     CertVerifierBrowserTest::SetUpOnMainThread();
+    if (GetParam()) {
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
+    }
     host_resolver()->AddRule("*", "127.0.0.1");
     SetHSTSForHostName(browser()->profile());
   }
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    CertVerifierBrowserTest::SetUpCommandLine(command_line);
-    if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
-    }
-  }
-
   // Set up the cert verifier to return the error passed in as the cert_error
   // parameter.
   void SetUpCertVerifier(net::CertStatus cert_error) {
@@ -6548,7 +6549,7 @@
 
  private:
   net::EmbeddedTestServer https_server_;
-
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(SSLUIMITMSoftwareTest);
 };
 
@@ -6891,17 +6892,14 @@
 
   void SetUpOnMainThread() override {
     CertVerifierBrowserTest::SetUpOnMainThread();
+    if (GetParam()) {
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
+    }
     host_resolver()->AddRule("*", "127.0.0.1");
     ASSERT_TRUE(https_server_.Start());
   }
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    CertVerifierBrowserTest::SetUpCommandLine(command_line);
-    if (GetParam()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
-    }
-  }
-
  protected:
   void SetUpCertVerifier(bool use_superfish_cert) {
     net::CertVerifyResult verify_result;
@@ -6983,6 +6981,8 @@
     }
     return net::X509Certificate::CreateFromDERCertChain(decoded_pieces);
   }
+
+  base::test::ScopedFeatureList scoped_feature_list_;
 };
 
 INSTANTIATE_TEST_CASE_P(, SuperfishSSLUITest, ::testing::Values(false, true));
@@ -7701,15 +7701,12 @@
  public:
   RecurrentInterstitialBrowserTest() : CertVerifierBrowserTest() {}
 
-  void SetUpCommandLine(base::CommandLine* command_line) override {
-    CertVerifierBrowserTest::SetUpCommandLine(command_line);
-    if (IsCommittedInterstitialTest()) {
-      command_line->AppendSwitch(switches::kCommittedInterstitials);
-    }
-  }
-
   void SetUpOnMainThread() override {
     CertVerifierBrowserTest::SetUpOnMainThread();
+    if (IsCommittedInterstitialTest()) {
+      scoped_feature_list_.InitAndEnableFeature(
+          features::kSSLCommittedInterstitials);
+    }
     host_resolver()->AddRule("*", "127.0.0.1");
   }
 
@@ -7721,6 +7718,9 @@
 
  protected:
   bool IsCommittedInterstitialTest() { return GetParam(); }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
 };
 
 INSTANTIATE_TEST_CASE_P(,
diff --git a/chrome/browser/ssl/ssl_browsertest_util.cc b/chrome/browser/ssl/ssl_browsertest_util.cc
index c7cb3cea..fe367201 100644
--- a/chrome/browser/ssl/ssl_browsertest_util.cc
+++ b/chrome/browser/ssl/ssl_browsertest_util.cc
@@ -4,9 +4,9 @@
 
 #include "chrome/browser/ssl/ssl_browsertest_util.h"
 
-#include "base/command_line.h"
+#include "base/feature_list.h"
 #include "chrome/browser/ssl/security_state_tab_helper.h"
-#include "chrome/common/chrome_switches.h"
+#include "chrome/common/chrome_features.h"
 #include "components/security_state/core/security_state.h"
 #include "content/public/browser/navigation_entry.h"
 #include "content/public/browser/ssl_status.h"
@@ -21,8 +21,7 @@
 void Check(const content::NavigationEntry& entry,
            int expected_authentication_state) {
   if (expected_authentication_state == AuthState::SHOWING_ERROR ||
-      (base::CommandLine::ForCurrentProcess()->HasSwitch(
-           switches::kCommittedInterstitials) &&
+      (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials) &&
        expected_authentication_state == AuthState::SHOWING_INTERSTITIAL)) {
     EXPECT_EQ(content::PAGE_TYPE_ERROR, entry.GetPageType());
   } else {
diff --git a/chrome/browser/ssl/ssl_error_controller_client.cc b/chrome/browser/ssl/ssl_error_controller_client.cc
index 5368779..d670f3a 100644
--- a/chrome/browser/ssl/ssl_error_controller_client.cc
+++ b/chrome/browser/ssl/ssl_error_controller_client.cc
@@ -6,6 +6,7 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
+#include "base/feature_list.h"
 #include "base/files/file_util.h"
 #include "base/metrics/field_trial_params.h"
 #include "base/metrics/histogram_macros.h"
@@ -18,7 +19,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate.h"
 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate_factory.h"
-#include "chrome/common/chrome_switches.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
 #include "components/safe_browsing/common/safe_browsing_prefs.h"
@@ -141,8 +142,7 @@
 #endif
 
 bool AreCommittedInterstitialsEnabled() {
-  return base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kCommittedInterstitials);
+  return base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials);
 }
 
 }  // namespace
diff --git a/chrome/browser/ssl/ssl_error_navigation_throttle.cc b/chrome/browser/ssl/ssl_error_navigation_throttle.cc
index baf3d61..cd6dbce 100644
--- a/chrome/browser/ssl/ssl_error_navigation_throttle.cc
+++ b/chrome/browser/ssl/ssl_error_navigation_throttle.cc
@@ -5,8 +5,9 @@
 #include "chrome/browser/ssl/ssl_error_navigation_throttle.h"
 
 #include "base/bind.h"
+#include "base/feature_list.h"
 #include "base/threading/thread_task_runner_handle.h"
-#include "chrome/common/chrome_switches.h"
+#include "chrome/common/chrome_features.h"
 #include "components/security_interstitials/content/security_interstitial_page.h"
 #include "components/security_interstitials/content/security_interstitial_tab_helper.h"
 #include "content/public/browser/navigation_handle.h"
@@ -33,8 +34,7 @@
 
 content::NavigationThrottle::ThrottleCheckResult
 SSLErrorNavigationThrottle::WillFailRequest() {
-  DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kCommittedInterstitials));
+  DCHECK(base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials));
   content::NavigationHandle* handle = navigation_handle();
   // If there was no certificate error, SSLInfo will be empty.
   int cert_status = handle->GetSSLInfo().cert_status;
@@ -59,8 +59,7 @@
 
 content::NavigationThrottle::ThrottleCheckResult
 SSLErrorNavigationThrottle::WillProcessResponse() {
-  DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch(
-      switches::kCommittedInterstitials));
+  DCHECK(base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials));
   content::NavigationHandle* handle = navigation_handle();
   // If there was no certificate error, SSLInfo will be empty.
   int cert_status = handle->GetSSLInfo().cert_status;
diff --git a/chrome/browser/ssl/ssl_error_navigation_throttle_unittest.cc b/chrome/browser/ssl/ssl_error_navigation_throttle_unittest.cc
index 6020c75..5dceb98 100644
--- a/chrome/browser/ssl/ssl_error_navigation_throttle_unittest.cc
+++ b/chrome/browser/ssl/ssl_error_navigation_throttle_unittest.cc
@@ -5,12 +5,12 @@
 #include "chrome/browser/ssl/ssl_error_navigation_throttle.h"
 
 #include "base/bind.h"
-#include "base/command_line.h"
 #include "base/run_loop.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "chrome/browser/ssl/certificate_reporting_test_utils.cc"
 #include "chrome/browser/ssl/ssl_blocking_page.h"
-#include "chrome/common/chrome_switches.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/navigation_throttle.h"
@@ -88,8 +88,8 @@
   SSLErrorNavigationThrottleTest() {}
   void SetUp() override {
     ChromeRenderViewHostTestHarness::SetUp();
-    base::CommandLine::ForCurrentProcess()->AppendSwitch(
-        switches::kCommittedInterstitials);
+    scoped_feature_list_.InitAndEnableFeature(
+        features::kSSLCommittedInterstitials);
 
     async_ = GetParam();
     handle_ = content::NavigationHandle::CreateNavigationHandleForTesting(
@@ -121,6 +121,8 @@
   content::NavigationThrottle::ThrottleCheckResult deferred_result_ =
       content::NavigationThrottle::DEFER;
 
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
   DISALLOW_COPY_AND_ASSIGN(SSLErrorNavigationThrottleTest);
 };
 
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 2a21e06e..27d2920a 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -2350,8 +2350,6 @@
       "browser_commands_mac.h",
       "browser_mac.cc",
       "browser_mac.h",
-      "browser_window_touch_bar_mac.h",
-      "browser_window_touch_bar_mac.mm",
       "certificate_viewer_mac.h",
       "certificate_viewer_mac.mm",
       "cocoa/accelerator_utils_cocoa.mm",
@@ -2470,6 +2468,10 @@
       "cocoa/tab_contents/web_drag_bookmark_handler_mac.mm",
       "cocoa/task_manager_mac.h",
       "cocoa/task_manager_mac.mm",
+      "cocoa/touchbar/browser_window_default_touch_bar.h",
+      "cocoa/touchbar/browser_window_default_touch_bar.mm",
+      "cocoa/touchbar/browser_window_touch_bar_controller.h",
+      "cocoa/touchbar/browser_window_touch_bar_controller.mm",
       "cocoa/ui_localizer.h",
       "cocoa/ui_localizer.mm",
       "cocoa/web_contents_modal_dialog_host_cocoa.h",
@@ -3673,6 +3675,7 @@
         "app_list/arc/arc_app_model_builder.h",
         "app_list/arc/arc_app_utils.cc",
         "app_list/arc/arc_app_utils.h",
+        "app_list/arc/arc_data_removal_dialog.h",
         "app_list/arc/arc_default_app_list.cc",
         "app_list/arc/arc_default_app_list.h",
         "app_list/arc/arc_fast_app_reinstall_starter.cc",
@@ -3752,6 +3755,7 @@
         "ash/launcher/shelf_spinner_item_controller.cc",
         "ash/launcher/shelf_spinner_item_controller.h",
         "views/arc_app_dialog_view.cc",
+        "views/arc_data_removal_dialog_view.cc",
         "views/crostini/crostini_installer_view.cc",
         "views/crostini/crostini_installer_view.h",
         "views/crostini/crostini_uninstaller_view.cc",
diff --git a/chrome/browser/ui/app_list/arc/arc_data_removal_dialog.h b/chrome/browser/ui/app_list/arc/arc_data_removal_dialog.h
new file mode 100644
index 0000000..0752ef99
--- /dev/null
+++ b/chrome/browser/ui/app_list/arc/arc_data_removal_dialog.h
@@ -0,0 +1,35 @@
+// 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_UI_APP_LIST_ARC_ARC_DATA_REMOVAL_DIALOG_H_
+#define CHROME_BROWSER_UI_APP_LIST_ARC_ARC_DATA_REMOVAL_DIALOG_H_
+
+#include "base/callback_forward.h"
+
+class Profile;
+
+namespace arc {
+
+// Callback to notify the result of data removal confirmation dialog. Invoked
+// with true in case the user accepts data removal and false in case the user
+// declines data removal or dialog is closed.
+using DataRemovalConfirmationCallback = base::OnceCallback<void(bool)>;
+
+// It shows a confirmation dialog for data removal. User has the option to
+// accept or decline data removal. The result is passed using |callback|.
+void ShowDataRemovalConfirmationDialog(
+    Profile* profile,
+    DataRemovalConfirmationCallback callback);
+
+// Returns true if the ARC data removal dialog is open.
+bool IsDataRemovalConfirmationDialogOpenForTesting();
+
+// Simulates that user closes the open confirmation dialog for data removal.
+// The confirmation dialog is closed and |confirm| is returned in confirmation
+// callback, which was passed during ShowDataRemovalConfirmationDialog call.
+void CloseDataRemovalConfirmationDialogForTesting(bool confirm);
+
+}  // namespace arc
+
+#endif  // CHROME_BROWSER_UI_APP_LIST_ARC_ARC_DATA_REMOVAL_DIALOG_H_
diff --git a/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.cc b/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.cc
index c9b9c4d..75e2ddb5 100644
--- a/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.cc
+++ b/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.cc
@@ -7,7 +7,6 @@
 #include <memory>
 #include <utility>
 
-#include "base/i18n/string_search.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/ui/app_list/arc/arc_app_utils.h"
 #include "chrome/browser/ui/app_list/search/arc/arc_app_shortcut_search_result.h"
@@ -17,9 +16,11 @@
 namespace app_list {
 
 ArcAppShortcutsSearchProvider::ArcAppShortcutsSearchProvider(
+    int max_results,
     Profile* profile,
     AppListControllerDelegate* list_controller)
-    : profile_(profile),
+    : max_results_(max_results),
+      profile_(profile),
       list_controller_(list_controller),
       weak_ptr_factory_(this) {}
 
@@ -40,30 +41,19 @@
 
   // Invalidate the weak ptr to prevent previous callback run.
   weak_ptr_factory_.InvalidateWeakPtrs();
-  // Pass empty package name to do query for all packages.
-  app_instance->GetAppShortcutItems(
-      std::string(),
+  app_instance->GetAppShortcutGlobalQueryItems(
+      base::UTF16ToUTF8(query), max_results_,
       base::BindOnce(&ArcAppShortcutsSearchProvider::OnGetAppShortcutItems,
-                     weak_ptr_factory_.GetWeakPtr(), query));
+                     weak_ptr_factory_.GetWeakPtr()));
 }
 
 void ArcAppShortcutsSearchProvider::OnGetAppShortcutItems(
-    const base::string16& query,
     std::vector<arc::mojom::AppShortcutItemPtr> shortcut_items) {
   SearchProvider::Results search_results;
-  base::i18n::FixedPatternStringSearchIgnoringCaseAndAccents finder(query);
   for (auto& item : shortcut_items) {
-    // TODO(warx): Use tokenized string match.
-    const base::string16& short_label = base::UTF8ToUTF16(item->short_label);
-    if (!finder.Search(short_label, nullptr, nullptr))
-      continue;
-
     search_results.emplace_back(std::make_unique<ArcAppShortcutSearchResult>(
         std::move(item), profile_, list_controller_));
-    DCHECK(!short_label.empty());
-    search_results.back()->set_relevance(query.length() / short_label.length());
   }
-
   SwapResults(&search_results);
 }
 
diff --git a/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.h b/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.h
index 9299c432..313cb60 100644
--- a/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.h
+++ b/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider.h
@@ -20,7 +20,8 @@
 
 class ArcAppShortcutsSearchProvider : public SearchProvider {
  public:
-  ArcAppShortcutsSearchProvider(Profile* profile,
+  ArcAppShortcutsSearchProvider(int max_results,
+                                Profile* profile,
                                 AppListControllerDelegate* list_controller);
   ~ArcAppShortcutsSearchProvider() override;
 
@@ -29,9 +30,9 @@
 
  private:
   void OnGetAppShortcutItems(
-      const base::string16& query,
       std::vector<arc::mojom::AppShortcutItemPtr> shortcut_items);
 
+  const int max_results_;
   Profile* const profile_;                            // Owned by ProfileInfo.
   AppListControllerDelegate* const list_controller_;  // Owned by AppListClient.
 
diff --git a/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider_unittest.cc b/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider_unittest.cc
index 6a16626f..38047649 100644
--- a/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider_unittest.cc
+++ b/chrome/browser/ui/app_list/search/arc/arc_app_shortcuts_search_provider_unittest.cc
@@ -43,16 +43,17 @@
 };
 
 TEST_F(ArcAppShortcutsSearchProviderTest, Basic) {
+  constexpr size_t kMaxResults = 4;
   constexpr char kQuery[] = "shortlabel";
 
   auto provider = std::make_unique<ArcAppShortcutsSearchProvider>(
-      profile(), controller_.get());
+      kMaxResults, profile(), controller_.get());
   EXPECT_TRUE(provider->results().empty());
   arc::IconDecodeRequest::DisableSafeDecodingForTesting();
 
   provider->Start(base::UTF8ToUTF16(kQuery));
   const auto& results = provider->results();
-  EXPECT_EQ(3u, results.size());
+  EXPECT_EQ(kMaxResults, results.size());
   // Verify search results.
   for (size_t i = 0; i < results.size(); ++i) {
     EXPECT_EQ(base::StringPrintf("ShortLabel %zu", i),
diff --git a/chrome/browser/ui/app_list/search/search_controller_factory.cc b/chrome/browser/ui/app_list/search/search_controller_factory.cc
index fafdb06..a0e32fea 100644
--- a/chrome/browser/ui/app_list/search/search_controller_factory.cc
+++ b/chrome/browser/ui/app_list/search/search_controller_factory.cc
@@ -137,9 +137,10 @@
   if (features::IsAppShortcutSearchEnabled()) {
     size_t app_shortcut_group_id =
         controller->AddGroup(kMaxAppShortcutResults, 1.0, kBoostOfApps);
-    controller->AddProvider(app_shortcut_group_id,
-                            std::make_unique<ArcAppShortcutsSearchProvider>(
-                                profile, list_controller));
+    controller->AddProvider(
+        app_shortcut_group_id,
+        std::make_unique<ArcAppShortcutsSearchProvider>(
+            kMaxAppShortcutResults, profile, list_controller));
   }
 
   return controller;
diff --git a/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc b/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
index 016dd3a..8af86bb 100644
--- a/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+++ b/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 
+#include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/account_tracker_service_factory.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
@@ -181,6 +182,10 @@
   if (!upload_save_card_callback_.is_null()) {
     base::string16 name_provided_by_user;
     if (!cardholder_name.empty()) {
+      // Log whether the name was changed by the user or simply accepted without
+      // edits.
+      AutofillMetrics::LogSaveCardCardholderNameWasEdited(
+          cardholder_name != base::UTF8ToUTF16(account_info_.full_name));
       // Trim the cardholder name provided by the user and send it in the
       // callback so it can be included in the final request.
       DCHECK(ShouldRequestNameFromUser());
diff --git a/chrome/browser/ui/browser_dialogs.h b/chrome/browser/ui/browser_dialogs.h
index 969b8bcd..fd8c967 100644
--- a/chrome/browser/ui/browser_dialogs.h
+++ b/chrome/browser/ui/browser_dialogs.h
@@ -274,6 +274,7 @@
   UNITY_SYNC_CONSENT_BUMP = 85,
   CROSTINI_UNINSTALLER = 86,
   DOWNLOAD_OPEN_CONFIRMATION = 87,
+  ARC_DATA_REMOVAL_CONFIRMATION = 88,
   MAX_VALUE
 };
 
diff --git a/chrome/browser/ui/browser_window_touch_bar_mac.h b/chrome/browser/ui/browser_window_touch_bar_mac.h
deleted file mode 100644
index 47f651fa..0000000
--- a/chrome/browser/ui/browser_window_touch_bar_mac.h
+++ /dev/null
@@ -1,63 +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.
-
-#ifndef CHROME_BROWSER_UI_BROWSER_WINDOW_TOUCH_BAR_MAC_H_
-#define CHROME_BROWSER_UI_BROWSER_WINDOW_TOUCH_BAR_MAC_H_
-
-#import <Cocoa/Cocoa.h>
-
-#include "base/mac/availability.h"
-#import "ui/base/cocoa/touch_bar_forward_declarations.h"
-
-class BookmarkTabHelperObserver;
-class Browser;
-@class BrowserWindowController;
-
-// Provides a touch bar for the browser window. This class implements the
-// NSTouchBarDelegate and handles the items in the touch bar.
-@interface BrowserWindowTouchBar : NSObject<NSTouchBarDelegate>
-// True is the current page is loading. Used to determine if a stop or reload
-// button should be provided.
-@property(nonatomic, assign) BOOL isPageLoading;
-
-// True if the current page is starred. Used by star touch bar button.
-@property(nonatomic, assign) BOOL isStarred;
-
-// Designated initializer.
-- (instancetype)initWithBrowser:(Browser*)browser window:(NSWindow*)window;
-
-// Creates and returns a touch bar for the browser window.
-- (NSTouchBar*)makeTouchBar API_AVAILABLE(macos(10.12.2));
-
-// Invalidate the browser window touch bar by setting |window_|'s touch bar to
-// nil.
-- (void)invalidateTouchBar;
-
-// Updates the back/forward button. Called when creating the touch bar or when
-// the back and forward commands have changed.
-- (void)updateBackForwardControl;
-
-@end
-
-// Private methods exposed for testing.
-@interface BrowserWindowTouchBar (ExposedForTesting)
-
-// Updates the reload/stop button. Called when creating the touch bar or the
-// page load state has been updated.
-- (void)updateReloadStopButton;
-
-// Returns the reload/stop button on the touch bar. Creates it if it's null.
-- (NSButton*)reloadStopButton;
-
-// Returns the back/forward segmented control on the touch bar. Creates it if
-// it's null.
-- (NSSegmentedControl*)backForwardControl;
-
-// Returns the bridge object that BrowserWindowTouchBar uses to receive
-// notifications.
-- (BookmarkTabHelperObserver*)bookmarkTabObserver;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_BROWSER_WINDOW_TOUCH_BAR_H_
diff --git a/chrome/browser/ui/cocoa/accelerators_cocoa.mm b/chrome/browser/ui/cocoa/accelerators_cocoa.mm
index 0f10ac1..ab4ebf2 100644
--- a/chrome/browser/ui/cocoa/accelerators_cocoa.mm
+++ b/chrome/browser/ui/cocoa/accelerators_cocoa.mm
@@ -42,67 +42,66 @@
   NSUInteger modifiers;  // The Cocoa modifiers.
   ui::KeyboardCode key_code;  // The key used for cross-platform compatibility.
 } kAcceleratorMap[] = {
-  // Accelerators used in the toolbar menu.
-  {IDC_CLEAR_BROWSING_DATA, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_BACK},
-  {IDC_COPY, NSCommandKeyMask, ui::VKEY_C},
-  {IDC_CUT, NSCommandKeyMask, ui::VKEY_X},
-  {IDC_DEV_TOOLS, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_I},
-  {IDC_DEV_TOOLS_CONSOLE, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_J},
-  {IDC_FIND, NSCommandKeyMask, ui::VKEY_F},
-  {IDC_FULLSCREEN, NSCommandKeyMask | NSControlKeyMask, ui::VKEY_F},
-  {IDC_NEW_INCOGNITO_WINDOW, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_N},
-  {IDC_NEW_TAB, NSCommandKeyMask, ui::VKEY_T},
-  {IDC_NEW_WINDOW, NSCommandKeyMask, ui::VKEY_N},
-  {IDC_PASTE, NSCommandKeyMask, ui::VKEY_V},
-  {IDC_PRINT, NSCommandKeyMask, ui::VKEY_P},
-  {IDC_RESTORE_TAB, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_T},
-  {IDC_SAVE_PAGE, NSCommandKeyMask, ui::VKEY_S},
-  {IDC_SHOW_BOOKMARK_BAR, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_B},
-  {IDC_SHOW_BOOKMARK_MANAGER, NSCommandKeyMask | NSAlternateKeyMask,
-   ui::VKEY_B},
-  {IDC_BOOKMARK_PAGE, NSCommandKeyMask, ui::VKEY_D},
-  {IDC_SHOW_DOWNLOADS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_J},
-  {IDC_SHOW_HISTORY, NSCommandKeyMask, ui::VKEY_Y},
-  {IDC_VIEW_SOURCE, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_U},
-  {IDC_ZOOM_MINUS, NSCommandKeyMask, ui::VKEY_OEM_MINUS},
-  {IDC_ZOOM_PLUS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_OEM_PLUS},
+    // Accelerators used in the toolbar menu.
+    {IDC_CLEAR_BROWSING_DATA, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_BACK},
+    {IDC_COPY, NSCommandKeyMask, ui::VKEY_C},
+    {IDC_CUT, NSCommandKeyMask, ui::VKEY_X},
+    {IDC_DEV_TOOLS, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_I},
+    {IDC_DEV_TOOLS_CONSOLE, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_J},
+    {IDC_FIND, NSCommandKeyMask, ui::VKEY_F},
+    {IDC_FULLSCREEN, NSCommandKeyMask | NSControlKeyMask, ui::VKEY_F},
+    {IDC_NEW_INCOGNITO_WINDOW, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_N},
+    {IDC_NEW_TAB, NSCommandKeyMask, ui::VKEY_T},
+    {IDC_NEW_WINDOW, NSCommandKeyMask, ui::VKEY_N},
+    {IDC_PASTE, NSCommandKeyMask, ui::VKEY_V},
+    {IDC_PRINT, NSCommandKeyMask, ui::VKEY_P},
+    {IDC_RESTORE_TAB, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_T},
+    {IDC_SAVE_PAGE, NSCommandKeyMask, ui::VKEY_S},
+    {IDC_SHOW_BOOKMARK_BAR, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_B},
+    {IDC_SHOW_BOOKMARK_MANAGER, NSCommandKeyMask | NSAlternateKeyMask,
+     ui::VKEY_B},
+    {IDC_BOOKMARK_PAGE, NSCommandKeyMask, ui::VKEY_D},
+    {IDC_SHOW_DOWNLOADS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_J},
+    {IDC_SHOW_HISTORY, NSCommandKeyMask, ui::VKEY_Y},
+    {IDC_VIEW_SOURCE, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_U},
+    {IDC_ZOOM_MINUS, NSCommandKeyMask, ui::VKEY_OEM_MINUS},
+    {IDC_ZOOM_PLUS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_OEM_PLUS},
 
-  // Accelerators used in MainMenu.xib, but not the toolbar menu.
-  {IDC_HIDE_APP, NSCommandKeyMask, ui::VKEY_H},
-  {IDC_EXIT, NSCommandKeyMask, ui::VKEY_Q},
-  {IDC_OPEN_FILE, NSCommandKeyMask, ui::VKEY_O},
-  {IDC_FOCUS_LOCATION, NSCommandKeyMask, ui::VKEY_L},
-  {IDC_CLOSE_WINDOW, NSCommandKeyMask, ui::VKEY_W},
-  {IDC_EMAIL_PAGE_LOCATION, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_I},
+    // Accelerators used in MainMenu.xib, but not the toolbar menu.
+    {IDC_HIDE_APP, NSCommandKeyMask, ui::VKEY_H},
+    {IDC_EXIT, NSCommandKeyMask, ui::VKEY_Q},
+    {IDC_OPEN_FILE, NSCommandKeyMask, ui::VKEY_O},
+    {IDC_FOCUS_LOCATION, NSCommandKeyMask, ui::VKEY_L},
+    {IDC_CLOSE_WINDOW, NSCommandKeyMask, ui::VKEY_W},
+    {IDC_EMAIL_PAGE_LOCATION, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_I},
 #if BUILDFLAG(ENABLE_PRINTING)
-  {IDC_BASIC_PRINT, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_P},
+    {IDC_BASIC_PRINT, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_P},
 #endif  // ENABLE_PRINTING
-  {IDC_CONTENT_CONTEXT_UNDO, NSCommandKeyMask, ui::VKEY_Z},
-  {IDC_CONTENT_CONTEXT_REDO, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_Z},
-  {IDC_CONTENT_CONTEXT_CUT, NSCommandKeyMask, ui::VKEY_X},
-  {IDC_CONTENT_CONTEXT_COPY, NSCommandKeyMask, ui::VKEY_C},
-  {IDC_CONTENT_CONTEXT_PASTE, NSCommandKeyMask, ui::VKEY_V},
-  {IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE,
-   NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_V},
-  {IDC_CONTENT_CONTEXT_SELECTALL, NSCommandKeyMask, ui::VKEY_A},
-  {IDC_FOCUS_SEARCH, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_F},
-  {IDC_FIND_NEXT, NSCommandKeyMask, ui::VKEY_G},
-  {IDC_FIND_PREVIOUS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_G},
-  {IDC_ZOOM_PLUS, NSCommandKeyMask, ui::VKEY_OEM_PLUS},
-  {IDC_ZOOM_MINUS, NSCommandKeyMask, ui::VKEY_OEM_MINUS},
-  {IDC_STOP, NSCommandKeyMask, ui::VKEY_OEM_PERIOD},
-  {IDC_RELOAD, NSCommandKeyMask, ui::VKEY_R},
-  {IDC_RELOAD_BYPASSING_CACHE, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_R},
-  {IDC_ZOOM_NORMAL, NSCommandKeyMask, ui::VKEY_0},
-  {IDC_HOME, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_H},
-  {IDC_BACK, NSCommandKeyMask, ui::VKEY_OEM_4},
-  {IDC_FORWARD, NSCommandKeyMask, ui::VKEY_OEM_6},
-  {IDC_BOOKMARK_ALL_TABS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_D},
-  {IDC_MINIMIZE_WINDOW, NSCommandKeyMask, ui::VKEY_M},
-  {IDC_SELECT_NEXT_TAB, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_RIGHT},
-  {IDC_SELECT_PREVIOUS_TAB, NSCommandKeyMask | NSAlternateKeyMask,
-   ui::VKEY_LEFT},
-  {IDC_HELP_PAGE_VIA_MENU, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_OEM_2},
+    {IDC_CONTENT_CONTEXT_UNDO, NSCommandKeyMask, ui::VKEY_Z},
+    {IDC_CONTENT_CONTEXT_REDO, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_Z},
+    {IDC_CONTENT_CONTEXT_CUT, NSCommandKeyMask, ui::VKEY_X},
+    {IDC_CONTENT_CONTEXT_COPY, NSCommandKeyMask, ui::VKEY_C},
+    {IDC_CONTENT_CONTEXT_PASTE, NSCommandKeyMask, ui::VKEY_V},
+    {IDC_CONTENT_CONTEXT_PASTE_AND_MATCH_STYLE,
+     NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_V},
+    {IDC_CONTENT_CONTEXT_SELECTALL, NSCommandKeyMask, ui::VKEY_A},
+    {IDC_FOCUS_SEARCH, NSCommandKeyMask | NSAlternateKeyMask, ui::VKEY_F},
+    {IDC_FIND_NEXT, NSCommandKeyMask, ui::VKEY_G},
+    {IDC_FIND_PREVIOUS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_G},
+    {IDC_ZOOM_PLUS, NSCommandKeyMask, ui::VKEY_OEM_PLUS},
+    {IDC_ZOOM_MINUS, NSCommandKeyMask, ui::VKEY_OEM_MINUS},
+    {IDC_STOP, NSCommandKeyMask, ui::VKEY_OEM_PERIOD},
+    {IDC_RELOAD, NSCommandKeyMask, ui::VKEY_R},
+    {IDC_RELOAD_BYPASSING_CACHE, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_R},
+    {IDC_ZOOM_NORMAL, NSCommandKeyMask, ui::VKEY_0},
+    {IDC_HOME, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_H},
+    {IDC_BACK, NSCommandKeyMask, ui::VKEY_OEM_4},
+    {IDC_FORWARD, NSCommandKeyMask, ui::VKEY_OEM_6},
+    {IDC_BOOKMARK_ALL_TABS, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_D},
+    {IDC_MINIMIZE_WINDOW, NSCommandKeyMask, ui::VKEY_M},
+    {IDC_SELECT_NEXT_TAB, NSControlKeyMask, ui::VKEY_TAB},
+    {IDC_SELECT_PREVIOUS_TAB, NSControlKeyMask | NSShiftKeyMask, ui::VKEY_TAB},
+    {IDC_HELP_PAGE_VIA_MENU, NSCommandKeyMask | NSShiftKeyMask, ui::VKEY_OEM_2},
 };
 
 // Create a Cocoa platform accelerator given a cross platform |key_code| and
diff --git a/chrome/browser/ui/cocoa/accelerators_cocoa_browsertest.mm b/chrome/browser/ui/cocoa/accelerators_cocoa_browsertest.mm
index 82e51af..f1a33fd 100644
--- a/chrome/browser/ui/cocoa/accelerators_cocoa_browsertest.mm
+++ b/chrome/browser/ui/cocoa/accelerators_cocoa_browsertest.mm
@@ -45,6 +45,15 @@
     }
 
     if ([item.keyEquivalent isEqual:key_equivalent]) {
+      // We don't want to ignore shift for [cmd + shift + tab] and [cmd + tab],
+      // which are special.
+      if (item.tag == IDC_SELECT_NEXT_TAB ||
+          item.tag == IDC_SELECT_PREVIOUS_TAB) {
+        if (modifiers == item.keyEquivalentModifierMask)
+          return item;
+        continue;
+      }
+
       BOOL maskEqual =
           (modifiers == item.keyEquivalentModifierMask) ||
           ((modifiers & (~NSShiftKeyMask)) == item.keyEquivalentModifierMask);
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.h b/chrome/browser/ui/cocoa/browser_window_controller.h
index 0715ba29..4b4d92ae 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller.h
+++ b/chrome/browser/ui/cocoa/browser_window_controller.h
@@ -39,7 +39,7 @@
 class BrowserWindow;
 class BrowserWindowCocoa;
 @class BrowserWindowFullscreenTransition;
-@class BrowserWindowTouchBar;
+@class BrowserWindowTouchBarController;
 @class DevToolsController;
 @class DownloadShelfController;
 class ExtensionKeybindingRegistryCocoa;
@@ -96,7 +96,7 @@
   std::unique_ptr<ExclusiveAccessController> exclusiveAccessController_;
   base::scoped_nsobject<BrowserWindowFullscreenTransition>
       fullscreenTransition_;
-  base::scoped_nsobject<BrowserWindowTouchBar> touchBar_;
+  base::scoped_nsobject<BrowserWindowTouchBarController> touchBarController_;
 
   // Strong. StatusBubble is a special case of a strong reference that
   // we don't wrap in a scoped_ptr because it is acting the same
@@ -398,8 +398,9 @@
 // UpdateAlertState.
 - (TabAlertState)alertState;
 
-// Returns the BrowserWindowTouchBar object associated with the window.
-- (BrowserWindowTouchBar*)browserWindowTouchBar;
+// Returns the BrowserWindowTouchBarController object associated with the
+// window.
+- (BrowserWindowTouchBarController*)browserWindowTouchBarController;
 
 // Indicates whether the toolbar is visible to the user. Toolbar is usually
 // triggered by moving mouse cursor to the top of the monitor.
@@ -626,8 +627,9 @@
 // Sets the fullscreen toolbar controller.
 - (void)setFullscreenToolbarController:(FullscreenToolbarController*)controller;
 
-// Sets |browserWindowTouchbar_|.
-- (void)setBrowserWindowTouchBar:(BrowserWindowTouchBar*)touchBar;
+// Sets |touchbarController_|.
+- (void)setBrowserWindowTouchBarController:
+    (BrowserWindowTouchBarController*)controller;
 
 @end  // @interface BrowserWindowController (TestingAPI)
 
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm
index 57a388f2..19696f4 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm
@@ -39,7 +39,6 @@
 #include "chrome/browser/ui/browser_instant_controller.h"
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/browser_window_state.h"
-#import "chrome/browser/ui/browser_window_touch_bar_mac.h"
 #import "chrome/browser/ui/cocoa/background_gradient_view.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h"
 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bubble_observer_cocoa.h"
@@ -78,6 +77,7 @@
 #import "chrome/browser/ui/cocoa/tabs/tab_view.h"
 #import "chrome/browser/ui/cocoa/toolbar/app_toolbar_button.h"
 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h"
 #include "chrome/browser/ui/cocoa/translate/translate_bubble_bridge_views.h"
 #import "chrome/browser/ui/cocoa/translate/translate_bubble_controller.h"
 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
@@ -1873,8 +1873,9 @@
   fullscreenToolbarController_.reset([controller retain]);
 }
 
-- (void)setBrowserWindowTouchBar:(BrowserWindowTouchBar*)touchBar {
-  touchBar_.reset([touchBar retain]);
+- (void)setBrowserWindowTouchBarController:
+    (BrowserWindowTouchBarController*)touchBarController {
+  touchBarController_.reset([touchBarController retain]);
 }
 
 - (void)executeExtensionCommand:(const std::string&)extension_id
@@ -1895,14 +1896,14 @@
   return static_cast<BrowserWindowCocoa*>([self browserWindow])->alert_state();
 }
 
-- (BrowserWindowTouchBar*)browserWindowTouchBar {
-  if (!touchBar_) {
-    touchBar_.reset([[BrowserWindowTouchBar alloc]
+- (BrowserWindowTouchBarController*)browserWindowTouchBarController {
+  if (!touchBarController_) {
+    touchBarController_.reset([[BrowserWindowTouchBarController alloc]
         initWithBrowser:browser_.get()
                  window:[self window]]);
   }
 
-  return touchBar_.get();
+  return touchBarController_.get();
 }
 
 - (BOOL)isToolbarShowing {
diff --git a/chrome/browser/ui/cocoa/framed_browser_window.mm b/chrome/browser/ui/cocoa/framed_browser_window.mm
index 1c71b9e..bf27c9dc 100644
--- a/chrome/browser/ui/cocoa/framed_browser_window.mm
+++ b/chrome/browser/ui/cocoa/framed_browser_window.mm
@@ -15,12 +15,12 @@
 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
 #include "chrome/browser/themes/theme_properties.h"
 #include "chrome/browser/themes/theme_service.h"
-#import "chrome/browser/ui/browser_window_touch_bar_mac.h"
 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
 #import "chrome/browser/ui/cocoa/browser_window_layout.h"
 #import "chrome/browser/ui/cocoa/browser_window_utils.h"
 #include "chrome/browser/ui/cocoa/l10n_util.h"
 #import "chrome/browser/ui/cocoa/themed_window.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h"
 #include "chrome/grit/theme_resources.h"
 #include "ui/base/cocoa/cocoa_base_utils.h"
 #include "ui/base/cocoa/nsgraphics_context_additions.h"
@@ -188,7 +188,7 @@
   if (@available(macOS 10.12.2, *)) {
     BrowserWindowController* bwc =
         [BrowserWindowController browserWindowControllerForWindow:self];
-    return [[bwc browserWindowTouchBar] makeTouchBar];
+    return [[bwc browserWindowTouchBarController] makeTouchBar];
   } else {
     return nil;
   }
diff --git a/chrome/browser/ui/cocoa/nsmenuitem_additions.mm b/chrome/browser/ui/cocoa/nsmenuitem_additions.mm
index 2dc62b71..9cd13b7 100644
--- a/chrome/browser/ui/cocoa/nsmenuitem_additions.mm
+++ b/chrome/browser/ui/cocoa/nsmenuitem_additions.mm
@@ -147,10 +147,20 @@
     }
   }
 
-  // Clear shift key for printable characters.
-  if ((eventModifiers & (NSNumericPadKeyMask | NSFunctionKeyMask)) == 0 &&
-      [[self keyEquivalent] characterAtIndex:0] != '\r')
-    eventModifiers &= ~NSShiftKeyMask;
+  // [ctr + shift + tab] generates the "End of Medium" keyEquivalent rather than
+  // "Horizontal Tab". We still use "Horizontal Tab" in the main menu to match
+  // the behavior of Safari and Terminal. Thus, we need to explicitly check for
+  // this case.
+  if ((eventModifiers & NSShiftKeyMask) &&
+      [eventString isEqualToString:@"\x19"]) {
+    eventString = @"\x9";
+  } else {
+    // Clear shift key for printable characters, excluding tab.
+    if ((eventModifiers & (NSNumericPadKeyMask | NSFunctionKeyMask)) == 0 &&
+        [[self keyEquivalent] characterAtIndex:0] != '\r') {
+      eventModifiers &= ~NSShiftKeyMask;
+    }
+  }
 
   // Clear all non-interesting modifiers
   eventModifiers &= NSCommandKeyMask |
diff --git a/chrome/browser/ui/cocoa/nsmenuitem_additions_unittest.mm b/chrome/browser/ui/cocoa/nsmenuitem_additions_unittest.mm
index c37c000..41823864 100644
--- a/chrome/browser/ui/cocoa/nsmenuitem_additions_unittest.mm
+++ b/chrome/browser/ui/cocoa/nsmenuitem_additions_unittest.mm
@@ -291,6 +291,13 @@
   key = KeyEvent(0x100108, @"s", @"\u0441", 1);
   ExpectKeyFiresItem(key, MenuItem(@"s", 0x100000), false);
   ExpectKeyDoesntFireItem(key, MenuItem(@"c", 0x100000));
+
+  // ctr + shift + tab produces the "End of Medium" keyEquivalent, even though
+  // it should produce the "Horizontal Tab" keyEquivalent. Check to make sure
+  // it matches anyways.
+  key = KeyEvent(0x60103, @"\x19", @"\x19", 1);
+  ExpectKeyFiresItem(key, MenuItem(@"\x9", NSShiftKeyMask | NSControlKeyMask),
+                     false);
 }
 
 NSString* keyCodeToCharacter(NSUInteger keyCode,
diff --git a/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h b/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h
new file mode 100644
index 0000000..42369e2
--- /dev/null
+++ b/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h
@@ -0,0 +1,68 @@
+// 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_UI_COCOA_TOUCHBAR_BROWSER_WINDOW_DEFAULT_TOUCH_BAR_H_
+#define CHROME_BROWSER_UI_COCOA_TOUCHBAR_BROWSER_WINDOW_DEFAULT_TOUCH_BAR_H_
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/mac/availability.h"
+#import "ui/base/cocoa/touch_bar_forward_declarations.h"
+
+class BookmarkTabHelperObserver;
+class Browser;
+@class BrowserWindowTouchBarController;
+
+namespace content {
+class WebContents;
+}
+
+// Provides a default touch bar for the browser window. This class implements
+// the NSTouchBarDelegate and handles the items in the touch bar.
+@interface BrowserWindowDefaultTouchBar : NSObject<NSTouchBarDelegate>
+// True is the current page is loading. Used to determine if a stop or reload
+// button should be provided.
+@property(nonatomic, assign) BOOL isPageLoading;
+
+// True if the current page is starred. Used by star touch bar button.
+@property(nonatomic, assign) BOOL isStarred;
+
+// Designated initializer.
+- (instancetype)initWithBrowser:(Browser*)browser
+                     controller:(BrowserWindowTouchBarController*)controller;
+
+// Creates and returns a touch bar for the browser window.
+- (NSTouchBar*)makeTouchBar API_AVAILABLE(macos(10.12.2));
+
+- (void)updateWebContents:(content::WebContents*)contents;
+
+// Updates the back/forward button. Called when creating the touch bar or when
+// the back and forward commands have changed.
+- (void)updateBackForwardControl;
+
+- (BrowserWindowTouchBarController*)controller;
+
+@end
+
+// Private methods exposed for testing.
+@interface BrowserWindowDefaultTouchBar (ExposedForTesting)
+
+// Updates the reload/stop button. Called when creating the touch bar or the
+// page load state has been updated.
+- (void)updateReloadStopButton;
+
+// Returns the reload/stop button on the touch bar. Creates it if it's null.
+- (NSButton*)reloadStopButton;
+
+// Returns the back/forward segmented control on the touch bar. Creates it if
+// it's null.
+- (NSSegmentedControl*)backForwardControl;
+
+// Returns the bridge object that BrowserWindowDefaultTouchBar uses to receive
+// notifications.
+- (BookmarkTabHelperObserver*)bookmarkTabObserver;
+
+@end
+
+#endif  // CHROME_BROWSER_UI_COCOA_TOUCHBAR_BROWSER_WINDOW_DEFAULT_TOUCH_BAR_H_
diff --git a/chrome/browser/ui/browser_window_touch_bar_mac.mm b/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.mm
similarity index 91%
rename from chrome/browser/ui/browser_window_touch_bar_mac.mm
rename to chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.mm
index 585d5028..19e8228 100644
--- a/chrome/browser/ui/browser_window_touch_bar_mac.mm
+++ b/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.mm
@@ -2,11 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "chrome/browser/ui/browser_window_touch_bar_mac.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h"
 
 #include <memory>
 
-#include "base/mac/availability.h"
 #include "base/mac/mac_util.h"
 #import "base/mac/scoped_nsobject.h"
 #import "base/mac/sdk_forward_declarations.h"
@@ -21,6 +20,7 @@
 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_observer.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_command_controller.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h"
 #include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h"
 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -87,7 +87,7 @@
 
 // Creates a NSButton for the touch bar.
 NSButton* CreateTouchBarButton(const gfx::VectorIcon& icon,
-                               BrowserWindowTouchBar* owner,
+                               BrowserWindowDefaultTouchBar* owner,
                                int command,
                                int tooltip_id,
                                SkColor color = kTouchBarDefaultIconColor) {
@@ -130,32 +130,50 @@
 
 // A class registered for C++ notifications. This is used to detect changes in
 // the profile preferences and the back/forward commands.
-class BrowserTouchBarNotificationBridge : public CommandObserver,
-                                          public BookmarkTabHelperObserver,
-                                          public TabStripModelObserver,
-                                          public content::WebContentsObserver {
+class TouchBarNotificationBridge : public CommandObserver,
+                                   public BookmarkTabHelperObserver,
+                                   public TabStripModelObserver,
+                                   public content::WebContentsObserver {
  public:
-  BrowserTouchBarNotificationBridge(BrowserWindowTouchBar* owner,
-                                    Browser* browser)
+  TouchBarNotificationBridge(BrowserWindowDefaultTouchBar* owner,
+                             Browser* browser)
       : owner_(owner), browser_(browser), contents_(nullptr) {
     TabStripModel* model = browser_->tab_strip_model();
-
     DCHECK(model);
     model->AddObserver(this);
 
     UpdateWebContents(model->GetActiveWebContents());
   }
 
-  ~BrowserTouchBarNotificationBridge() override {
+  ~TouchBarNotificationBridge() override {
+    if (contents_)
+      BookmarkTabHelper::FromWebContents(contents_)->RemoveObserver(this);
+
     TabStripModel* model = browser_->tab_strip_model();
     if (model)
       model->RemoveObserver(this);
-
-    if (contents_)
-      BookmarkTabHelper::FromWebContents(contents_)->RemoveObserver(this);
   }
 
-  void UpdateTouchBar() { [owner_ invalidateTouchBar]; }
+  void UpdateTouchBar() { [[owner_ controller] invalidateTouchBar]; }
+
+  void UpdateWebContents(content::WebContents* new_contents) {
+    if (contents_) {
+      BookmarkTabHelper::FromWebContents(contents_)->RemoveObserver(this);
+    }
+
+    contents_ = new_contents;
+    Observe(contents_);
+
+    bool is_starred = false;
+    if (contents_) {
+      BookmarkTabHelper* helper = BookmarkTabHelper::FromWebContents(contents_);
+      helper->AddObserver(this);
+      is_starred = helper->is_starred();
+    }
+
+    [owner_ setIsPageLoading:contents_ && contents_->IsLoading()];
+    [owner_ setIsStarred:is_starred];
+  }
 
   // BookmarkTabHelperObserver:
   void URLStarredChanged(content::WebContents* web_contents,
@@ -170,6 +188,7 @@
                         int index,
                         int reason) override {
     UpdateWebContents(new_contents);
+    contents_ = new_contents;
     UpdateTouchBar();
   }
 
@@ -202,42 +221,23 @@
   }
 
  private:
-  void UpdateWebContents(content::WebContents* new_contents) {
-    if (contents_) {
-      BookmarkTabHelper::FromWebContents(contents_)->RemoveObserver(this);
-    }
+  BrowserWindowDefaultTouchBar* owner_;  // Weak.
+  Browser* browser_;                     // Weak.
+  content::WebContents* contents_;       // Weak.
 
-    contents_ = new_contents;
-    Observe(contents_);
-
-    bool is_starred = false;
-    if (contents_) {
-      BookmarkTabHelper* helper = BookmarkTabHelper::FromWebContents(contents_);
-      helper->AddObserver(this);
-      is_starred = helper->is_starred();
-    }
-
-    [owner_ setIsPageLoading:contents_ && contents_->IsLoading()];
-    [owner_ setIsStarred:is_starred];
-  }
-
-  BrowserWindowTouchBar* owner_;    // Weak.
-  Browser* browser_;                // Weak.
-  content::WebContents* contents_;  // Weak.
-
-  DISALLOW_COPY_AND_ASSIGN(BrowserTouchBarNotificationBridge);
+  DISALLOW_COPY_AND_ASSIGN(TouchBarNotificationBridge);
 };
 
 }  // namespace
 
-@interface BrowserWindowTouchBar () {
+@interface BrowserWindowDefaultTouchBar () {
   // Used to execute commands such as navigating back and forward.
   CommandUpdater* commandUpdater_;  // Weak, owned by Browser.
 
   // The browser associated with the touch bar.
   Browser* browser_;  // Weak.
 
-  NSWindow* window_;
+  BrowserWindowTouchBarController* controller_;  // Weak.
 
   // Used to monitor the optional home button pref.
   BooleanPrefMember showHomeButton_;
@@ -246,7 +246,7 @@
   PrefChangeRegistrar profilePrefRegistrar_;
 
   // Used to receive and handle notifications.
-  std::unique_ptr<BrowserTouchBarNotificationBridge> notificationBridge_;
+  std::unique_ptr<TouchBarNotificationBridge> notificationBridge_;
 
   // The stop/reload button in the touch bar.
   base::scoped_nsobject<NSButton> reloadStopButton_;
@@ -271,19 +271,19 @@
 - (NSView*)searchTouchBarView API_AVAILABLE(macos(10.12));
 @end
 
-@implementation BrowserWindowTouchBar
+@implementation BrowserWindowDefaultTouchBar
 
 @synthesize isPageLoading = isPageLoading_;
 @synthesize isStarred = isStarred_;
 
-- (instancetype)initWithBrowser:(Browser*)browser window:(NSWindow*)window {
+- (instancetype)initWithBrowser:(Browser*)browser
+                     controller:(BrowserWindowTouchBarController*)controller {
   if ((self = [super init])) {
     DCHECK(browser);
     browser_ = browser;
-    window_ = window;
+    controller_ = controller;
 
-    notificationBridge_.reset(
-        new BrowserTouchBarNotificationBridge(self, browser));
+    notificationBridge_.reset(new TouchBarNotificationBridge(self, browser));
 
     commandUpdater_ = browser->command_controller();
     commandUpdater_->AddCommandObserver(IDC_BACK, notificationBridge_.get());
@@ -292,13 +292,13 @@
     PrefService* prefs = browser->profile()->GetPrefs();
     showHomeButton_.Init(
         prefs::kShowHomeButton, prefs,
-        base::BindRepeating(&BrowserTouchBarNotificationBridge::UpdateTouchBar,
+        base::BindRepeating(&TouchBarNotificationBridge::UpdateTouchBar,
                             base::Unretained(notificationBridge_.get())));
 
     profilePrefRegistrar_.Init(prefs);
     profilePrefRegistrar_.Add(
         DefaultSearchManager::kDefaultSearchProviderDataPrefName,
-        base::BindRepeating(&BrowserTouchBarNotificationBridge::UpdateTouchBar,
+        base::BindRepeating(&TouchBarNotificationBridge::UpdateTouchBar,
                             base::Unretained(notificationBridge_.get())));
   }
 
@@ -481,9 +481,8 @@
   backForwardControl_.reset([control retain]);
 }
 
-- (void)invalidateTouchBar {
-  if ([window_ respondsToSelector:@selector(setTouchBar:)])
-    [window_ performSelector:@selector(setTouchBar:) withObject:nil];
+- (void)updateWebContents:(content::WebContents*)contents {
+  notificationBridge_->UpdateWebContents(contents);
 }
 
 - (void)updateBackForwardControl {
@@ -515,6 +514,10 @@
   [starredButton_ setAccessibilityLabel:l10n_util::GetNSString(tooltipId)];
 }
 
+- (BrowserWindowTouchBarController*)controller {
+  return controller_;
+}
+
 - (NSView*)searchTouchBarView {
   TemplateURLService* templateUrlService =
       TemplateURLServiceFactory::GetForProfile(browser_->profile());
@@ -582,7 +585,7 @@
 @end
 
 // Private methods exposed for testing.
-@implementation BrowserWindowTouchBar (ExposedForTesting)
+@implementation BrowserWindowDefaultTouchBar (ExposedForTesting)
 
 - (void)updateReloadStopButton {
   const gfx::VectorIcon& icon =
diff --git a/chrome/browser/ui/cocoa/browser_window_touch_bar_unittest.mm b/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar_unittest.mm
similarity index 90%
rename from chrome/browser/ui/cocoa/browser_window_touch_bar_unittest.mm
rename to chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar_unittest.mm
index 31e81925..f94bbcc 100644
--- a/chrome/browser/ui/cocoa/browser_window_touch_bar_unittest.mm
+++ b/chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar_unittest.mm
@@ -13,9 +13,9 @@
 #include "chrome/browser/command_updater.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_command_controller.h"
-#import "chrome/browser/ui/browser_window_touch_bar_mac.h"
 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
 #include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h"
 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
@@ -45,7 +45,7 @@
 
 }  // namespace
 
-class BrowserWindowTouchBarUnitTest : public CocoaProfileTest {
+class BrowserWindowDefaultTouchBarUnitTest : public CocoaProfileTest {
  public:
   void SetUp() override {
     CocoaProfileTest::SetUp();
@@ -55,8 +55,9 @@
 
     command_updater_ = browser()->command_controller();
 
-    touch_bar_.reset(
-        [[BrowserWindowTouchBar alloc] initWithBrowser:browser() window:nil]);
+    touch_bar_.reset([[BrowserWindowDefaultTouchBar alloc]
+        initWithBrowser:browser()
+             controller:nil]);
   }
 
   NSString* GetFullscreenTouchBarItemId(NSString* id) {
@@ -81,11 +82,11 @@
   // Used to enable the the browser window touch bar.
   base::test::ScopedFeatureList feature_list;
 
-  base::scoped_nsobject<BrowserWindowTouchBar> touch_bar_;
+  base::scoped_nsobject<BrowserWindowDefaultTouchBar> touch_bar_;
 };
 
 // Tests to check if the touch bar contains the correct items.
-TEST_F(BrowserWindowTouchBarUnitTest, TouchBarItems) {
+TEST_F(BrowserWindowDefaultTouchBarUnitTest, TouchBarItems) {
   if (@available(macOS 10.12.2, *)) {
     // Set to tab fullscreen.
     FullscreenController* fullscreen_controller =
@@ -126,7 +127,7 @@
 }
 
 // Tests the reload or stop touch bar item.
-TEST_F(BrowserWindowTouchBarUnitTest, ReloadOrStopTouchBarItem) {
+TEST_F(BrowserWindowDefaultTouchBarUnitTest, ReloadOrStopTouchBarItem) {
   if (@available(macOS 10.12.2, *)) {
     NSTouchBar* touch_bar = [touch_bar_ makeTouchBar];
     [touch_bar_ setIsPageLoading:NO];
@@ -145,7 +146,7 @@
 
 // Tests to see if the back/forward items on the touch bar is in sync with the
 // back and forward commands.
-TEST_F(BrowserWindowTouchBarUnitTest, BackForwardCommandUpdate) {
+TEST_F(BrowserWindowDefaultTouchBarUnitTest, BackForwardCommandUpdate) {
   if (@available(macOS 10.12.2, *)) {
     NSSegmentedControl* back_forward_control = [touch_bar_ backForwardControl];
 
diff --git a/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h b/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h
new file mode 100644
index 0000000..9d000d47
--- /dev/null
+++ b/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h
@@ -0,0 +1,37 @@
+// 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.
+
+#ifndef CHROME_BROWSER_UI_COCOA_TOUCHBAR_BROWSER_WINDOW_TOUCH_BAR_CONTROLLER_H_
+#define CHROME_BROWSER_UI_COCOA_TOUCHBAR_BROWSER_WINDOW_TOUCH_BAR_CONTROLLER_H_
+
+#import <Cocoa/Cocoa.h>
+
+#include "base/mac/availability.h"
+#import "ui/base/cocoa/touch_bar_forward_declarations.h"
+
+class Browser;
+@class BrowserWindowDefaultTouchBar;
+
+// Provides a touch bar for the browser window. This class implements the
+// NSTouchBarDelegate and handles the items in the touch bar.
+@interface BrowserWindowTouchBarController : NSObject
+
+- (instancetype)initWithBrowser:(Browser*)browser window:(NSWindow*)window;
+
+// Creates and returns a touch bar for the browser window.
+- (NSTouchBar*)makeTouchBar API_AVAILABLE(macos(10.12.2));
+
+// Invalidate the browser window touch bar by setting |window_|'s touch bar to
+// nil.
+- (void)invalidateTouchBar;
+
+@end
+
+@interface BrowserWindowTouchBarController (ExposedForTesting)
+
+- (BrowserWindowDefaultTouchBar*)defaultTouchBar;
+
+@end
+
+#endif  // CHROME_BROWSER_UI_COCOA_TOUCHBAR_BROWSER_WINDOW_TOUCH_BAR_CONTROLLER_H_
diff --git a/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.mm b/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.mm
new file mode 100644
index 0000000..f31ffbe
--- /dev/null
+++ b/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.mm
@@ -0,0 +1,59 @@
+// 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.
+
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h"
+
+#include <memory>
+
+#include "base/mac/availability.h"
+#include "base/mac/mac_util.h"
+#import "base/mac/scoped_nsobject.h"
+#import "base/mac/sdk_forward_declarations.h"
+#include "chrome/browser/ui/browser.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "content/public/browser/web_contents.h"
+#import "ui/base/cocoa/touch_bar_util.h"
+
+@interface BrowserWindowTouchBarController () {
+  // The browser associated with the touch bar.
+  Browser* browser_;  // Weak.
+
+  NSWindow* window_;  // Weak.
+
+  base::scoped_nsobject<BrowserWindowDefaultTouchBar> defaultTouchBar_;
+}
+@end
+
+@implementation BrowserWindowTouchBarController
+
+- (instancetype)initWithBrowser:(Browser*)browser window:(NSWindow*)window {
+  if ((self = [super init])) {
+    defaultTouchBar_.reset([[BrowserWindowDefaultTouchBar alloc]
+        initWithBrowser:browser
+             controller:self]);
+    window_ = window;
+  }
+
+  return self;
+}
+
+- (void)invalidateTouchBar {
+  DCHECK([window_ respondsToSelector:@selector(setTouchBar:)]);
+  [window_ performSelector:@selector(setTouchBar:) withObject:nil];
+}
+
+- (NSTouchBar*)makeTouchBar {
+  return [defaultTouchBar_ makeTouchBar];
+}
+
+@end
+
+@implementation BrowserWindowTouchBarController (ExposedForTesting)
+
+- (BrowserWindowDefaultTouchBar*)defaultTouchBar {
+  return defaultTouchBar_.get();
+}
+
+@end
diff --git a/chrome/browser/ui/cocoa/browser_window_touch_bar_browsertest.mm b/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller_browsertest.mm
similarity index 73%
rename from chrome/browser/ui/cocoa/browser_window_touch_bar_browsertest.mm
rename to chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller_browsertest.mm
index e55dc05..b97d56f2 100644
--- a/chrome/browser/ui/cocoa/browser_window_touch_bar_browsertest.mm
+++ b/chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller_browsertest.mm
@@ -7,8 +7,9 @@
 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_observer.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/browser_window_touch_bar_mac.h"
 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_default_touch_bar.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/views/scoped_macviews_browser_mode.h"
@@ -24,16 +25,16 @@
 // TODO(spqchan): Write tests that will check for page load and bookmark
 // updates.
 
-class BrowserWindowTouchBarTest : public InProcessBrowserTest {
+class BrowserWindowTouchBarControllerTest : public InProcessBrowserTest {
  public:
-  BrowserWindowTouchBarTest() : InProcessBrowserTest() {}
+  BrowserWindowTouchBarControllerTest() : InProcessBrowserTest() {}
 
   void SetUpOnMainThread() override {
-    browser_touch_bar_.reset([[BrowserWindowTouchBar alloc]
+    browser_touch_bar_controller_.reset([[BrowserWindowTouchBarController alloc]
         initWithBrowser:browser()
                  window:[browser_window_controller() window]]);
     [browser_window_controller()
-        setBrowserWindowTouchBar:browser_touch_bar_.get()];
+        setBrowserWindowTouchBarController:browser_touch_bar_controller_.get()];
   }
 
   void TearDownOnMainThread() override {
@@ -42,8 +43,8 @@
   }
 
   void DestroyBrowserWindowTouchBar() {
-    [browser_window_controller() setBrowserWindowTouchBar:nil];
-    browser_touch_bar_.reset();
+    [browser_window_controller() setBrowserWindowTouchBarController:nil];
+    browser_touch_bar_controller_.reset();
   }
 
   BrowserWindowController* browser_window_controller() {
@@ -53,23 +54,24 @@
                                              ->GetNativeWindow()];
   }
 
-  BrowserWindowTouchBar* browser_touch_bar() const {
-    return browser_touch_bar_;
+  BrowserWindowTouchBarController* browser_touch_bar_controller() const {
+    return browser_touch_bar_controller_;
   }
 
  private:
-  base::scoped_nsobject<BrowserWindowTouchBar> browser_touch_bar_;
+  base::scoped_nsobject<BrowserWindowTouchBarController>
+      browser_touch_bar_controller_;
 
   test::ScopedMacViewsBrowserMode cocoa_browser_mode_{false};
 
-  DISALLOW_COPY_AND_ASSIGN(BrowserWindowTouchBarTest);
+  DISALLOW_COPY_AND_ASSIGN(BrowserWindowTouchBarControllerTest);
 };
 
 // Test if the touch bar gets invalidated when the active tab is changed.
-IN_PROC_BROWSER_TEST_F(BrowserWindowTouchBarTest, TabChanges) {
+IN_PROC_BROWSER_TEST_F(BrowserWindowTouchBarControllerTest, TabChanges) {
   if (@available(macOS 10.12.2, *)) {
     NSWindow* window = [browser_window_controller() window];
-    NSTouchBar* touch_bar = [browser_touch_bar() makeTouchBar];
+    NSTouchBar* touch_bar = [browser_touch_bar_controller() makeTouchBar];
     [window setTouchBar:touch_bar];
     EXPECT_TRUE([window touchBar]);
 
@@ -85,13 +87,14 @@
 
 // Tests if the touch bar gets invalidated if the default search engine has
 // changed.
-IN_PROC_BROWSER_TEST_F(BrowserWindowTouchBarTest, SearchEngineChanges) {
+IN_PROC_BROWSER_TEST_F(BrowserWindowTouchBarControllerTest,
+                       SearchEngineChanges) {
   if (@available(macOS 10.12.2, *)) {
     PrefService* prefs = browser()->profile()->GetPrefs();
     DCHECK(prefs);
 
     NSWindow* window = [browser_window_controller() window];
-    NSTouchBar* touch_bar = [browser_touch_bar() makeTouchBar];
+    NSTouchBar* touch_bar = [browser_touch_bar_controller() makeTouchBar];
     [window setTouchBar:touch_bar];
     EXPECT_TRUE([window touchBar]);
 
@@ -108,10 +111,11 @@
 
 // Tests to see if the touch bar's bookmark tab helper observer gets removed
 // when the touch bar is destroyed.
-IN_PROC_BROWSER_TEST_F(BrowserWindowTouchBarTest, DestroyNotificationBridge) {
+IN_PROC_BROWSER_TEST_F(BrowserWindowTouchBarControllerTest,
+                       DestroyNotificationBridge) {
   if (@available(macOS 10.12.2, *)) {
     BookmarkTabHelperObserver* observer =
-        [browser_touch_bar() bookmarkTabObserver];
+        [[browser_touch_bar_controller() defaultTouchBar] bookmarkTabObserver];
     std::unique_ptr<content::WebContents> contents =
         content::WebContents::Create(
             content::WebContents::CreateParams(browser()->profile()));
diff --git a/chrome/browser/ui/extensions/hosted_app_browsertest.cc b/chrome/browser/ui/extensions/hosted_app_browsertest.cc
index 7ab79da..4e83155 100644
--- a/chrome/browser/ui/extensions/hosted_app_browsertest.cc
+++ b/chrome/browser/ui/extensions/hosted_app_browsertest.cc
@@ -763,8 +763,7 @@
   // interstitial and proceeding through it will redirect the navigation to a
   // tab.
   if (base::FeatureList::IsEnabled(features::kDesktopPWAWindowing) &&
-      base::CommandLine::ForCurrentProcess()->HasSwitch(
-          switches::kCommittedInterstitials)) {
+      base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials)) {
     return;
   }
 
diff --git a/chrome/browser/ui/sync/one_click_signin_sync_starter.cc b/chrome/browser/ui/sync/one_click_signin_sync_starter.cc
index bf7f2db1..32cb09e 100644
--- a/chrome/browser/ui/sync/one_click_signin_sync_starter.cc
+++ b/chrome/browser/ui/sync/one_click_signin_sync_starter.cc
@@ -23,6 +23,7 @@
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/browser/signin/signin_tracker_factory.h"
 #include "chrome/browser/signin/signin_util.h"
+#include "chrome/browser/signin/unified_consent_helper.h"
 #include "chrome/browser/sync/profile_sync_service_factory.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_finder.h"
@@ -34,6 +35,7 @@
 #include "chrome/browser/ui/tab_dialogs.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
+#include "chrome/browser/unified_consent/unified_consent_service_factory.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/grit/generated_resources.h"
 #include "components/account_id/account_id.h"
@@ -43,6 +45,7 @@
 #include "components/signin/core/browser/signin_manager.h"
 #include "components/signin/core/browser/signin_metrics.h"
 #include "components/sync/base/sync_prefs.h"
+#include "components/unified_consent/unified_consent_service.h"
 #include "content/public/browser/storage_partition.h"
 #include "net/base/url_util.h"
 #include "net/url_request/url_request_context_getter.h"
@@ -444,12 +447,15 @@
 
   switch (result) {
     case LoginUIService::CONFIGURE_SYNC_FIRST:
+      EnableUnifiedConsentIfNeeded();
       ShowSyncSetupSettingsSubpage();
       break;
     case LoginUIService::SYNC_WITH_DEFAULT_SETTINGS: {
       ProfileSyncService* profile_sync_service = GetProfileSyncService();
-      if (profile_sync_service)
+      if (profile_sync_service) {
         profile_sync_service->SetFirstSetupComplete();
+        EnableUnifiedConsentIfNeeded();
+      }
       FinishProfileSyncServiceSetup();
       break;
     }
@@ -464,6 +470,13 @@
   delete this;
 }
 
+void OneClickSigninSyncStarter::EnableUnifiedConsentIfNeeded() {
+  if (IsUnifiedConsentEnabled(profile_)) {
+    UnifiedConsentServiceFactory::GetForProfile(profile_)
+        ->SetUnifiedConsentGiven(true);
+  }
+}
+
 void OneClickSigninSyncStarter::SigninFailed(
     const GoogleServiceAuthError& error) {
   if (!sync_setup_completed_callback_.is_null())
@@ -555,4 +568,3 @@
 void OneClickSigninSyncStarter::FinishProfileSyncServiceSetup() {
   sync_blocker_.reset();
 }
-
diff --git a/chrome/browser/ui/sync/one_click_signin_sync_starter.h b/chrome/browser/ui/sync/one_click_signin_sync_starter.h
index 95f0ce62..777ac809 100644
--- a/chrome/browser/ui/sync/one_click_signin_sync_starter.h
+++ b/chrome/browser/ui/sync/one_click_signin_sync_starter.h
@@ -139,6 +139,10 @@
   void OnSyncConfirmationUIClosed(
       LoginUIService::SyncConfirmationUIClosedResult result) override;
 
+  // This function enables all unified consent services when the unified consent
+  // feature is enabled.
+  void EnableUnifiedConsentIfNeeded();
+
   // User input handler for the signin confirmation dialog.
   class SigninDialogDelegate
     : public ui::ProfileSigninConfirmationDelegate {
diff --git a/chrome/browser/ui/views/arc_data_removal_dialog_view.cc b/chrome/browser/ui/views/arc_data_removal_dialog_view.cc
new file mode 100644
index 0000000..2ccdb6e
--- /dev/null
+++ b/chrome/browser/ui/views/arc_data_removal_dialog_view.cc
@@ -0,0 +1,203 @@
+// 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/ui/app_list/arc/arc_data_removal_dialog.h"
+
+#include "base/macros.h"
+#include "chrome/browser/chromeos/arc/arc_session_manager.h"
+#include "chrome/browser/ui/app_list/arc/arc_app_icon_loader.h"
+#include "chrome/browser/ui/app_list/arc/arc_app_utils.h"
+#include "chrome/browser/ui/browser_dialogs.h"
+#include "chrome/browser/ui/views/harmony/chrome_layout_provider.h"
+#include "chrome/grit/generated_resources.h"
+#include "components/constrained_window/constrained_window_views.h"
+#include "components/strings/grit/components_strings.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/resource/resource_bundle.h"
+#include "ui/base/ui_base_types.h"
+#include "ui/gfx/geometry/insets.h"
+#include "ui/views/controls/image_view.h"
+#include "ui/views/controls/label.h"
+#include "ui/views/layout/box_layout.h"
+#include "ui/views/layout/layout_provider.h"
+#include "ui/views/view.h"
+#include "ui/views/widget/widget.h"
+#include "ui/views/window/dialog_delegate.h"
+
+namespace arc {
+
+namespace {
+
+constexpr int kArcAppIconSize = 48;
+
+// This dialog is shown when ARC++ comes into the state when normal
+// functionality could not be possible without resetting whole container by data
+// removal. It provides an option for the user to remove data and restart the
+// ARC++ or keep current data. Following is known case:
+//  * Child user failed to transit from/to regular state.
+class DataRemovalConfirmationDialog : public views::DialogDelegateView,
+                                      public AppIconLoaderDelegate,
+                                      public ArcSessionManager::Observer {
+ public:
+  DataRemovalConfirmationDialog(
+      Profile* profile,
+      DataRemovalConfirmationCallback confirm_data_removal);
+  ~DataRemovalConfirmationDialog() override;
+
+  // views::WidgetDelegate:
+  base::string16 GetWindowTitle() const override;
+  ui::ModalType GetModalType() const override;
+
+  // views::DialogDelegate:
+  base::string16 GetDialogButtonLabel(ui::DialogButton button) const override;
+  bool Accept() override;
+  bool Cancel() override;
+
+  // views::View:
+  gfx::Size CalculatePreferredSize() const override;
+
+  // AppIconLoaderDelegate:
+  void OnAppImageUpdated(const std::string& app_id,
+                         const gfx::ImageSkia& image) override;
+
+  // ArcSessionManager::Observer:
+  void OnArcPlayStoreEnabledChanged(bool enabled) override;
+
+ private:
+  // UI hierarchy owned.
+  views::ImageView* icon_view_ = nullptr;
+
+  std::unique_ptr<ArcAppIconLoader> icon_loader_;
+
+  Profile* const profile_;
+
+  DataRemovalConfirmationCallback confirm_callback_;
+
+  DISALLOW_COPY_AND_ASSIGN(DataRemovalConfirmationDialog);
+};
+
+DataRemovalConfirmationDialog* g_current_data_removal_confirmation = nullptr;
+
+DataRemovalConfirmationDialog::DataRemovalConfirmationDialog(
+    Profile* profile,
+    DataRemovalConfirmationCallback confirm_callback)
+    : profile_(profile), confirm_callback_(std::move(confirm_callback)) {
+  ChromeLayoutProvider* provider = ChromeLayoutProvider::Get();
+
+  std::unique_ptr<views::BoxLayout> layout = std::make_unique<views::BoxLayout>(
+      views::BoxLayout::kHorizontal,
+      provider->GetDialogInsetsForContentType(views::TEXT, views::TEXT),
+      provider->GetDistanceMetric(views::DISTANCE_RELATED_CONTROL_HORIZONTAL));
+  layout->set_cross_axis_alignment(
+      views::BoxLayout::CROSS_AXIS_ALIGNMENT_START);
+  SetLayoutManager(std::move(layout));
+
+  icon_view_ = new views::ImageView();
+  icon_view_->SetPreferredSize(gfx::Size(kArcAppIconSize, kArcAppIconSize));
+  AddChildView(icon_view_);
+
+  // UI hierarchy owned.
+  views::Label* label = new views::Label(
+      l10n_util::GetStringUTF16(IDS_ARC_DATA_REMOVAL_CONFIRMATION_HEADING),
+      views::style::CONTEXT_MESSAGE_BOX_BODY_TEXT);
+  label->SetMultiLine(true);
+  label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
+  AddChildView(label);
+
+  icon_loader_ =
+      std::make_unique<ArcAppIconLoader>(profile_, kArcAppIconSize, this);
+  icon_loader_->FetchImage(kPlayStoreAppId);
+  chrome::RecordDialogCreation(
+      chrome::DialogIdentifier::ARC_DATA_REMOVAL_CONFIRMATION);
+
+  ArcSessionManager::Get()->AddObserver(this);
+
+  constrained_window::CreateBrowserModalDialogViews(this, nullptr)->Show();
+}
+
+DataRemovalConfirmationDialog::~DataRemovalConfirmationDialog() {
+  ArcSessionManager::Get()->RemoveObserver(this);
+
+  DCHECK_EQ(g_current_data_removal_confirmation, this);
+  g_current_data_removal_confirmation = nullptr;
+}
+
+base::string16 DataRemovalConfirmationDialog::GetWindowTitle() const {
+  return l10n_util::GetStringUTF16(IDS_ARC_DATA_REMOVAL_CONFIRMATION_TITLE);
+}
+
+ui::ModalType DataRemovalConfirmationDialog::GetModalType() const {
+  return ui::MODAL_TYPE_WINDOW;
+}
+
+base::string16 DataRemovalConfirmationDialog::GetDialogButtonLabel(
+    ui::DialogButton button) const {
+  if (button == ui::DIALOG_BUTTON_OK) {
+    return l10n_util::GetStringUTF16(
+        IDS_ARC_DATA_REMOVAL_CONFIRMATION_OK_BUTTON);
+  }
+  return views::DialogDelegate::GetDialogButtonLabel(button);
+}
+
+bool DataRemovalConfirmationDialog::Accept() {
+  if (confirm_callback_)
+    std::move(confirm_callback_).Run(true);
+  return true;
+}
+
+bool DataRemovalConfirmationDialog::Cancel() {
+  if (confirm_callback_)
+    std::move(confirm_callback_).Run(false);
+  return true;
+}
+
+gfx::Size DataRemovalConfirmationDialog::CalculatePreferredSize() const {
+  const int default_width = views::LayoutProvider::Get()->GetDistanceMetric(
+      DISTANCE_MODAL_DIALOG_PREFERRED_WIDTH);
+  return gfx::Size(default_width, GetHeightForWidth(default_width));
+}
+
+void DataRemovalConfirmationDialog::OnAppImageUpdated(
+    const std::string& app_id,
+    const gfx::ImageSkia& image) {
+  DCHECK(!image.isNull());
+  DCHECK_EQ(image.width(), kArcAppIconSize);
+  DCHECK_EQ(image.height(), kArcAppIconSize);
+  icon_view_->SetImageSize(image.size());
+  icon_view_->SetImage(image);
+}
+
+void DataRemovalConfirmationDialog::OnArcPlayStoreEnabledChanged(bool enabled) {
+  // Close dialog on ARC++ OptOut. In this case data is automatically removed
+  // and current dialog is no longer needed.
+  if (enabled)
+    return;
+  Cancel();
+  GetWidget()->Close();
+}
+
+}  // namespace
+
+void ShowDataRemovalConfirmationDialog(
+    Profile* profile,
+    DataRemovalConfirmationCallback callback) {
+  if (!g_current_data_removal_confirmation)
+    g_current_data_removal_confirmation =
+        new DataRemovalConfirmationDialog(profile, std::move(callback));
+}
+
+bool IsDataRemovalConfirmationDialogOpenForTesting() {
+  return g_current_data_removal_confirmation != nullptr;
+}
+
+void CloseDataRemovalConfirmationDialogForTesting(bool confirm) {
+  DCHECK(g_current_data_removal_confirmation);
+  if (confirm)
+    g_current_data_removal_confirmation->Accept();
+  else
+    g_current_data_removal_confirmation->Cancel();
+  g_current_data_removal_confirmation->GetWidget()->Close();
+}
+
+}  // namespace arc
diff --git a/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc b/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
index 994fad7..2088cd8 100644
--- a/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+++ b/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
@@ -53,6 +53,10 @@
 const SkColor kAutofillPopupFooterBackgroundColor = gfx::kGoogleGrey050;
 const SkColor kAutofillPopupSeparatorColor = gfx::kGoogleGrey200;
 
+// A space between the input element and the dropdown, so that the dropdown's
+// border doesn't look too close to the element.
+constexpr int kElementBorderPadding = 1;
+
 int GetCornerRadius() {
   return ChromeLayoutProvider::Get()->GetCornerRadiusMetric(
       views::EMPHASIS_MEDIUM);
@@ -632,9 +636,18 @@
   gfx::Size size = CalculatePreferredSize();
   gfx::Rect popup_bounds;
 
-  PopupViewCommon().CalculatePopupVerticalBounds(
-      size.height(), gfx::ToEnclosingRect(controller_->element_bounds()),
-      controller_->container_view(), &popup_bounds);
+  // When a bubble border is shown, the contents area (inside the shadow) is
+  // supposed to be aligned with input element boundaries.
+  gfx::Rect element_bounds =
+      gfx::ToEnclosingRect(controller_->element_bounds());
+  // Consider the element is |kElementBorderPadding| pixels larger at the top
+  // and at the bottom in order to reposition the dropdown, so that it doesn't
+  // look too close to the element.
+  element_bounds.Inset(/*horizontal=*/0, /*vertical=*/-kElementBorderPadding);
+
+  PopupViewCommon().CalculatePopupVerticalBounds(size.height(), element_bounds,
+                                                 controller_->container_view(),
+                                                 &popup_bounds);
 
   // Adjust the width to compensate for a scroll bar, if necessary, and for
   // other rules.
@@ -651,8 +664,8 @@
   size.set_width(AdjustWidth(size.width() + scroll_width));
 
   PopupViewCommon().CalculatePopupHorizontalBounds(
-      size.width(), gfx::ToEnclosingRect(controller_->element_bounds()),
-      controller_->container_view(), controller_->IsRTL(), &popup_bounds);
+      size.width(), element_bounds, controller_->container_view(),
+      controller_->IsRTL(), &popup_bounds);
 
   SetSize(size);
 
diff --git a/chrome/browser/ui/views/autofill/dialog_view_ids.h b/chrome/browser/ui/views/autofill/dialog_view_ids.h
index b7692ada..dbecee1 100644
--- a/chrome/browser/ui/views/autofill/dialog_view_ids.h
+++ b/chrome/browser/ui/views/autofill/dialog_view_ids.h
@@ -29,6 +29,9 @@
 
   // The following are views::Textfield objects.
   CARDHOLDER_NAME_TEXTFIELD,  // Used for cardholder name entry/confirmation
+
+  // The following are views::TooltipIcon objects.
+  CARDHOLDER_NAME_TOOLTIP,  // Appears during cardholder name entry/confirmation
 };
 
 }  // namespace autofill
diff --git a/chrome/browser/ui/views/autofill/save_card_bubble_views.cc b/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
index 6ef7a55..a12f952 100644
--- a/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
+++ b/chrome/browser/ui/views/autofill/save_card_bubble_views.cc
@@ -360,11 +360,16 @@
     cardholder_name_label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
     cardholder_name_label_row->AddChildView(cardholder_name_label.release());
 
-    // Set up cardholder name label tooltip.
-    std::unique_ptr<views::TooltipIcon> cardholder_name_tooltip =
-        std::make_unique<views::TooltipIcon>(l10n_util::GetStringUTF16(
-            IDS_AUTOFILL_SAVE_CARD_PROMPT_CARDHOLDER_NAME_TOOLTIP));
-    cardholder_name_label_row->AddChildView(cardholder_name_tooltip.release());
+    // Set up cardholder name label tooltip ONLY if the cardholder name
+    // textfield will be prefilled.
+    if (!controller_->GetAccountInfo().full_name.empty()) {
+      std::unique_ptr<views::TooltipIcon> cardholder_name_tooltip =
+          std::make_unique<views::TooltipIcon>(l10n_util::GetStringUTF16(
+              IDS_AUTOFILL_SAVE_CARD_PROMPT_CARDHOLDER_NAME_TOOLTIP));
+      cardholder_name_tooltip->set_id(DialogViewId::CARDHOLDER_NAME_TOOLTIP);
+      cardholder_name_label_row->AddChildView(
+          cardholder_name_tooltip.release());
+    }
 
     // Set up cardholder name textfield.
     DCHECK(!cardholder_name_textfield_);
diff --git a/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc b/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc
index dc9acbdd..a0e0044 100644
--- a/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc
+++ b/chrome/browser/ui/views/autofill/save_card_bubble_views_browsertest.cc
@@ -509,13 +509,16 @@
   EXPECT_TRUE(FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
 
   // The textfield should be prefilled with the name on the user's Google
-  // Account, and UMA should have logged its value's existence.
+  // Account, and UMA should have logged its value's existence. Because the
+  // textfield has a value, the tooltip explaining that the name came from the
+  // user's Google Account should also be visible.
   views::Textfield* cardholder_name_textfield = static_cast<views::Textfield*>(
       FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
   EXPECT_EQ(cardholder_name_textfield->text(),
             base::ASCIIToUTF16("John Smith"));
   histogram_tester.ExpectUniqueSample(
       "Autofill.SaveCardCardholderNamePrefilled", true, 1);
+  EXPECT_TRUE(FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TOOLTIP));
 }
 
 // Tests the upload save bubble. Ensures that if cardholder name is explicitly
@@ -546,12 +549,88 @@
   EXPECT_TRUE(FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
 
   // The textfield should be blank, and UMA should have logged its value's
-  // absence.
+  // absence. Because the textfield is blank, the tooltip explaining that the
+  // name came from the user's Google Account should NOT be visible.
   views::Textfield* cardholder_name_textfield = static_cast<views::Textfield*>(
       FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
   EXPECT_TRUE(cardholder_name_textfield->text().empty());
   histogram_tester.ExpectUniqueSample(
       "Autofill.SaveCardCardholderNamePrefilled", false, 1);
+  EXPECT_FALSE(FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TOOLTIP));
+}
+
+// Tests the upload save bubble. Ensures that if cardholder name is explicitly
+// requested and the user accepts the dialog without changing it, the correct
+// metric is logged.
+IN_PROC_BROWSER_TEST_F(
+    SaveCardBubbleViewsFullFormBrowserTest,
+    Upload_CardholderNameRequested_SubmittingPrefilledValueLogsUneditedMetric) {
+  // Enable the EditableCardholderName experiment.
+  scoped_feature_list_.InitAndEnableFeature(
+      kAutofillUpstreamEditableCardholderName);
+
+  // Set up the Payments RPC.
+  SetUploadDetailsRpcPaymentsAccepts();
+
+  // Sign the user in.
+  SignInWithFullName("John Smith");
+
+  // Submitting the form should show the upload save bubble, along with a
+  // textfield specifically requesting the cardholder name.
+  // (Must wait for response from Payments before accessing the controller.)
+  ResetEventWaiterForSequence(
+      {DialogEvent::REQUESTED_UPLOAD_SAVE,
+       DialogEvent::RECEIVED_GET_UPLOAD_DETAILS_RESPONSE});
+  FillAndSubmitFormWithoutName();
+  WaitForObservedEvent();
+  EXPECT_TRUE(FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
+
+  // Clicking [Save] should accept and close the bubble, logging that the name
+  // was not edited.
+  ResetEventWaiterForSequence({DialogEvent::SENT_UPLOAD_CARD_REQUEST});
+  base::HistogramTester histogram_tester;
+  ClickOnDialogViewWithIdAndWait(DialogViewId::OK_BUTTON);
+  histogram_tester.ExpectUniqueSample(
+      "Autofill.SaveCardCardholderNameWasEdited", false, 1);
+}
+
+// Tests the upload save bubble. Ensures that if cardholder name is explicitly
+// requested and the user accepts the dialog after changing it, the correct
+// metric is logged.
+IN_PROC_BROWSER_TEST_F(
+    SaveCardBubbleViewsFullFormBrowserTest,
+    Upload_CardholderNameRequested_SubmittingChangedValueLogsEditedMetric) {
+  // Enable the EditableCardholderName experiment.
+  scoped_feature_list_.InitAndEnableFeature(
+      kAutofillUpstreamEditableCardholderName);
+
+  // Set up the Payments RPC.
+  SetUploadDetailsRpcPaymentsAccepts();
+
+  // Sign the user in.
+  SignInWithFullName("John Smith");
+
+  // Submitting the form should show the upload save bubble, along with a
+  // textfield specifically requesting the cardholder name.
+  // (Must wait for response from Payments before accessing the controller.)
+  ResetEventWaiterForSequence(
+      {DialogEvent::REQUESTED_UPLOAD_SAVE,
+       DialogEvent::RECEIVED_GET_UPLOAD_DETAILS_RESPONSE});
+  FillAndSubmitFormWithoutName();
+  WaitForObservedEvent();
+  EXPECT_TRUE(FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
+
+  // Changing the name then clicking [Save] should accept and close the bubble,
+  // logging that the name was edited.
+  ResetEventWaiterForSequence({DialogEvent::SENT_UPLOAD_CARD_REQUEST});
+  views::Textfield* cardholder_name_textfield = static_cast<views::Textfield*>(
+      FindViewInBubbleById(DialogViewId::CARDHOLDER_NAME_TEXTFIELD));
+  cardholder_name_textfield->InsertOrReplaceText(
+      base::ASCIIToUTF16("Jane Doe"));
+  base::HistogramTester histogram_tester;
+  ClickOnDialogViewWithIdAndWait(DialogViewId::OK_BUTTON);
+  histogram_tester.ExpectUniqueSample(
+      "Autofill.SaveCardCardholderNameWasEdited", true, 1);
 }
 
 // TODO(jsaul): Only *part* of the legal message StyledLabel is clickable, and
diff --git a/chrome/browser/ui/views/frame/browser_frame_mac.mm b/chrome/browser/ui/views/frame/browser_frame_mac.mm
index 4e7aa5d..12c822a 100644
--- a/chrome/browser/ui/views/frame/browser_frame_mac.mm
+++ b/chrome/browser/ui/views/frame/browser_frame_mac.mm
@@ -8,9 +8,9 @@
 #include "chrome/browser/global_keyboard_shortcuts_mac.h"
 #include "chrome/browser/ui/browser_command_controller.h"
 #include "chrome/browser/ui/browser_commands.h"
-#import "chrome/browser/ui/browser_window_touch_bar_mac.h"
 #import "chrome/browser/ui/cocoa/browser_window_command_handler.h"
 #import "chrome/browser/ui/cocoa/chrome_command_dispatcher_delegate.h"
+#import "chrome/browser/ui/cocoa/touchbar/browser_window_touch_bar_controller.h"
 #include "chrome/browser/ui/views/frame/browser_frame.h"
 #import "chrome/browser/ui/views/frame/browser_native_widget_window_mac.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
@@ -40,17 +40,18 @@
 
 }  // namespace
 
-// Bridge Obj-C class for WindowTouchBarDelegate and BrowserWindowTouchBar.
-@interface BrowserWindowTouchBarViewsDelegate
+// Bridge Obj-C class for WindowTouchBarDelegate and
+// BrowserWindowTouchBarController.
+@interface BrowserWindowTouchBarControllerViewsDelegate
     : NSObject<WindowTouchBarDelegate> {
   Browser* browser_;  // Weak.
   NSWindow* window_;  // Weak.
-  base::scoped_nsobject<BrowserWindowTouchBar> browserWindowTouchBar_;
+  base::scoped_nsobject<BrowserWindowTouchBarController> touchBarController_;
 }
 
 @end
 
-@implementation BrowserWindowTouchBarViewsDelegate
+@implementation BrowserWindowTouchBarControllerViewsDelegate
 
 - (instancetype)initWithBrowser:(Browser*)browser window:(NSWindow*)window {
   if ((self = [super init])) {
@@ -62,12 +63,12 @@
 }
 
 - (NSTouchBar*)makeTouchBar API_AVAILABLE(macos(10.12.2)) {
-  if (!browserWindowTouchBar_) {
-    browserWindowTouchBar_.reset([[BrowserWindowTouchBar alloc]
+  if (!touchBarController_) {
+    touchBarController_.reset([[BrowserWindowTouchBarController alloc]
         initWithBrowser:browser_
                  window:window_]);
   }
-  return [browserWindowTouchBar_ makeTouchBar];
+  return [touchBarController_ makeTouchBar];
 }
 
 @end
@@ -136,9 +137,10 @@
   [ns_window setCommandHandler:[[[BrowserWindowCommandHandler alloc] init]
                                    autorelease]];
 
-  touch_bar_delegate_.reset([[BrowserWindowTouchBarViewsDelegate alloc]
-      initWithBrowser:browser_view_->browser()
-               window:ns_window]);
+  touch_bar_delegate_.reset(
+      [[BrowserWindowTouchBarControllerViewsDelegate alloc]
+          initWithBrowser:browser_view_->browser()
+                   window:ns_window]);
   [ns_window setWindowTouchBarDelegate:touch_bar_delegate_.get()];
 
   return ns_window.autorelease();
diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
index c9f4d308..3101a7f 100644
--- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
+++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
@@ -122,17 +122,23 @@
 // OpaqueBrowserFrameView, BrowserNonClientFrameView implementation:
 
 void OpaqueBrowserFrameView::OnBrowserViewInitViewsComplete() {
+  BrowserNonClientFrameView::OnBrowserViewInitViewsComplete();
+
   // After views are initialized, we know the top area height for the
   // first time, so redraw the frame buttons at the appropriate size.
   MaybeRedrawFrameButtons();
 }
 
 void OpaqueBrowserFrameView::OnMaximizedStateChanged() {
+  BrowserNonClientFrameView::OnMaximizedStateChanged();
+
   // The top area height can change depending on the maximized state.
   MaybeRedrawFrameButtons();
 }
 
 void OpaqueBrowserFrameView::OnFullscreenStateChanged() {
+  BrowserNonClientFrameView::OnFullscreenStateChanged();
+
   // The top area height is 0 when the window is fullscreened.
   MaybeRedrawFrameButtons();
 }
diff --git a/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc b/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc
index 2aa954f..a133ffcb 100644
--- a/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc
+++ b/chrome/browser/ui/views/media_router/media_router_dialog_controller_views.cc
@@ -78,10 +78,9 @@
   base::Time dialog_creation_time = base::Time::Now();
   MediaRouterDialogControllerImplBase::CreateMediaRouterDialog();
 
-  ui_ = std::make_unique<MediaRouterViewsUI>();
-  InitializeMediaRouterUI(ui_.get());
-
   Browser* browser = chrome::FindBrowserWithWebContents(initiator());
+  if (!browser)
+    return;
   BrowserActionsContainer* browser_actions =
       BrowserView::GetBrowserViewForBrowser(browser)
           ->toolbar()
@@ -93,8 +92,10 @@
     return;
   views::View* action_view = browser_actions->GetViewForId(
       ComponentToolbarActionsFactory::kMediaRouterActionId);
-  CastDialogView::ShowDialog(action_view, ui_.get(),
-                             chrome::FindBrowserWithWebContents(initiator()),
+
+  ui_ = std::make_unique<MediaRouterViewsUI>();
+  InitializeMediaRouterUI(ui_.get());
+  CastDialogView::ShowDialog(action_view, ui_.get(), browser,
                              dialog_creation_time);
   CastDialogView::GetCurrentDialogWidget()->AddObserver(this);
 }
diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
index 35abecf..bb2ab80c 100644
--- a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
+++ b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
@@ -83,6 +83,10 @@
 #include "ui/events/test/event_generator.h"
 #endif
 
+#if defined(OS_MACOSX)
+#include "base/mac/mac_util.h"
+#endif
+
 using content::WebContents;
 
 namespace test {
@@ -963,9 +967,20 @@
   // There should now be another browser.
   ASSERT_EQ(2u, browser_list->size());
   Browser* new_browser = browser_list->get(1);
-  ASSERT_TRUE(new_browser->window()->IsActive());
+
+  bool check_new_window_active = true;
+#if defined(OS_MACOSX)
+  // AppKit 10.10 asynchronously reactivates the first
+  // window. This behavior is non-deterministic, and appears to be a test-only
+  // issue. Thus, we just skip the test check. https://crbug.com/862859.
+  if (base::mac::IsOS10_10())
+    check_new_window_active = false;
+#endif
+  if (check_new_window_active) {
+    EXPECT_TRUE(new_browser->window()->IsActive());
+  }
   TabStrip* tab_strip2 = GetTabStripForBrowser(new_browser);
-  ASSERT_FALSE(tab_strip2->IsDragSessionActive());
+  EXPECT_FALSE(tab_strip2->IsDragSessionActive());
 
   EXPECT_EQ("0", IDString(new_browser->tab_strip_model()));
   EXPECT_EQ("1", IDString(browser()->tab_strip_model()));
diff --git a/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.cc b/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.cc
index 78809c60..fcf3c8d 100644
--- a/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.cc
+++ b/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.cc
@@ -22,9 +22,11 @@
 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/browser/signin/signin_util.h"
+#include "chrome/browser/signin/unified_consent_helper.h"
 #include "chrome/browser/sync/profile_sync_service_factory.h"
 #include "chrome/browser/ui/webui/signin/dice_turn_sync_on_helper_delegate_impl.h"
 #include "chrome/browser/ui/webui/signin/signin_utils_desktop.h"
+#include "chrome/browser/unified_consent/unified_consent_service_factory.h"
 #include "components/browser_sync/profile_sync_service.h"
 #include "components/policy/core/browser/browser_policy_connector.h"
 #include "components/prefs/pref_service.h"
@@ -35,6 +37,7 @@
 #include "components/signin/core/browser/signin_metrics.h"
 #include "components/signin/core/browser/signin_pref_names.h"
 #include "components/sync/base/sync_prefs.h"
+#include "components/unified_consent/unified_consent_service.h"
 #include "content/public/browser/storage_partition.h"
 #include "net/url_request/url_request_context_getter.h"
 
@@ -376,12 +379,15 @@
     LoginUIService::SyncConfirmationUIClosedResult result) {
   switch (result) {
     case LoginUIService::CONFIGURE_SYNC_FIRST:
+      EnableUnifiedConsentIfNeeded();
       delegate_->ShowSyncSettings();
       break;
     case LoginUIService::SYNC_WITH_DEFAULT_SETTINGS: {
       browser_sync::ProfileSyncService* sync_service = GetProfileSyncService();
-      if (sync_service)
+      if (sync_service) {
         sync_service->SetFirstSetupComplete();
+        EnableUnifiedConsentIfNeeded();
+      }
       break;
     }
     case LoginUIService::ABORT_SIGNIN:
@@ -402,3 +408,10 @@
   }
   delete this;
 }
+
+void DiceTurnSyncOnHelper::EnableUnifiedConsentIfNeeded() {
+  if (IsUnifiedConsentEnabled(profile_)) {
+    UnifiedConsentServiceFactory::GetForProfile(profile_)
+        ->SetUnifiedConsentGiven(true);
+  }
+}
diff --git a/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.h b/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.h
index 28af6e6..5f706f7 100644
--- a/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.h
+++ b/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper.h
@@ -186,6 +186,10 @@
   // Aborts the flow and deletes this object.
   void AbortAndDelete();
 
+  // This function enables all unified consent services when the unified consent
+  // feature is enabled.
+  void EnableUnifiedConsentIfNeeded();
+
   std::unique_ptr<Delegate> delegate_;
   Profile* profile_;
   SigninManager* signin_manager_;
diff --git a/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper_unittest.cc b/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper_unittest.cc
index 256ec273..88d65606 100644
--- a/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper_unittest.cc
+++ b/chrome/browser/ui/webui/signin/dice_turn_sync_on_helper_unittest.cc
@@ -24,8 +24,11 @@
 #include "chrome/browser/signin/scoped_account_consistency.h"
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/browser/signin/test_signin_client_builder.h"
+#include "chrome/browser/signin/unified_consent_helper.h"
 #include "chrome/browser/sync/profile_sync_service_factory.h"
 #include "chrome/browser/sync/profile_sync_test_util.h"
+#include "chrome/browser/unified_consent/unified_consent_service_factory.h"
+#include "chrome/browser/unified_consent/unified_consent_test_util.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"
@@ -34,8 +37,10 @@
 #include "components/prefs/pref_service.h"
 #include "components/signin/core/browser/account_tracker_service.h"
 #include "components/signin/core/browser/profile_oauth2_token_service.h"
+#include "components/signin/core/browser/scoped_unified_consent.h"
 #include "components/signin/core/browser/signin_metrics.h"
 #include "components/signin/core/browser/signin_pref_names.h"
+#include "components/unified_consent/unified_consent_service.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "google_apis/gaia/google_service_auth_error.h"
 #include "net/url_request/url_request_context_getter.h"
@@ -46,7 +51,7 @@
 using ::testing::Return;
 using ::testing::ReturnRef;
 
-class DiceTurnSyncOnHelperTest;
+class DiceTurnSyncOnHelperTestBase;
 
 namespace {
 
@@ -68,7 +73,7 @@
 class TestDiceTurnSyncOnHelperDelegate : public DiceTurnSyncOnHelper::Delegate {
  public:
   explicit TestDiceTurnSyncOnHelperDelegate(
-      DiceTurnSyncOnHelperTest* test_fixture);
+      DiceTurnSyncOnHelperTestBase* test_fixture);
   ~TestDiceTurnSyncOnHelperDelegate() override;
 
  private:
@@ -89,7 +94,7 @@
   void ShowSigninPageInNewProfile(Profile* new_profile,
                                   const std::string& username) override;
 
-  DiceTurnSyncOnHelperTest* test_fixture_;
+  DiceTurnSyncOnHelperTestBase* test_fixture_;
 };
 
 // Simple ProfileManager creating testing profiles.
@@ -174,10 +179,12 @@
 
 }  // namespace
 
-class DiceTurnSyncOnHelperTest : public testing::Test {
+class DiceTurnSyncOnHelperTestBase : public testing::Test {
  public:
-  DiceTurnSyncOnHelperTest()
-      : local_state_(TestingBrowserProcess::GetGlobal()) {
+  DiceTurnSyncOnHelperTestBase()
+      : local_state_(TestingBrowserProcess::GetGlobal()) {}
+
+  void SetUp() override {
     EXPECT_TRUE(temp_dir_.CreateUniqueTempDir());
     TestingBrowserProcess::GetGlobal()->SetProfileManager(
         new UnittestProfileManager(temp_dir_.GetPath()));
@@ -195,6 +202,9 @@
     profile_builder.AddTestingFactory(
         policy::UserPolicySigninServiceFactory::GetInstance(),
         &FakeUserPolicySigninService::Build);
+    profile_builder.AddTestingFactory(
+        UnifiedConsentServiceFactory::GetInstance(),
+        &BuildUnifiedConsentServiceForTesting);
     profile_ = profile_builder.Build();
     account_tracker_service_ =
         AccountTrackerServiceFactory::GetForProfile(profile());
@@ -208,7 +218,7 @@
     EXPECT_TRUE(token_service_->RefreshTokenIsAvailable(account_id_));
   }
 
-  ~DiceTurnSyncOnHelperTest() override {
+  ~DiceTurnSyncOnHelperTestBase() override {
     DCHECK(delegate_destroyed_);
     // Destroy extra profiles.
     TestingBrowserProcess::GetGlobal()->SetProfileManager(nullptr);
@@ -367,7 +377,6 @@
   bool expected_sync_settings_shown_ = false;
 
  private:
-  ScopedAccountConsistencyDicePrepareMigration scoped_dice;
   content::TestBrowserThreadBundle thread_bundle_;
   base::ScopedTempDir temp_dir_;
   ScopedTestingLocalState local_state_;
@@ -394,10 +403,33 @@
       GoogleServiceAuthError::AuthErrorNone();
 };
 
+// Test class with only DicePrepareMigration enabled.
+class DiceTurnSyncOnHelperTest : public DiceTurnSyncOnHelperTestBase {
+ public:
+  DiceTurnSyncOnHelperTest() = default;
+
+ private:
+  ScopedAccountConsistencyDicePrepareMigration scoped_dice;
+};
+
+// Test class with Dice and UnifiedConsent enabled.
+class DiceTurnSyncOnHelperTestWithUnifiedConsent
+    : public DiceTurnSyncOnHelperTestBase {
+ public:
+  DiceTurnSyncOnHelperTestWithUnifiedConsent()
+      : scoped_unified_consent(
+            signin::UnifiedConsentFeatureState::kEnabledNoBump) {}
+  ~DiceTurnSyncOnHelperTestWithUnifiedConsent() override {}
+
+ private:
+  ScopedAccountConsistencyDice scoped_dice;
+  signin::ScopedUnifiedConsent scoped_unified_consent;
+};
+
 // TestDiceTurnSyncOnHelperDelegate implementation.
 
 TestDiceTurnSyncOnHelperDelegate::TestDiceTurnSyncOnHelperDelegate(
-    DiceTurnSyncOnHelperTest* test_fixture)
+    DiceTurnSyncOnHelperTestBase* test_fixture)
     : test_fixture_(test_fixture) {}
 
 TestDiceTurnSyncOnHelperDelegate::~TestDiceTurnSyncOnHelperDelegate() {
@@ -669,6 +701,30 @@
   CheckDelegateCalls();
 }
 
+// Tests that the user enabled unified consent,
+TEST_F(DiceTurnSyncOnHelperTestWithUnifiedConsent,
+       ShowSyncDialogForEndConsumerAccount_UnifiedConsentEnabled) {
+  ASSERT_TRUE(IsUnifiedConsentEnabled(profile()));
+  // Set expectations.
+  expected_sync_confirmation_shown_ = true;
+  sync_confirmation_result_ = LoginUIService::SyncConfirmationUIClosedResult::
+      SYNC_WITH_DEFAULT_SETTINGS;
+  SetExpectationsForSyncStartupCompleted();
+  EXPECT_CALL(*GetProfileSyncServiceMock(), SetFirstSetupComplete()).Times(1);
+
+  // Signin flow.
+  EXPECT_FALSE(signin_manager()->IsAuthenticated());
+  CreateDiceTurnOnSyncHelper(
+      DiceTurnSyncOnHelper::SigninAbortedMode::REMOVE_ACCOUNT);
+
+  // Check expectations.
+  EXPECT_TRUE(token_service()->RefreshTokenIsAvailable(account_id()));
+  EXPECT_EQ(account_id(), signin_manager()->GetAuthenticatedAccountId());
+  CheckDelegateCalls();
+  EXPECT_TRUE(UnifiedConsentServiceFactory::GetForProfile(profile())
+                  ->IsUnifiedConsentGiven());
+}
+
 // For enterprise user, tests that the user is signed in only after Sync engine
 // starts.
 // Regression test for http://crbug.com/812546
diff --git a/chrome/browser/unified_consent/unified_consent_service_factory.cc b/chrome/browser/unified_consent/unified_consent_service_factory.cc
index b47208c..2d8836f 100644
--- a/chrome/browser/unified_consent/unified_consent_service_factory.cc
+++ b/chrome/browser/unified_consent/unified_consent_service_factory.cc
@@ -51,7 +51,7 @@
     return nullptr;
 
   return new unified_consent::UnifiedConsentService(
-      new ChromeUnifiedConsentServiceClient(profile->GetPrefs()),
+      std::make_unique<ChromeUnifiedConsentServiceClient>(profile->GetPrefs()),
       profile->GetPrefs(), IdentityManagerFactory::GetForProfile(profile),
       ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile));
 }
diff --git a/chrome/browser/unified_consent/unified_consent_test_util.cc b/chrome/browser/unified_consent/unified_consent_test_util.cc
new file mode 100644
index 0000000..f65a8023
--- /dev/null
+++ b/chrome/browser/unified_consent/unified_consent_test_util.cc
@@ -0,0 +1,45 @@
+// 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/unified_consent/unified_consent_test_util.h"
+
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/signin/identity_manager_factory.h"
+#include "chrome/browser/signin/unified_consent_helper.h"
+#include "chrome/browser/sync/profile_sync_service_factory.h"
+#include "chrome/browser/unified_consent/unified_consent_service_factory.h"
+#include "components/unified_consent/unified_consent_service.h"
+#include "components/unified_consent/unified_consent_service_client.h"
+
+namespace {
+
+class FakeUnifiedConsentServiceClient
+    : public unified_consent::UnifiedConsentServiceClient {
+ public:
+  FakeUnifiedConsentServiceClient() = default;
+  ~FakeUnifiedConsentServiceClient() override = default;
+
+  // UnifiedConsentServiceClient:
+  void SetAlternateErrorPagesEnabled(bool enabled) override {}
+  void SetMetricsReportingEnabled(bool enabled) override {}
+  void SetSearchSuggestEnabled(bool enabled) override {}
+  void SetSafeBrowsingEnabled(bool enabled) override {}
+  void SetSafeBrowsingExtendedReportingEnabled(bool enabled) override {}
+  void SetNetworkPredictionEnabled(bool enabled) override {}
+};
+
+}  // namespace
+
+std::unique_ptr<KeyedService> BuildUnifiedConsentServiceForTesting(
+    content::BrowserContext* context) {
+  Profile* profile = Profile::FromBrowserContext(context);
+
+  if (!IsUnifiedConsentEnabled(profile))
+    return nullptr;
+
+  return std::make_unique<unified_consent::UnifiedConsentService>(
+      std::make_unique<FakeUnifiedConsentServiceClient>(), profile->GetPrefs(),
+      IdentityManagerFactory::GetForProfile(profile),
+      ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile));
+}
diff --git a/chrome/browser/unified_consent/unified_consent_test_util.h b/chrome/browser/unified_consent/unified_consent_test_util.h
new file mode 100644
index 0000000..5e05422
--- /dev/null
+++ b/chrome/browser/unified_consent/unified_consent_test_util.h
@@ -0,0 +1,19 @@
+// 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_UNIFIED_CONSENT_UNIFIED_CONSENT_TEST_UTIL_H_
+#define CHROME_BROWSER_UNIFIED_CONSENT_UNIFIED_CONSENT_TEST_UTIL_H_
+
+#include <memory>
+
+namespace content {
+class BrowserContext;
+}
+class KeyedService;
+
+// Helper function to be used with KeyedService::SetTestingFactory().
+std::unique_ptr<KeyedService> BuildUnifiedConsentServiceForTesting(
+    content::BrowserContext* context);
+
+#endif  // CHROME_BROWSER_UNIFIED_CONSENT_UNIFIED_CONSENT_TEST_UTIL_H_
diff --git a/chrome/browser/vr/elements/textured_element.cc b/chrome/browser/vr/elements/textured_element.cc
index 3b3ffd0c..989636b 100644
--- a/chrome/browser/vr/elements/textured_element.cc
+++ b/chrome/browser/vr/elements/textured_element.cc
@@ -37,21 +37,25 @@
   return true;
 }
 
-bool TexturedElement::UpdateTexture() {
-  if (!GetTexture()->dirty() || !IsVisible())
+bool TexturedElement::HasDirtyTexture() const {
+  DCHECK(IsVisible());  // We shouldn't be querying non visible elements.
+  if (!GetTexture()->dirty())
     return false;
-
   // Elements can be dirtied by user input.  If the texture draw depends on
   // measurement, defer until the next frame.
-  if (TextureDependsOnMeasurement() && !GetTexture()->measured())
-    return false;
+  return !TextureDependsOnMeasurement() || GetTexture()->measured();
+}
+
+void TexturedElement::UpdateTexture() {
+  if (!HasDirtyTexture())
+    return;
 
   // If GL isn't ready yet, or we're in unit tests, pretend we drew a texture to
   // accurate articulate that we would have.  When GL is initialized, all
   // textures are dirtied again.
   if (!initialized_) {
     GetTexture()->DrawEmptyTexture();
-    return true;
+    return;
   }
 
   if (!texture_size_.IsEmpty()) {
@@ -64,7 +68,6 @@
     GetTexture()->DrawEmptyTexture();
     texture_handle_ = 0;
   }
-  return true;
 }
 
 void TexturedElement::SetForegroundColor(SkColor color) {
diff --git a/chrome/browser/vr/elements/textured_element.h b/chrome/browser/vr/elements/textured_element.h
index 086ec7e..74028a4 100644
--- a/chrome/browser/vr/elements/textured_element.h
+++ b/chrome/browser/vr/elements/textured_element.h
@@ -26,7 +26,9 @@
 
   void Initialize(SkiaSurfaceProvider* provider) final;
 
-  bool UpdateTexture() override;
+  bool HasDirtyTexture() const override;
+  void UpdateTexture() override;
+
   void Render(UiElementRenderer* renderer,
               const CameraModel& model) const final;
 
diff --git a/chrome/browser/vr/elements/ui_element.cc b/chrome/browser/vr/elements/ui_element.cc
index 85b38b50..6c6d4a54 100644
--- a/chrome/browser/vr/elements/ui_element.cc
+++ b/chrome/browser/vr/elements/ui_element.cc
@@ -297,10 +297,12 @@
   return false;
 }
 
-bool UiElement::UpdateTexture() {
+bool UiElement::HasDirtyTexture() const {
   return false;
 }
 
+void UiElement::UpdateTexture() {}
+
 bool UiElement::IsHitTestable() const {
   return IsVisible() && hit_testable_;
 }
diff --git a/chrome/browser/vr/elements/ui_element.h b/chrome/browser/vr/elements/ui_element.h
index 7156196..4ee709d 100644
--- a/chrome/browser/vr/elements/ui_element.h
+++ b/chrome/browser/vr/elements/ui_element.h
@@ -136,7 +136,9 @@
   virtual bool PrepareToDraw();
 
   // Returns true if the element updated its texture.
-  virtual bool UpdateTexture();
+  virtual bool HasDirtyTexture() const;
+
+  virtual void UpdateTexture();
 
   bool IsHitTestable() const;
 
diff --git a/chrome/browser/vr/metrics/session_metrics_helper.h b/chrome/browser/vr/metrics/session_metrics_helper.h
index 6fb12bbd8..3e0c907 100644
--- a/chrome/browser/vr/metrics/session_metrics_helper.h
+++ b/chrome/browser/vr/metrics/session_metrics_helper.h
@@ -22,7 +22,7 @@
 // These values are persisted to logs. Entries should not be renumbered and
 // numeric values should never be reused.
 // Ensure that this stays in sync with VRSessionStartAction in enums.xml
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum class VrStartAction : int {
   // The user activated a headset. For example, inserted phone in Daydream, or
   // put on an Occulus or Vive.
diff --git a/chrome/browser/vr/model/hosted_platform_ui.h b/chrome/browser/vr/model/hosted_platform_ui.h
index 46d5dde..86d3e6a 100644
--- a/chrome/browser/vr/model/hosted_platform_ui.h
+++ b/chrome/browser/vr/model/hosted_platform_ui.h
@@ -15,6 +15,12 @@
   PlatformUiInputDelegatePtr delegate = nullptr;
   unsigned int texture_id = 0;
   bool floating = false;
+
+  // Rectangle's x and y indicate the location of the hosted UI as a percentage
+  // of the main content quad size.
+  // Rectangle's width and height indicate the size of the hosted UI as a
+  // percentage of the main content quad width. If the content quad is not
+  // present then width and height are normalized numbers in range [0, 1].
   gfx::RectF rect;
 };
 
diff --git a/chrome/browser/vr/test/ui_test.cc b/chrome/browser/vr/test/ui_test.cc
index 6a49f2d..98cad8e 100644
--- a/chrome/browser/vr/test/ui_test.cc
+++ b/chrome/browser/vr/test/ui_test.cc
@@ -214,7 +214,10 @@
 bool UiTest::OnBeginFrame() const {
   bool changed = false;
   changed |= scene_->OnBeginFrame(current_time_, kStartHeadPose);
-  changed |= scene_->UpdateTextures();
+  if (scene_->HasDirtyTextures()) {
+    scene_->UpdateTextures();
+    changed = true;
+  }
   return changed;
 }
 
diff --git a/chrome/browser/vr/test/vr_xr_browser_test.h b/chrome/browser/vr/test/vr_xr_browser_test.h
index 4168211..67bae166 100644
--- a/chrome/browser/vr/test/vr_xr_browser_test.h
+++ b/chrome/browser/vr/test/vr_xr_browser_test.h
@@ -23,7 +23,7 @@
 
 // Base browser test class for running VR/XR-related tests.
 // This is essentially a C++ port of the way Android does similar tests in
-// //chrome/android/javatests/src/.../browser/vr_shell/TestFramework.java
+// //chrome/android/javatests/src/.../browser/vr/TestFramework.java
 // This must be subclassed for VR or XR in order to handle the few differences
 // between WebVR and WebXR.
 class VrXrBrowserTestBase : public InProcessBrowserTest {
diff --git a/chrome/browser/vr/text_edit_action.h b/chrome/browser/vr/text_edit_action.h
index 5d5ff7e..833373cc 100644
--- a/chrome/browser/vr/text_edit_action.h
+++ b/chrome/browser/vr/text_edit_action.h
@@ -12,7 +12,7 @@
 
 namespace vr {
 
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum TextEditActionType {
   CLEAR_COMPOSING_TEXT,
   COMMIT_TEXT,
diff --git a/chrome/browser/vr/ui.cc b/chrome/browser/vr/ui.cc
index 048a173..8d0c110 100644
--- a/chrome/browser/vr/ui.cc
+++ b/chrome/browser/vr/ui.cc
@@ -280,14 +280,33 @@
                                float height) {
   model_->web_vr.showing_hosted_ui = enabled;
   model_->hosted_platform_ui.hosted_ui_enabled = enabled;
-  model_->hosted_platform_ui.rect.set_height(height);
-  model_->hosted_platform_ui.rect.set_width(width);
+  model_->hosted_platform_ui.delegate = delegate;
+
+  if (!enabled)
+    return;
+  SetAlertDialogSize(width, height);
+}
+
+void Ui::SetContentOverlayAlertDialogEnabled(bool enabled,
+                                             PlatformUiInputDelegate* delegate,
+                                             float width_percentage,
+                                             float height_percentage) {
+  model_->web_vr.showing_hosted_ui = enabled;
+  model_->hosted_platform_ui.hosted_ui_enabled = enabled;
+  SetContentOverlayAlertDialogSize(width_percentage, height_percentage);
   model_->hosted_platform_ui.delegate = delegate;
 }
 
 void Ui::SetAlertDialogSize(float width, float height) {
-  model_->hosted_platform_ui.rect.set_height(height);
-  model_->hosted_platform_ui.rect.set_width(width);
+  float scale = std::max(height, width);
+  model_->hosted_platform_ui.rect.set_height(height / scale);
+  model_->hosted_platform_ui.rect.set_width(width / scale);
+}
+
+void Ui::SetContentOverlayAlertDialogSize(float width_percentage,
+                                          float height_percentage) {
+  model_->hosted_platform_ui.rect.set_height(height_percentage);
+  model_->hosted_platform_ui.rect.set_width(width_percentage);
 }
 
 void Ui::SetDialogLocation(float x, float y) {
@@ -601,6 +620,14 @@
   return GetContentElement()->world_space_transform();
 }
 
+bool Ui::SceneHasDirtyTextures() const {
+  return scene_->HasDirtyTextures();
+}
+
+void Ui::UpdateSceneTextures() {
+  scene_->UpdateTextures();
+}
+
 std::vector<TabModel>::iterator Ui::FindTab(int id,
                                             std::vector<TabModel>* tabs) {
   return std::find_if(tabs->begin(), tabs->end(),
diff --git a/chrome/browser/vr/ui.h b/chrome/browser/vr/ui.h
index 40ac5e9..5d96f545 100644
--- a/chrome/browser/vr/ui.h
+++ b/chrome/browser/vr/ui.h
@@ -125,7 +125,13 @@
                              PlatformUiInputDelegate* delegate,
                              float width,
                              float height);
+  void SetContentOverlayAlertDialogEnabled(bool enabled,
+                                           PlatformUiInputDelegate* delegate,
+                                           float width_percentage,
+                                           float height_percentage);
   void SetAlertDialogSize(float width, float height);
+  void SetContentOverlayAlertDialogSize(float width_percentage,
+                                        float height_percentage);
   void SetDialogLocation(float x, float y);
   void SetDialogFloating(bool floating);
   void ShowPlatformToast(const base::string16& text);
@@ -181,6 +187,10 @@
   void SetContentUsesQuadLayer(bool uses_quad_buffers);
   gfx::Transform GetContentWorldSpaceTransform();
 
+  // Scene wrappers.
+  bool SceneHasDirtyTextures() const;
+  void UpdateSceneTextures();
+
  private:
   void OnSpeechRecognitionEnded();
   void InitializeModel(const UiInitialState& ui_initial_state);
diff --git a/chrome/browser/vr/ui_scene.cc b/chrome/browser/vr/ui_scene.cc
index 7de5e1b..a416b1b1 100644
--- a/chrome/browser/vr/ui_scene.cc
+++ b/chrome/browser/vr/ui_scene.cc
@@ -71,6 +71,18 @@
   return nullptr;
 }
 
+template <typename P>
+bool AnyVisibleElementSatisfiesPredicate(UiElement* root, P predicate) {
+  if (!root->IsVisible())
+    return false;
+  if (predicate(root))
+    return true;
+  for (auto& child : root->children())
+    if (AnyVisibleElementSatisfiesPredicate(child.get(), predicate))
+      return true;
+  return false;
+}
+
 void InitializeElementRecursive(UiElement* e, SkiaSurfaceProvider* provider) {
   e->Initialize(provider);
   for (auto& child : e->children())
@@ -187,16 +199,20 @@
   return scene_dirty;
 }
 
-bool UiScene::UpdateTextures() {
+bool UiScene::HasDirtyTextures() const {
+  return AnyVisibleElementSatisfiesPredicate(
+      root_element_.get(),
+      [](UiElement* element) { return element->HasDirtyTexture(); });
+}
+
+void UiScene::UpdateTextures() {
   TRACE_EVENT0("gpu", "UiScene::UpdateTextures");
-  bool needs_redraw = false;
   std::vector<UiElement*> elements = GetVisibleElementsMutable();
   for (auto* element : elements) {
-    needs_redraw |= element->UpdateTexture();
+    element->UpdateTexture();
     element->set_update_phase(kUpdatedTextures);
   }
   FrameLifecycle::set_phase(kUpdatedTextures);
-  return needs_redraw;
 }
 
 UiElement& UiScene::root_element() {
diff --git a/chrome/browser/vr/ui_scene.h b/chrome/browser/vr/ui_scene.h
index 57e9824..81e8841 100644
--- a/chrome/browser/vr/ui_scene.h
+++ b/chrome/browser/vr/ui_scene.h
@@ -50,8 +50,10 @@
   bool OnBeginFrame(const base::TimeTicks& current_time,
                     const gfx::Transform& head_pose);
 
-  // Returns true if any textures were redrawn.
-  bool UpdateTextures();
+  // Returns true if any visible textures need to be redrawn.
+  bool HasDirtyTextures() const;
+
+  void UpdateTextures();
 
   UiElement& root_element();
 
diff --git a/chrome/browser/vr/ui_test_input.h b/chrome/browser/vr/ui_test_input.h
index 15f51cd..4c234752 100644
--- a/chrome/browser/vr/ui_test_input.h
+++ b/chrome/browser/vr/ui_test_input.h
@@ -13,7 +13,7 @@
 
 // These are used to map user-friendly names, e.g. URL_BAR, to the underlying
 // element names for interaction during testing.
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum class UserFriendlyElementName : int {
   kUrl = 0,         // URL bar
   kBackButton,      // Back button on the URL bar
@@ -27,7 +27,7 @@
 
 // These are used to report the current state of the UI after performing an
 // action
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum class VrUiTestActivityResult : int {
   kUnreported,
   kQuiescent,
@@ -37,7 +37,7 @@
 
 // These are used to specify what type of action should be performed on a UI
 // element using simulated controller input during testing.
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum class VrControllerTestAction : int {
   kClick,
   kHover,
diff --git a/chrome/browser/vr/ui_unsupported_mode.h b/chrome/browser/vr/ui_unsupported_mode.h
index 8f21a60..9994a5a2 100644
--- a/chrome/browser/vr/ui_unsupported_mode.h
+++ b/chrome/browser/vr/ui_unsupported_mode.h
@@ -10,7 +10,7 @@
 // Ensure that this stays in sync with VRUnsupportedMode in enums.xml
 // These values are written to logs.  New enum values can be added, but existing
 // enums must never be renumbered or deleted and reused.
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr_shell
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.vr
 enum class UiUnsupportedMode : int {
   kUnhandledCodePoint = 0,
   // kCouldNotElideURL = 1,  // Obsolete.
diff --git a/chrome/browser/vr/webvr_input_browser_test.cc b/chrome/browser/vr/webvr_input_browser_test.cc
index 58c50c14..dd23c3f 100644
--- a/chrome/browser/vr/webvr_input_browser_test.cc
+++ b/chrome/browser/vr/webvr_input_browser_test.cc
@@ -7,7 +7,7 @@
 #include "chrome/browser/vr/test/xr_browser_test.h"
 
 // Browser test equivalent of
-// chrome/android/javatests/src/.../browser/vr_shell/WebVrInputTest.java.
+// chrome/android/javatests/src/.../browser/vr/WebVrInputTest.java.
 // End-to-end tests for user input interaction with WebVR.
 
 namespace vr {
diff --git a/chrome/browser/vr/webvr_tab_browser_test.cc b/chrome/browser/vr/webvr_tab_browser_test.cc
index d3473a03..6ca6494a 100644
--- a/chrome/browser/vr/webvr_tab_browser_test.cc
+++ b/chrome/browser/vr/webvr_tab_browser_test.cc
@@ -10,7 +10,7 @@
 #include "url/url_constants.h"
 
 // Browser test equivalent of
-// chrome/android/javatests/src/.../browser/vr_shell/WebVrTabTest.java.
+// chrome/android/javatests/src/.../browser/vr/WebVrTabTest.java.
 // End-to-end tests for testing WebVR's interaction with multiple tabss.
 
 namespace vr {
diff --git a/chrome/browser/vr/webvr_transition_browser_test.cc b/chrome/browser/vr/webvr_transition_browser_test.cc
index a5f9a9b..d217c37f 100644
--- a/chrome/browser/vr/webvr_transition_browser_test.cc
+++ b/chrome/browser/vr/webvr_transition_browser_test.cc
@@ -8,7 +8,7 @@
 #include "content/public/test/browser_test_utils.h"
 
 // Browser test equivalent of
-// chrome/android/javatests/src/.../browser/vr_shell/WebVrTransitionTest.java.
+// chrome/android/javatests/src/.../browser/vr/WebVrTransitionTest.java.
 // End-to-end tests for transitioning between WebVR's magic window and
 // presentation modes.
 
diff --git a/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc b/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
index d95817ea..458483e 100644
--- a/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
+++ b/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
@@ -178,21 +178,13 @@
 }
 
 #if defined(OS_MACOSX)
-std::string
-ChromeAuthenticatorRequestDelegate::TouchIdAuthenticatorKeychainAccessGroup() {
-  // This exact value must be whitelisted in the keychain-access-group section
-  // of the entitlements plist file with which Chrome is signed. Note that
-  // even though the bundle identifier for the Canary channel differs from that
-  // of the other channels, Canary still uses the same keychain access group.
-  static const char* access_group = "EQHXZ8M8AV.com.google.Chrome.webauthn";
-  return access_group;
-}
-#endif
+static constexpr char kTouchIdKeychainAccessGroup[] =
+    "EQHXZ8M8AV.com.google.Chrome.webauthn";
 
-#if defined(OS_MACOSX)
-std::string ChromeAuthenticatorRequestDelegate::TouchIdMetadataSecret() {
-  PrefService* prefs =
-      Profile::FromBrowserContext(browser_context())->GetPrefs();
+namespace {
+
+std::string TouchIdMetadataSecret(Profile* profile) {
+  PrefService* prefs = profile->GetPrefs();
   std::string key = prefs->GetString(kWebAuthnTouchIdMetadataSecretPrefName);
   if (key.empty() || !base::Base64Decode(key, &key)) {
     key = device::fido::mac::CredentialMetadata::GenerateRandomSecret();
@@ -202,6 +194,24 @@
   }
   return key;
 }
+
+}  // namespace
+
+// static
+content::AuthenticatorRequestClientDelegate::TouchIdAuthenticatorConfig
+ChromeAuthenticatorRequestDelegate::TouchIdAuthenticatorConfigForProfile(
+    Profile* profile) {
+  return content::AuthenticatorRequestClientDelegate::
+      TouchIdAuthenticatorConfig{kTouchIdKeychainAccessGroup,
+                                 TouchIdMetadataSecret(profile)};
+}
+
+base::Optional<
+    content::AuthenticatorRequestClientDelegate::TouchIdAuthenticatorConfig>
+ChromeAuthenticatorRequestDelegate::GetTouchIdAuthenticatorConfig() const {
+  return TouchIdAuthenticatorConfigForProfile(
+      Profile::FromBrowserContext(browser_context()));
+}
 #endif
 
 void ChromeAuthenticatorRequestDelegate::OnModelDestroyed() {
diff --git a/chrome/browser/webauthn/chrome_authenticator_request_delegate.h b/chrome/browser/webauthn/chrome_authenticator_request_delegate.h
index 9a22815..72b00072 100644
--- a/chrome/browser/webauthn/chrome_authenticator_request_delegate.h
+++ b/chrome/browser/webauthn/chrome_authenticator_request_delegate.h
@@ -10,6 +10,8 @@
 #include "chrome/browser/webauthn/authenticator_request_dialog_model.h"
 #include "content/public/browser/authenticator_request_client_delegate.h"
 
+class Profile;
+
 namespace content {
 class BrowserContext;
 class RenderFrameHost;
@@ -26,18 +28,22 @@
       public AuthenticatorRequestDialogModel::Observer {
  public:
   static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
+#if defined(OS_MACOSX)
+  static TouchIdAuthenticatorConfig TouchIdAuthenticatorConfigForProfile(
+      Profile* profile);
+#endif  // defined(OS_MACOSX)
 
   // The |render_frame_host| must outlive this instance.
   explicit ChromeAuthenticatorRequestDelegate(
       content::RenderFrameHost* render_frame_host);
   ~ChromeAuthenticatorRequestDelegate() override;
 
-  base::WeakPtr<ChromeAuthenticatorRequestDelegate> AsWeakPtr();
-
 #if defined(OS_MACOSX)
-  std::string TouchIdAuthenticatorKeychainAccessGroup() override;
-  std::string TouchIdMetadataSecret() override;
-#endif
+  base::Optional<TouchIdAuthenticatorConfig> GetTouchIdAuthenticatorConfig()
+      const override;
+#endif  // defined(OS_MACOSX)
+
+  base::WeakPtr<ChromeAuthenticatorRequestDelegate> AsWeakPtr();
 
  private:
   content::RenderFrameHost* render_frame_host() const {
diff --git a/chrome/browser/webauthn/chrome_authenticator_request_delegate_unittest.cc b/chrome/browser/webauthn/chrome_authenticator_request_delegate_unittest.cc
index 65bf984b..c38ba7f8 100644
--- a/chrome/browser/webauthn/chrome_authenticator_request_delegate_unittest.cc
+++ b/chrome/browser/webauthn/chrome_authenticator_request_delegate_unittest.cc
@@ -17,11 +17,18 @@
     : public ChromeRenderViewHostTestHarness {};
 
 #if defined(OS_MACOSX)
+std::string TouchIdMetadataSecret(
+    const ChromeAuthenticatorRequestDelegate& delegate) {
+  base::Optional<AuthenticatorRequestClientDelegate::TouchIdAuthenticatorConfig>
+      config = delegate.GetTouchIdAuthenticatorConfig();
+  return config->metadata_secret;
+}
+
 TEST_F(ChromeAuthenticatorRequestDelegateTest, TouchIdMetadataSecret) {
   ChromeAuthenticatorRequestDelegate delegate(main_rfh());
-  std::string secret = delegate.TouchIdMetadataSecret();
+  std::string secret = TouchIdMetadataSecret(delegate);
   EXPECT_EQ(secret.size(), 32u);
-  EXPECT_EQ(secret, delegate.TouchIdMetadataSecret());
+  EXPECT_EQ(secret, TouchIdMetadataSecret(delegate));
 }
 
 TEST_F(ChromeAuthenticatorRequestDelegateTest,
@@ -29,8 +36,8 @@
   // Different delegates on the same BrowserContext (Profile) should return the
   // same secret.
   EXPECT_EQ(
-      ChromeAuthenticatorRequestDelegate(main_rfh()).TouchIdMetadataSecret(),
-      ChromeAuthenticatorRequestDelegate(main_rfh()).TouchIdMetadataSecret());
+      TouchIdMetadataSecret(ChromeAuthenticatorRequestDelegate(main_rfh())),
+      TouchIdMetadataSecret(ChromeAuthenticatorRequestDelegate(main_rfh())));
 }
 
 TEST_F(ChromeAuthenticatorRequestDelegateTest,
@@ -41,14 +48,13 @@
   auto web_contents =
       WebContentsTester::CreateTestWebContents(browser_context.get(), nullptr);
   EXPECT_NE(
-      ChromeAuthenticatorRequestDelegate(main_rfh()).TouchIdMetadataSecret(),
-      ChromeAuthenticatorRequestDelegate(web_contents->GetMainFrame())
-          .TouchIdMetadataSecret());
+      TouchIdMetadataSecret(ChromeAuthenticatorRequestDelegate(main_rfh())),
+      TouchIdMetadataSecret(
+          ChromeAuthenticatorRequestDelegate(web_contents->GetMainFrame())));
   // Ensure this second secret is actually valid.
-  EXPECT_EQ(32u,
-            ChromeAuthenticatorRequestDelegate(web_contents->GetMainFrame())
-                .TouchIdMetadataSecret()
-                .size());
+  EXPECT_EQ(32u, TouchIdMetadataSecret(ChromeAuthenticatorRequestDelegate(
+                                           web_contents->GetMainFrame()))
+                     .size());
 }
 #endif
 
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 4f7e84bd..4546b58 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -527,6 +527,11 @@
 const base::Feature kSiteSettings{"SiteSettings",
                                   base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Enables committed error pages instead of transient navigation entries for
+// SSL interstitial error pages (i.e. certificate errors).
+const base::Feature kSSLCommittedInterstitials{
+    "SSLCommittedInterstitials", base::FEATURE_DISABLED_BY_DEFAULT};
+
 #if defined(OS_CHROMEOS)
 // Enables or disables the ability to add a Samba Share to the Files app
 const base::Feature kNativeSmb{"NativeSmb", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 7089b26..9c0ef6b 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -276,6 +276,8 @@
 extern const base::Feature kSitePerProcessOnlyForHighMemoryClients;
 extern const char kSitePerProcessOnlyForHighMemoryClientsParamName[];
 
+extern const base::Feature kSSLCommittedInterstitials;
+
 #if defined(OS_CHROMEOS)
 extern const base::Feature kNativeSmb;
 #endif
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 18d3b52..c08ef5cb 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -122,10 +122,6 @@
 // service or register proxy for autostart.
 const char kCloudPrintSetupProxy[]          = "cloud-print-setup-proxy";
 
-// Enables committed error pages instead of transient navigation entries for
-// interstitial error pages (e.g. certificate errors).
-const char kCommittedInterstitials[] = "committed-interstitials";
-
 // Comma-separated list of BrowserThreads that cause browser process to crash if
 // the given browser thread is not responsive. UI/IO are the BrowserThreads that
 // are supported.
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
index 9d0c2aa..e2b21f5 100644
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -54,7 +54,6 @@
 extern const char kCloudPrintPrintTicket[];
 extern const char kCloudPrintServiceProcess[];
 extern const char kCloudPrintSetupProxy[];
-extern const char kCommittedInterstitials[];
 extern const char kCrashOnHangThreads[];
 extern const char kCreateBrowserOnStartupForTests[];
 extern const char kCustomDevtoolsFrontend[];
diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
index 2cd64993..0f018be 100644
--- a/chrome/renderer/searchbox/searchbox_extension.cc
+++ b/chrome/renderer/searchbox/searchbox_extension.cc
@@ -342,7 +342,7 @@
                 "url('" + theme_info.custom_background_url.spec() + "')");
     builder.Set("imageTiling", std::string(kCSSBackgroundRepeatNo));
     builder.Set("imageHorizontalAlignment",
-                std::string(kCSSBackgroundPositionLeft));
+                std::string(kCSSBackgroundPositionCenter));
     builder.Set("imageVerticalAlignment",
                 std::string(kCSSBackgroundPositionTopCover));
   }
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 5567e39..d5f7aa6 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1914,7 +1914,6 @@
         "../browser/ui/cocoa/accelerators_cocoa_browsertest.mm",
         "../browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm",
         "../browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm",
-        "../browser/ui/cocoa/browser_window_touch_bar_browsertest.mm",
         "../browser/ui/cocoa/dev_tools_controller_browsertest.mm",
         "../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h",
         "../browser/ui/cocoa/extensions/extension_install_prompt_test_utils.mm",
@@ -1929,6 +1928,7 @@
         "../browser/ui/cocoa/profiles/profile_signin_confirmation_view_controller_browsertest.mm",
         "../browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa_browsertest.mm",
         "../browser/ui/cocoa/ssl_client_certificate_selector_cocoa_browsertest.mm",
+        "../browser/ui/cocoa/touchbar/browser_window_touch_bar_controller_browsertest.mm",
         "../browser/ui/cocoa/touchbar/suggested_text_touch_bar_controller_browsertest.mm",
         "../browser/ui/cocoa/view_id_util_browsertest.mm",
         "../browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac_browsertest.mm",
@@ -4083,7 +4083,6 @@
         "../browser/ui/cocoa/browser_window_cocoa_unittest.mm",
         "../browser/ui/cocoa/browser_window_controller_unittest.mm",
         "../browser/ui/cocoa/browser_window_layout_unittest.mm",
-        "../browser/ui/cocoa/browser_window_touch_bar_unittest.mm",
         "../browser/ui/cocoa/browser_window_utils_unittest.mm",
         "../browser/ui/cocoa/bubble_anchor_helper_views_unittest.mm",
         "../browser/ui/cocoa/bubble_view_unittest.mm",
@@ -4198,6 +4197,7 @@
         "../browser/ui/cocoa/toolbar/toolbar_button_unittest.mm",
         "../browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm",
         "../browser/ui/cocoa/toolbar/toolbar_view_unittest.mm",
+        "../browser/ui/cocoa/touchbar/browser_window_default_touch_bar_unittest.mm",
         "../browser/ui/cocoa/touchbar/credit_card_autofill_touch_bar_controller_unittest.mm",
         "../browser/ui/cocoa/translate/translate_bubble_controller_unittest.mm",
         "../browser/ui/cocoa/url_drop_target_unittest.mm",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java
index 64c2db27..afe05366 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeJUnit4ClassRunner.java
@@ -20,8 +20,8 @@
 import org.chromium.base.test.util.RestrictionSkipCheck;
 import org.chromium.base.test.util.SkipCheck;
 import org.chromium.chrome.browser.ChromeVersionInfo;
-import org.chromium.chrome.browser.vr_shell.VrDaydreamApi;
-import org.chromium.chrome.browser.vr_shell.VrShellDelegate;
+import org.chromium.chrome.browser.vr.VrDaydreamApi;
+import org.chromium.chrome.browser.vr.VrShellDelegate;
 import org.chromium.chrome.test.util.ChromeRestriction;
 import org.chromium.chrome.test.util.browser.ChromeModernDesign;
 import org.chromium.chrome.test.util.browser.Features;
diff --git a/chrome/test/chromedriver/chrome/browser_info.cc b/chrome/test/chromedriver/chrome/browser_info.cc
index 9283639..33698eda 100644
--- a/chrome/test/chromedriver/chrome/browser_info.cc
+++ b/chrome/test/chromedriver/chrome/browser_info.cc
@@ -31,22 +31,6 @@
       is_android(false) {
 }
 
-BrowserInfo::BrowserInfo(std::string android_package,
-                         std::string browser_name,
-                         std::string browser_version,
-                         int major_version,
-                         int build_no,
-                         int blink_revision,
-                         bool is_android)
-    : android_package(android_package),
-      browser_name(browser_name),
-      browser_version(browser_version),
-      major_version(major_version),
-      build_no(build_no),
-      blink_revision(blink_revision),
-      is_android(is_android) {
-}
-
 BrowserInfo::~BrowserInfo() {}
 
 Status ParseBrowserInfo(const std::string& data, BrowserInfo* browser_info) {
diff --git a/chrome/test/chromedriver/chrome/browser_info.h b/chrome/test/chromedriver/chrome/browser_info.h
index b4c7c8e..ac5036f7 100644
--- a/chrome/test/chromedriver/chrome/browser_info.h
+++ b/chrome/test/chromedriver/chrome/browser_info.h
@@ -6,6 +6,7 @@
 #define CHROME_TEST_CHROMEDRIVER_CHROME_BROWSER_INFO_H_
 
 #include "chrome/test/chromedriver/chrome/status.h"
+#include "chrome/test/chromedriver/net/net_util.h"
 
 // Content Shell and WebView have an empty product version and a fake user
 // agent. There's no way to detect the actual version, so unless specified we
@@ -17,19 +18,13 @@
 
 struct BrowserInfo {
   BrowserInfo();
-  BrowserInfo(std::string android_package_,
-              std::string browser_name_,
-              std::string browser_version_,
-              int major_version_,
-              int build_no_,
-              int blink_revision_,
-              bool is_android_);
   ~BrowserInfo();
 
   std::string android_package;
   std::string browser_name;
   std::string browser_version;
   std::string web_socket_url;
+  NetAddress debugger_address;
   int major_version;
   int build_no;
   int blink_revision;
diff --git a/chrome/test/chromedriver/chrome/devtools_http_client.cc b/chrome/test/chromedriver/chrome/devtools_http_client.cc
index 333c57f..760da07 100644
--- a/chrome/test/chromedriver/chrome/devtools_http_client.cc
+++ b/chrome/test/chromedriver/chrome/devtools_http_client.cc
@@ -82,6 +82,7 @@
       page_load_strategy_(page_load_strategy) {
   window_types_->insert(WebViewInfo::kPage);
   window_types_->insert(WebViewInfo::kApp);
+  browser_info_.debugger_address = address;
 }
 
 DevToolsHttpClient::~DevToolsHttpClient() {}
diff --git a/chrome/test/chromedriver/session_commands.cc b/chrome/test/chromedriver/session_commands.cc
index 18ad124..357517e 100644
--- a/chrome/test/chromedriver/session_commands.cc
+++ b/chrome/test/chromedriver/session_commands.cc
@@ -112,6 +112,9 @@
   caps->SetString("version",
                   session->chrome->GetBrowserInfo()->browser_version);
   caps->SetString("chrome.chromedriverVersion", kChromeDriverVersion);
+  caps->SetString(
+      "goog:chromeOptions.debuggerAddress",
+      session->chrome->GetBrowserInfo()->debugger_address.ToString());
   caps->SetString("platform", session->chrome->GetOperatingSystemName());
   caps->SetString("pageLoadStrategy", session->chrome->page_load_strategy());
   caps->SetBoolean("javascriptEnabled", true);
diff --git a/chrome/test/data/local_ntp/local_ntp_browsertest.html b/chrome/test/data/local_ntp/local_ntp_browsertest.html
index 326ac10..63575dd 100644
--- a/chrome/test/data/local_ntp/local_ntp_browsertest.html
+++ b/chrome/test/data/local_ntp/local_ntp_browsertest.html
@@ -70,7 +70,7 @@
 
   <dialog div id="edit-bg-dialog">
     <div id="edit-bg-title"></div>
-    <div id="edit-bg-google-photos" class="bg-option" tabindex="0" hidden>
+    <div id="edit-bg-google-photos" class="bg-option" tabindex="0">
       <div class="bg-option-img"></div>
       <div id="edit-bg-google-photos-text" class="bg-option-text"></div>
     </div>
@@ -79,7 +79,7 @@
       <div id="edit-bg-default-wallpapers-text" class="bg-option-text">
       </div>
     </div>
-    <div id="edit-bg-upload-image" class="bg-option" tabindex="0" hidden>
+    <div id="edit-bg-upload-image" class="bg-option" tabindex="0">
       <div class="bg-option-img"></div>
       <div id="edit-bg-upload-image-text" class="bg-option-text"></div>
     </div>
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json
index 40a079fb..e5705a2d 100644
--- a/chrome/test/data/policy/policy_test_cases.json
+++ b/chrome/test/data/policy/policy_test_cases.json
@@ -457,6 +457,19 @@
     ]
   },
 
+  "AutofillProfileEnabled": {
+    "os": ["win", "linux", "mac", "chromeos"],
+    "can_be_recommended": true,
+    "test_policy": { "AutofillProfileEnabled": false },
+    "pref_mappings": [
+      { "pref": "autofill.profile_enabled",
+        "indicator_tests": [
+          { "policy": { "AutofillProfileEnabled": false } }
+        ]
+      }
+    ]
+  },
+
   "AutofillCreditCardEnabled": {
     "os": ["win", "linux", "mac", "chromeos"],
     "can_be_recommended": true,
diff --git a/chrome/test/data/webui/settings/cups_printer_page_tests.js b/chrome/test/data/webui/settings/cups_printer_page_tests.js
index e37707a2..d1c7644 100644
--- a/chrome/test/data/webui/settings/cups_printer_page_tests.js
+++ b/chrome/test/data/webui/settings/cups_printer_page_tests.js
@@ -401,3 +401,41 @@
         });
   });
 });
+
+suite('CupsDropDownSearchBoxTests', function() {
+  let searchBox;
+
+  setup(function() {
+    PolymerTest.clearBody();
+    searchBox = document.createElement('drop-down-search-box');
+    document.body.appendChild(searchBox);
+    assertTrue(!!searchBox);
+    Polymer.dom.flush();
+  });
+
+  test('searchingWithInput', function() {
+    function testFilteredLength(filter, length) {
+      searchBox.$.search.value = filter;
+      Polymer.dom.flush();
+      assertEquals(
+          length, searchBox.shadowRoot.querySelectorAll('.list-item').length);
+    }
+
+    searchBox.items = ['a', 'aa', 'b', 'c'];
+    testFilteredLength('a', 2);
+    // Makes sure final value doesn't change while searching.
+    assertTrue(searchBox.value === undefined);
+    testFilteredLength('aa', 1);
+    testFilteredLength('a', 2);
+    testFilteredLength('ab', 0);
+    testFilteredLength('b', 1);
+    testFilteredLength('', 4);
+    testFilteredLength('c', 1);
+    // Makes sure final value doesn't change while searching.
+    assertTrue(searchBox.value === undefined);
+
+    // Clicking on an item sets the final value of the search box.
+    searchBox.$$('.list-item').click();
+    assertEquals('c', searchBox.value);
+  });
+});
diff --git a/chromecast/browser/cast_browser_context.cc b/chromecast/browser/cast_browser_context.cc
index 7dd572b..814a256 100644
--- a/chromecast/browser/cast_browser_context.cc
+++ b/chromecast/browser/cast_browser_context.cc
@@ -38,11 +38,6 @@
   ~CastResourceContext() override {}
 
   // ResourceContext implementation:
-  net::HostResolver* GetHostResolver() override {
-    return url_request_context_factory_->GetMainGetter()->
-        GetURLRequestContext()->host_resolver();
-  }
-
   net::URLRequestContext* GetRequestContext() override {
     return url_request_context_factory_->GetMainGetter()->
         GetURLRequestContext();
diff --git a/chromecast/browser/cast_content_window.h b/chromecast/browser/cast_content_window.h
index 15e0ce1e..692dd166 100644
--- a/chromecast/browser/cast_content_window.h
+++ b/chromecast/browser/cast_content_window.h
@@ -64,7 +64,13 @@
   HIDDEN = 5,
 };
 
-enum class GestureType { NO_GESTURE = 0, GO_BACK = 1, TAP = 2, TAP_DOWN = 3 };
+enum class GestureType {
+  NO_GESTURE = 0,
+  GO_BACK = 1,
+  TAP = 2,
+  TAP_DOWN = 3,
+  TOP_DRAG = 4,
+};
 
 // Class that represents the "window" a WebContents is displayed in cast_shell.
 // For Linux, this represents an Aura window. For Android, this is a Activity.
diff --git a/chromecast/browser/cast_gesture_dispatcher.cc b/chromecast/browser/cast_gesture_dispatcher.cc
index 6cf35266..6a00d26 100644
--- a/chromecast/browser/cast_gesture_dispatcher.cc
+++ b/chromecast/browser/cast_gesture_dispatcher.cc
@@ -11,49 +11,57 @@
 
 namespace {
 constexpr int kDefaultBackGestureHorizontalThreshold = 80;
+
+GestureType GestureForSwipeOrigin(CastSideSwipeOrigin swipe_origin) {
+  switch (swipe_origin) {
+    case CastSideSwipeOrigin::LEFT:
+      return GestureType::GO_BACK;
+    case CastSideSwipeOrigin::TOP:
+      return GestureType::TOP_DRAG;
+    default:
+      return GestureType::NO_GESTURE;
+  }
+}
+
 }  // namespace
 
 CastGestureDispatcher::CastGestureDispatcher(
     CastContentWindow::Delegate* delegate)
-    : horizontal_threshold_(
+    : back_horizontal_threshold_(
           GetSwitchValueInt(switches::kBackGestureHorizontalThreshold,
                             kDefaultBackGestureHorizontalThreshold)),
-      delegate_(delegate),
-      dispatched_back_(false) {
+      delegate_(delegate) {
   DCHECK(delegate_);
 }
 bool CastGestureDispatcher::CanHandleSwipe(CastSideSwipeOrigin swipe_origin) {
-  return swipe_origin == CastSideSwipeOrigin::LEFT &&
-         delegate_->CanHandleGesture(GestureType::GO_BACK);
+  return delegate_->CanHandleGesture(GestureForSwipeOrigin(swipe_origin));
 }
 
 void CastGestureDispatcher::HandleSideSwipeBegin(
     CastSideSwipeOrigin swipe_origin,
     const gfx::Point& touch_location) {
-  if (swipe_origin == CastSideSwipeOrigin::LEFT) {
-    dispatched_back_ = false;
-    VLOG(1) << "swipe gesture begin";
-    current_swipe_time_ = base::ElapsedTimer();
+  if (!CanHandleSwipe(swipe_origin)) {
+    return;
+  }
+
+  current_swipe_time_ = base::ElapsedTimer();
+
+  GestureType gesture_type = GestureForSwipeOrigin(swipe_origin);
+  if (gesture_type == GestureType::GO_BACK) {
+    VLOG(1) << "back swipe gesture begin";
   }
 }
 
 void CastGestureDispatcher::HandleSideSwipeContinue(
     CastSideSwipeOrigin swipe_origin,
     const gfx::Point& touch_location) {
-  if (swipe_origin != CastSideSwipeOrigin::LEFT) {
+  if (!CanHandleSwipe(swipe_origin)) {
     return;
   }
 
-  if (!delegate_->CanHandleGesture(GestureType::GO_BACK)) {
-    return;
-  }
+  GestureType gesture_type = GestureForSwipeOrigin(swipe_origin);
 
-  // Already dispatched, don't send further progress events.
-  if (dispatched_back_) {
-    return;
-  }
-
-  delegate_->GestureProgress(GestureType::GO_BACK, touch_location);
+  delegate_->GestureProgress(gesture_type, touch_location);
   VLOG(1) << "swipe gesture continue, elapsed time: "
           << current_swipe_time_.Elapsed().InMilliseconds() << "ms";
 }
@@ -61,32 +69,26 @@
 void CastGestureDispatcher::HandleSideSwipeEnd(
     CastSideSwipeOrigin swipe_origin,
     const gfx::Point& touch_location) {
-  if (swipe_origin != CastSideSwipeOrigin::LEFT) {
+  if (!CanHandleSwipe(swipe_origin)) {
     return;
   }
+
+  GestureType gesture_type = GestureForSwipeOrigin(swipe_origin);
   VLOG(1) << "swipe end, elapsed time: "
           << current_swipe_time_.Elapsed().InMilliseconds() << "ms";
-  if (!delegate_->CanHandleGesture(GestureType::GO_BACK)) {
-    return;
-  }
 
-  // Already dispatched, don't send further events until the next begin.
-  if (dispatched_back_) {
-    return;
-  }
-
-  // Finger lifted before horizontal threshold met, cancel the gesture.
-  if (touch_location.x() < horizontal_threshold_) {
+  // If it's a back gesture, we have special handling to check for the
+  // horizontal threshold. If the finger has lifted before the horizontal
+  // gesture, cancel the back gesture and do not consume it.
+  if (gesture_type == GestureType::GO_BACK &&
+      touch_location.x() < back_horizontal_threshold_) {
     VLOG(1) << "swipe gesture cancelled";
     delegate_->CancelGesture(GestureType::GO_BACK, touch_location);
     return;
   }
 
-  // Finger lifted after horizontal threshold, let the consumer know we have a
-  // back gesture.
-  dispatched_back_ = true;
-  delegate_->ConsumeGesture(GestureType::GO_BACK);
-  VLOG(1) << "swipe gesture complete, elapsed time: "
+  delegate_->ConsumeGesture(gesture_type);
+  VLOG(1) << "gesture complete, elapsed time: "
           << current_swipe_time_.Elapsed().InMilliseconds() << "ms";
 }
 
diff --git a/chromecast/browser/cast_gesture_dispatcher.h b/chromecast/browser/cast_gesture_dispatcher.h
index 50b1ae13..939e336 100644
--- a/chromecast/browser/cast_gesture_dispatcher.h
+++ b/chromecast/browser/cast_gesture_dispatcher.h
@@ -33,9 +33,8 @@
 
  private:
   // Number of pixels past swipe origin to consider as a back gesture.
-  const int horizontal_threshold_;
+  const int back_horizontal_threshold_;
   CastContentWindow::Delegate* const delegate_;
-  bool dispatched_back_;
   base::ElapsedTimer current_swipe_time_;
 };
 
diff --git a/chromecast/browser/cast_gesture_dispatcher_test.cc b/chromecast/browser/cast_gesture_dispatcher_test.cc
index f9945377..ddfbade 100644
--- a/chromecast/browser/cast_gesture_dispatcher_test.cc
+++ b/chromecast/browser/cast_gesture_dispatcher_test.cc
@@ -27,8 +27,11 @@
 constexpr gfx::Point kValidBackGestureEndPoint(90, 50);
 constexpr gfx::Point kPastTheEndPoint1(105, 50);
 constexpr gfx::Point kPastTheEndPoint2(200, 50);
+
 constexpr gfx::Point kTopSidePoint(100, 5);
-constexpr gfx::Point kDownFromTheTopPoint(100, 100);
+constexpr gfx::Point kOngoingTopGesturePoint1(100, 70);
+constexpr gfx::Point kOngoingTopGesturePoint2(100, 75);
+constexpr gfx::Point kTopGestureEndPoint(100, 90);
 
 }  // namespace
 
@@ -49,9 +52,12 @@
 
 // Verify the simple case of a left swipe with the right horizontal leads to
 // back.
-TEST(CastGestureDispatcherTest, VerifySimpleDispatchSuccess) {
+TEST(CastGestureDispatcherTest, VerifySimpleBackSuccess) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
       .WillRepeatedly(Return(true));
   EXPECT_CALL(delegate, GestureProgress(Eq(GestureType::GO_BACK),
@@ -70,6 +76,9 @@
 TEST(CastGestureDispatcherTest, VerifyNoDispatchOnNoLift) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
       .WillRepeatedly(Return(true));
   EXPECT_CALL(delegate, ConsumeGesture(Eq(GestureType::GO_BACK))).Times(0);
@@ -85,35 +94,14 @@
                                      kPastTheEndPoint1);
 }
 
-// Verify that no continue events are dispatched after the end.
-TEST(CastGestureDispatcherTest, VerifyNoContinueAfterEnd) {
-  MockCastContentWindowDelegate delegate;
-  CastGestureDispatcher dispatcher(&delegate);
-  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
-      .WillRepeatedly(Return(true));
-  EXPECT_CALL(delegate, GestureProgress(Eq(GestureType::GO_BACK),
-                                        Eq(kOngoingBackGesturePoint1)));
-  EXPECT_CALL(delegate, ConsumeGesture(Eq(GestureType::GO_BACK)))
-      .WillOnce(Return(true));
-  EXPECT_CALL(delegate,
-              GestureProgress(Eq(GestureType::GO_BACK), Eq(kPastTheEndPoint1)))
-      .Times(0);
-
-  dispatcher.CanHandleSwipe(CastSideSwipeOrigin::LEFT);
-  dispatcher.HandleSideSwipeBegin(CastSideSwipeOrigin::LEFT, kLeftSidePoint);
-  dispatcher.HandleSideSwipeContinue(CastSideSwipeOrigin::LEFT,
-                                     kOngoingBackGesturePoint1);
-  dispatcher.HandleSideSwipeEnd(CastSideSwipeOrigin::LEFT,
-                                kValidBackGestureEndPoint);
-  dispatcher.HandleSideSwipeContinue(CastSideSwipeOrigin::LEFT,
-                                     kPastTheEndPoint1);
-}
-
 // Verify that multiple 'continue' events still only lead to one back
 // invocation.
 TEST(CastGestureDispatcherTest, VerifyOnlySingleDispatch) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
       .WillRepeatedly(Return(true));
   EXPECT_CALL(delegate, GestureProgress(Eq(GestureType::GO_BACK),
@@ -136,6 +124,9 @@
 TEST(CastGestureDispatcherTest, VerifyDelegateDoesNotConsumeUnwanted) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
       .WillRepeatedly(Return(false));
   dispatcher.CanHandleSwipe(CastSideSwipeOrigin::LEFT);
@@ -149,10 +140,13 @@
 TEST(CastGestureDispatcherTest, VerifyNotLeftSwipeIsNotBack) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   dispatcher.CanHandleSwipe(CastSideSwipeOrigin::TOP);
   dispatcher.HandleSideSwipeBegin(CastSideSwipeOrigin::TOP, kTopSidePoint);
   dispatcher.HandleSideSwipeContinue(CastSideSwipeOrigin::TOP,
-                                     kDownFromTheTopPoint);
+                                     kOngoingTopGesturePoint2);
 }
 
 // Verify that if the gesture doesn't go far enough horizontally that we will
@@ -160,6 +154,9 @@
 TEST(CastGestureDispatcherTest, VerifyNotFarEnoughRightIsNotBack) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
       .WillRepeatedly(Return(true));
   EXPECT_CALL(delegate, GestureProgress(Eq(GestureType::GO_BACK),
@@ -179,6 +176,9 @@
 TEST(CastGestureDispatcherTest, VerifyNotFarEnoughRightAndEndIsNotBack) {
   MockCastContentWindowDelegate delegate;
   CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(false));
+
   EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
       .WillRepeatedly(Return(true));
   EXPECT_CALL(delegate, GestureProgress(Eq(GestureType::GO_BACK),
@@ -193,5 +193,24 @@
                                 kOngoingBackGesturePoint2);
 }
 
+// Verify simple top-down drag.
+TEST(CastGestureDispatcherTest, VerifySimpleTopSuccess) {
+  MockCastContentWindowDelegate delegate;
+  CastGestureDispatcher dispatcher(&delegate);
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(true));
+  EXPECT_CALL(delegate, CanHandleGesture(Eq(GestureType::GO_BACK)))
+      .WillRepeatedly(Return(false));
+
+  EXPECT_CALL(delegate, GestureProgress(Eq(GestureType::TOP_DRAG),
+                                        Eq(kOngoingTopGesturePoint1)));
+  EXPECT_CALL(delegate, ConsumeGesture(Eq(GestureType::TOP_DRAG)))
+      .WillRepeatedly(Return(true));
+  dispatcher.CanHandleSwipe(CastSideSwipeOrigin::TOP);
+  dispatcher.HandleSideSwipeBegin(CastSideSwipeOrigin::TOP, kTopSidePoint);
+  dispatcher.HandleSideSwipeContinue(CastSideSwipeOrigin::TOP,
+                                     kOngoingTopGesturePoint1);
+  dispatcher.HandleSideSwipeEnd(CastSideSwipeOrigin::LEFT, kTopGestureEndPoint);
+}
 }  // namespace shell
 }  // namespace chromecast
diff --git a/chromecast/browser/cast_permission_manager.cc b/chromecast/browser/cast_permission_manager.cc
index c6eb353..bb878a2d 100644
--- a/chromecast/browser/cast_permission_manager.cc
+++ b/chromecast/browser/cast_permission_manager.cc
@@ -6,14 +6,13 @@
 
 #include "base/callback.h"
 #include "base/logging.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 
 namespace chromecast {
 namespace shell {
 
-CastPermissionManager::CastPermissionManager()
-    : content::PermissionManager() {
-}
+CastPermissionManager::CastPermissionManager() {}
 
 CastPermissionManager::~CastPermissionManager() {
 }
@@ -26,7 +25,7 @@
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
   LOG(INFO) << __FUNCTION__ << ": " << static_cast<int>(permission);
   callback.Run(blink::mojom::PermissionStatus::GRANTED);
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 int CastPermissionManager::RequestPermissions(
@@ -38,7 +37,7 @@
         void(const std::vector<blink::mojom::PermissionStatus>&)>& callback) {
   callback.Run(std::vector<blink::mojom::PermissionStatus>(
       permissions.size(), blink::mojom::PermissionStatus::GRANTED));
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 void CastPermissionManager::ResetPermission(
@@ -69,7 +68,7 @@
     const GURL& requesting_origin,
     const GURL& embedding_origin,
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 void CastPermissionManager::UnsubscribePermissionStatusChange(
diff --git a/chromeos/components/proximity_auth/logging/logging.cc b/chromeos/components/proximity_auth/logging/logging.cc
index b382bce..8303ac9 100644
--- a/chromeos/components/proximity_auth/logging/logging.cc
+++ b/chromeos/components/proximity_auth/logging/logging.cc
@@ -30,13 +30,14 @@
   if (!g_logging_enabled)
     return;
 
+  const std::string string_from_stream = stream_.str();
   LogBuffer::GetInstance()->AddLogMessage(LogBuffer::LogMessage(
-      stream_.str(), base::Time::Now(), file_, line_, severity_));
+      string_from_stream, base::Time::Now(), file_, line_, severity_));
 
   // The destructor of |log_message| also creates a log for the standard logging
   // system.
   logging::LogMessage log_message(file_, line_, severity_);
-  log_message.stream() << stream_.str();
+  log_message.stream() << string_from_stream;
 }
 
 }  // namespace proximity_auth
diff --git a/components/arc/common/app.mojom b/components/arc/common/app.mojom
index ba9b05c4..03b91314 100644
--- a/components/arc/common/app.mojom
+++ b/components/arc/common/app.mojom
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 //
-// Next MinVersion: 34
+// Next MinVersion: 35
 
 module arc.mojom;
 
@@ -272,7 +272,7 @@
 };
 
 // TODO(lhchavez): Migrate all request/response messages to Mojo.
-// Next method ID: 26
+// Next method ID: 27
 interface AppInstance {
   // DEPRECATED: Please use Init@21 instead.
   InitDeprecated@0(AppHost host_ptr);
@@ -364,8 +364,13 @@
   // happens) is ignored, and uninstall option should appear in the UI.
   [MinVersion=2] UninstallPackage@5(string package_name);
 
-  // Sends a request to ARC to get app shortcuts for app with |package_name|. If
-  // |package_name| is empty, it will query for all launchable activities.
+  // Sends a request to ARC to get app shortcuts for apps in global scope that
+  // match a |query|. Limits the results to only return |max_results|.
+  [MinVersion=34] GetAppShortcutGlobalQueryItems@26(
+      string query, int32 max_results) =>
+          (array<AppShortcutItem> shortcut_items);
+
+  // Sends a request to ARC to get app shortcuts for app with |package_name|.
   [MinVersion=29] GetAppShortcutItems@23(string package_name) =>
       (array<AppShortcutItem> shortcut_items);
 
diff --git a/components/arc/test/fake_app_instance.cc b/components/arc/test/fake_app_instance.cc
index dea8e85..ed99613 100644
--- a/components/arc/test/fake_app_instance.cc
+++ b/components/arc/test/fake_app_instance.cc
@@ -126,10 +126,7 @@
 void FakeAppInstance::SendTaskCreated(int32_t taskId,
                                       const mojom::AppInfo& app,
                                       const std::string& intent) {
-  app_host_->OnTaskCreated(taskId,
-                           app.package_name,
-                           app.activity,
-                           app.name,
+  app_host_->OnTaskCreated(taskId, app.package_name, app.activity, app.name,
                            intent);
 }
 
@@ -279,11 +276,9 @@
   std::move(callback).Run(it->second->package_name(), it->second->activity());
 }
 
-void FakeAppInstance::SetTaskActive(int32_t task_id) {
-}
+void FakeAppInstance::SetTaskActive(int32_t task_id) {}
 
-void FakeAppInstance::CloseTask(int32_t task_id) {
-}
+void FakeAppInstance::CloseTask(int32_t task_id) {}
 
 void FakeAppInstance::ShowPackageInfoDeprecated(
     const std::string& package_name,
@@ -388,6 +383,29 @@
                           std::move(fake_app_data_results));
 }
 
+void FakeAppInstance::GetAppShortcutGlobalQueryItems(
+    const std::string& query,
+    int32_t max_results,
+    GetAppShortcutGlobalQueryItemsCallback callback) {
+  // Fake app shortcut items results.
+  std::vector<mojom::AppShortcutItemPtr> fake_app_shortcut_items;
+
+  // Fake icon data.
+  std::string png_data_as_string;
+  GetFakeIcon(mojom::ScaleFactor::SCALE_FACTOR_100P, &png_data_as_string);
+  std::vector<uint8_t> fake_icon_png_data(png_data_as_string.begin(),
+                                          png_data_as_string.end());
+
+  for (int i = 0; i < max_results; ++i) {
+    fake_app_shortcut_items.emplace_back(mojom::AppShortcutItem::New(
+        base::StringPrintf("ShortcutId %d", i),
+        base::StringPrintf("ShortLabel %d", i), fake_icon_png_data,
+        "FakeAppPackageName", mojom::AppShortcutItemType::kStatic, i));
+  }
+
+  std::move(callback).Run(std::move(fake_app_shortcut_items));
+}
+
 void FakeAppInstance::GetAppShortcutItems(
     const std::string& package_name,
     GetAppShortcutItemsCallback callback) {
@@ -404,8 +422,7 @@
     fake_app_shortcut_items.push_back(mojom::AppShortcutItem::New(
         base::StringPrintf("ShortcutId %d", i),
         base::StringPrintf("ShortLabel %d", i), fake_icon_png_data,
-        package_name.empty() ? "FakeAppPackageName" : package_name,
-        mojom::AppShortcutItemType::kStatic, i));
+        package_name, mojom::AppShortcutItemType::kStatic, i));
   }
 
   std::move(callback).Run(std::move(fake_app_shortcut_items));
diff --git a/components/arc/test/fake_app_instance.h b/components/arc/test/fake_app_instance.h
index f402fbc2..74a98fc93 100644
--- a/components/arc/test/fake_app_instance.h
+++ b/components/arc/test/fake_app_instance.h
@@ -131,6 +131,10 @@
       const std::string& query,
       int32_t max_results,
       GetIcingGlobalQueryResultsCallback callback) override;
+  void GetAppShortcutGlobalQueryItems(
+      const std::string& query,
+      int32_t max_results,
+      GetAppShortcutGlobalQueryItemsCallback callback) override;
   void GetAppShortcutItems(const std::string& package_name,
                            GetAppShortcutItemsCallback callback) override;
   void StartPaiFlow() override;
diff --git a/components/autofill/core/browser/BUILD.gn b/components/autofill/core/browser/BUILD.gn
index 07007b4..e5c378ac 100644
--- a/components/autofill/core/browser/BUILD.gn
+++ b/components/autofill/core/browser/BUILD.gn
@@ -225,6 +225,8 @@
       "autofill_credit_card_policy_handler.h",
       "autofill_policy_handler.cc",
       "autofill_policy_handler.h",
+      "autofill_profile_policy_handler.cc",
+      "autofill_profile_policy_handler.h",
     ]
   }
 
@@ -463,6 +465,7 @@
     sources += [
       "autofill_credit_card_policy_handler_unittest.cc",
       "autofill_policy_handler_unittest.cc",
+      "autofill_profile_policy_handler_unittest.cc",
     ]
   }
 
diff --git a/components/autofill/core/browser/autofill_metrics.cc b/components/autofill/core/browser/autofill_metrics.cc
index 743e4f3..a04ba96 100644
--- a/components/autofill/core/browser/autofill_metrics.cc
+++ b/components/autofill/core/browser/autofill_metrics.cc
@@ -681,6 +681,11 @@
 }
 
 // static
+void AutofillMetrics::LogSaveCardCardholderNameWasEdited(bool edited) {
+  UMA_HISTOGRAM_BOOLEAN("Autofill.SaveCardCardholderNameWasEdited", edited);
+}
+
+// static
 void AutofillMetrics::LogCardUploadDecisionMetrics(
     int upload_decision_metrics) {
   DCHECK(upload_decision_metrics);
diff --git a/components/autofill/core/browser/autofill_metrics.h b/components/autofill/core/browser/autofill_metrics.h
index 92fb88f..562bb697 100644
--- a/components/autofill/core/browser/autofill_metrics.h
+++ b/components/autofill/core/browser/autofill_metrics.h
@@ -770,6 +770,11 @@
   // whether the cardholder name was prefilled or not.
   static void LogSaveCardCardholderNamePrefilled(bool prefilled);
 
+  // When a cardholder name fix flow is shown during credit card upload and the
+  // user accepts upload, logs whether the final cardholder name was changed
+  // from its prefilled value or not.
+  static void LogSaveCardCardholderNameWasEdited(bool edited);
+
   // |upload_decision_metrics| is a bitmask of |CardUploadDecisionMetric|.
   static void LogCardUploadDecisionMetrics(int upload_decision_metrics);
   static void LogCreditCardInfoBarMetric(
diff --git a/components/autofill/core/browser/autofill_profile_policy_handler.cc b/components/autofill/core/browser/autofill_profile_policy_handler.cc
new file mode 100644
index 0000000..295bfcb
--- /dev/null
+++ b/components/autofill/core/browser/autofill_profile_policy_handler.cc
@@ -0,0 +1,32 @@
+// 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 "components/autofill/core/browser/autofill_profile_policy_handler.h"
+
+#include "base/values.h"
+#include "components/autofill/core/common/autofill_pref_names.h"
+#include "components/policy/core/common/policy_map.h"
+#include "components/policy/policy_constants.h"
+#include "components/prefs/pref_value_map.h"
+
+namespace autofill {
+
+AutofillProfilePolicyHandler::AutofillProfilePolicyHandler()
+    : TypeCheckingPolicyHandler(policy::key::kAutofillProfileEnabled,
+                                base::Value::Type::BOOLEAN) {}
+
+AutofillProfilePolicyHandler::~AutofillProfilePolicyHandler() {}
+
+void AutofillProfilePolicyHandler::ApplyPolicySettings(
+    const policy::PolicyMap& policies,
+    PrefValueMap* prefs) {
+  const base::Value* value = policies.GetValue(policy_name());
+  bool autofill_profile_enabled;
+  if (value && value->GetAsBoolean(&autofill_profile_enabled) &&
+      !autofill_profile_enabled) {
+    prefs->SetBoolean(autofill::prefs::kAutofillProfileEnabled, false);
+  }
+}
+
+}  // namespace autofill
diff --git a/components/autofill/core/browser/autofill_profile_policy_handler.h b/components/autofill/core/browser/autofill_profile_policy_handler.h
new file mode 100644
index 0000000..7784b92
--- /dev/null
+++ b/components/autofill/core/browser/autofill_profile_policy_handler.h
@@ -0,0 +1,30 @@
+// 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 COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_POLICY_HANDLER_H_
+#define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_POLICY_HANDLER_H_
+
+#include "base/macros.h"
+#include "components/policy/core/browser/configuration_policy_handler.h"
+#include "components/policy/policy_export.h"
+
+namespace autofill {
+
+// ConfigurationPolicyHandler for the AutofillPolicyEnabled policy.
+class AutofillProfilePolicyHandler : public policy::TypeCheckingPolicyHandler {
+ public:
+  AutofillProfilePolicyHandler();
+  ~AutofillProfilePolicyHandler() override;
+
+  // ConfigurationPolicyHandler methods:
+  void ApplyPolicySettings(const policy::PolicyMap& policies,
+                           PrefValueMap* prefs) override;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(AutofillProfilePolicyHandler);
+};
+
+}  // namespace autofill
+
+#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_PROFILE_POLICY_HANDLER_H_
diff --git a/components/autofill/core/browser/autofill_profile_policy_handler_unittest.cc b/components/autofill/core/browser/autofill_profile_policy_handler_unittest.cc
new file mode 100644
index 0000000..b6d14fa1
--- /dev/null
+++ b/components/autofill/core/browser/autofill_profile_policy_handler_unittest.cc
@@ -0,0 +1,66 @@
+// 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 "components/autofill/core/browser/autofill_profile_policy_handler.h"
+
+#include <memory>
+
+#include "base/values.h"
+#include "components/autofill/core/common/autofill_pref_names.h"
+#include "components/policy/core/common/policy_map.h"
+#include "components/policy/core/common/policy_types.h"
+#include "components/policy/policy_constants.h"
+#include "components/prefs/pref_value_map.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace autofill {
+
+// Test cases for the Autofill profiles policy setting.
+class AutofillProfilePolicyHandlerTest : public testing::Test {};
+
+TEST_F(AutofillProfilePolicyHandlerTest, Default) {
+  policy::PolicyMap policy;
+  PrefValueMap prefs;
+  AutofillProfilePolicyHandler handler;
+  handler.ApplyPolicySettings(policy, &prefs);
+  EXPECT_FALSE(
+      prefs.GetValue(autofill::prefs::kAutofillProfileEnabled, nullptr));
+}
+
+TEST_F(AutofillProfilePolicyHandlerTest, Enabled) {
+  policy::PolicyMap policy;
+  policy.Set(policy::key::kAutofillProfileEnabled,
+             policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
+             policy::POLICY_SOURCE_CLOUD, std::make_unique<base::Value>(true),
+             nullptr);
+  PrefValueMap prefs;
+  AutofillProfilePolicyHandler handler;
+  handler.ApplyPolicySettings(policy, &prefs);
+
+  // Enabling Autofill for profiles should not set the prefs.
+  EXPECT_FALSE(
+      prefs.GetValue(autofill::prefs::kAutofillProfileEnabled, nullptr));
+}
+
+TEST_F(AutofillProfilePolicyHandlerTest, Disabled) {
+  policy::PolicyMap policy;
+  policy.Set(policy::key::kAutofillProfileEnabled,
+             policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
+             policy::POLICY_SOURCE_CLOUD, std::make_unique<base::Value>(false),
+             nullptr);
+  PrefValueMap prefs;
+  AutofillProfilePolicyHandler handler;
+  handler.ApplyPolicySettings(policy, &prefs);
+
+  // Disabling Autofill for profiles should switch the prefs to managed.
+  const base::Value* value = nullptr;
+  EXPECT_TRUE(prefs.GetValue(autofill::prefs::kAutofillProfileEnabled, &value));
+  ASSERT_TRUE(value);
+  bool autofill_profile_enabled = true;
+  bool result = value->GetAsBoolean(&autofill_profile_enabled);
+  ASSERT_TRUE(result);
+  EXPECT_FALSE(autofill_profile_enabled);
+}
+
+}  // namespace autofill
diff --git a/components/autofill/ios/browser/autofill_agent.mm b/components/autofill/ios/browser/autofill_agent.mm
index 301ea48..9bec27b 100644
--- a/components/autofill/ios/browser/autofill_agent.mm
+++ b/components/autofill/ios/browser/autofill_agent.mm
@@ -605,10 +605,10 @@
   web::URLVerificationTrustLevel trustLevel;
   const GURL pageURL(webState->GetCurrentURL(&trustLevel));
 
-  // Scan the page to find the latest version of the forms for their new,
-  // changed or previously hidden fields, when we get notified of form changes
-  // or a field is focused.
-  if (params.type == "form_changed" || params.type == "focus") {
+  // If the event is a form_changed, then the event concerns the whole page and
+  // not a particular form. The whole page need to be reparsed to find the new
+  // forms.
+  if (params.type == "form_changed") {
     [self scanFormsInPage:webState pageURL:pageURL];
     return;
   }
diff --git a/components/autofill_strings.grdp b/components/autofill_strings.grdp
index 0ec5a9f..63c61f1 100644
--- a/components/autofill_strings.grdp
+++ b/components/autofill_strings.grdp
@@ -241,7 +241,7 @@
     Cardholder name
   </message>
   <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_CARDHOLDER_NAME_TOOLTIP" desc="The tooltip text for the cardholder name textfield.">
-    This name will also be used when creating your Google payments account.
+    This name is from your Google Account.
   </message>
 
   <!-- Autofill Local card migration bubble or prompt -->
diff --git a/components/captive_portal/captive_portal_detector.cc b/components/captive_portal/captive_portal_detector.cc
index 90a39046..f06d2fe 100644
--- a/components/captive_portal/captive_portal_detector.cc
+++ b/components/captive_portal/captive_portal_detector.cc
@@ -27,13 +27,13 @@
 
 void CaptivePortalDetector::DetectCaptivePortal(
     const GURL& url,
-    const DetectionCallback& detection_callback,
+    DetectionCallback detection_callback,
     const net::NetworkTrafficAnnotationTag& traffic_annotation) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(!FetchingURL());
   DCHECK(detection_callback_.is_null());
 
-  detection_callback_ = detection_callback;
+  detection_callback_ = std::move(detection_callback);
 
   auto resource_request = std::make_unique<network::ResourceRequest>();
   resource_request->url = url;
@@ -85,10 +85,8 @@
   Results results;
   GetCaptivePortalResultFromResponse(net_error, response_code, url, headers,
                                      &results);
-  DetectionCallback callback = detection_callback_;
   simple_loader_.reset();
-  detection_callback_.Reset();
-  callback.Run(results);
+  std::move(detection_callback_).Run(results);
 }
 
 void CaptivePortalDetector::GetCaptivePortalResultFromResponse(
diff --git a/components/captive_portal/captive_portal_detector.h b/components/captive_portal/captive_portal_detector.h
index e4d3fbd..069f26d0 100644
--- a/components/captive_portal/captive_portal_detector.h
+++ b/components/captive_portal/captive_portal_detector.h
@@ -33,7 +33,7 @@
     GURL landing_url;
   };
 
-  typedef base::Callback<void(const Results& results)> DetectionCallback;
+  typedef base::OnceCallback<void(const Results& results)> DetectionCallback;
 
   // The test URL.  When connected to the Internet, it should return a
   // blank page with a 204 status code.  When behind a captive portal,
@@ -50,7 +50,7 @@
   // |callback|.
   void DetectCaptivePortal(
       const GURL& url,
-      const DetectionCallback& callback,
+      DetectionCallback callback,
       const net::NetworkTrafficAnnotationTag& traffic_annotation);
 
   // Cancels captive portal check.
diff --git a/components/captive_portal/captive_portal_detector_unittest.cc b/components/captive_portal/captive_portal_detector_unittest.cc
index b14b093..badce52 100644
--- a/components/captive_portal/captive_portal_detector_unittest.cc
+++ b/components/captive_portal/captive_portal_detector_unittest.cc
@@ -74,8 +74,8 @@
 
     detector()->DetectCaptivePortal(
         url,
-        base::Bind(&CaptivePortalClient::OnPortalDetectionCompleted,
-                   base::Unretained(&client)),
+        base::BindOnce(&CaptivePortalClient::OnPortalDetectionCompleted,
+                       base::Unretained(&client)),
         TRAFFIC_ANNOTATION_FOR_TESTS);
 
     ASSERT_TRUE(FetchingURL());
@@ -100,8 +100,8 @@
 
     detector()->DetectCaptivePortal(
         url,
-        base::Bind(&CaptivePortalClient::OnPortalDetectionCompleted,
-                   base::Unretained(&client)),
+        base::BindOnce(&CaptivePortalClient::OnPortalDetectionCompleted,
+                       base::Unretained(&client)),
         TRAFFIC_ANNOTATION_FOR_TESTS);
 
     ASSERT_TRUE(FetchingURL());
diff --git a/components/domain_reliability/service.cc b/components/domain_reliability/service.cc
index 3efe542e..388e4a2 100644
--- a/components/domain_reliability/service.cc
+++ b/components/domain_reliability/service.cc
@@ -16,7 +16,7 @@
 #include "components/domain_reliability/context.h"
 #include "components/domain_reliability/monitor.h"
 #include "content/public/browser/browser_context.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "net/url_request/url_request_context_getter.h"
 #include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
@@ -152,17 +152,12 @@
       base::SingleThreadTaskRunner* network_task_runner,
       const GURL& origin,
       base::OnceCallback<void(bool)> callback) {
-    bool allowed = false;
-
-    content::PermissionManager* permission_manager =
-        browser_context_->GetPermissionManager();
-
-    if (permission_manager) {
-      allowed = permission_manager->GetPermissionStatus(
-                    content::PermissionType::BACKGROUND_SYNC, origin, origin) ==
-                blink::mojom::PermissionStatus::GRANTED;
-    }
-
+    content::PermissionController* permission_controller =
+        content::BrowserContext::GetPermissionController(browser_context_);
+    DCHECK(permission_controller);
+    bool allowed = permission_controller->GetPermissionStatus(
+                       content::PermissionType::BACKGROUND_SYNC, origin,
+                       origin) == blink::mojom::PermissionStatus::GRANTED;
     network_task_runner->PostTask(FROM_HERE,
                                   base::BindOnce(std::move(callback), allowed));
   }
diff --git a/components/domain_reliability/service_unittest.cc b/components/domain_reliability/service_unittest.cc
index 84a1b1b..f8fa192 100644
--- a/components/domain_reliability/service_unittest.cc
+++ b/components/domain_reliability/service_unittest.cc
@@ -12,6 +12,7 @@
 #include "components/domain_reliability/monitor.h"
 #include "components/domain_reliability/test_util.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_manager.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/test/test_browser_context.h"
@@ -78,7 +79,7 @@
       const base::Callback<void(blink::mojom::PermissionStatus)>& callback)
       override {
     NOTIMPLEMENTED();
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   int RequestPermissions(
@@ -90,7 +91,7 @@
           void(const std::vector<blink::mojom::PermissionStatus>&)>& callback)
       override {
     NOTIMPLEMENTED();
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   void ResetPermission(content::PermissionType permission,
diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn
index 2341154c..afa4042 100644
--- a/components/password_manager/core/browser/BUILD.gn
+++ b/components/password_manager/core/browser/BUILD.gn
@@ -205,6 +205,7 @@
     "//net",
     "//services/metrics/public/cpp:metrics_cpp",
     "//services/metrics/public/cpp:ukm_builders",
+    "//services/network/public/cpp",
     "//sql",
     "//third_party/protobuf:protobuf_lite",
     "//third_party/re2",
@@ -296,6 +297,7 @@
     ":browser",
     ":hash_password_manager",
     "//components/ukm",
+    "//services/network/public/cpp",
     "//testing/gmock",
     "//url:url",
   ]
@@ -439,8 +441,11 @@
     "//components/sync:test_support_model",
     "//components/ukm:test_support",
     "//components/variations",
+    "//google_apis:google_apis",
     "//net:test_support",
     "//services/metrics/public/cpp:ukm_builders",
+    "//services/network:test_support",
+    "//services/network/public/cpp",
     "//sql:test_support",
     "//testing/gmock",
     "//testing/gtest",
diff --git a/components/password_manager/core/browser/DEPS b/components/password_manager/core/browser/DEPS
index b62763e..793928ad 100644
--- a/components/password_manager/core/browser/DEPS
+++ b/components/password_manager/core/browser/DEPS
@@ -15,6 +15,8 @@
   "+grit",
   "+net",
   "+services/metrics/public/cpp",
+  "+services/network/public/cpp",
+  "+services/network/test",
 ]
 
 specific_include_rules = {
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 8e86a50..4d6014e 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_backend.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_backend.cc
@@ -21,16 +21,15 @@
 #include "components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h"
 #include "components/password_manager/core/browser/android_affiliation/facet_manager.h"
 #include "net/url_request/url_request_context_getter.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace password_manager {
 
 AffiliationBackend::AffiliationBackend(
-    const scoped_refptr<net::URLRequestContextGetter>& request_context_getter,
     const scoped_refptr<base::SequencedTaskRunner>& task_runner,
     base::Clock* time_source,
     const base::TickClock* time_tick_source)
-    : request_context_getter_(request_context_getter),
-      task_runner_(task_runner),
+    : task_runner_(task_runner),
       clock_(time_source),
       tick_clock_(time_tick_source),
       construction_time_(clock_->Now()),
@@ -42,7 +41,10 @@
 AffiliationBackend::~AffiliationBackend() {
 }
 
-void AffiliationBackend::Initialize(const base::FilePath& db_path) {
+void AffiliationBackend::Initialize(
+    std::unique_ptr<network::SharedURLLoaderFactoryInfo>
+        url_loader_factory_info,
+    const base::FilePath& db_path) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(!throttler_);
   throttler_.reset(
@@ -54,6 +56,10 @@
   // return value here. See: https://crbug.com/478831.
   cache_.reset(new AffiliationDatabase());
   cache_->Init(db_path);
+  DCHECK(url_loader_factory_info);
+  DCHECK(!url_loader_factory_);
+  url_loader_factory_ = network::SharedURLLoaderFactory::Create(
+      std::move(url_loader_factory_info));
 }
 
 void AffiliationBackend::GetAffiliationsAndBranding(
@@ -252,7 +258,7 @@
   if (requested_facet_uris.empty())
     return false;
 
-  fetcher_.reset(AffiliationFetcher::Create(request_context_getter_.get(),
+  fetcher_.reset(AffiliationFetcher::Create(url_loader_factory_,
                                             requested_facet_uris, this));
   fetcher_->StartRequest();
   ReportStatistics(requested_facet_uris.size());
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_backend.h b/components/password_manager/core/browser/android_affiliation/affiliation_backend.h
index 79c17d6..3c38dcae 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_backend.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_backend.h
@@ -32,9 +32,9 @@
 class Time;
 }  // namespace base
 
-namespace net {
-class URLRequestContextGetter;
-}  // namespace net
+namespace network {
+class SharedURLLoaderFactoryInfo;
+}  // namespace network
 
 namespace password_manager {
 
@@ -57,12 +57,11 @@
  public:
   using StrategyOnCacheMiss = AffiliationService::StrategyOnCacheMiss;
 
-  // Constructs an instance that will use |request_context_getter| for all
+  // Constructs an instance that will use |url_loader_factory| for all
   // network requests, use |task_runner| for asynchronous tasks, and will rely
   // on |time_source| and |time_tick_source| to tell the current time/ticks.
   // Construction is very cheap, expensive steps are deferred to Initialize().
   AffiliationBackend(
-      const scoped_refptr<net::URLRequestContextGetter>& request_context_getter,
       const scoped_refptr<base::SequencedTaskRunner>& task_runner,
       base::Clock* time_source,
       const base::TickClock* time_tick_source);
@@ -70,7 +69,9 @@
 
   // Performs the I/O-heavy part of initialization. The database used to cache
   // affiliation information locally will be opened/created at |db_path|.
-  void Initialize(const base::FilePath& db_path);
+  void Initialize(std::unique_ptr<network::SharedURLLoaderFactoryInfo>
+                      url_loader_factory_info,
+                  const base::FilePath& db_path);
 
   // Implementations for methods of the same name in AffiliationService. They
   // are not documented here again. See affiliation_service.h for details:
@@ -140,7 +141,7 @@
   // sequence.
   SEQUENCE_CHECKER(sequence_checker_);
 
-  scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
+  scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
   scoped_refptr<base::SequencedTaskRunner> task_runner_;
   base::Clock* clock_;
   const base::TickClock* tick_clock_;
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_backend_unittest.cc b/components/password_manager/core/browser/android_affiliation/affiliation_backend_unittest.cc
index 1278453..9158620 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_backend_unittest.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_backend_unittest.cc
@@ -12,6 +12,7 @@
 #include "base/files/file_util.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/test/scoped_task_environment.h"
 #include "base/test/test_mock_time_task_runner.h"
 #include "base/test/test_simple_task_runner.h"
 #include "base/time/clock.h"
@@ -23,6 +24,9 @@
 #include "components/password_manager/core/browser/android_affiliation/fake_affiliation_api.h"
 #include "components/password_manager/core/browser/android_affiliation/mock_affiliation_consumer.h"
 #include "net/url_request/url_request_context_getter.h"
+#include "services/network/public/cpp/shared_url_loader_factory.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"
 
@@ -333,9 +337,12 @@
   void SetUp() override {
     ASSERT_TRUE(CreateTemporaryFile(&db_path_));
     backend_.reset(new AffiliationBackend(
-        nullptr, backend_task_runner_, backend_task_runner_->GetMockClock(),
+        backend_task_runner_, backend_task_runner_->GetMockClock(),
         backend_task_runner_->GetMockTickClock()));
-    backend_->Initialize(db_path());
+    auto test_shared_loader_factory =
+        base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
+            &test_url_loader_factory_);
+    backend_->Initialize(test_shared_loader_factory->Clone(), db_path());
     auto mock_fetch_throttler =
         std::make_unique<MockAffiliationFetchThrottler>(backend_.get());
     mock_fetch_throttler_ = mock_fetch_throttler.get();
@@ -349,6 +356,7 @@
         GetTestEquivalenceClassGamma());
   }
 
+  base::test::ScopedTaskEnvironment scoped_task_environment_;
   scoped_refptr<base::TestMockTimeTaskRunner> backend_task_runner_;
   scoped_refptr<base::TestSimpleTaskRunner> consumer_task_runner_;
 
@@ -356,6 +364,7 @@
   ScopedFakeAffiliationAPI fake_affiliation_api_;
   MockAffiliationConsumer mock_consumer_;
   std::unique_ptr<AffiliationBackend> backend_;
+  network::TestURLLoaderFactory test_url_loader_factory_;
   MockAffiliationFetchThrottler* mock_fetch_throttler_;  // Owned by |backend_|.
 
   DISALLOW_COPY_AND_ASSIGN(AffiliationBackendTest);
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 83e9f38..e0daa1a 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.cc
@@ -21,14 +21,13 @@
 #include "net/base/url_util.h"
 #include "net/http/http_status_code.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
-#include "net/url_request/url_fetcher.h"
-#include "net/url_request/url_request_context_getter.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 "url/gurl.h"
 
 namespace password_manager {
 
-namespace {
-
 // Enumeration listing the possible outcomes of fetching affiliation information
 // from the Affiliation API. This is used in UMA histograms, so do not change
 // existing values, only add new values at the end.
@@ -39,32 +38,13 @@
   AFFILIATION_FETCH_RESULT_MAX
 };
 
-// Records the given fetch |result| into the respective UMA histogram, as well
-// as the response and error codes of |fetcher| if it is non-null.
-void ReportStatistics(AffiliationFetchResult result,
-                      const net::URLFetcher* fetcher) {
-  UMA_HISTOGRAM_ENUMERATION("PasswordManager.AffiliationFetcher.FetchResult",
-                            result, AFFILIATION_FETCH_RESULT_MAX);
-  if (fetcher) {
-    base::UmaHistogramSparse(
-        "PasswordManager.AffiliationFetcher.FetchHttpResponseCode",
-        fetcher->GetResponseCode());
-    // Network error codes are negative. See: src/net/base/net_error_list.h.
-    base::UmaHistogramSparse(
-        "PasswordManager.AffiliationFetcher.FetchErrorCode",
-        -fetcher->GetStatus().error());
-  }
-}
-
-}  // namespace
-
 static TestAffiliationFetcherFactory* g_testing_factory = nullptr;
 
 AffiliationFetcher::AffiliationFetcher(
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const std::vector<FacetURI>& facet_uris,
     AffiliationFetcherDelegate* delegate)
-    : request_context_getter_(request_context_getter),
+    : url_loader_factory_(std::move(url_loader_factory)),
       requested_facet_uris_(facet_uris),
       delegate_(delegate) {
   for (const FacetURI& uri : requested_facet_uris_) {
@@ -72,19 +52,19 @@
   }
 }
 
-AffiliationFetcher::~AffiliationFetcher() {
-}
+AffiliationFetcher::~AffiliationFetcher() = default;
 
 // static
 AffiliationFetcher* AffiliationFetcher::Create(
-    net::URLRequestContextGetter* context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const std::vector<FacetURI>& facet_uris,
     AffiliationFetcherDelegate* delegate) {
   if (g_testing_factory) {
-    return g_testing_factory->CreateInstance(context_getter, facet_uris,
-                                             delegate);
+    return g_testing_factory->CreateInstance(std::move(url_loader_factory),
+                                             facet_uris, delegate);
   }
-  return new AffiliationFetcher(context_getter, facet_uris, delegate);
+  return new AffiliationFetcher(std::move(url_loader_factory), facet_uris,
+                                delegate);
 }
 
 // static
@@ -94,7 +74,7 @@
 }
 
 void AffiliationFetcher::StartRequest() {
-  DCHECK(!fetcher_);
+  DCHECK(!simple_url_loader_);
 
   net::NetworkTrafficAnnotationTag traffic_annotation =
       net::DefineNetworkTrafficAnnotation("affiliation_lookup", R"(
@@ -127,20 +107,25 @@
             }
           }
         })");
-  fetcher_ = net::URLFetcher::Create(BuildQueryURL(), net::URLFetcher::POST,
-                                     this, traffic_annotation);
-  fetcher_->SetRequestContext(request_context_getter_.get());
-  fetcher_->SetUploadData("application/x-protobuf", PreparePayload());
-  fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES |
-                         net::LOAD_DO_NOT_SEND_COOKIES |
-                         net::LOAD_DO_NOT_SEND_AUTH_DATA |
-                         net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE);
-  fetcher_->SetAutomaticallyRetryOn5xx(false);
-  fetcher_->SetAutomaticallyRetryOnNetworkChanges(0);
-  fetcher_->Start();
+  auto resource_request = std::make_unique<network::ResourceRequest>();
+  resource_request->url = BuildQueryURL();
+  resource_request->load_flags =
+      net::LOAD_DO_NOT_SAVE_COOKIES | net::LOAD_DO_NOT_SEND_COOKIES |
+      net::LOAD_DO_NOT_SEND_AUTH_DATA | net::LOAD_BYPASS_CACHE |
+      net::LOAD_DISABLE_CACHE;
+  resource_request->method = "POST";
+  simple_url_loader_ = network::SimpleURLLoader::Create(
+      std::move(resource_request), traffic_annotation);
+  simple_url_loader_->AttachStringForUpload(PreparePayload(),
+                                            "application/x-protobuf");
+  simple_url_loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
+      url_loader_factory_.get(),
+      base::BindOnce(&AffiliationFetcher::OnSimpleLoaderComplete,
+                     base::Unretained(this)));
 }
 
-GURL AffiliationFetcher::BuildQueryURL() const {
+// static
+GURL AffiliationFetcher::BuildQueryURL() {
   return net::AppendQueryParameter(
       GURL("https://www.googleapis.com/affiliation/v1/affiliation:lookup"),
       "key", google_apis::GetAPIKey());
@@ -163,6 +148,7 @@
 }
 
 bool AffiliationFetcher::ParseResponse(
+    const std::string& serialized_response,
     AffiliationFetcherDelegate::Result* result) const {
   // This function parses the response protocol buffer message for a list of
   // equivalence classes, and stores them into |results| after performing some
@@ -178,11 +164,6 @@
   //     case so the caller can be notified and it can act accordingly.
   //   * The |result| will be free of duplicate or empty equivalence classes.
 
-  std::string serialized_response;
-  if (!fetcher_->GetResponseAsString(&serialized_response)) {
-    NOTREACHED();
-  }
-
   affiliation_pb::LookupAffiliationResponse response;
   if (!response.ParseFromString(serialized_response))
     return false;
@@ -238,24 +219,41 @@
   return true;
 }
 
-void AffiliationFetcher::OnURLFetchComplete(const net::URLFetcher* source) {
-  DCHECK_EQ(source, fetcher_.get());
-
+void AffiliationFetcher::OnSimpleLoaderComplete(
+    std::unique_ptr<std::string> response_body) {
   // Note that invoking the |delegate_| may destroy |this| synchronously, so the
   // invocation must happen last.
   std::unique_ptr<AffiliationFetcherDelegate::Result> result_data(
       new AffiliationFetcherDelegate::Result);
-  if (fetcher_->GetStatus().status() == net::URLRequestStatus::SUCCESS &&
-      fetcher_->GetResponseCode() == net::HTTP_OK) {
-    if (ParseResponse(result_data.get())) {
-      ReportStatistics(AFFILIATION_FETCH_RESULT_SUCCESS, nullptr);
+  if (response_body) {
+    if (ParseResponse(*response_body, result_data.get())) {
+      UMA_HISTOGRAM_ENUMERATION(
+          "PasswordManager.AffiliationFetcher.FetchResult",
+          AFFILIATION_FETCH_RESULT_SUCCESS, AFFILIATION_FETCH_RESULT_MAX);
       delegate_->OnFetchSucceeded(std::move(result_data));
     } else {
-      ReportStatistics(AFFILIATION_FETCH_RESULT_MALFORMED, nullptr);
+      UMA_HISTOGRAM_ENUMERATION(
+          "PasswordManager.AffiliationFetcher.FetchResult",
+          AFFILIATION_FETCH_RESULT_MALFORMED, AFFILIATION_FETCH_RESULT_MAX);
       delegate_->OnMalformedResponse();
     }
   } else {
-    ReportStatistics(AFFILIATION_FETCH_RESULT_FAILURE, fetcher_.get());
+    UMA_HISTOGRAM_ENUMERATION("PasswordManager.AffiliationFetcher.FetchResult",
+                              AFFILIATION_FETCH_RESULT_FAILURE,
+                              AFFILIATION_FETCH_RESULT_MAX);
+    int response_code = -1;
+    if (simple_url_loader_->ResponseInfo() &&
+        simple_url_loader_->ResponseInfo()->headers) {
+      response_code =
+          simple_url_loader_->ResponseInfo()->headers->response_code();
+    }
+    base::UmaHistogramSparse(
+        "PasswordManager.AffiliationFetcher.FetchHttpResponseCode",
+        response_code);
+    // Network error codes are negative. See: src/net/base/net_error_list.h.
+    base::UmaHistogramSparse(
+        "PasswordManager.AffiliationFetcher.FetchErrorCode",
+        -simple_url_loader_->NetError());
     delegate_->OnFetchFailed();
   }
 }
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 2199744..2c220e0 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_fetcher.h
@@ -13,13 +13,13 @@
 #include "base/memory/ref_counted.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_fetcher_delegate.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_utils.h"
-#include "net/url_request/url_fetcher_delegate.h"
 
 class GURL;
 
-namespace net {
-class URLRequestContextGetter;
-}  // namespace net
+namespace network {
+class SharedURLLoaderFactory;
+class SimpleURLLoader;
+}  // namespace network
 
 namespace password_manager {
 
@@ -31,18 +31,21 @@
 //
 // An instance is good for exactly one fetch, and may be used from any thread
 // that runs a message loop (i.e. not a worker pool thread).
-class AffiliationFetcher : net::URLFetcherDelegate {
+class AffiliationFetcher {
  public:
-  ~AffiliationFetcher() override;
+  ~AffiliationFetcher();
 
   // Constructs a fetcher to retrieve affiliations for each facet in |facet_ids|
-  // using the specified |request_context_getter|, and will provide the results
+  // using the specified |url_loader_factory|, and will provide the results
   // to the |delegate| on the same thread that creates the instance.
   static AffiliationFetcher* Create(
-      net::URLRequestContextGetter* request_context_getter,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
       const std::vector<FacetURI>& facet_uris,
       AffiliationFetcherDelegate* delegate);
 
+  // Builds the URL for the Affiliation API's lookup method.
+  static GURL BuildQueryURL();
+
   // Sets the |factory| to be used by Create() to construct AffiliationFetcher
   // instances. To be used only for testing.
   //
@@ -57,7 +60,7 @@
   //   * 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.
-  virtual void StartRequest();
+  void StartRequest();
 
   const std::vector<FacetURI>& requested_facet_uris() const {
     return requested_facet_uris_;
@@ -66,14 +69,12 @@
   AffiliationFetcherDelegate* delegate() const { return delegate_; }
 
  protected:
-  AffiliationFetcher(net::URLRequestContextGetter* request_context_getter,
-                     const std::vector<FacetURI>& facet_uris,
-                     AffiliationFetcherDelegate* delegate);
+  AffiliationFetcher(
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::vector<FacetURI>& facet_uris,
+      AffiliationFetcherDelegate* delegate);
 
  private:
-  // Builds the URL for the Affiliation API's lookup method.
-  GURL BuildQueryURL() const;
-
   // Prepares and returns the serialized protocol buffer message that will be
   // the payload of the POST request.
   std::string PreparePayload() const;
@@ -84,16 +85,16 @@
   // member of exactly one returned equivalence class.
   // Returns false if the response was gravely ill-formed or self-inconsistent.
   // Unknown kinds of facet URIs and new protocol buffer fields will be ignored.
-  bool ParseResponse(AffiliationFetcherDelegate::Result* result) const;
+  bool ParseResponse(const std::string& serialized_response,
+                     AffiliationFetcherDelegate::Result* result) const;
 
-  // net::URLFetcherDelegate:
-  void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnSimpleLoaderComplete(std::unique_ptr<std::string> response_body);
 
-  const scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
+  scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
   const std::vector<FacetURI> requested_facet_uris_;
   AffiliationFetcherDelegate* const delegate_;
 
-  std::unique_ptr<net::URLFetcher> fetcher_;
+  std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
 
   DISALLOW_COPY_AND_ASSIGN(AffiliationFetcher);
 };
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 79351de..1caccd2 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
@@ -9,10 +9,15 @@
 #include <utility>
 
 #include "base/macros.h"
+#include "base/test/bind_test_util.h"
 #include "base/test/null_task_runner.h"
+#include "base/test/scoped_task_environment.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_api.pb.h"
-#include "net/url_request/test_url_fetcher_factory.h"
-#include "net/url_request/url_request_test_util.h"
+#include "net/base/url_util.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
+#include "services/network/test/test_url_loader_factory.h"
+#include "services/network/test/test_utils.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "url/gurl.h"
@@ -55,25 +60,31 @@
 class AffiliationFetcherTest : public testing::Test {
  public:
   AffiliationFetcherTest()
-      : request_context_getter_(new net::TestURLRequestContextGetter(
-            base::MakeRefCounted<base::NullTaskRunner>())) {}
+      : test_shared_loader_factory_(
+            base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
+                &test_url_loader_factory_)) {
+    test_url_loader_factory_.SetInterceptor(base::BindLambdaForTesting(
+        [&](const network::ResourceRequest& request) {
+          intercepted_body_ = network::GetUploadData(request);
+          intercepted_headers_ = request.headers;
+        }));
+  }
 
   ~AffiliationFetcherTest() override {}
 
  protected:
   void VerifyRequestPayload(const std::vector<FacetURI>& expected_facet_uris) {
-    net::TestURLFetcher* url_fetcher =
-        test_url_fetcher_factory_.GetFetcherByID(0);
-    ASSERT_NE(nullptr, url_fetcher);
-
     affiliation_pb::LookupAffiliationRequest request;
-    ASSERT_TRUE(request.ParseFromString(url_fetcher->upload_data()));
+    ASSERT_TRUE(request.ParseFromString(intercepted_body_));
 
     std::vector<FacetURI> actual_uris;
     for (int i = 0; i < request.facet_size(); ++i)
       actual_uris.push_back(FacetURI::FromCanonicalSpec(request.facet(i)));
 
-    EXPECT_EQ("application/x-protobuf", url_fetcher->upload_content_type());
+    std::string content_type;
+    intercepted_headers_.GetHeader(net::HttpRequestHeaders::kContentType,
+                                   &content_type);
+    EXPECT_EQ("application/x-protobuf", content_type);
     EXPECT_THAT(actual_uris,
                 testing::UnorderedElementsAreArray(expected_facet_uris));
 
@@ -82,41 +93,37 @@
     EXPECT_TRUE(request.mask().branding_info());
   }
 
-  void ServiceURLRequest(const std::string& response) {
-    net::TestURLFetcher* url_fetcher =
-        test_url_fetcher_factory_.GetFetcherByID(0);
-    ASSERT_NE(nullptr, url_fetcher);
+  GURL interception_url() { return AffiliationFetcher::BuildQueryURL(); }
 
-    url_fetcher->set_response_code(200);
-    url_fetcher->SetResponseString(response);
-    url_fetcher->delegate()->OnURLFetchComplete(url_fetcher);
+  void SetupSuccessfulResponse(const std::string& response) {
+    test_url_loader_factory_.AddResponse(interception_url().spec(), response);
   }
 
-  void SimulateServerError() {
-    net::TestURLFetcher* url_fetcher =
-        test_url_fetcher_factory_.GetFetcherByID(0);
-    ASSERT_NE(nullptr, url_fetcher);
-
-    url_fetcher->set_response_code(500);
-    url_fetcher->delegate()->OnURLFetchComplete(url_fetcher);
+  void SetupServerErrorResponse() {
+    test_url_loader_factory_.AddResponse(interception_url().spec(), "",
+                                         net::HTTP_INTERNAL_SERVER_ERROR);
   }
 
-  void SimulateNetworkError() {
-    net::TestURLFetcher* url_fetcher =
-        test_url_fetcher_factory_.GetFetcherByID(0);
-    ASSERT_NE(nullptr, url_fetcher);
-    url_fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::FAILED,
-                                                  net::ERR_NETWORK_CHANGED));
-    url_fetcher->delegate()->OnURLFetchComplete(url_fetcher);
+  void SetupNetworkErrorResponse() {
+    network::ResourceResponseHead head =
+        network::CreateResourceResponseHead(net::HTTP_INTERNAL_SERVER_ERROR);
+    head.mime_type = "application/protobuf";
+    network::URLLoaderCompletionStatus status(net::ERR_NETWORK_CHANGED);
+    test_url_loader_factory_.AddResponse(interception_url(), head, "", status);
   }
 
-  net::TestURLRequestContextGetter* request_context_getter() {
-    return request_context_getter_.get();
+  void WaitForResponse() { scoped_task_environment_.RunUntilIdle(); }
+
+  scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory() {
+    return test_shared_loader_factory_;
   }
 
  private:
-  scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_;
-  net::TestURLFetcherFactory test_url_fetcher_factory_;
+  base::test::ScopedTaskEnvironment scoped_task_environment_;
+  network::TestURLLoaderFactory test_url_loader_factory_;
+  scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory_;
+  std::string intercepted_body_;
+  net::HttpRequestHeaders intercepted_headers_;
 
   DISALLOW_COPY_AND_ASSIGN(AffiliationFetcherTest);
 };
@@ -140,14 +147,15 @@
   requested_uris.push_back(
       FacetURI::FromCanonicalSpec(kNotExampleAndroidFacetURI));
 
+  SetupSuccessfulResponse(test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), requested_uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), requested_uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
+
   ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris));
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(test_response.SerializeAsString()));
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(2u, mock_delegate.result().size());
@@ -178,14 +186,15 @@
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), requested_uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), requested_uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
+
   ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris));
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(test_response.SerializeAsString()));
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.result().size());
@@ -208,15 +217,15 @@
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(empty_test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), requested_uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), requested_uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
+
   ASSERT_NO_FATAL_FAILURE(VerifyRequestPayload(requested_uris));
-  ASSERT_NO_FATAL_FAILURE(
-      ServiceURLRequest(empty_test_response.SerializeAsString()));
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.result().size());
@@ -239,13 +248,14 @@
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), requested_uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(test_response.SerializeAsString()));
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), requested_uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
+
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.result().size());
@@ -266,13 +276,14 @@
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), requested_uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(test_response.SerializeAsString()));
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), requested_uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
+
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.result().size());
@@ -297,13 +308,14 @@
   std::vector<FacetURI> requested_uris;
   requested_uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), requested_uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchSucceededProxy());
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(test_response.SerializeAsString()));
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), requested_uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
+
   ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&mock_delegate));
 
   ASSERT_EQ(1u, mock_delegate.result().size());
@@ -320,13 +332,13 @@
   std::vector<FacetURI> uris;
   uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(kMalformedResponse);
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnMalformedResponse());
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(kMalformedResponse));
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
 }
 
 // Partially overlapping equivalence classes violate the invariant that
@@ -344,39 +356,39 @@
   std::vector<FacetURI> uris;
   uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupSuccessfulResponse(test_response.SerializeAsString());
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnMalformedResponse());
-  ASSERT_NO_FATAL_FAILURE(ServiceURLRequest(test_response.SerializeAsString()));
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
 }
 
 TEST_F(AffiliationFetcherTest, FailOnServerError) {
   std::vector<FacetURI> uris;
   uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupServerErrorResponse();
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchFailed());
-  ASSERT_NO_FATAL_FAILURE(SimulateServerError());
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
 }
 
 TEST_F(AffiliationFetcherTest, FailOnNetworkError) {
   std::vector<FacetURI> uris;
   uris.push_back(FacetURI::FromCanonicalSpec(kExampleWebFacet1URI));
 
+  SetupNetworkErrorResponse();
   MockAffiliationFetcherDelegate mock_delegate;
-  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
-      request_context_getter(), uris, &mock_delegate));
-  fetcher->StartRequest();
-
   EXPECT_CALL(mock_delegate, OnFetchFailed());
-  ASSERT_NO_FATAL_FAILURE(SimulateNetworkError());
+  std::unique_ptr<AffiliationFetcher> fetcher(AffiliationFetcher::Create(
+      test_shared_loader_factory(), uris, &mock_delegate));
+  fetcher->StartRequest();
+  WaitForResponse();
 }
 
 }  // namespace password_manager
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_service.cc b/components/password_manager/core/browser/android_affiliation/affiliation_service.cc
index e20d57c..0b469df 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_service.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_service.cc
@@ -15,7 +15,7 @@
 #include "base/time/default_clock.h"
 #include "base/time/default_tick_clock.h"
 #include "components/password_manager/core/browser/android_affiliation/affiliation_backend.h"
-#include "net/url_request/url_request_context_getter.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace password_manager {
 
@@ -34,17 +34,18 @@
 }
 
 void AffiliationService::Initialize(
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const base::FilePath& db_path) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(!backend_);
-  backend_ = new AffiliationBackend(
-      request_context_getter, backend_task_runner_,
-      base::DefaultClock::GetInstance(), base::DefaultTickClock::GetInstance());
+  backend_ = new AffiliationBackend(backend_task_runner_,
+                                    base::DefaultClock::GetInstance(),
+                                    base::DefaultTickClock::GetInstance());
 
   backend_task_runner_->PostTask(
-      FROM_HERE, base::Bind(&AffiliationBackend::Initialize,
-                            base::Unretained(backend_), db_path));
+      FROM_HERE, base::BindOnce(&AffiliationBackend::Initialize,
+                                base::Unretained(backend_),
+                                url_loader_factory->Clone(), db_path));
 }
 
 void AffiliationService::GetAffiliationsAndBranding(
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_service.h b/components/password_manager/core/browser/android_affiliation/affiliation_service.h
index 8c9d8e180..37c65fa 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_service.h
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_service.h
@@ -20,9 +20,9 @@
 class SequencedTaskRunner;
 }  // namespace base
 
-namespace net {
-class URLRequestContextGetter;
-}  // namespace net
+namespace network {
+class SharedURLLoaderFactory;
+}  // namespace network
 
 namespace password_manager {
 
@@ -105,8 +105,9 @@
 
   // Initializes the service by creating its backend and transferring it to the
   // thread corresponding to |backend_task_runner_|.
-  void Initialize(net::URLRequestContextGetter* request_context_getter,
-                  const base::FilePath& db_path);
+  void Initialize(
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const base::FilePath& db_path);
 
   // Looks up facets affiliated with the facet identified by |facet_uri| and
   // branding information, and invokes |result_callback| with the results. It is
diff --git a/components/password_manager/core/browser/android_affiliation/affiliation_service_unittest.cc b/components/password_manager/core/browser/android_affiliation/affiliation_service_unittest.cc
index 4b98c8f5..3327779 100644
--- a/components/password_manager/core/browser/android_affiliation/affiliation_service_unittest.cc
+++ b/components/password_manager/core/browser/android_affiliation/affiliation_service_unittest.cc
@@ -18,6 +18,9 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "components/password_manager/core/browser/android_affiliation/fake_affiliation_api.h"
 #include "components/password_manager/core/browser/android_affiliation/mock_affiliation_consumer.h"
+#include "services/network/public/cpp/shared_url_loader_factory.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"
 
@@ -47,7 +50,10 @@
   AffiliationServiceTest()
       : main_task_runner_(new base::TestSimpleTaskRunner),
         main_task_runner_handle_(main_task_runner_),
-        background_task_runner_(new base::TestMockTimeTaskRunner) {}
+        background_task_runner_(new base::TestMockTimeTaskRunner),
+        test_shared_loader_factory_(
+            base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
+                &test_url_loader_factory_)) {}
   ~AffiliationServiceTest() override {}
 
  protected:
@@ -74,7 +80,7 @@
     base::FilePath database_path;
     ASSERT_TRUE(CreateTemporaryFile(&database_path));
     service_.reset(new AffiliationService(background_task_runner()));
-    service_->Initialize(nullptr, database_path);
+    service_->Initialize(test_shared_loader_factory_, database_path);
     // Note: the background task runner is purposely not pumped here, so that
     // the tests also verify that the service can be used synchronously right
     // away after having been constructed.
@@ -92,6 +98,8 @@
   scoped_refptr<base::TestSimpleTaskRunner> main_task_runner_;
   base::ThreadTaskRunnerHandle main_task_runner_handle_;
   scoped_refptr<base::TestMockTimeTaskRunner> background_task_runner_;
+  network::TestURLLoaderFactory test_url_loader_factory_;
+  scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory_;
 
   ScopedFakeAffiliationAPI fake_affiliation_api_;
   MockAffiliationConsumer mock_consumer_;
diff --git a/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.cc b/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.cc
index e24ebe4..8fa599f63 100644
--- a/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.cc
+++ b/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.cc
@@ -3,17 +3,17 @@
 // found in the LICENSE file.
 
 #include "components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 #include <utility>
 
 namespace password_manager {
 
 password_manager::FakeAffiliationFetcher::FakeAffiliationFetcher(
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const std::vector<FacetURI>& facet_ids,
     AffiliationFetcherDelegate* delegate)
-    : AffiliationFetcher(request_context_getter, facet_ids, delegate) {
-}
+    : AffiliationFetcher(std::move(url_loader_factory), facet_ids, delegate) {}
 
 password_manager::FakeAffiliationFetcher::~FakeAffiliationFetcher() {
 }
@@ -27,10 +27,6 @@
   delegate()->OnFetchFailed();
 }
 
-void password_manager::FakeAffiliationFetcher::StartRequest() {
-  // Fake. Does nothing.
-}
-
 password_manager::ScopedFakeAffiliationFetcherFactory::
     ScopedFakeAffiliationFetcherFactory() {
   AffiliationFetcher::SetFactoryForTesting(this);
@@ -54,11 +50,11 @@
 }
 
 AffiliationFetcher* ScopedFakeAffiliationFetcherFactory::CreateInstance(
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const std::vector<FacetURI>& facet_ids,
     AffiliationFetcherDelegate* delegate) {
-  FakeAffiliationFetcher* fetcher =
-      new FakeAffiliationFetcher(request_context_getter, facet_ids, delegate);
+  FakeAffiliationFetcher* fetcher = new FakeAffiliationFetcher(
+      std::move(url_loader_factory), facet_ids, delegate);
   pending_fetchers_.push(fetcher);
   return fetcher;
 }
diff --git a/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.h b/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.h
index c6acf44d..100de78 100644
--- a/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.h
+++ b/components/password_manager/core/browser/android_affiliation/fake_affiliation_fetcher.h
@@ -19,10 +19,11 @@
 // responses to users of AffiliationFetcher.
 class FakeAffiliationFetcher : public AffiliationFetcher {
  public:
-  FakeAffiliationFetcher(net::URLRequestContextGetter* request_context_getter,
-                         const std::vector<FacetURI>& facet_ids,
-                         AffiliationFetcherDelegate* delegate);
-  ~FakeAffiliationFetcher() override;
+  FakeAffiliationFetcher(
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::vector<FacetURI>& facet_ids,
+      AffiliationFetcherDelegate* delegate);
+  ~FakeAffiliationFetcher();
 
   // Simulates successful completion of the request with |fake_result|. Note
   // that the consumer may choose to destroy |this| from within this call.
@@ -34,8 +35,6 @@
   void SimulateFailure();
 
  private:
-  void StartRequest() override;
-
   DISALLOW_COPY_AND_ASSIGN(FakeAffiliationFetcher);
 };
 
@@ -66,7 +65,7 @@
 
   // AffiliationFetcherFactory:
   AffiliationFetcher* CreateInstance(
-      net::URLRequestContextGetter* request_context_getter,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
       const std::vector<FacetURI>& facet_ids,
       AffiliationFetcherDelegate* delegate) override;
 
diff --git a/components/password_manager/core/browser/android_affiliation/test_affiliation_fetcher_factory.h b/components/password_manager/core/browser/android_affiliation/test_affiliation_fetcher_factory.h
index 0f73812..8b43a20 100644
--- a/components/password_manager/core/browser/android_affiliation/test_affiliation_fetcher_factory.h
+++ b/components/password_manager/core/browser/android_affiliation/test_affiliation_fetcher_factory.h
@@ -7,9 +7,9 @@
 
 #include <vector>
 
-namespace net {
-class URLRequestContextGetter;
-}  // namespace net
+namespace network {
+class SharedURLLoaderFactory;
+}  // namespace network
 
 namespace password_manager {
 
@@ -23,10 +23,10 @@
 class TestAffiliationFetcherFactory {
  public:
   // Constructs a fetcher to retrieve affiliations for each facet in |facet_ids|
-  // using the specified |request_context_getter|, and will provide the results
+  // using the specified |url_loader_factory|, and will provide the results
   // to the |delegate| on the same thread that creates the instance.
   virtual AffiliationFetcher* CreateInstance(
-      net::URLRequestContextGetter* request_context_getter,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
       const std::vector<FacetURI>& facet_ids,
       AffiliationFetcherDelegate* delegate) = 0;
 
diff --git a/components/password_manager/core/browser/password_store_factory_util.cc b/components/password_manager/core/browser/password_store_factory_util.cc
index 4e8cdb8..4b2bb81 100644
--- a/components/password_manager/core/browser/password_store_factory_util.cc
+++ b/components/password_manager/core/browser/password_store_factory_util.cc
@@ -13,6 +13,7 @@
 #include "components/password_manager/core/browser/android_affiliation/affiliation_utils.h"
 #include "components/password_manager/core/browser/password_manager_constants.h"
 #include "components/password_manager/core/common/password_manager_features.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace password_manager {
 
@@ -28,7 +29,7 @@
 
 void ActivateAffiliationBasedMatching(
     PasswordStore* password_store,
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const base::FilePath& db_path) {
   // Subsequent instances of the AffiliationService must use the same sequenced
   // task runner for their backends. This guarantees that the backend of the
@@ -45,7 +46,7 @@
   // is owned by the PasswordStore.
   std::unique_ptr<AffiliationService> affiliation_service(
       new AffiliationService(backend_task_runner));
-  affiliation_service->Initialize(request_context_getter, db_path);
+  affiliation_service->Initialize(std::move(url_loader_factory), db_path);
   std::unique_ptr<AffiliatedMatchHelper> affiliated_match_helper(
       new AffiliatedMatchHelper(password_store,
                                 std::move(affiliation_service)));
@@ -65,7 +66,7 @@
 void ToggleAffiliationBasedMatchingBasedOnPasswordSyncedState(
     PasswordStore* password_store,
     syncer::SyncService* sync_service,
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const base::FilePath& profile_path) {
   DCHECK(password_store);
 
@@ -75,7 +76,8 @@
       password_store->affiliated_match_helper() != nullptr;
 
   if (matching_should_be_active && !matching_is_active) {
-    ActivateAffiliationBasedMatching(password_store, request_context_getter,
+    ActivateAffiliationBasedMatching(password_store,
+                                     std::move(url_loader_factory),
                                      GetAffiliationDatabasePath(profile_path));
   } else if (!matching_should_be_active && matching_is_active) {
     password_store->SetAffiliatedMatchHelper(nullptr);
diff --git a/components/password_manager/core/browser/password_store_factory_util.h b/components/password_manager/core/browser/password_store_factory_util.h
index b3f7a1c4..a1fdbc9 100644
--- a/components/password_manager/core/browser/password_store_factory_util.h
+++ b/components/password_manager/core/browser/password_store_factory_util.h
@@ -15,19 +15,19 @@
 #include "components/password_manager/core/browser/password_store.h"
 #include "components/sync/driver/sync_service.h"
 #include "components/sync/model/syncable_service.h"
-#include "net/url_request/url_request_context_getter.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace password_manager {
 
 // Activates or deactivates affiliation-based matching for |password_store|,
 // depending on whether or not the |sync_service| is syncing passwords stored
-// therein. The AffiliationService will use |request_context_getter| to fetch
+// therein. The AffiliationService will use |url_loader_factory| to fetch
 // affiliation information. This function should be called whenever there is a
 // possibility that syncing passwords has just started or ended.
 void ToggleAffiliationBasedMatchingBasedOnPasswordSyncedState(
     PasswordStore* password_store,
     syncer::SyncService* sync_service,
-    net::URLRequestContextGetter* request_context_getter,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
     const base::FilePath& profile_path);
 
 // Creates a LoginDatabase. Looks in |profile_path| for the database file.
diff --git a/components/payments/content/installable_payment_app_crawler.cc b/components/payments/content/installable_payment_app_crawler.cc
index 1fac6442..0a4baaa 100644
--- a/components/payments/content/installable_payment_app_crawler.cc
+++ b/components/payments/content/installable_payment_app_crawler.cc
@@ -11,7 +11,7 @@
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/manifest_icon_downloader.h"
 #include "content/public/browser/payment_app_provider.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/console_message_level.h"
@@ -107,10 +107,10 @@
 
   if (web_contents() == nullptr)
     return;
-  content::PermissionManager* permission_manager =
-      web_contents()->GetBrowserContext()->GetPermissionManager();
-  if (permission_manager == nullptr)
-    return;
+  content::PermissionController* permission_controller =
+      content::BrowserContext::GetPermissionController(
+          web_contents()->GetBrowserContext());
+  DCHECK(permission_controller);
 
   for (const auto& url : default_applications) {
     if (downloaded_web_app_manifests_.find(url) !=
@@ -129,7 +129,7 @@
       continue;
     }
 
-    if (permission_manager->GetPermissionStatus(
+    if (permission_controller->GetPermissionStatus(
             content::PermissionType::PAYMENT_HANDLER, url.GetOrigin(),
             url.GetOrigin()) != blink::mojom::PermissionStatus::GRANTED) {
       // Do not download the web app manifest if it is blocked.
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index 0cbfea89..35d8858 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -1768,6 +1768,30 @@
       If you enable this setting or do not set a value, AutoFill will remain under the control of the user. This will allow them to configure AutoFill profiles and to switch AutoFill on or off at their own discretion.''',
     },
     {
+      'name': 'AutofillProfileEnabled',
+      'type': 'main',
+      'schema': { 'type': 'boolean' },
+      'supported_on': [
+        'chrome.*:69-',
+        'chrome_os:69-',
+        'android:69-',
+      ],
+      'features': {
+        'can_be_recommended': True,
+        'dynamic_refresh': True,
+        'per_profile': True,
+      },
+      'example_value': False,
+      'id': 459,
+      'caption': '''Enable AutoFill for profiles''',
+      'tags': [],
+      'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s AutoFill feature and allows users to auto complete profile and address information in web forms using previously stored information.
+
+      If this setting is disabled, Autofill will never suggest, or fill address information, nor will it save additional address information that the user might submit while browsing the web.
+
+      If this setting is enabled or has no value, the user will be able to control Autofill for addresses in the UI.''',
+    },
+    {
       'name': 'AutofillCreditCardEnabled',
       'type': 'main',
       'schema': { 'type': 'boolean' },
@@ -1785,11 +1809,11 @@
       'id': 392,
       'caption': '''Enable AutoFill for credit cards''',
       'tags': [],
-      'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s AutoFill feature and allows users to auto complete credit card and address information in web forms using previously stored information.
+      'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s AutoFill feature and allows users to auto complete credit card information in web forms using previously stored information.
 
-      If you disable this setting, Autofill will never suggest, or fill credit card information, nor will it save additional credit card information that the user might submit while browsing the web.
+      If this setting is disabled, Autofill will never suggest, or fill credit card information, nor will it save additional credit card information that the user might submit while browsing the web.
 
-      If you enable this setting or do not set a value, then user will be able to control the overall autofill feature (incuding credit cards) in the UI.''',
+      If this setting is enabled or has no value, the user will be able to control Autofill for credit cards in the UI.''',
     },
     {
       'name': 'DisabledPlugins',
@@ -12615,5 +12639,5 @@
   },
   'placeholders': [],
   'deleted_policy_ids': [412],
-  'highest_id_currently_used': 458
+  'highest_id_currently_used': 459
 }
diff --git a/components/policy/resources/policy_templates_am.xtb b/components/policy/resources/policy_templates_am.xtb
index 17f6a550..bac4539 100644
--- a/components/policy/resources/policy_templates_am.xtb
+++ b/components/policy/resources/policy_templates_am.xtb
@@ -218,12 +218,6 @@
       መመሪያው <ph name="PRODUCT_OS_NAME" /> የአገልግሎት ውሉን ሊያወርድበት ወደሚችል ዩአርኤል ነው መዋቀር ያለበት። የአገልግሎት ውሉ እንደ MIME አይነት ጽሑፍ/ግልጽ በቀረበ ስነጣ አልባ ጽሑፍ ነው መሆን ያለበት። ምንም ለውጥ ያዢ አይፈቀድም።</translation>
 <translation id="1750315445671978749">ሁሉንም ውርዶች አግድ</translation>
 <translation id="1781356041596378058">ይህ መመሪያ እንዲሁም ማን የAndroid ገንቢ አማራጮች መዳረሻ እንዳለው ይቆጣጠራል። ይህን መመሪያ ወደ እውነት ካዋቀሩት ተጠቃሚዎች የገንቢ አማራጮችን መድረስ አይችሉም። ይህን መመሪያ ወደ ሐሰት ካዋቀሩት ወይም እንዳልተዋቀረ ከተዉት ተጠቃሚዎች በAndroid ቅንብሮች መተግበሪያው ውስጥ ያለውን የግንብ ቁጥሩን ሰባት ጊዜ መታ በማድረግ የገንቢ አማራጮችን መድረስ ይችላሉ።</translation>
-<translation id="178832255504524723">የይለፍ ቃል ለውጥ ዩአርኤልን ያዋቅሩ (የኤችቲቲፒ እና የኤችቲቲፒኤስ ዕቅዶች ብቻ)። የይለፍ ቃል ጥበቃ አገልግሎት ተጠቃሚዎች ማስገር ከደረሰባቸው የይለፍ ቃላቸውን እንዲለውጡ ወደዚህ ዩአርኤል ይልካቸዋል።
-      <ph name="PRODUCT_NAME" /> በዚህ የይለፍ ቃል ለውጥ ገጽ ላይ አዲሱን የይለፍ ቃል ጣት አሻራን በትክክል መያዝ እንዲችል እባክዎ የይለፍ ቃል ለውጥ ገጽዎ በhttps://www.chromium.org/developers/design-documents/create-amazing-password-forms ላይ ያሉትን መመሪያዎች የሚከተል መሆኑን ያረጋግጡ።
-
-      ይህ ቅንብር ከነቃ የይለፍ ቃል ጥበቃ አገልግሎቱ ተጠቃሚዎች ማስገር ደርሶባቸው ከሆነ ወደዚህ ዩአርኤል ይልካቸዋል።
-      ይህ ቅንብር ከተሰናከለ ወይም ካልተዋቀረ የይለፍ ቃል ጥበቃ አገልግሎቱ ተጠቃሚዎች የይለፍ ቃላቸውን እንዲለውጡ ወደ https://myaccounts.google.com ይልካቸዋል።
-      ይህ መመሪያ ከ<ph name="MS_AD_NAME" /> ጎራ ጋር ባልተቀላቀሉ የWindows አብነቶች ላይ አይገኝም።</translation>
 <translation id="1797233582739332495">ዳግም ማስጀመር የሚያስፈልግ መሆኑን የሚያሳይ ተደጋጋሚ ጥያቄ ለተጠቃሚ ያሳዩ</translation>
 <translation id="1803646570632580723">በአስጀማሪው ላይ የሚያዩ የተሰኩ መተግበሪያዎች ዝርዝር</translation>
 <translation id="1808715480127969042">በእነዚህ ጣቢያዎች ላይ ኩኪዎችን አግድ</translation>
@@ -1417,14 +1411,6 @@
 <translation id="4980635395568992380">የውሂብ አይነት፦</translation>
 <translation id="4983201894483989687">የቆዩ ተሰኪዎች ማሄድን ይፍቀዱ</translation>
 <translation id="4988291787868618635">የስራ ፈትቶ መዘግየት ሲደርስ የሚወሰደው እርምጃ</translation>
-<translation id="4990301296093321860">የይለፍ ቃል ጥበቃ ማስጠንቀቂያ መቀስቀስን እንዲቆጣጠሩ ያስችልዎታል። የይለፍ ቃል ጥበቃ ተጠቃሚዎች የይለፍ ቃላቸውን አጠራጣሪ ሊሆኑ በሚችሉ ጣቢያዎች ላይ ዳግም ሲጠቀሙ ያሳውቃቸዋል።
-
-      የትኛው የይለፍ ቃል እንደሚጠበቅ ለማዋቀር የ«PasswordProtectionLoginURLs» እና «PasswordProtectionChangePasswordURL» መመሪያዎችን መጠቀም ይችላሉ።
-
-      ይህ መመሪያ ወደ «PasswordProtectionWarningOff» ከተዋቀረ ምንም የይለፍ ቃል ጥበቃ ማስጠንቀቂያ አይታይም።
-      ይህ መመሪያ ወደ «PasswordProtectionWarningOnPasswordReuse» ከተዋቀረ ተጠቃሚው የተጠበቀው ይለፍ ቃላቸውን በተፈቀደላቸው ዝርዝር ውስጥ ባልሆነ ጣቢያ ላይ ዳግም ሲጠቀሙበት የይለፍ ቃል ጥበቃ ማስጠንቀቂያው ይታያል።
-      ይህ መመሪያ ወደ «PasswordProtectionWarningOnPhishingReuse» ከተዋቀረ ተጠቃሚው የተጠበቀው የይለፍ ቃላቸውን በማስገሪያ ጣቢያ ላይ ዳግም ሲጠቀሙበት የይለፍ ቃል ጥበቃ ማስጠንቀቂያው ይታያል።
-      ይህ መመሪያ እንዳልተዋቀረ ከተተወ ተጠቃሚው የተጠበቀው የይለፍ ቃላቸውን በማስገሪያ ጣቢያ ላይ ሲጠቀሙ የይለፍ ቃል ጥበቃ ማስጠንቀቂያው ይቀሰቀሳል፣ ነገር ግን ተጠቃሚው ይህን ቅንብር መቀየር ይችላል።</translation>
 <translation id="4995548127349206948">የNTLMv2 ማረጋገጥ ነቅቶ ከሆነ።</translation>
 <translation id="5047604665028708335">ከይዘት ጥቅሎች ውጪ ያሉ የጣቢያዎች መዳረሻን ይፍቀዱ</translation>
 <translation id="5052081091120171147">ይህ መመሪያ ከነቃ የአሰሳ ታሪኩ ከአሁኑ ነባሪ አሳሽ እንዲመጣ ያስገድደዋል። ከነቃ ይህ መመሪያ የማስመጫ መልዕክቱ ላይም ተፅዕኖ ያሳርፋል።
@@ -1959,13 +1945,6 @@
 
       ይህ መመሪያ እንዳልተዋቀረ ከተተወ ወይም ዝርዝሩ ባዶ ከሆነ ሁሉ ሙሉ ምስርቶች በ<ph name="PRODUCT_NAME" /> ውስጥ ተደራሽ ይሆናሉ።</translation>
 <translation id="6652197835259177259">በአካባቢያዊ የሚቀናበሩ የተጠቃሚ ቅንብሮች</translation>
-<translation id="6654559957643809067">በ<ph name="PRODUCT_NAME" /> ውስጥ የአውታረ መረብ ግምትን ያነቃል እና ተጠቃሚዎች ይህንን ቅንብር እንዳይለውጡ ይከላከላል።
-
-      ይህ የዲኤንኤስ ቅድሚያ ማስመጣትን፣ የድረ-ገጾች  TCP እና SSL ቅድመ- ግንኙነትን እና ቅድመ-ምስር ስራን ይቆጣጠራል።
-
-      ይህን ምርጫ ወደ «ሁልጊዜ»፣ «በፍጹም» ወይም «WiFi ብቻ» ካዋቀሩት ተጠቃሚዎች በ<ph name="PRODUCT_NAME" /> ውስጥ ይህን ቅንብር መለወጥ ወይም መሻር አይችሉም።
-
-      ይህ መመሪያ እንዳልተዋቀረ ከተተወ የአውታረ መረብ ግምት ይነቃል፣ ሆኖም ግን ተጠቃሚው ሊለውጠው ይችላል።</translation>
 <translation id="6658245400435704251">መሣሪያው የዝማኔ ውርዱን ዝማኔው ከአገልጋዩ ከተገፋበት የመጀመሪያ ጊዜ ጀምሮ በዘፈቀደ ማዘግየት የሚችልባቸው የሰከንዶች ብዛት ይገልጻል። መሣሪያው የዚህ ጊዜ ክፍል በግድግዳ ሰዓት መልኩ ሊጠብቅ እና የተቀረውን ደግሞ በዝማኔ ፍለጋዎች ብዛት መልኩ ሊጠብቅ ይችላል። በማንኛውም አጋጣሚ መሣሪያው አንድን ዝማኔ እስከዘለዓለም እየጠበቀ እንዳይቀረቀር ብተናው ከፍ ቢል በተወሰነ የጊዜ መጠን ታስሯል።</translation>
 <translation id="6665670272107384733">ተጠቃሚው ፈጣን መክፈትን ለመጠቀም በምን ያህል ተደጋጋሚነት የይለፍ ቃል ማስገባት እንዳለበት ያቀናብሩ</translation>
 <translation id="6681229465468164801">ተጠቃሚው የዩኤስቢ መሣሪያ መዳረሻ እንዲሰጣቸው እንዳይጠይቁ የታገዱ ጣቢያዎችን የሚገልጹ የዩአርኤል ስርዓተ-ጥለቶች ዝርዝርን እንዲያቀናብሩ ያስችልዎታል።
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb
index 8d384c94..b338e58 100644
--- a/components/policy/resources/policy_templates_ar.xtb
+++ b/components/policy/resources/policy_templates_ar.xtb
@@ -225,12 +225,6 @@
       يجب تعيين السياسة على عنوان URL يمكن من خلاله أن ينزّل <ph name="PRODUCT_OS_NAME" /> بنود الخدمة. يجب أن تكون بنود الخدمة بنص عادي، وأن يتم عرضها بخط عادي أو كنص من النوع MIME. ولا يُسمح بإجراء أي ترميز.</translation>
 <translation id="1750315445671978749">حظر جميع التنزيلات</translation>
 <translation id="1781356041596378058">‏كما تتحكم هذه السياسة أيضًا في إمكانية الوصول إلى خيارات المطورين في Android. في حالة تعيين هذه السياسة على "true"، يتعذّر على المستخدمين الوصول إلى خيارات المطورين. في حالة تعيين هذه السياسة على "false" أو تركها غير معينة، يمكن للمستخدمين الوصول إلى خيارات المطورين من خلال النقر سبع مرات على رقم الإصدار في تطبيق إعدادات Android.</translation>
-<translation id="178832255504524723">‏يمكنك ضبط عنوان URL لتغيير كلمة المرور (مخططات HTTP وHTTPS فقط). وستوجه خدمة "حماية كلمات المرور" المستخدمين إلى عنوان URL هذا لتغيير كلمات المرور في حال حدوث تصيّد احتيالي.
-      وليتمكّن <ph name="PRODUCT_NAME" /> من الحصول على الملف المرجعي لكلمة المرور الجديدة بشكلٍ صحيح في صفحة تغيير كلمة المرور هذه، يُرجى التأكد من اتباع صفحة تغيير كلمة المرور للإرشادات الواردة في https://www.chromium.org/developers/design-documents/create-amazing-password-forms..
-
-      إذا تم تفعيل هذا الإعداد، ستوجه خدمة "حماية كلمات المرور" المستخدمين إلى عنوان URL هذا لتغيير كلمات المرور في حال حدوث تصيد احتيالي.
-      إذا تم إيقاف هذا الإعداد أو لم يتم تحديده، ستوجه خدمة "حماية كلمات المرور" المستخدمين إلى https://myaccounts.google.com لتغيير كلمة مرورهم.
-      لا تتوفر هذه السياسة على النسخ الافتراضية لنظام التشغيل Windows غير المُلحقة بنطاق <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">عرض رسالة مطالبة مكررة للمستخدم تشير إلى ضرورة إعادة التشغيل</translation>
 <translation id="1803646570632580723">قائمة التطبيقات المثبتة لعرضها في المشغل</translation>
 <translation id="1808715480127969042">حظر ملفات تعريف الارتباط في هذه المواقع</translation>
@@ -1367,14 +1361,6 @@
 <translation id="4980635395568992380">نوع البيانات:</translation>
 <translation id="4983201894483989687">السماح بتشغيل المكونات الإضافية القديمة</translation>
 <translation id="4988291787868618635">الإجراء الذي سيُتخذ عند انقضاء مهلة وضع الخمول</translation>
-<translation id="4990301296093321860">‏تتيح لك هذه السياسة التحكُّم في تشغيل تحذير حماية كلمة المرور. وتنبّه حماية كلمة المرور المستخدمين عند إعادة استعمال كلمات المرور المحمية في مواقع قد تكون مريبة.
-
-يمكنك استخدام السياستين "PasswordProtectionLoginURLs" و"PasswordProtectionChangePasswordURL" لتهيئة أي كلمات المرور سيتم حمايتها.
-
-       وفي حال ضبط هذه السياسة على "PasswordProtectionWarningOff"، لن يتم عرض أي تحذير لحماية كلمة المرور.
-       وفي حال ضبط هذه السياسة على "PasswordProtectionWarningOnPasswordReuse"، سيتم عرض تحذير حماية كلمة المرور عندما يعيد المستخدم استعمال كلمة المرور المحمية في موقع غير مُضاف إلى القائمة البيضاء.
-      وفي حال ضبط هذه السياسة على "PasswordProtectionWarningOnPhishingReuse"، سيتم عرض تحذير حماية كلمة المرور عندما يعيد المستخدم استعمال كلمة المرور المحمية في موقع تصيُّد احتيالي.
-      وفي حال عدم ضبط هذه السياسة، سيتم تشغيل تحذير حماية كلمة المرور عندما يعيد المستخدم استعمال كلمة المرور المحمية على موقع تصيُّد احتيالي ولكن سيمكن للمستخدم تغيير هذا الإعداد.</translation>
 <translation id="4995548127349206948">‏سواء تم تفعيل مصادقة NTLMv2 أم لا.</translation>
 <translation id="5047604665028708335">السماح بالدخول إلى المواقع خارج حزمات المحتوى</translation>
 <translation id="5052081091120171147">تفرض هذه السياسة استيراد سجل التصفح من المتصفح التلقائي الحالي إذا تم تمكينها. وفي حالة تمكينها، فإن هذه السياسة تؤثر أيضًا على مربع الحوار "استيراد". وإذا تم إيقافها، فلا يتم استيراد سجل التصفح. إذا لم يتم تعيينها، فقد يتم سؤال المستخدم بشأن الاستيراد أو إجراء الاستيراد تلقائيًا.</translation>
@@ -1851,13 +1837,6 @@
 
       إذا تم ترك هذه السياسة بدون تعيين أو كانت القائمة فارغة، فسيكون الوصول متاحًا لجميع الأنظمة في <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">إعدادات حسابات المستخدمين التي تخضع لإدارة محلية</translation>
-<translation id="6654559957643809067">‏تُمكن توقع الشبكة في <ph name="PRODUCT_NAME" /> وتمنع المستخدمين من تغيير هذا الإعداد.
-
-      ويتحكم ذلك في الجلب المسبق لنظام أسماء النطاقات والاتصال المُسبق عبر بروتوكول التحكم بالنقل (TCP) وطبقة المقابس الآمنة والعرض المسبق لصفحات الويب.
-
-      إذا عينّت هذا التفضيل على "always" أو "never" أو "WiFi only"، فلن يتمكن المستخدمون من تغيير هذا الإعداد أو إلغائه في <ph name="PRODUCT_NAME" />.
-
-      إذا تركت هذه السياسة غير مُعينة، فسيتم تفعيل توقع الشبكة ولكن سيظل المستخدم قادرًا على تغييره.</translation>
 <translation id="6658245400435704251">لتحديد عدد الثواني التي يجوز للجهاز بعد انقضائها تأخير تنزيل أحد التحديثات بشكل عشوائي بدءًا من وقت نشر التحديث أول مرة من الخادم. وربما ينتظر الجهاز بعض هذا الوقت باعتباره ضمن الوقت المستغرق حتى الاكتمال والجزء المتبقي من الوقت باعتباره ضمن بعض عمليات البحث عن التحديثات. على أيّ حال، فإن التشتيت يكون أكبر من أو يساوي مقدارًا ثابتًا من الوقت ولذلك فإن الجهاز لا يتوقف أبدًا لانتظار تنزيل أحد التحديثات باستمرار.</translation>
 <translation id="6665670272107384733">تحديد المهلة لطلب إدخال كلمة المرور من جديد لاستخدام ميزة "إلغاء القفل السريع".</translation>
 <translation id="6681229465468164801">‏تسمح لك السياسة بإعداد قائمة بأنماط عناوين URL تُحدّد المواقع الممنوعة من أن تطلب من المستخدم منحها إمكانية الوصول إلى جهاز USB.
diff --git a/components/policy/resources/policy_templates_bg.xtb b/components/policy/resources/policy_templates_bg.xtb
index 6f11d3a..2f7e444a 100644
--- a/components/policy/resources/policy_templates_bg.xtb
+++ b/components/policy/resources/policy_templates_bg.xtb
@@ -214,12 +214,6 @@
 За него трябва да се посочи URL адрес, от който <ph name="PRODUCT_OS_NAME" /> може да изтегли Общите условия. Те трябва да бъдат с неформатиран текст, показван като тип MIME „text/plain“. Не е разрешено маркиране.</translation>
 <translation id="1750315445671978749">Блокиране на всички изтегляния</translation>
 <translation id="1781356041596378058">Това правило контролира и достъпа до опциите за програмисти под Android. Ако зададете true за него, потребителите няма да имат достъп до тях. В случай че правилото е false или не е конфигурирано, потребителите ще могат да използват опциите за програмисти, като докоснат седем пъти номера на компилацията в приложението Настройки на Android.</translation>
-<translation id="178832255504524723">Конфигуриране на URL адреса за промяна на паролата (само със схема HTTP или HTTPS). Ако даден потребител стане жертва на фишинг, услугата за защита на паролата ще го отведе до посочения URL адрес, за да промени паролата си.
-За да може <ph name="PRODUCT_NAME" /> да запише правилно отпечатъка на новата парола на страницата за промяната й, тази страница трябва да е съобразена с указанията на адрес https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-Ако настройката е активирана, потребителите, станали жертва на фишинг, ще бъдат отвеждани до посочения URL адрес, за да променят паролата си.
-В случай че настройката е деактивирана или не е зададена, услугата за защита на паролата ще отвежда потребителите до https://myaccounts.google.com, за да променят паролата си.
-Това правило не е налице за екземпляри на Windows, които не са част от домейн на <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Периодично показване на подкана, указваща на потребителя, че е необходимо повторно стартиране</translation>
 <translation id="1803646570632580723">Списък с фиксирани приложения, които да се показват в стартовия панел</translation>
 <translation id="1808715480127969042">Блокиране на „бисквитките“ на тези сайтове</translation>
@@ -1379,14 +1373,6 @@
 <translation id="4980635395568992380">Тип на данните:</translation>
 <translation id="4983201894483989687">Разрешаване на изпълняването на остарели приставки</translation>
 <translation id="4988291787868618635">Действие, което да се предприеме при изтичане на времето за забавяне при неактивност</translation>
-<translation id="4990301296093321860">Дава възможност да контролирате задействането на предупреждение от услугата за защита на паролата. Тази услуга сигнализира на потребителите, когато повторно използват защитената си парола на потенциално подозрителни сайтове.
-
-      Можете да използвате правилата PasswordProtectionLoginURLs и PasswordProtectionChangePasswordURL, за да конфигурирате кои пароли да бъдат защитавани.
-
-      Ако за правилото е зададено PasswordProtectionWarningOff, няма да се показва предупреждение от услугата за защита на паролата.
-      При PasswordProtectionWarningOnPasswordReuse предупреждение ще се показва, когато потребителят използва повторно защитената си парола на сайт извън белия списък.
-      В случай че за правилото е зададено PasswordProtectionWarningOnPhishingReuse, предупреждение ще се показва, когато потребителят използва повторно защитената си парола на сайт за фишинг.
-      Ако правилото не е зададено, предупреждение ще се задейства, когато потребителят използва повторно защитената си парола на сайт за фишинг, но потребителят ще може да променя настройката.</translation>
 <translation id="4995548127349206948">Дали удостоверяването с NTLMv2 е активирано.</translation>
 <translation id="5047604665028708335">Разрешаване на достъпа до сайтове извън пакети със съдържание</translation>
 <translation id="5052081091120171147">Ако е активирано, това правило импортира принудително историята на сърфирането от текущия браузър по подразбиране. В такъв случай то оказва влияние и върху диалоговия прозорец за импортиране. Ако правилото е деактивирано, историята на сърфирането не се импортира. В случай че не е зададено, потребителят може да бъде попитан дали операцията да се извърши, или импортирането може да стане автоматично.</translation>
@@ -1882,13 +1868,6 @@
 
       Ако правилото не е зададено или списъкът е празен, в <ph name="PRODUCT_NAME" /> ще има достъп до всички схеми.</translation>
 <translation id="6652197835259177259">Настройки за локално управлявани потребители</translation>
-<translation id="6654559957643809067">Активира предвижданията за мрежата в <ph name="PRODUCT_NAME" /> и не позволява на потребителите да променят тази настройка.
-
-Тя контролира предварителното извличане на DNS, предварителното свързване през TCP и SSL и предварителното изобразяване на уеб страниците.
-
-Ако зададете „винаги“, „никога“ или „само през Wi-Fi“ за тази настройка, потребителите няма да могат да я променят или отменят в <ph name="PRODUCT_NAME" />.
-
-В случай че правилото не е зададено, предвижданията за мрежата ще са активирани, но потребителите ще могат да променят настройката.</translation>
 <translation id="6658245400435704251">Посочва до колко секунди устройството може произволно да забави изтеглянето на актуализация от момента на първото й изпращане към сървъра. То може да изчака част от времето от гледна точка на необходимия период за извършване на цялата операция, а останалата част – спрямо броя проверки за актуализации. Във всички случаи разпределянето е обвързано с горната граница на постоянен период от време, така че устройството никога да не блокира в непрекъснато изчакване на изтеглянето на актуализация.</translation>
 <translation id="6665670272107384733">Задаване колко често потребителят трябва да въвежда паролата, за да използва функцията за бързо отключване</translation>
 <translation id="6681229465468164801">Позволява да зададете списък с образци на URL адреси, посочващи сайтовете, на които не е разрешено да искат от потребителя достъп до USB устройство.
diff --git a/components/policy/resources/policy_templates_bn.xtb b/components/policy/resources/policy_templates_bn.xtb
index 6a7ba5ae..a8536d5d 100644
--- a/components/policy/resources/policy_templates_bn.xtb
+++ b/components/policy/resources/policy_templates_bn.xtb
@@ -262,12 +262,6 @@
       নীতিটি একটি URL এ সেট করা উচিত যেখান থেকে <ph name="PRODUCT_OS_NAME" /> পরিষেবার শর্তাদি ডাউনলোড করতে পারবে৷ পরিষেবার শর্তাদিটিকে অবশ্যই সাধারণ পাঠ্য হতে হবে, যা MIME প্রকার পাঠ্য/সাধারণ হিসাবে পরিবেশিত৷ কোন মার্কআপ অনুমোদিত নয়৷</translation>
 <translation id="1750315445671978749">সমস্ত ডাউনলোড ব্লক করুন</translation>
 <translation id="1781356041596378058">এছাড়া, এই নীতিটি Android ডেভেলপার বিকল্পগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে। আপনি এই নীতিটি সত্য হিসেবে সেট করলে, ব্যবহারকারীরা ডেভেলপার বিকল্পগুলি অ্যাক্সেস করতে পারবে না। আপনি যদি এই নীতিটি মিথ্যা হিসেবে সেট করেন বা এটি সেট না করে ছেড়ে যান, তাহলে ব্যবহারকারীরা Android সেটিংস অ্যাপ্লিকেশানে বিল্ড সংখ্যার উপর সাতবার আলতো চাপ দিয়ে ডেভেলপার বিকল্পগুলি অ্যাক্সেস করতে পারবেন।</translation>
-<translation id="178832255504524723">পাসওয়ার্ড পরিবর্তনের ইউআরএল কনফিগার করুন (শুধুমাত্র HTTP এবং HTTPS স্কিম)। ব্যবহারকারী যদি ফিশিংয়ে আক্রান্ত হন তাহলে পাসওয়ার্ড পরিবর্তনের জন্য তাদেরকে পাসওয়ার্ড সুরক্ষা পরিষেবা এই ইউআরএলে পাঠিয়ে দেবে।
-      পাসওয়ার্ড পরিবর্তন করার পৃষ্ঠাতে <ph name="PRODUCT_NAME" /> যাতে নতুন পাসওয়ার্ড ফিঙ্গারপ্রিন্টটি সঠিকভাবে চিনে নিতে পারে, তার জন্য দেখে নিন এই পৃষ্ঠাটি https://www.chromium.org/developers/design-documents/create-amazing-password-forms-এ উল্লেখ করা নির্দেশাবলী মেনে চলছে কিনা।
-
-      যদি এই সেটিং চালু থাকে, তবে ব্যবহারকারীরা ফিশিংয়ে আক্রান্ত হলে পাসওয়ার্ড পরিবর্তনের জন্য তাদেরকে পাসওয়ার্ড সুরক্ষা পরিষেবা এই ইউআরএলে পাঠিয়ে দেবে।
-      যদি এই সেটিং বন্ধ থাকে অথবা সেট না করা হয়, তাহলে পাসওয়ার্ড পরিবর্তনের জন্য ব্যবহারকারীদের পাসওয়ার্ড সুরক্ষা পরিষেবা https://myaccounts.google.com এ পাঠিয়ে দেবে।
-      <ph name="MS_AD_NAME" /> ডোমেনে যুক্ত নয় এমন Windows দৃষ্টান্তগুলিতে এই নীতিটি উপলভ্য নয়।</translation>
 <translation id="1797233582739332495">এটি যে রিলঞ্চ করা প্রয়োজন তা ব্যবহারকারীকে বার বার বিজ্ঞপ্তি পাঠিয়ে জানান।</translation>
 <translation id="1803646570632580723">লঞ্চারে প্রদর্শন করার জন্য পিন করা অ্যাপ্লিকেশনের তালিকা</translation>
 <translation id="1808715480127969042">এই সাইটগুলিতে কুকিজ অবরোধ করুন</translation>
@@ -2188,13 +2182,6 @@
 
       যদি নীতিটি সেট না করে ছেড়ে রাখা হয় বা যদি তালিকাটি খালি থাকে তাহলে <ph name="PRODUCT_NAME" /> এ সমস্ত স্কীম অ্যাক্সেস করা যাবে৷</translation>
 <translation id="6652197835259177259">স্থানীয়ভাবে পরিচালিত ব্যবহারকারীদের সেটিংস</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> এ নেটওয়ার্ক পূর্বাভাষ সক্ষম করে এবং ব্যবহারকারীদের এই সেটিংটি পরিবর্তন করতে বাধা দেয়।
-
-      এটি DNS পূর্বআনয়ন, ওয়েব পৃষ্ঠাগুলির TCP এবং SSL প্রাক সংযোগ ও প্রাক রেন্ডারিং নিয়ন্ত্রণ করে।
-
-     আপনি এই সেটিংকে 'সবসময়', 'কখনও না', বা 'শুধুমাত্র ওয়াই ফাই' এ সেট করলে ব্যবহারকারীরা <ph name="PRODUCT_NAME" /> এ এই সেটিং পরিবর্তন বা ওভাররাইড করতে পারবেন না।
-
-      এই নীতিটি যদি সেট না করে রাখা হয়, তাহলে নেটওয়ার্ক পূর্বাভাষ সক্ষম করা হবে কিন্তু ব্যবহারকারী এটি পরিবর্তন করতে পারবেন।</translation>
 <translation id="6658245400435704251">প্রথমবার সার্ভারে আপডেট কেনার পর থেকে কোনো ডিভাইস বারবার সেটির আপডেট ডাউনলোডে কত সেকেন্ড পর্যন্ত দেরি করতে পারে সেই সংখ্যা নির্দিষ্ট করে৷ ডিভাইস কিছু সময় দেওয়াল-ঘড়ি-সময়ের শর্তাদিতে এবং অবশিষ্ট সময় আপডেট চেকের সংখ্যার শর্তাদিতে অপেক্ষা করতে পারে৷ যেকোনো ক্ষেত্রে, নিক্ষেপনের উর্দ্ধসীমা একতি স্থির সময়ে আবদ্ধ থাকে যাতে কোনো ডিভাইস কখনও কোনো আপডেট ডাউনলোড করতে আটকে না পড়ে৷</translation>
 <translation id="6665670272107384733">দ্রুত আনলক ব্যবহার করতে ব্যবহারকারীকে কত সময় পরপর পাসওয়ার্ডটি লিখতে হবে তা সেট করুন</translation>
 <translation id="6681229465468164801">এমন URL প্যাটার্নের তালিকা সেট করতে দেয়, যেগুলি সেই সমস্ত সাইটকে উল্লেখ করে যেগুলিকে ইউএসবি ডিভাইসে অ্যাক্সেস চাওয়া থেকে ব্লক করা হয়েছে।
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb
index fefd115a..76734c6 100644
--- a/components/policy/resources/policy_templates_ca.xtb
+++ b/components/policy/resources/policy_templates_ca.xtb
@@ -213,12 +213,6 @@
       La política s'ha de definir en un URL del qual <ph name="PRODUCT_OS_NAME" /> pugui baixar els Termes i condicions, que han de trobar-se com a text sense format proporcionat com a text/sense format de tipus MIME. No es permet el marcatge.</translation>
 <translation id="1750315445671978749">Bloqueja totes les baixades</translation>
 <translation id="1781356041596378058">Aquesta política també controla l'accés a les Opcions per a desenvolupadors d'Android. Si l'estableixes en "true", els usuaris no hi poden accedir. Si l'estableixes en "false" o la deixes sense establir, els usuaris hi poden accedir tocant set vegades el número de compilació que hi ha a l'aplicació de configuració d'Android.</translation>
-<translation id="178832255504524723">Configura l'URL per canviar la contrasenya (només esquemes HTTP i HTTPS). El servei de protecció de contrasenyes enviarà els usuaris a aquest URL perquè canviïn la contrasenya si han estat víctimes d'un atac de pesca.
-      Perquè <ph name="PRODUCT_NAME" /> pugui capturar correctament l'empremta digital de la nova contrasenya en aquesta pàgina per canviar de contrasenya, assegura't que la pàgina segueixi les directrius descrites a https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Si aquesta opció de configuració està activada, el servei de protecció de contrasenyes enviarà els usuaris a aquest URL perquè canviïn la contrasenya si han estat víctimes d'un atac de pesca.
-      Si aquesta opció de configuració està desactivada o no s'estableix, el servei de protecció de contrasenyes enviarà els usuaris a https://myaccounts.google.com perquè canviïn la contrasenya.
-      Aquesta política no està disponible en instàncies de Windows que no formin part d'un domini que pertanyi a <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Mostra una sol·licitud periòdica a l'usuari per indicar-li que cal reiniciar el navegador</translation>
 <translation id="1803646570632580723">Llista d'aplicacions fixades perquè es mostrin a la barra d'execució ràpida</translation>
 <translation id="1808715480127969042">Bloqueja les galetes en aquests llocs</translation>
@@ -1370,14 +1364,6 @@
 <translation id="4980635395568992380">Tipus de dades:</translation>
 <translation id="4983201894483989687">Permet que s'executin els connectors que estiguin obsolets</translation>
 <translation id="4988291787868618635">Acció que cal dur a terme quan s'arriba al retard d'inactivitat</translation>
-<translation id="4990301296093321860">Et permet controlar l'activació d'un advertiment sobre la protecció de contrasenyes, que avisa els usuaris quan reutilitzen una contrasenya protegida en llocs web potencialment sospitosos.
-
-      Pots utilitzar les polítiques PasswordProtectionLoginURLs i PasswordProtectionChangePasswordURL per configurar quina contrasenya vols protegir.
-
-      Si aquesta política s'estableix en "PasswordProtectionWarningOff", no es mostrarà cap advertiment sobre la protecció de contrasenyes.
-      Si aquesta política s'estableix en "PasswordProtectionWarningOnPasswordReuse", l'advertiment sobre la protecció de contrasenyes es mostrarà quan l'usuari reutilitzi la seva contrasenya protegida en un lloc web que no es trobi a la llista blanca.
-      Si aquesta política s'estableix en "PasswordProtectionWarningOnPhishingReuse", l'advertiment sobre la protecció de contrasenyes es mostrarà quan l'usuari reutilitzi la seva contrasenya protegida en un lloc web de pesca.
-      Si aquesta política no es configura, l'advertiment sobre la protecció de contrasenyes s'activarà quan l'usuari reutilitzi la seva contrasenya protegida en un lloc web de pesca, però l'usuari podrà canviar aquesta opció de configuració.</translation>
 <translation id="4995548127349206948">Si l'autenticació NTLMv2 està activada.</translation>
 <translation id="5047604665028708335">Permet l'accés a llocs situats fora de paquets de contingut.</translation>
 <translation id="5052081091120171147">Si està activada, aquesta política fa que l'historial de navegació s'importi des del navegador predeterminat actual. Si està activada, aquesta política també afecta el diàleg d'importació. Si està desactivada, no s'importarà cap historial de navegació. Si no es defineix, pot ser que es demani a l'usuari si vol importar o bé la importació es pot produir de manera automàtica.</translation>
@@ -1870,13 +1856,6 @@
 
       Si no s'estableix aquesta política o la llista és buida, es podrà accedir a tots els esquemes a <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Configuració dels usuaris gestionats localment</translation>
-<translation id="6654559957643809067">Activa la predicció de xarxa a <ph name="PRODUCT_NAME" /> i impedeix que els usuaris canviïn aquesta opció de configuració.
-
-      No només controla la baixada prèvia de DNS, sinó també la connexió i la renderització prèvies de TCP i de SSL de les pàgines web.
-
-      Si establiu aquesta preferència en Sempre, en Mai o en Només Wi-Fi, els usuaris no podran canviar ni substituir aquesta opció de configuració a <ph name="PRODUCT_NAME" />.
-
-      Si aquesta política no s'estableix, la predicció de xarxa s'activarà però l'usuari podrà canviar-la.</translation>
 <translation id="6658245400435704251">Especifica el nombre de segons fins a què un dispositiu pot retardar aleatòriament la baixada d'una actualització des del moment en què l'actualització es transmet per primera vegada des del servidor. El dispositiu pot esperar una part d'aquest temps en termes de rellotge i la part restant en termes de nombre de comprovacions d'actualitzacions. En qualsevol cas, la dispersió tendeix cap amunt a una quantitat constant de temps, de manera que un dispositiu mai no es quedi encallat mentre espera que es baixi una actualització.</translation>
 <translation id="6665670272107384733">Defineix amb quina freqüència l'usuari ha d'introduir la contrasenya per utilitzar el desbloqueig ràpid</translation>
 <translation id="6681229465468164801">Permet definir una llista de patrons d'URL que especifiquin llocs web que no poden demanar a l'usuari que els concedeixi accés a un dispositiu USB.
diff --git a/components/policy/resources/policy_templates_cs.xtb b/components/policy/resources/policy_templates_cs.xtb
index 13eda10..d969e57 100644
--- a/components/policy/resources/policy_templates_cs.xtb
+++ b/components/policy/resources/policy_templates_cs.xtb
@@ -205,12 +205,6 @@
       Jako hodnotu této zásady zadejte adresu URL, ze které může systém <ph name="PRODUCT_OS_NAME" /> smluvní podmínky stáhnout. Smluvní podmínky musejí být uloženy ve formátu prostého textu s typem MIME „text/plain“. Nejsou povoleny žádné značky.</translation>
 <translation id="1750315445671978749">Blokovat veškerá stahování</translation>
 <translation id="1781356041596378058">Tato zásada také ovládá přístup k možnostem Pro vývojáře v systému Android. Pokud tuto zásadu nastavíte na hodnotu True, uživatelé nebudou mít přístup k sekci Pro vývojáře. Pokud tuto zásadu nastavíte na hodnotu False nebo ji nenastavíte, uživatelé budou moci možnosti Pro vývojáře otevřít tak, že v aplikaci Nastavení Android sedmkrát klepnou na číslo sestavení.</translation>
-<translation id="178832255504524723">Konfiguruje adresu URL pro změnu hesla (pouze schémata HTTP a HTTPS). Pokud uživatelé podlehli phishingovému útoku, bude služba pro ochranu hesel uživatele odesílat na tuto adresu URL, aby si změnili heslo.
-      Aby prohlížeč <ph name="PRODUCT_NAME" /> na stránce pro změnu hesla mohl správně pořídit otisk nového hesla, měla by odpovídat pokynům na stránce https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Pokud je toto nastavení zapnuto, bude služba pro ochranu hesel uživatele, kteří podlehli phishingovému útoku, odesílat na tuto adresu URL, aby si změnili heslo.
-      Pokud je toto nastavení vypnuto nebo není nastaveno, bude služba pro ochranu hesel uživatele za účelem změny hesla odesílat na adresu https://accounts.google.com.
-      V instancích systému Windows, které nejsou zařazeny do domény <ph name="MS_AD_NAME" />, tato zásada není k dispozici.</translation>
 <translation id="1797233582739332495">Zobrazovat uživateli opakovaně výzvu s oznámením, že je vyžadován restart</translation>
 <translation id="1803646570632580723">Seznam připnutých aplikací, které se zobrazují ve spouštěči</translation>
 <translation id="1808715480127969042">Blokovat soubory cookie na těchto stránkách</translation>
@@ -1386,14 +1380,6 @@
 <translation id="4980635395568992380">Typ údajů:</translation>
 <translation id="4983201894483989687">Povolit spouštění zastaralých pluginů</translation>
 <translation id="4988291787868618635">Akce prováděná po určité době nečinnosti</translation>
-<translation id="4990301296093321860">Umožňuje ovládat spouštění upozornění ohledně ochrany hesla. Upozornění ohledně ochrany hesla se uživatelům zobrazí, pokud své chráněné heslo použijí na potenciálně podezřelých webech.
-
-      Pomocí zásad PasswordProtectionLoginURLs a PasswordProtectionChangePasswordURL můžete nakonfigurovat, která hesla mají být chráněna.
-
-      Pokud tuto zásadu nastavíte na hodnotu PasswordProtectionWarningOff, upozornění ohledně ochrany hesla se zobrazovat nebude.
-      Pokud tuto zásadu nastavíte na hodnotu PasswordProtectionWarningOnPasswordReuse, zobrazí se upozornění ohledně ochrany hesla, když uživatel použije chráněné heslo na webu, který není uveden na seznamu povolených.
-      Pokud tuto zásadu nastavíte na hodnotu PasswordProtectionWarningOnPhishingReuse, zobrazí se upozornění ohledně ochrany hesla, když uživatel použije chráněné heslo na phishingovém webu.
-      Pokud tuto zásadu ponecháte nenastavenou, aktivuje se upozornění ohledně ochrany hesla v případě, že uživatel chráněné heslo použije na phishingovém webu. Uživatel však toto nastavení bude moci změnit.</translation>
 <translation id="4995548127349206948">Povolení nebo zakázání ověření NTLMv2.</translation>
 <translation id="5047604665028708335">Povolit přístup k webům mimo obsahové balíčky</translation>
 <translation id="5052081091120171147">Je-li tato zásada aktivovaná, vynucuje import historie procházení z aktuálního výchozího prohlížeče. Aktivace této zásady má také vliv na dialogové okno importu
@@ -1925,13 +1911,6 @@
 
 Pokud bude tato zásada ponechána nenastavená nebo bude seznam prázdný, bude v prohlížeči <ph name="PRODUCT_NAME" /> možné používat všechna schémata.</translation>
 <translation id="6652197835259177259">Nastavení místně spravovaných uživatelů</translation>
-<translation id="6654559957643809067">Aktivuje v prohlížeči <ph name="PRODUCT_NAME" /> předvídání sítě a brání uživatelům, aby toto nastavení změnili.
-
-Zásada ovlivňuje předběžné načítání záznamů DNS, předběžná připojení TCP a SSL a předběžné vykreslování webových stránek.
-
-Pokud zásadu nastavíte na hodnotu Vždy, Nikdy nebo Pouze Wi-Fi, uživatelé ji v prohlížeči <ph name="PRODUCT_NAME" /> nebudou moci změnit.
-
-Není-li tato zásada nastavena na konkrétní hodnotu, bude předvídání sítě aktivováno, ale uživatelé budou moci nastavení změnit.</translation>
 <translation id="6658245400435704251">Určí počet sekund, o který může zařízení náhodně zdržet stahování aktualizace od doby, kdy byla poprvé zveřejněna na serveru. Zařízení může čekat určitý čas a pokusit se o určitý počet kontrol aktualizací. Zpoždění je však v každém případě omezeno neměnným maximálním časovým limitem tak, aby zařízení nečekalo na stažení aktualizace donekonečna.</translation>
 <translation id="6665670272107384733">Nastavit, jak často musí uživatel zadat heslo, pokud chce používat rychlé odemknutí</translation>
 <translation id="6681229465468164801">Umožňuje nastavit seznam vzorů adres URL webů, které uživatele nesmějí žádat o přístup k zařízení USB.
diff --git a/components/policy/resources/policy_templates_da.xtb b/components/policy/resources/policy_templates_da.xtb
index a08abe5..148477f 100644
--- a/components/policy/resources/policy_templates_da.xtb
+++ b/components/policy/resources/policy_templates_da.xtb
@@ -221,12 +221,6 @@
       Politikken skal indstilles til en webadresse, hvorfra <ph name="PRODUCT_OS_NAME" /> kan downloade servicevilkårene. Servicevilkårene skal være almindelig tekst vist som MIME-tekst. Markering er ikke tilladt.</translation>
 <translation id="1750315445671978749">Bloker alle downloads</translation>
 <translation id="1781356041596378058">Denne politik styrer også adgangen til Indstillinger for udviklere i Android. Hvis du angiver denne politik til Sand, kan brugerne ikke få adgang til Indstillinger for udviklere. Hvis du angiver denne politik til Falsk eller ikke angiver den, kan brugerne få adgang til Indstillinger for udviklere ved at trykke syv gange på build-nummeret i Android-appen Indstillinger.</translation>
-<translation id="178832255504524723">Konfigurer webadressen til ændring af adgangskoder (kun HTTP- og HTTPS-adresser). Tjenesten til adgangskodebeskyttelse sender brugerne videre til denne webadresse, så de kan ændre deres adgangskoder, hvis de er blevet udsat for phishing.
-      Sørg for, at din side til ændring af adgangskoder følger retningslinjerne på https://www.chromium.org/developers/design-documents/create-amazing-password-forms, så <ph name="PRODUCT_NAME" /> registrerer det nye fingeraftryk som adgangskode på korrekt vis på den pågældende side til ændring af adgangskoder.
-
-      Hvis denne indstilling er aktiveret, sender tjenesten til adgangskodebeskyttelse brugerne videre til denne webadresse, så de kan ændre deres adgangskoder, hvis de er blevet udsat for phishing.
-      Hvis denne indstilling er deaktiveret eller ikke er angivet, sender tjenesten til adgangskodebeskyttelse brugerne videre til https://myaccounts.google.com, så de kan ændre deres adgangskoder.
-      Politikken er ikke tilgængelig i Windows-forekomster, der ikke er tilknyttet et <ph name="MS_AD_NAME" />-domæne.</translation>
 <translation id="1797233582739332495">Vis brugeren en fast meddelelse, som indikerer, at en genstart er påkrævet</translation>
 <translation id="1803646570632580723">Liste over fastgjorte apps, der skal vises på applisten</translation>
 <translation id="1808715480127969042">Bloker cookies på disse websites</translation>
@@ -1389,14 +1383,6 @@
 <translation id="4980635395568992380">Datatype:</translation>
 <translation id="4983201894483989687">Tillad, at der køres forældede plugins</translation>
 <translation id="4988291787868618635">Påkrævet handling for inaktivitetsforsinkelse</translation>
-<translation id="4990301296093321860">Dette giver dig mulighed for at styre aktivering af advarsler om adgangskodebeskyttelse. Advarsler om adgangskodebeskyttelse giver brugere besked, når de genbruger deres beskyttede adgangskode på websites, der potentielt kan være mistænkelige.
-
-      Du kan bruge politikkerne "PasswordProtectionLoginURLs" og "PasswordProtectionChangePasswordURL" til at konfigurere, hvilken adgangskode der skal beskyttes.
-
-      Hvis denne politik er indstillet til "PasswordProtectionWarningOff", vises der ingen advarsel om adgangskodebeskyttelse.
-      Hvis denne politik er indstillet til "PasswordProtectionWarningOnPasswordReuse", vises advarslen om adgangskodebeskyttelse, når brugeren genbruger sin beskyttede adgangskode på et website, der ikke er hvidlistet.
-      Hvis denne politik er indstillet til "PasswordProtectionWarningOnPhishingReuse", vises advarslen om adgangskodebeskyttelse, når brugeren genbruger sin beskyttede adgangskode på et phishingwebsite.
-      Hvis denne politik ikke er indstillet, udløses advarslen, når brugeren genbruger sin beskyttede adgangskode på et phishingwebsite, men brugeren kan ændre denne indstilling.</translation>
 <translation id="4995548127349206948">Om NTLMv2-godkendelse er aktiveret.</translation>
 <translation id="5047604665028708335">Tillad adgang til websites uden for indholdspakker.</translation>
 <translation id="5052081091120171147">Denne politik tvinger import af browserhistorikken fra den aktuelle standardbrowser, hvis den er aktiveret. Hvis denne politik er aktiveret, påvirker den også dialogboksen for import. Hvis den er deaktiveret, importeres der ikke nogen browserdata. Hvis den ikke er angivet, kan brugeren blive spurgt, om der skal importeres, ellers sker importen automatisk.</translation>
@@ -1891,13 +1877,6 @@
 
       Hvis denne politik ikke indstilles, eller hvis listen er tom, vil alle skemaer være tilgængelige i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Indstillinger for lokalt administrerede brugere</translation>
-<translation id="6654559957643809067">Aktiverer netværksforudsigelse i <ph name="PRODUCT_NAME" /> og forhindrer brugerne i at ændre denne indstilling.
-
-      Dette styrer både forudhentning af DNS og forhåndstilslutning af TCP og SSL samt forhåndsgengivelse af websider.
-
-      Hvis du angiver denne indstilling til "altid", "aldrig" eller "kun Wi-Fi", kan brugerne ikke ændre eller tilsidesætte denne indstilling i <ph name="PRODUCT_NAME" />.
-
-      Hvis denne politik ikke indstilles, aktiveres netværksforudsigelse, men brugeren vil kunne ændre det.</translation>
 <translation id="6658245400435704251">Angiver det antal sekunder, som en enhed på en tilfældig måde maksimalt kan forsinke en download af en opdatering fra det tidspunkt, hvor opdateringen først blev sendt ud til serveren. Enheden kan afsætte en del af denne tid i form af faktisk ventetid og den igangværende tid i form af det antal af opdateringer, der skal kontrolleres. Uanset hvad, er spredningen bundet af en øvre grænse til en konstant mængde af tid, således at en enhed aldrig kommer til at sidde fast og til evig tid vente på, at en opdatering downloades.</translation>
 <translation id="6665670272107384733">Konfigurer, hvor ofte brugeren skal indtaste adgangskoden for at bruge hurtig oplåsning.</translation>
 <translation id="6681229465468164801">Giver dig mulighed for at angive en liste med webadressemønstre, der angiver websites, som ikke må anmode brugeren om adgang til en USB-enhed.
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index 21174f2..25b1917c 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -214,12 +214,6 @@
       In der Richtlinie muss eine URL angegeben werden, von der <ph name="PRODUCT_OS_NAME" /> die Nutzungsbedingungen herunterladen kann. Die Nutzungsbedingungen müssen als unformatierter Text mit dem MIME-Typ "text/plain" vorliegen. Markups sind nicht zulässig.</translation>
 <translation id="1750315445671978749">Alle Downloads blockieren</translation>
 <translation id="1781356041596378058">Diese Richtlinie steuert zudem den Zugriff auf Android-Entwickleroptionen. Wenn Sie diese Richtlinie auf "true" setzen, können Nutzer nicht auf die Entwickleroptionen zugreifen. Wenn Sie diese Richtlinie auf "false" setzen oder nicht konfigurieren, können Nutzer auf die Entwickleroptionen zugreifen, indem sie siebenmal auf die Build-Nummer in der Android-App "Einstellungen" tippen.</translation>
-<translation id="178832255504524723">Mit dieser Richtlinie wird die URL zur Passwortänderung konfiguriert (nur HTTP- und HTTPS-Schemas). Nutzer, die Opfer eines Phishingangriffs geworden sind, werden vom Passwortschutzdienst an diese URL weitergeleitet, damit sie ihr Passwort ändern können.
-      Ihre Anmeldeseiten müssen den Richtlinien unter https://www.chromium.org/developers/design-documents/create-amazing-password-forms entsprechen, damit Fingerabdrücke zur Autorisierung in <ph name="PRODUCT_NAME" /> richtig erfasst werden können.
-
-      Wenn diese Einstellung aktiviert ist, leitet der Passwortschutzdienst Nutzer, die Opfer eines Phishingangriffs geworden sind, an diese URL weiter, damit sie ihr Passwort ändern können.
-      Wenn diese Einstellung deaktiviert oder nicht konfiguriert ist, leitet der Passwortschutzdienst Nutzer an https://myaccounts.google.com weiter, damit sie ihr Passwort ändern können.
-      Diese Richtlinie ist nur in Windows-Instanzen verfügbar, die mit einer <ph name="MS_AD_NAME" />-Domain verbunden sind.</translation>
 <translation id="1797233582739332495">Dem Nutzer eine wiederkehrende Aufforderung anzeigen, dass ein Neustart erforderlich ist</translation>
 <translation id="1803646570632580723">Liste der in der Übersicht angezeigten Apps ansehen</translation>
 <translation id="1808715480127969042">Cookies auf diesen Websites blockieren</translation>
@@ -680,9 +674,9 @@
 <translation id="2899002520262095963">Android-Apps können die über diese Richtlinie festgelegten Netzwerkkonfigurationen und CA-Zertifikate verwenden, haben jedoch keinen Zugriff auf bestimmte Konfigurationsoptionen.</translation>
 <translation id="290002216614278247">Ermöglicht, die Sitzung des Nutzers auf Grundlage der Clientzeit oder des Nutzungskontingents für den jeweiligen Tag zu sperren.
 
-          Das |time_window_limit| gibt ein tägliches Zeitfenster vor, in dem die Sitzung des Nutzers gesperrt sein soll. Wir unterstützen nur eine Regel für jeden Wochentag, weshalb die Größe der Matrix |entries| von 0 bis 7 reichen kann. |starts_at| und |ends_at| sind Anfang und Ende des Zeitfensters. Wenn |ends_at| kleiner ist als |starts_at|, bedeutet das, dass das |time_limit_window| am darauf folgenden Tag endet. |last_updated_millis| ist der UTC-Zeitstempel für die letzte Aktualisierung des Eintrags. Er wird als String gesendet, da ein Zeitstempel nicht in eine ganze Zahl passen würde.
+          Das |time_window_limit| gibt ein tägliches Zeitfenster vor, in dem die Sitzung des Nutzers gesperrt werden sollte. Wir unterstützen nur eine Regel für jeden Wochentag, weshalb die Größe der Matrix |entries| von 0 bis 7 reichen kann. |starts_at| und |ends_at| sind Anfang und Ende des Zeitfensters. Wenn |ends_at| kleiner ist als |starts_at|, bedeutet es, dass das |time_limit_window| am darauf folgenden Tag endet. |last_updated_millis| ist der UTC-Zeitstempel für die letzte Aktualisierung des Eintrags. Er wird als String gesendet, da ein Zeitstempel nicht in eine ganze Zahl passt.
 
-          Das |time_usage_limit| stellt ein tägliches Nutzungslimit dar. Wenn der Nutzer es erreicht, wird seine Sitzung gesperrt. Für jeden Tag der Woche steht eine Eigenschaft zur Verfügung und diese sollte nur dann konfiguriert werden, wenn für diesen Tag ein aktives Limit vorliegt. |usage_quota_mins| ist der Zeitraum, über den das verwaltete Gerät an einem bestimmten Tag genutzt werden darf, und |reset_at| ist der Zeitpunkt, an dem das Kontingent erneuert wird. Der Standardwert für |reset_at| ist Mitternacht ({'hour': 0, 'minute': 0}). |last_updated_millis| ist der UTC-Zeitstempel für die letzte Aktualisierung des Eintrags. Er wird als String gesendet, da ein Zeitstempel nicht in eine ganze Zahl passen würde.
+          Das |time_usage_limit| stellt ein tägliches Nutzungslimit dar. Wenn der Nutzer das Nutzungslimit erreicht, wird seine Sitzung gesperrt. Für jeden Tag der Woche steht eine Eigenschaft zur Verfügung und diese sollte nur dann konfiguriert werden, wenn für diesen Tag ein aktives Limit vorliegt. |usage_quota_mins| ist der Zeitraum, über den das verwaltete Gerät an einem bestimmten Tag genutzt werden darf, und |reset_at| ist der Zeitpunkt, an dem das Kontingent erneuert wird. Der Standardwert für |reset_at| ist Mitternacht ({'hour': 0, 'minute': 0}). |last_updated_millis| ist der UTC-Zeitstempel für die letzte Aktualisierung des Eintrags. Er wird als String gesendet, da ein Zeitstempel nicht in eine ganze Zahl passen würde.
 
           Mit |overrides| können die genannten Regeln vorübergehend außer Kraft gesetzt werden.
           * Wenn weder "time_window_limit" noch "time_usage_limit" aktiv sind, kann |LOCK| zur Sperrung des Geräts verwendet werden.
@@ -1372,14 +1366,6 @@
 <translation id="4980635395568992380">Datentyp:</translation>
 <translation id="4983201894483989687">Ausführung veralteter Plug-ins zulassen</translation>
 <translation id="4988291787868618635">Auszuführende Aktion bei Erreichen der Inaktivitätsverzögerung</translation>
-<translation id="4990301296093321860">Mit dieser Richtlinie können Sie die Auslösung der Passwortschutzwarnung steuern. Durch diese Meldung werden Nutzer gewarnt, wenn sie ihr geschütztes Passwort auf potenziell verdächtigen Websites wiederverwenden.
-
-      Mithilfe der Richtlinien "PasswordProtectionLoginURLs" und "PasswordProtectionChangePasswordURL" können Sie konfigurieren, welches Passwort geschützt werden soll.
-
-      Wenn diese Richtlinie auf "PasswordProtectionWarningOff" festgelegt ist, wird keine Passwortschutzwarnung angezeigt.
-      Ist diese Richtlinie auf "PasswordProtectionWarningOnPasswordReuse" festgelegt, wird die Passwortschutzwarnung angezeigt, wenn der Nutzer sein Google-Passwort auf einer Website wiederverwendet, die nicht auf der weißen Liste steht.
-      Ist diese Richtlinie auf "PasswordProtectionWarningOnPhishingReuse" festgelegt, wird die Passwortschutzwarnung angezeigt, wenn der Nutzer sein Google-Passwort auf einer Phishingwebsite wiederverwendet.
-      Ist diese Richtlinie nicht konfiguriert, wird die Passwortschutzwarnung ausgelöst, wenn der Nutzer sein Google-Passwort auf Phishingwebsites wiederverwendet. Der Nutzer kann diese Einstellung jedoch ändern.</translation>
 <translation id="4995548127349206948">Steuerung der Aktivierung der NTLMv2-Authentifizierung.</translation>
 <translation id="5047604665028708335">Zugriff auf Websites außerhalb von Inhaltspaketen erlauben</translation>
 <translation id="5052081091120171147">Diese Richtlinie erzwingt, sofern aktiv, den Import des Browserverlaufs aus dem aktuellen Standardbrowser. Ist die Richtlinie aktiviert, wirkt sie sich auch auf den Importdialog aus. Wenn sie deaktiviert ist, erfolgt kein Import des Browserverlaufs. Sollte sie nicht konfiguriert sein, so wird der Nutzer möglicherweise gefragt, ob ein Import erfolgen soll, oder der Import findet automatisch statt.</translation>
@@ -1877,13 +1863,6 @@
 
       Wenn diese Richtlinie nicht konfiguriert wird oder die Liste leer ist, sind alle Schemata in <ph name="PRODUCT_NAME" /> zugänglich.</translation>
 <translation id="6652197835259177259">Einstellungen für lokal verwaltete Nutzer</translation>
-<translation id="6654559957643809067">Diese Richtlinie aktiviert die Netzwerkvorhersage in <ph name="PRODUCT_NAME" /> und verhindert, dass die Einstellung von Nutzern geändert wird. 
-
-Hiermit werden DNS-Vorabruf, TCP- und SSL-Vorverbindung und das Pre-Rendering von Webseiten gesteuert. 
-
-Wenn Sie diese Einstellung auf "Immer", "Nie" oder "Nur WLAN" festlegen, können sie Nutzer in <ph name="PRODUCT_NAME" /> nicht ändern oder überschreiben. 
-
-Ist die Richtlinie nicht konfiguriert, wird die Netzwerkvorhersage aktiviert, kann jedoch vom Nutzer geändert werden. </translation>
 <translation id="6658245400435704251">Legt die Anzahl von Sekunden fest, die eine Verzögerung ab dem Übertragungszeitpunkt an den Server maximal betragen darf, wenn ein Gerät ein Update herunterlädt. Die Verzögerungszeit setzt sich aus der Istzeit und der auf die Anzahl der Überprüfungen auf Updates verwendeten Zeit zusammen. Die obere Grenze für den Streufaktor bildet ein konstanter Zeitraum, sodass ein Gerät nur eine begrenzte Zeit lang auf den Download eines Updates wartet.</translation>
 <translation id="6665670272107384733">Festlegen, wie oft der Nutzer das Passwort eingeben muss, um das schnelle Entsperren zu verwenden</translation>
 <translation id="6681229465468164801">Ermöglicht Ihnen die Erstellung einer Liste mit URL-Mustern. Den angegebenen Websites ist es nicht gestattet, Zugriff auf ein USB-Gerät anzufordern.
diff --git a/components/policy/resources/policy_templates_el.xtb b/components/policy/resources/policy_templates_el.xtb
index 86d9aa7..8e60892 100644
--- a/components/policy/resources/policy_templates_el.xtb
+++ b/components/policy/resources/policy_templates_el.xtb
@@ -223,12 +223,6 @@
       Η πολιτική πρέπει να οριστεί σε μια διεύθυνση URL, από την οποία το <ph name="PRODUCT_OS_NAME" /> μπορεί να λάβει τους Όρους Παροχής Υπηρεσιών. Οι Όροι Παροχής Υπηρεσιών πρέπει να είναι απλό κείμενο, το οποίο προβάλλεται ως απλό κείμενο τύπου MIME. Δεν επιτρέπονται σημάνσεις.</translation>
 <translation id="1750315445671978749">Αποκλεισμός όλων των λήψεων</translation>
 <translation id="1781356041596378058">Αυτή η πολιτική ελέγχει επίσης την πρόσβαση στις επιλογές για προγραμματιστές Android. Εάν αυτή η πολιτική οριστεί αληθής, οι χρήστες δεν μπορούν να αποκτήσουν πρόσβαση στις επιλογές για προγραμματιστές. Εάν ορίσετε αυτήν την πολιτική μη αληθή ή δεν την ορίσετε, οι χρήστες μπορούν να αποκτήσουν πρόσβαση στις επιλογές για προγραμματιστές πατώντας επτά φορές στον αριθμό έκδοσης στην εφαρμογή Ρυθμίσεις Android.</translation>
-<translation id="178832255504524723">Διαμόρφωση του URL αλλαγής κωδικού πρόσβασης (μόνο για συνδυασμούς HTTP και HTTPS). Η υπηρεσία προστασίας κωδικού πρόσβασης θα οδηγεί τους χρήστες σε αυτό το URL για να αλλάξουν τους κωδικούς πρόσβασής τους σε περίπτωση που έχουν πέσει θύματα ηλεκτρονικού ψαρέματος (phishing).
-      Προκειμένου το <ph name="PRODUCT_NAME" /> να καταγράψει σωστά το νέο μοναδικό χαρακτηριστικό του κωδικού πρόσβασης σε αυτήν τη σελίδα αλλαγής κωδικού πρόσβασης, βεβαιωθείτε ότι η σελίδα αλλαγής κωδικού πρόσβασής σας ακολουθεί τις οδηγίες στη διεύθυνση https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Εάν αυτή η ρύθμιση είναι ενεργοποιημένη, τότε η υπηρεσία προστασίας κωδικού πρόσβασης θα οδηγεί τους χρήστες σε αυτό το URL για να αλλάξουν τους κωδικούς πρόσβασής τους σε περίπτωση που έχουν πέσει θύματα ηλεκτρονικού ψαρέματος (phishing).
-      Εάν αυτή η ρύθμιση δεν έχει οριστεί ή είναι απενεργοποιημένη, τότε η υπηρεσία προστασίας κωδικού πρόσβασης θα οδηγεί τους χρήστες στη διεύθυνση https://myaccounts.google.com για να αλλάξουν τον κωδικό πρόσβασής τους.
-      Αυτή η πολιτική δεν είναι διαθέσιμη σε παρουσίες Windows που δεν συμμετέχουν σε έναν τομέα <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Εμφάνιση μιας επαναλαμβανόμενης προτροπής στον χρήστη, η οποία υποδεικνύει ότι απαιτείται επανεκκίνηση</translation>
 <translation id="1803646570632580723">Λίστα καρφιτσωμένων εφαρμογών που θα εμφανιστούν στη λειτουργία εκκίνησης</translation>
 <translation id="1808715480127969042">Αποκλεισμός cookie σε αυτούς τους ιστότοπους</translation>
@@ -1422,14 +1416,6 @@
 <translation id="4980635395568992380">Τύπος δεδομένων:</translation>
 <translation id="4983201894483989687">Να επιτρέπεται η εκτέλεση προσθηκών οι οποίες είναι παλιές</translation>
 <translation id="4988291787868618635">Ενέργεια που εκτελείται όταν πραγματοποιείται καθυστέρηση αδράνειας</translation>
-<translation id="4990301296093321860">Σας δίνει τη δυνατότητα να ελέγξετε την ενεργοποίηση της προειδοποίησης προστασίας κωδικού πρόσβασης. Οι ειδοποιήσεις προστασίας κωδικού πρόσβασης ειδοποιούν τους χρήστες όταν επαναχρησιμοποιούν τον προστατευμένο κωδικό πρόσβασής τους σε δυνητικά ύποπτους ιστοτόπους.
-
-      Μπορείτε να χρησιμοποιήσετε τις πολιτικές "PasswordProtectionLoginURLs" και "PasswordProtectionChangePasswordURL" για να ρυθμίσετε ποιος κωδικός πρόσβασης θα προστατευτεί.
-
-      Εάν αυτή η πολιτική έχει οριστεί ως "PasswordProtectionWarningOff", δεν θα εμφανίζεται προειδοποίηση προστασίας κωδικού πρόσβασης.
-      Εάν αυτή η πολιτική έχει οριστεί ως "PasswordProtectionWarningOnPasswordReuse", η προειδοποίηση προστασίας κωδικού πρόσβασης θα εμφανίζεται όταν ο χρήστης επαναχρησιμοποιεί τον προστατευμένο κωδικό πρόσβασής του σε ιστότοπο που δεν ανήκει στη λίστα επιτρεπόμενων.
-      Εάν αυτή η πολιτική έχει οριστεί ως "PasswordProtectionWarningOnPhishingReuse", η προειδοποίηση προστασίας κωδικού πρόσβασης θα εμφανίζεται όταν ο χρήστης επαναχρησιμοποιεί τον κωδικό πρόσβασής του σε έναν ιστότοπο που χρησιμοποιεί ηλεκτρονικό ψάρεμα (phishing).
-      Εάν δεν έχει οριστεί αυτή η πολιτική, η προειδοποίηση προστασίας κωδικού πρόσβασης θα εμφανίζεται όταν ο χρήστης επαναχρησιμοποιεί τον προστατευμένο κωδικό πρόσβασής του σε ιστότοπο που χρησιμοποιεί ηλεκτρονικό ψάρεμα (phishing), αλλά ο χρήστης θα μπορεί να αλλάξει τη συγκεκριμένη ρύθμιση.</translation>
 <translation id="4995548127349206948">Εάν είναι ενεργός ο έλεγχος ταυτότητας NTLMv2.</translation>
 <translation id="5047604665028708335">Να επιτρέπεται η πρόσβαση σε ιστότοπους εκτός των πακέτων περιεχομένου</translation>
 <translation id="5052081091120171147">Αυτή η πολιτική επιβάλλει στο ιστορικό περιήγησης να εισάγεται από το τρέχον προεπιλεγμένο πρόγραμμα περιήγησης, εφόσον έχει ενεργοποιηθεί. Αν είναι ενεργοποιημένη, η πολιτική αυτή επηρεάζει επίσης το παράθυρο εισαγωγής.
@@ -1960,13 +1946,6 @@
 
       Αν δεν ρυθμιστεί αυτή η πολιτική ή αν η λίστα είναι κενή, όλα τα σχέδια θα είναι προσβάσιμα στο <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Ρυθμίσεις χρηστών τοπικής διαχείρισης</translation>
-<translation id="6654559957643809067">Ενεργοποιεί την πρόβλεψη δικτύου στο <ph name="PRODUCT_NAME" /> και αποτρέπει τη δυνατότητα αλλαγής αυτής της ρύθμισης από τους χρήστες.
-
-      Αυτό ελέγχει την προαναζήτηση DNS, αλλά και την προσύνδεση και την προαπόδοση TCP και SSL των ιστοσελίδων.
-
-      Αν ορίσετε αυτήν την προτίμηση σε "πάντα", "ποτέ" ή "μόνο WiFi", οι χρήστες δεν θα μπορούν να αλλάξουν ή να παρακάμψουν τη συγκεκριμένη ρύθμιση στο <ph name="PRODUCT_NAME" />.
-
-      Αν αυτή η πολιτική δεν οριστεί, η πρόβλεψη δικτύου θα ενεργοποιηθεί, αλλά ο χρήστης θα έχει τη δυνατότητα να την αλλάξει.</translation>
 <translation id="6658245400435704251">Καθορίζει τον αριθμό των δευτερολέπτων μέχρι το διάστημα των οποίων ενδέχεται να καθυστερήσει τυχαία η λήψη μιας ενημέρωσης από μια συσκευή, από τη στιγμή που η ενημέρωση προωθήθηκε για πρώτη φορά στον διακομιστή. Η συσκευή ενδέχεται να διαθέσει κάποιο τμήμα του χρόνου ως χρόνο παρέλευσης και τον υπόλοιπο χρόνο σε μορφή αριθμού ελέγχων ενημερώσεων. Σε κάθε περίπτωση, η διασπορά οριοθετείται στο μέγιστο όριο σε ένα σταθερό χρονικό διάστημα, έτσι ώστε να μην καθυστερήσει η λήψη μιας ενημέρωσης.</translation>
 <translation id="6665670272107384733">Ορίζει τη συχνότητα με την οποία κάποιος χρήστης θα πρέπει να εισάγει τον κωδικό πρόσβασης για να χρησιμοποιεί το γρήγορο ξεκλείδωμα.</translation>
 <translation id="6681229465468164801">Σας επιτρέπει να ορίσετε μια λίστα μοτίβων URL που καθορίζουν ιστοτόπους στους οποίους δεν επιτρέπεται να ζητήσουν από έναν χρήστη να τους παραχωρήσει πρόσβαση σε μια συσκευή USB.
diff --git a/components/policy/resources/policy_templates_en-GB.xtb b/components/policy/resources/policy_templates_en-GB.xtb
index e3f9e63..231a944 100644
--- a/components/policy/resources/policy_templates_en-GB.xtb
+++ b/components/policy/resources/policy_templates_en-GB.xtb
@@ -223,12 +223,6 @@
       The policy should be set to a URL from which <ph name="PRODUCT_OS_NAME" /> can download the Terms of Service. The Terms of Service must be plain text, served as MIME type text/plain. No markup is allowed.</translation>
 <translation id="1750315445671978749">Block all downloads</translation>
 <translation id="1781356041596378058">This policy also controls access to Android Developer Options. If you set this policy to true, users cannot access Developer Options. If you set this policy to false or leave it unset, users can access Developer Options by tapping seven times on the build number in the Android settings app.</translation>
-<translation id="178832255504524723">Configure the change password URL (HTTP and HTTPS schemes only). Password protection service will send users to this URL to change their passwords if they've been phished.
-      For <ph name="PRODUCT_NAME" /> to correctly capture the new password fingerprint on this change password page, please make sure that your change password page follows the guidelines on https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      If this setting is enabled, password protection service will send users to this URL to change their passwords if they've been phished.
-      If this setting is disabled or not set, password protection service will send users to https://myaccounts.google.com to change their password.
-      This policy is not available on Windows instances that are not joined to a <ph name="MS_AD_NAME" /> domain.</translation>
 <translation id="1797233582739332495">Show a recurring prompt to the user indicating that a relaunch is required</translation>
 <translation id="1803646570632580723">List of pinned apps to show in the launcher</translation>
 <translation id="1808715480127969042">Block cookies on these sites</translation>
@@ -1430,14 +1424,6 @@
 <translation id="4980635395568992380">Data Types</translation>
 <translation id="4983201894483989687">Allow running plug-ins that are outdated</translation>
 <translation id="4988291787868618635">Action to take when the idle delay is reached</translation>
-<translation id="4990301296093321860">Allows you to control the triggering of password protection warning. Password protection alerts users when they reuse their protected password on potentially suspicious sites.
-
-      You can use 'PasswordProtectionLoginURLs' and 'PasswordProtectionChangePasswordURL' policies to configure which password to protect.
-
-      If this policy is set to 'PasswordProtectionWarningOff', no password protection warning will be shown.
-      If this policy is set to 'PasswordProtectionWarningOnPasswordReuse', password protection warning will be shown when the user reuses their protected password on a non-whitelisted site.
-      If this policy is set to 'PasswordProtectionWarningOnPhishingReuse', password protection warning will be shown when the user reuses their protected password on a phishing site.
-      If this policy is left unset, password protection warning will be triggered when the user reuses their protected password on a phishing site, but the user will be able to change this setting.</translation>
 <translation id="4995548127349206948">Whether NTLMv2 authentication is enabled.</translation>
 <translation id="5047604665028708335">Allow access to sites outside of content packs</translation>
 <translation id="5052081091120171147">This policy forces the browsing history to be imported from the current default browser, if enabled. If enabled, this policy also affects the import dialogue.
@@ -1971,13 +1957,6 @@
 
       If this policy is left not set or the list is empty all schemes will be accessible in <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Locally managed users settings</translation>
-<translation id="6654559957643809067">Enables network prediction in <ph name="PRODUCT_NAME" /> and prevents users from changing this setting.
-
-      This controls DNS prefetching, TCP and SSL preconnection and prerendering of web pages.
-
-      If you set this preference to 'always', 'never' or 'Wi-Fi only', users cannot change or override this setting in <ph name="PRODUCT_NAME" />.
-
-      If this policy is left not set, network prediction will be enabled but the user will be able to change it.</translation>
 <translation id="6658245400435704251">Specifies the number of seconds up to which a device may randomly delay its download of an update from the time the update was first pushed out to the server. The device may wait a portion of this time in terms of wall-clock-time and the remaining portion in terms of the number of update checks. In any case, the scatter is upper bounded to a constant amount of time so that a device does not ever get stuck waiting to download an update forever.</translation>
 <translation id="6665670272107384733">Set how often user has to enter password to use quick unlock</translation>
 <translation id="6681229465468164801">Allows you to set a list of url patterns that specify sites which are prevented from asking the user to grant them access to a USB device.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index ad7da0f99..cd74a408 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -220,12 +220,6 @@
       La política debe establecerse en una URL de la cual <ph name="PRODUCT_OS_NAME" /> pueda descargar las Condiciones del servicio. Estas deberán estar en texto sin formato y ofrecerse como texto sin formato tipo MIME. No se permiten marcas.</translation>
 <translation id="1750315445671978749">Bloquear todas las descargas</translation>
 <translation id="1781356041596378058">Esta política también controla el acceso a las Opciones para programador de Android. Si habilitas esta política, los usuarios no podrán acceder a las Opciones para programador. Si estableces esta política como falsa o no la estableces, los usuarios podrán acceder a las Opciones para programador al presionar siete veces el número de compilación en la app de Configuración de Android.</translation>
-<translation id="178832255504524723">Configura la URL de cambio de contraseña (solo en esquemas HTTP y HTTPS). Si los usuarios sufrieron un ataque de suplantación de identidad (phishing), el servicio de protección de contraseñas los redirecciona a esta URL para cambiar las suyas.
-      Para que <ph name="PRODUCT_NAME" /> capture la nueva huella digital de contraseña correctamente en esta página, asegúrate de que la página cumpla con los lineamientos que se indican en https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Si se habilita esta configuración, el servicio enviará a los usuarios a esta URL para que cambien sus contraseñas en el caso de que hayan sufrido un ataque de suplantación de identidad (phishing).
-      Si se inhabilita esta configuración o no se establece, el servicio enviará a los usuarios a https://myaccounts.google.com para que las cambien.
-      Esta política no está disponible en instancias de Windows que no se hayan unido a un dominio de <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Mostrar un mensaje recurrente al usuario para indicarle que se debe realizar un reinicio</translation>
 <translation id="1803646570632580723">Lista de aplicaciones fijas para mostrar en el menú de aplicaciones</translation>
 <translation id="1808715480127969042">Bloquear cookies en estos sitios</translation>
@@ -676,6 +670,19 @@
 <translation id="2877225735001246144">Inhabilitar la búsqueda de CNAME al negociar la autenticación de Kerberos</translation>
 <translation id="2893546967669465276">Enviar registros del sistema al servidor de administración</translation>
 <translation id="2899002520262095963">A través de esta política, las apps de Android pueden usar la configuración de red y los Certificados de CA, pero no tienen acceso a algunas opciones de configuración.</translation>
+<translation id="290002216614278247">Permite bloquear la sesión del usuario en función del tiempo del cliente o del uso durante el día.
+
+          El |time_window_limit| especifica un período diario en el que se debe bloquear la sesión del usuario. Solo se admite una regla por día, por lo que el tamaño de |entries| puede variar de 0 a 7. Los parámetros |starts_at| y |ends_at| representan el comienzo y final del período. Cuando |ends_at| es anterior a |starts_at|, significa que |time_limit_window| finaliza el día siguiente. |last_updated_millis| es la marca de tiempo expresada en UTC correspondiente a la última actualización de la entrada. Se envía como string porque la marca de tiempo no se puede expresar como número entero.
+
+          El |time_usage_limit| especifica un período de uso diario; cuando el usuario supera ese límite, se bloquea la sesión. Existe una propiedad para cada día de la semana, y debe establecerse solo si hay un horario de actividad ese día. |usage_quota_mins| es la cantidad de tiempo que puede usarse el dispositivo administrado un día determinado, y |reset_at| es la hora cuando se renueva el tiempo de uso. El valor predeterminado para |reset_at| es la medianoche ({"hora": 0, "minuto": 0}). |last_updated_millis| es la marca de tiempo expresada en UTC correspondiente a la última actualización de esta entrada. Se envía como string porque la marca de tiempo no se puede expresar como número entero.
+
+          Se proporciona |overrides| para invalidar de forma temporal una o varias de las reglas anteriores.
+          * Si no están activos time_window_limit ni time_usage_limit, se podrá usar |LOCK| para bloquear el dispositivo.
+          * |LOCK| bloquea de forma temporal una sesión de usuario hasta que comienza el siguiente time_window_limit o time_usage_limit.
+          * |UNLOCK| desbloquea una sesión de usuario que esté bloqueada por time_window_limit o time_usage_limit.
+          |created_time_millis| es la marca de tiempo expresada en UTC para la anulación. Este valor se usa para determinar si se debe aplicar esta anulación y se envía como string porque la marca de tiempo no se puede expresar como número entero. Si la función de límite actual para el tiempo activo (el límite de uso o el límite de tiempo) comenzó después de haberse creado la anulación, no realiza ninguna acción. Además, la anulación no debe aplicarse si se creó antes del último cambio del time_window_limit o time_usage_window activos.
+
+          Si se envían varias anulaciones, se aplicará la entrada válida más reciente.</translation>
 <translation id="2906874737073861391">Lista de extensiones AppPack</translation>
 <translation id="2907992746861405243">Controla a qué impresoras de <ph name="BULK_PRINTERS_POLICY" /> pueden acceder los usuarios.
 
@@ -1732,6 +1739,12 @@
 <translation id="6155936611791017817">Establece el estado predeterminado del cursor grande en la pantalla de acceso.</translation>
 <translation id="6157537876488211233">Lista separada por comas de las normas de omisión de proxy</translation>
 <translation id="6158324314836466367">Indica el nombre de la tienda web de la empresa (en desuso).</translation>
+<translation id="6164955668342404660">Dejó de estar disponible en M69. Usa OverrideSecurityRestrictionsOnInsecureOrigin en su lugar.
+
+      La política especifica una lista de orígenes (URL) que se considerarán como contexto seguro. El objetivo es permitir que las organizaciones configuren un servidor de etapas de pruebas para desarrollos web internos, a fin de que sus desarrolladores puedan probar las funciones que requieren contextos seguros sin la necesidad de implementar TLS en el servidor de etapas de pruebas.
+      Configurar una lista de URL en esta política tiene el mismo efecto que configurar la marca de línea de comandos "--unsafely-treat-insecure-origin-as-secure" en una lista de elementos separados por comas de las mismas URL. Si se establece la política, anulará la marca de línea de comandos.
+      Para obtener más información sobre contextos seguros, consulta https://www.w3.org/TR/secure-contexts/
+      </translation>
 <translation id="6181608880636987460">Te permite establecer una lista de patrones de URL que especifican los sitios que no tienen permitido ejecutar el complemento <ph name="FLASH_PLUGIN_NAME" />.
 
           Si esta política no se establece, el valor predeterminado global se usará para todos los sitios, ya sea desde la política "DefaultPluginsSetting", si está configurada, o desde otro tipo de configuración personal del usuario.</translation>
@@ -1848,13 +1861,6 @@
 
       Si no se establece esta política o si la lista está vacía, se podrá acceder a todos los esquemas en <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Configuración de los usuarios administrados localmente</translation>
-<translation id="6654559957643809067">Habilita la predicción de red en <ph name="PRODUCT_NAME" /> y evita que los usuarios cambien esta configuración.
-
-      Controla la precarga de DNS y la preconexión a TCP y SSL, así como la representación previa de páginas web.
-
-      Si estableces esta preferencia en "siempre", "nunca" o "solo WiFi", los usuarios no pueden cambiar o anular esta configuración en <ph name="PRODUCT_NAME" />.
-
-      Si no se establece esta política, la predicción de red se habilitará, pero el usuario podrá cambiarla.</translation>
 <translation id="6658245400435704251">Especifica la cantidad máxima de segundos que un dispositivo puede retrasar aleatoriamente la descarga de una actualización desde el momento en el que la descarga se envío al servidor por primera vez. El dispositivo puede dedicar una parte de este tiempo al proceso de actualización y el resto a realizar las comprobaciones necesarias. En cualquier caso, el límite superior de la dispersión es un período de tiempo constante, para que el dispositivo no se quede bloqueado mientras espera descargar una actualización.</translation>
 <translation id="6665670272107384733">Establecer la frecuencia con la que el usuario debe ingresar la contraseña para usar el desbloqueo rápido</translation>
 <translation id="6681229465468164801">Te permite establecer una lista de patrones de URL que especifica los sitios que no pueden solicitarle al usuario acceso a un dispositivo USB.
@@ -1905,6 +1911,11 @@
 <translation id="6786967369487349613">Establecer el directorio del perfil de itinerancia</translation>
 <translation id="6810445994095397827">Bloquear JavaScript en estos sitios</translation>
 <translation id="681446116407619279">Esquemas de autenticación compatibles</translation>
+<translation id="6832455357698286434">
+      La política especifica una lista de orígenes (URL) o patrones de nombres de host (como "*.ejemplo.com") que se considerarán como contexto seguro. El objetivo es permitir que las organizaciones configuren un servidor de etapas de pruebas para desarrollos web internos, a fin de que sus programadores puedan probar las funciones que requieren contextos seguros sin la necesidad de implementar TLS en el servidor de etapas de pruebas.
+      Configurar una lista de URL en esta política tiene el mismo efecto que configurar la marca de línea de comandos "--unsafely-treat-insecure-origin-as-secure" en una lista de elementos separados por comas de las mismas URL. Si se establece la política, se anulará la marca de línea de comandos.
+      Para obtener más información sobre contextos seguros, consulta https://www.w3.org/TR/secure-contexts/
+      </translation>
 <translation id="6835883744948188639">Mostrar un mensaje recurrente al usuario para indicarle que se recomienda llevar a cabo el reinicio</translation>
 <translation id="6838056959556423778">Anula las reglas predeterminadas de selección de impresora de <ph name="PRODUCT_NAME" />.
 
@@ -2247,6 +2258,7 @@
 <translation id="7617319494457709698">Esta política especifica las extensiones con permiso para usar la API <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> con la función <ph name="CHALLENGE_USER_KEY_FUNCTION" /> para la verificación remota. Para poder usar la API, las extensiones deben agregarse a esta lista.
 
           Si una extensión no está en la lista o no se establece la lista, las llamadas a la API fallarán y se mostrará un código de error.</translation>
+<translation id="7620300057302654932">Los orígenes o patrones de nombres de host se considerarán como contexto seguro.</translation>
 <translation id="7625444193696794922">Especifica el canal de publicaciones al que debe conectarse este dispositivo.</translation>
 <translation id="7632724434767231364">Nombre de la biblioteca GSSAPI</translation>
 <translation id="7635471475589566552">Si se establece la configuración regional de la aplicación en <ph name="PRODUCT_NAME" />, los usuarios no podrán cambiarla. Si se habilita esta configuración, <ph name="PRODUCT_NAME" /> usará aquella que se especificó. Si la configuración regional no es compatible, se usará "en-US" en su lugar. Si esta opción se inhabilita o no se configura, <ph name="PRODUCT_NAME" /> usará la configuración regional preferida que haya especificado el usuario (si está configurada), la configuración regional del sistema o la configuración regional alternativa "en-US".</translation>
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index f4dd747..3a3df67 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -218,12 +218,6 @@
       La política se debe establecer en una URL desde la que <ph name="PRODUCT_OS_NAME" /> podrá descargar las Condiciones de Servicio. Las Condiciones de Servicio deben ser texto sin formato, que actúe como texto/sin formato del tipo de MIME. No se permite ningún tipo de marcado.</translation>
 <translation id="1750315445671978749">Bloquear todas las descargas</translation>
 <translation id="1781356041596378058">Esta política también controla el acceso a las Opciones para Desarrolladores de Android. Si se asigna el valor true a esta política, los usuarios no podrán acceder a las Opciones para Desarrolladores. Si se le asigna el valor false o no se configura, los usuarios podrán tocar siete veces el número de compilación en la aplicación Ajustes de Android para acceder a esas opciones.</translation>
-<translation id="178832255504524723">Configura la URL de cambio de contraseñas (solo esquemas HTTP y HTTPS). El servicio de protección de contraseña enviará a los usuarios esta URL para cambiar sus contraseñas si han sufrido un ataque de phishing.
-      Para que <ph name="PRODUCT_NAME" /> capture correctamente la nueva huella digital de la contraseña en esta página de cambio de contraseña, la página debe seguir las directrices incluidas en https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Si se habilita esta opción, el servicio de protección de contraseña enviará a los usuarios a esta URL para cambiar sus contraseñas si han sufrido un ataque de phishing.
-      Si se inhabilita esta opción o no se configura, el servicio de protección de contraseña enviará a los usuarios a la página https://myaccounts.google.com para cambiar su contraseña.
-      Esta política no está disponible en las instancias de Windows que no están vinculadas a un dominio de <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Mostrar un mensaje periódico al usuario indicando que es necesario reiniciar el navegador</translation>
 <translation id="1803646570632580723">Lista de aplicaciones fijadas que deben aparecer en la barra de aplicaciones</translation>
 <translation id="1808715480127969042">Bloquear cookies en estos sitios</translation>
@@ -1429,14 +1423,6 @@
 <translation id="4980635395568992380">Tipo de datos:</translation>
 <translation id="4983201894483989687">Permitir la ejecución de complementos obsoletos</translation>
 <translation id="4988291787868618635">Acción que se realiza al alcanzar el retraso de inactividad</translation>
-<translation id="4990301296093321860">Permite controlar la activación de la advertencia de protección de contraseña. La protección de contraseña alerta a los usuarios cuando vuelven a utilizar la contraseña protegida en los sitios web potencialmente sospechosos.
-
-      Las políticas "PasswordProtectionLoginURLs" y "PasswordProtectionChangePasswordURL" sirven para configurar las contraseñas que se protegen.
-
-      Si se le asigna el valor "PasswordProtectionWarningOff" a esta política, no se mostrará ninguna advertencia de protección de contraseña.
-      Si se le asigna el valor "PasswordProtectionWarningOnPasswordReuse" a esta política, se mostrará la advertencia de protección de contraseña cuando los usuarios vuelvan a utilizar la contraseña protegida en cualquier sitio web que no esté incluido en la lista blanca.
-      Si se le asigna el valor "PasswordProtectionWarningOnPhishingReuse" a esta política, se mostrará la advertencia de protección de contraseña cuando los usuarios vuelvan a utilizar la contraseña protegida en los sitios web de phishing.
-      Si no se le asigna ningún valor a esta política, se activará la advertencia de protección de contraseña cuando los usuarios vuelvan a utilizar la contraseña protegida en los sitios web de phishing, pero el usuario podrá cambiar esta opción.</translation>
 <translation id="4995548127349206948">Si la autenticación NTLMv2 está habilitada.</translation>
 <translation id="5047604665028708335">Permitir acceso a sitios no incluidos en paquetes de contenido</translation>
 <translation id="5052081091120171147">Si se habilita, esta política fuerza la importación del historial de navegación desde el navegador predeterminado actual. Si está habilitada, la política también afecta al cuadro de diálogo de importación.
@@ -1973,13 +1959,6 @@
 
       Si no se establece esta política o la lista está vacía, se podrá acceder a todos los esquemas en <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Configuración de usuarios administrados de forma local</translation>
-<translation id="6654559957643809067">Habilita la predicción de red en <ph name="PRODUCT_NAME" /> y evita que los usuarios modifiquen esta configuración.
-
-      Esta opción permite controlar tanto la obtención previa de DNS como la conexión previa de SSL y TCP, así como la carga previa de páginas web.
-
-      Si asignas el valor "always", "never" o "WiFi only" a esta preferencia, los usuarios no podrán cambiar ni anular esta configuración en <ph name="PRODUCT_NAME" />.
-
-      Si esta política no se configura, la predicción de red se habilitará, pero el usuario no podrá modificarla.</translation>
 <translation id="6658245400435704251">Especifica el número de segundos hasta los que un dispositivo puede retrasar aleatoriamente la descarga de una actualización desde el momento en el que esta se envío al servidor por primera vez. El dispositivo puede dedicar una parte de este tiempo al propio proceso de actualización y el resto a realizar las comprobaciones necesarias. En cualquier caso, el límite superior de la dispersión es un periodo de tiempo constante, para que el dispositivo no se quede bloqueado mientras descarga una actualización.</translation>
 <translation id="6665670272107384733">Definir la frecuencia con la que el usuario debe introducir la contraseña para utilizar el desbloqueo rápido</translation>
 <translation id="6681229465468164801">Permite configurar una lista de patrones de URL que especifican los sitios web que no pueden solicitar al usuario acceso a un dispositivo USB.
diff --git a/components/policy/resources/policy_templates_et.xtb b/components/policy/resources/policy_templates_et.xtb
index 19efa22..b6fe56d 100644
--- a/components/policy/resources/policy_templates_et.xtb
+++ b/components/policy/resources/policy_templates_et.xtb
@@ -223,12 +223,6 @@
       Reegel tuleb määrata URL-ile, kust <ph name="PRODUCT_OS_NAME" /> saab teenusetingimused alla laadida. Teenusetingimused peavad olema lihtteksti vormingus, esitatud MIME-tüüpi tekstina/lihttekstina. Märgistused pole lubatud.</translation>
 <translation id="1750315445671978749">Blokeeri kõik allalaadimised</translation>
 <translation id="1781356041596378058">See reegel juhib ka juurdepääsu Androidi arendaja valikutele. Kui määrate reegli väärtuseks Tõene, ei pääse kasutajad arendaja valikutele juurde. Kui määrate reegli väärtuseks Väär või jätate selle määramata, pääsevad kasutajad arendaja valikutele juurde, puudutades rakenduses Androidi seaded seitse korda järgunumbrit.</translation>
-<translation id="178832255504524723">Seadistage parooli muutmise URL (ainult HTTP- ja HTTPS-skeemid). Kui kasutaja on langenud andmepüügi ohvriks, saadab paroolikaitseteenus ta sellele URL-ile, et ta saaks oma parooli muuta.
-      Selleks et teenus <ph name="PRODUCT_NAME" /> jäädvustaks uue parooli sõrmejälje sellel parooli muutmise lehel õigesti, veenduge, et parooli muutmise leht järgiks saidil https://www.chromium.org/developers/design-documents/create-amazing-password-forms olevaid juhiseid.
-
-      Kui see seade on lubatud, saadab paroolikaitseteenus kasutajad sellele URL-ile, et nad saaksid oma parooli muuta, kui nad on langenud andmepüügi ohvriks.
-      Kui see seade on keelatud või määramata, siis saadab paroolikaitseteenus kasutajad parooli muutmiseks saidile https://myaccounts.google.com.
-      See reegel ei ole saadaval Windowsi eksemplarides, mis pole domeeniga <ph name="MS_AD_NAME" /> liitunud.</translation>
 <translation id="1797233582739332495">Kuva kasutajale korduv viip, mis näitab, et taaskäivitamine on nõutav</translation>
 <translation id="1803646570632580723">Kinnitatud rakenduste loend, mida näidatakse käivitis</translation>
 <translation id="1808715480127969042">Blokeeri nende saitide küpsised</translation>
@@ -1420,15 +1414,6 @@
 <translation id="4980635395568992380">Andmetüüp:</translation>
 <translation id="4983201894483989687">Luba vananenud pistikprogrammide käitamine</translation>
 <translation id="4988291787868618635">Tehtav toiming, kui möödub jõudeoleku viiteaeg</translation>
-<translation id="4990301296093321860">Võimaldab teil juhtida paroolikaitse hoiatuse käivitamist. Paroolikaitse hoiatab kasutajaid, kui nad kasutavad oma kaitstud parooli potentsiaalselt ohtlikel saitidel.
-
-      Reeglitega „PasswordProtectionLoginURLs” ja „PasswordProtectionChangePasswordURL” saate seadistada kaitstava parooli.
-
-
-      Kui reegli väärtuseks määratakse „PasswordProtectionWarningOff”, siis paroolikaitse hoiatust ei kuvata.
-      Kui reegli väärtuseks määratakse „PasswordProtectionWarningOnPasswordReuse”, kuvatakse paroolikaitse hoiatus siis, kui kasutaja kasutab oma Google'i parooli saidil, mis ei kuulu lubatud saitide loendisse.
-      Kui reegli väärtuseks määratakse „PasswordProtectionWarningOnPhishingReuse”, kuvatakse paroolikaitse hoiatus siis, kui kasutaja kasutab oma Google'i parooli andmepüügisaidil.
-      Kui see reegel jäetakse määramata, käivitatakse paroolikaitse hoiatus siis, kui kasutaja kasutab oma Google'i parooli andmepüügisaidil, kuid kasutaja saab seda muuta.</translation>
 <translation id="4995548127349206948">Kas NTLMv2 autentimine on lubatud või mitte.</translation>
 <translation id="5047604665028708335">Sisupakettidest väljaspool olevatele saitidele juurdepääsu lubamine</translation>
 <translation id="5052081091120171147">Selle reegli lubamisel imporditakse sirvimisajalugu praegusest vaikebrauserist. Lubamisel mõjutab reegel ka importimisdialoogi.
@@ -1962,13 +1947,6 @@
 
       Kui jätate reegli määramata või loendi tühjaks, on kõik skeemid teenuses <ph name="PRODUCT_NAME" /> juurdepääsetavad.</translation>
 <translation id="6652197835259177259">Kohalikult hallatud kasutajaseaded</translation>
-<translation id="6654559957643809067">Lubab teenuses <ph name="PRODUCT_NAME" /> võrguprognoosid ja keelab kasutajatel selle seade muutmise.
-
-      See juhib DNS-i eellaadimist, TCP ja SSL-i eelühendamist ning veebilehtede eelrenderdust.
-
-      Kui määrate eelistuseks „alati”, „mitte kunagi” või „ainult WiFi-ga”, ei saa kasutajad seda seadet teenuses <ph name="PRODUCT_NAME" /> muuta ega alistada.
-
-      Kui see reegel jäetakse määramata, on võrguprognoosid lubatud, kuid kasutaja saab seda muuta.</translation>
 <translation id="6658245400435704251">Määrab sekundite arvu pärast värskenduse serverist väljalaskmist, mille jooksul võib seade värskenduse allalaadimist juhuslikult viivitada. Seade võib oodata osa ajast reaalajas ja ülejäänud aja sõltuvalt värskenduste otsimiste arvust. Igal juhul on hajutatuse ülempiir seotud ajalise konstandiga, et seade ei jääks värskenduse allalaadimist igaveseks ootama.</translation>
 <translation id="6665670272107384733">Kiire avamise puhul parooli sisestamise sageduse määramine</translation>
 <translation id="6681229465468164801">Võimaldab määrata URL-i mustrite loendi, mis määrab saidid, millel ei ole lubatud küsida kasutajalt luba USB-seadmele juurdepääsemiseks.
diff --git a/components/policy/resources/policy_templates_fa.xtb b/components/policy/resources/policy_templates_fa.xtb
index e50e0120..e5fae79 100644
--- a/components/policy/resources/policy_templates_fa.xtb
+++ b/components/policy/resources/policy_templates_fa.xtb
@@ -217,12 +217,6 @@
       خط‌مشی باید روی آدرس اینترنتی‌ای تنظیم شود که از آن <ph name="PRODUCT_OS_NAME" /> می‌تواند شرایط خدمات را بارگیری کند. شرایط خدمات باید نوشتار ساده باشد، و بعنوان نوشتار نوع MIME/ ساده کار کند. نشانه‌گذاری مجاز نیست.</translation>
 <translation id="1750315445671978749">مسدود کردن همه بارگیری‌ها</translation>
 <translation id="1781356041596378058">‏این خط‌مشی دسترسی به «گزینه‌های تولیدکننده Android» را نیز کنترل می‌کند. اگر این خط‌مشی را روی درست تنظیم کنید، کاربران نمی‌توانند به «گزینه‌های تولیدکننده» دسترسی پیدا کند. اگر این خط‌مشی را روی نادرست تنظیم کنید یا آن را تنظیم نکنید، کاربران می‌توانند با هفت بار ضربه زدن روی شماره ساخت در برنامه تنظیمات Android به «گزینه‌های تولیدکننده» دسترسی پیدا کنید.</translation>
-<translation id="178832255504524723">‏پیکربندی نشانی وب تغییر گذرواژه (فقط طرح‌های HTTP و HTTPS). اگر کاربران مورد حمله فیشینگ قرار گرفته باشند، سرویس محافظت از گذرواژه، آن‌ها را برای تغییر دادن گذرواژهایشان به این نشانی وب هدایت می‌کند. 
-      برای اینکه <ph name="PRODUCT_NAME" /> به‌درستی اثر انگشت گذرواژه جدید را در این صفحه تغییر گذرواژه ضبط کند، لطفاً مطمئن شوید صفحه تغییر گذرواژه شما از دستورالعمل‌های مشخص‌شده در https://www.chromium.org/developers/design-documents/create-amazing-password-forms پیروی می‌کند.
-
-      اگر این تنظیم فعال شود، سرویس محافظت از گذرواژه کاربرانی را که مورد حمله فیشینگ قرار گرفته‌اند به این نشانی وب هدایت می‌کند تا گذرواژه‌هایشان را تغییر دهند.
-      اگر این تنظیم غیرفعال شود یا تنظیم نشود، سرویس محافظت از گذرواژه کاربران را برای تغییر گذرواژه‌هایشان به https://myaccounts.google.com هدایت می‌کند.
-      این خط‌مشی در نمونه‌های Windows که به دامنه <ph name="MS_AD_NAME" /> نپیوسته‌اند دردسترس نیست.</translation>
 <translation id="1797233582739332495">نمایش درخواست تکرارشونده به کاربر نشان می‌دهد که راه‌اندازی مجدد لازم است</translation>
 <translation id="1803646570632580723">فهرست برنامه‌های پین شده در راه‌انداز</translation>
 <translation id="1808715480127969042">مسدود کردن کوکی‌ها در این سایت‌ها</translation>
@@ -1370,13 +1364,6 @@
 <translation id="4980635395568992380">نوع داده:</translation>
 <translation id="4983201894483989687">اجازه اجرای افزایه‌هایی قدیمی</translation>
 <translation id="4988291787868618635">فعالیتی که باید هنگام رسیدن زمان تأخیر بی‌حرکتی انجام شود</translation>
-<translation id="4990301296093321860">‏امکان می‌دهد نمایش هشدار محافظت از گذرواژه را کنترل کنید. وقتی کاربران از گذرواژه محافظت‌شده خود در سایت‌های بالقوه مشکوک دوباره استفاده می‌کنند، محافظت از گذرواژه به آن‌ها هشدار می‌دهد.
-
-      برای پیکربندی اینکه کدام گذرواژه محافظت شود، می‌توانید از خط‌مشی‌های «PasswordProtectionLoginURLs» و «PasswordProtectionChangePasswordURL» استفاده کنید.
-      اگر این خط‌مشی روی «PasswordProtectionWarningOff» تنظیم شود، هیچ هشدار محافظت از گذرواژه‌ای نشان داده نخواهد شد.
-      اگر این خط‌مشی روی «PasswordProtectionWarningOnPasswordReuse» تنظیم شود، وقتی کاربر از گذرواژه محافظت‌شده خود در سایتی که در فهرست مجاز نیست دوباره استفاده کند، هشدار محافظت از گذرواژه نشان داده می‌شود.
-      اگر این خط‌مشی روی «PasswordProtectionWarningOnPhishingReuse» تنظیم شود، هشدار محافظت از گذرواژه زمانی نشان داده می‌شود که کاربر از گذرواژه محافظت‌شده خود در یک سایت فیشینگ دوباره استفاده کند.
-      اگر این خط‌مشی تنظیم نشود، وقتی کاربر از گذرواژه محافظت‌شده خود در یک سایت فیشینگ دوباره استفاده کند، هشدار محافظت از گذرواژه نشان داده خواهد شد اما کاربر می‌تواند این تنظیم را تغییر دهد.</translation>
 <translation id="4995548127349206948">‏احراز هویت NTLMv2 فعال شود یا خیر.</translation>
 <translation id="5047604665028708335">اجازه دسترسی به سایت‌های خارج از بسته‌های محتوا</translation>
 <translation id="5052081091120171147">این قانون، در صورت فعال بودن، باعث می‌شود سابقه مرور به اجبار از مرورگر پیش‌فرض کنونی وارد شود. درصورت فعال بودن این قانون، بر روی پیام وارد کردن نیز تأثیر می‌گذارد. اگر غیرفعال باشد، هیچ سابقه مروری وارد نمی‌شود. اگر تنظیم نشده باقی بماند، ممکن است از کاربر در مورد وارد کردن سابقه مرور سؤال شود یا وارد کردن به‌طور خودکار انجام شود.</translation>
@@ -1871,13 +1858,6 @@
 
       چنانچه این خط‌مشی تنظیم تشده باشد یا فهرست خالی باشد، دسترسی به همه طرح‌ها در <ph name="PRODUCT_NAME" /> امکان‌پذیر خواهد بود.</translation>
 <translation id="6652197835259177259">تنظیمات کاربران مدیریت شده به صورت محلی</translation>
-<translation id="6654559957643809067">‏پیش‌بینی شبکه را در <ph name="PRODUCT_NAME" /> فعال می‌کند و مانع از تغییر این تنظیمات توسط کاربران می‌شود.
-
-      این مورد نه تنها واکشی اولیه DNS بلکه پیش‌ارتباط و پیش‌اجرای TCP و SSL صفحات وب را کنترل می‌کند.
-
-      اگر این تنظیم را روی «همیشه»، «هرگز» یا «فقط Wi-Fi» قرار دهید،کاربران نمی‌توانند آن را در <ph name="PRODUCT_NAME" /> تغییر دهند یا لغو کنند.
-
-      اگر این خط مشی تنظیم نشده باقی بماند، پیش‌بینی شبکه فعال خواهد شد اما کاربر می‌تواند آن را تغییر دهد.</translation>
 <translation id="6658245400435704251">تعداد ثانیه‌هایی را مشخص می‌کند که دستگاه می‌تواند حداکثر تا آن زمان به‌طور تصادفی بارگیری به‌روزرسانی خود را به تأخیر بیندازد این زمان از وقتی اندازه گیری می‌شود که ابتدا به‌روزرسانی به سرور ارسال شده است. دستگاه می‌تواند مقداری از این زمان را به‌عنوان زمان شروع تا پایان کار و بقیه را به‌عنوان تعداد بررسی‌ها برای به‌روزرسانی منتظر باشد. در هر حال پراکندگی به مقدار ثابتی از زمان بستگی دارد به این ترتیب که دستگاه هزگز برای بارگیری به‌روزرسانی همیشه به انتظار نمی‌ماند.</translation>
 <translation id="6665670272107384733">تنظیم اینکه کاربر برای استفاده از باز کردن سریع قفل، چند وقت یک‌بار باید گذرواژه وارد کند</translation>
 <translation id="6681229465468164801">‏به شما امکان می‌دهد فهرستی از الگوهای نشانی وب تنظیم کنید که سایت‌هایی را مشخص می‌کند که نمی‌توانند از کاربر بخواهند به آن‌ها اجازه دهد به دستگاه USB دسترسی داشته باشند.
diff --git a/components/policy/resources/policy_templates_fi.xtb b/components/policy/resources/policy_templates_fi.xtb
index d427acc..47dbc62bc 100644
--- a/components/policy/resources/policy_templates_fi.xtb
+++ b/components/policy/resources/policy_templates_fi.xtb
@@ -221,12 +221,6 @@
       Tämän käytännön arvoksi määritetään URL-osoite, josta <ph name="PRODUCT_OS_NAME" /> voi ladata käyttöehdot. Käyttöehtojen täytyy olla tavallista tekstiä (MIME-tyyppi text/plain). Muotoilua ei sallita.</translation>
 <translation id="1750315445671978749">Estä kaikki lataukset</translation>
 <translation id="1781356041596378058">Tämä käytäntö hallinnoi myös Android-kehittäjäasetusten käyttöä. Jos tämän käytännön arvoksi määritetään tosi, käyttäjät eivät voi käyttää kehittäjäasetuksia. Jos tämän käytännön arvoksi määritetään epätosi tai sitä ei määritetä ollenkaan, käyttäjät voivat käyttää kehittäjäasetuksia koskettamalla Android-asetukset-sovelluksessa olevaa versionumeroa seitsemän kertaa.</translation>
-<translation id="178832255504524723">Määritä salasanan vaihtamisen URL-osoite (vain HTTP ja HTTPS). Salasanojen suojauspalvelu ohjaa käyttäjän vaihtamaan salasanansa tässä URL-osoitteessa, jos hän on joutunut tietojenkalastelun kohteeksi.
-      Jotta <ph name="PRODUCT_NAME" /> tallentaa uusien salasanojen tunnistetiedostot oikein salasanan vaihtamissivulle, varmista että salasanan vaihtamissivu noudattaa ohjeita (https://www.chromium.org/developers/design-documents/create-amazing-password-forms).
-
-      Jos tämä asetus on käytössä, salasanojen suojauspalvelu ohjaa käyttäjän vaihtamaan salasanansa tässä URL-osoitteessa, jos hän on joutunut tietojenkalastelun kohteeksi.
-      Jos asetus on pois käytöstä tai sitä ei ole määritetty, salasanojen suojauspalvelu ohjaa käyttäjän vaihtamaan salasanansa osoitteessa https://myaccounts.google.com.
-      Tämä käytäntö ei ole käytettävissä Windowsin esiintymissä, joita ei ole liitetty <ph name="MS_AD_NAME" /> ‑verkkotunnukseen.</translation>
 <translation id="1797233582739332495">Näytä käyttäjälle toistuva kehote vaaditusta uudelleenkäynnistyksestä</translation>
 <translation id="1803646570632580723">Luettelo kiinnitetyistä sovelluksista, jotka näytetään käynnistyspalkissa</translation>
 <translation id="1808715480127969042">Estä evästeet näissä sivustoissa</translation>
@@ -1381,14 +1375,6 @@
 <translation id="4980635395568992380">Tietotyyppi:</translation>
 <translation id="4983201894483989687">Salli vanhentuneiden laajennuksien käyttö</translation>
 <translation id="4988291787868618635">Toiminto, joka suoritetaan käyttämättömyysajan kuluttua</translation>
-<translation id="4990301296093321860">Sallii salasanasuojauksen varoituksen käynnistyksen hallinnan. Salasanasuojaus ilmoittaa käyttäjille, jos nämä käyttävät suojattuja salasanoja uudelleen mahdollisesti haitallisilla sivustoilla.
-
-      PasswordProtectionLoginURLs- ja PasswordProtectionChangePasswordURL-käytäntöjen avulla voit määrittää, mitä salasanoja suojataan.
-
-      Jos tämän käytännön arvo on PasswordProtectionWarningOff, salasanasuojauksen varoitusta ei näytetä.
-      Jos tämän käytännön arvo on PasswordProtectionWarningOnPasswordReuse, salasanasuojauksen varoitus näytetään, kun käyttäjät käyttävät Google-salasanojaan sivustoilla, joita ei ole lisätty sallittujen sivustojen listaan.
-      Jos tämän käytännön arvo on PasswordProtectionWarningOnPhishingReuse, salasanasuojauksen varoitus näytetään, kun käyttäjät käyttävät Google-salasanojaan tietojenkalastelusivustoilla.
-      Jos tätä käytäntöä ei ole määritetty, salasanasuojauksen varoitus käynnistyy käyttäjien käyttäessä Google-salasanojaan tietojenkalastelusivustoilla. Käyttäjä voi kuitenkin muuttaa tämän asetuksen.</translation>
 <translation id="4995548127349206948">Onko NTLMv2-todennus käytössä</translation>
 <translation id="5047604665028708335">Salli sisältöpaketteihin kuulumattomien sivustojen käyttö</translation>
 <translation id="5052081091120171147">Tämä käytäntö pakottaa selaushistorian tuonnin nykyisestä oletusselaimesta. Jos käytäntö on käytössä, käytäntö vaikuttaa myös tuonti-ikkunaan. Jos käytäntö ei ole käytössä, selaushistoriaa ei tuoda. Jos käytäntöä ei ole määritetty, käyttäjiltä voidaan kysyä, haluavatko he tuoda selaushistorian, tai historia voidaan tuoda automaattisesti.</translation>
@@ -1883,13 +1869,6 @@
 
       Jos tätä käytäntöä ei määritetä tai luettelo on tyhjä, kaikkia tuotteen <ph name="PRODUCT_NAME" /> järjestelmiä voidaan käyttää.</translation>
 <translation id="6652197835259177259">Paikallisesti hallinnoitujen käyttäjien asetukset</translation>
-<translation id="6654559957643809067">Määrittää, että <ph name="PRODUCT_NAME" /> käyttää verkon ennakointia ja estää käyttäjiä muokkaamasta tätä asetusta.
-
-      Tämä käytäntö koskee DNS-esilatauksen lisäksi TCP- ja SSL-yhteyksien esimuodostusta ja verkkosivujen esihahmonnusta.
-
-      Jos asetuksen arvoksi asetetaan aina, ei koskaan tai vain Wi-Fi, <ph name="PRODUCT_NAME" /> ei anna käyttäjien muokata tätä asetusta.
-
-      Jos tätä käytäntöä ei aseteta, verkon ennakointi otetaan käyttöön, mutta käyttäjä voi muokata asetusta.</translation>
 <translation id="6658245400435704251">Määrittää sekunteina ajan, jonka laite voi viivyttää päivityksen lataamista siitä hetkestä, kun päivitys on lähetetty palvelimelle. Osa odotusajasta voidaan määrittää aikana ja loput päivitystarkistusten määränä. Hajonnalle on kuitenkin yläraja, joten laite ei koskaan jää odottamaan päivityksen lataamista loputtomasti.</translation>
 <translation id="6665670272107384733">Määritä, kuinka usein käyttäjän on kirjoitettava salasana, jotta hän voi käyttää lukituksen pika-avaamista</translation>
 <translation id="6681229465468164801">Antaa sinun määrittää luettelon URL-osoitemalleja, joiden määrittämät sivustot eivät saa pyytää käyttäjältä USB-laitteen käyttöoikeutta.
diff --git a/components/policy/resources/policy_templates_fil.xtb b/components/policy/resources/policy_templates_fil.xtb
index a0d153c..fa1789d 100644
--- a/components/policy/resources/policy_templates_fil.xtb
+++ b/components/policy/resources/policy_templates_fil.xtb
@@ -221,12 +221,6 @@
       Dapat itakda ang patakaran sa isang URL kung saan maaaring i-download ng <ph name="PRODUCT_OS_NAME" /> ang Mga Tuntunin ng Serbisyo. Dapat ay plain text ang Mga Tuntunin ng Serbisyo, na ihahatid bilang MIME type text/plain. Hindi pinapayagan ang markup.</translation>
 <translation id="1750315445671978749">I-block ang lahat ng pag-download</translation>
 <translation id="1781356041596378058">Kinokontrol ng patakarang ito ang access sa Mga Opsyon ng Developer sa Android. Kung itatakda mo ang patakarang ito sa true, hindi maa-access ng mga user ang Mga Opsyon ng Developer. Kung itatakda mo ang patakarang ito sa false o iiwan itong hindi nakatakda, maa-access ng mga user ang Mga Opsyon ng Developer sa pamamagitan ng pag-tap nang pitong beses sa app na Mga setting ng Android.</translation>
-<translation id="178832255504524723">I-configure ang URL sa pagpapalit ng password (mga HTTP at HTTPS scheme lang). Ipapadala ng serbisyo sa pagprotekta ng password ang mga user sa URL na ito para palitan ang kanilang mga password kung nabiktima sila ng phishing.
-      Para ma-capture nang tama ng <ph name="PRODUCT_NAME" /> ang bagong fingerprint ng password sa page ng pagpapalit ng password na ito, pakitiyak na sumusunod ang iyong page ng pagpapalit ng password sa mga alituntunin sa https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Kung ie-enable ang setting na ito, ipapadala ng serbisyo sa pagprotekta ng password ang mga user sa URL na ito para palitan ang kanilang mga password kung nabiktima sila ng phishing.
-      Kung idi-disable o hindi itatakda ang setting na ito, ipapadala ng serbisyo sa pagprotekta ng password ang mga user sa https://myaccounts.google.com para palitan ang kanilang password.
-      Hindi available ang patakarang ito sa mga instance ng Windows na hindi kasali sa isang <ph name="MS_AD_NAME" /> domain.</translation>
 <translation id="1797233582739332495">Magpakita sa user ng umuulit na prompt na nagsasaad na kinakailangan ang muling paglulunsad</translation>
 <translation id="1803646570632580723">Listahan ng mga na-pin na app na ipapakita sa launcher</translation>
 <translation id="1808715480127969042">I-block ang cookies sa mga site na ito</translation>
@@ -1419,14 +1413,6 @@
 <translation id="4980635395568992380">Uri ng data:</translation>
 <translation id="4983201894483989687">Payagan ang pagpapatakbo ng mga plugin na wala na sa panahon</translation>
 <translation id="4988291787868618635">Pagkilos na gagawin kapag naabot ang idle delay</translation>
-<translation id="4990301296093321860">Nagbibigay-daan sa iyong kontrolin ang pag-trigger ng babala ng proteksyon sa password. Inaalertuhan ng proteksyon sa password ang mga user kapag ginamit nilang muli ang kanilang pinoprotektahang password sa mga posibleng kahina-hinalang site.
-
-      Magagamit mo ang mga patakarang 'PasswordProtectionLoginURLs' at 'PasswordProtectionChangePasswordURL' para i-configure kung aling password ang poprotektahan.
-
-      Kung nakatakda ang patakarang ito sa 'PasswordProtectionWarningOff,' walang ipapakitang babala ng proteksyon sa password.
-      Kung nakatakda ang patakarang ito sa 'PasswordProtectionWarningOnPasswordReuse,' magpapakita ng babala ng proteksyon sa password kapag ginamit muli ng user ang kanyang pinoprotektahang password sa isang hindi naka-whitelist na site.
-      Kung nakatakda ang patakarang ito sa 'PasswordProtectionWarningOnPhishingReuse,' magpapakita ng babala ng proteksyon sa password kapag ginamit muli ng user ang kanyang pinoprotektahang password sa isang phishing site.
-      Kung hindi nakatakda ang patakarang ito, mati-trigger ang babala ng proteksyon sa password kapag ginamit muli ng user ang kanyang pinoprotektahang password sa isang phishing site, ngunit mababago ng user ang setting na ito.</translation>
 <translation id="4995548127349206948">Kung naka-enable ang pag-authenticate ng NTLMv2.</translation>
 <translation id="5047604665028708335">Payagan ang access sa mga site na nasa labas ng mga pack ng nilalaman</translation>
 <translation id="5052081091120171147">Pinupwersa ng patakarang ito na ma-import mula sa kasalukuyang default na browser ang kasaysayan ng pagba-browse kung pinagana. Kung pinagana, naaapektuhan rin ng patakarang ito ang dialog ng pag-import.
@@ -1960,13 +1946,6 @@
 
       Kung iiwanang hindi nakatakda ang patakarang ito o kung walang laman ang listahan, maa-access ang lahat ng scheme sa <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Mga setting ng mga lokal na pinapamahalaang user</translation>
-<translation id="6654559957643809067">Nag-e-enable ang panghuhula ng network sa <ph name="PRODUCT_NAME" /> at pinipigilan ang mga user sa pagbabago ng setting na ito.
-
-      Kinokontrol nito ang pag-preconnect ng DNS, pag-preconnect ng TCP at SSL at pag-prerender ng mga web page.
-
-      Kung itatakda mo ang kagustuhang ito sa 'palagi', 'huwag kailanman' o 'WiFi lang,' hindi mababago o mao-override ng mga user ang setting na ito sa <ph name="PRODUCT_NAME" />.
-
-      Kung maiiwang hindi nakatakda ang patakaran na ito, mae-enable ang panghuhula ng network ngunit magagawa ng user na baguhin ito.</translation>
 <translation id="6658245400435704251">Tinutukoy ang bilang ng mga segundo kung kailan maaaring random na antalahin ng device ang pag-download ng isang update mula sa panahon kung kailan unang na-push out ang update sa server. Maaaring hintayin ng device ang isang bahagi ng panahong ito sa pamamagitan ng oras sa orasan at ng mga natitirang bahagi sa pamamagitan ng dami ng mga pagtingin ng update. Sa anumang sitwasyon, ang scatter ay nililimitahan sa itaas sa iisang parehong tagal ng panahon upang hindi maantala nang matagal ang isang device sa paghihintay na mag-download ng isang update.</translation>
 <translation id="6665670272107384733">Itakda kung gaano kadalas kailangang ilagay ng user ang password para magamit ang mabilisang pag-unlock</translation>
 <translation id="6681229465468164801">Nagbibigay-daan sa iyo na magtakda ng listahan ng mga pattern ng url na tumutukoy sa mga site na pinipigilang magtanong sa user na bigyan siya ng access sa isang USB device.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 58523ffa..ba92fff 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -225,12 +225,6 @@
       La règle doit être définie sur une URL à partir de laquelle <ph name="PRODUCT_OS_NAME" /> peut télécharger les conditions d'utilisation. Ces conditions doivent être en texte brut, et proposées au format texte/brut au type MIME. Aucun balisage n'est autorisé.</translation>
 <translation id="1750315445671978749">Bloquer tous les téléchargements</translation>
 <translation id="1781356041596378058">Cette règle permet également de contrôler l'accès aux options pour les développeurs Android. Si vous définissez cette règle sur "True", les utilisateurs ne pourront pas accéder aux options pour les développeurs. Si vous la définissez sur "False" ou si vous ne la modifiez pas, les utilisateurs pourront accéder aux options pour les développeurs en appuyant sept fois sur le numéro de version dans l'application des paramètres Android.</translation>
-<translation id="178832255504524723">Permet de configurer l'URL de modification de mot de passe (protocoles HTTP et HTTPS uniquement). Le service de protection par mot de passe redirige les utilisateurs vers cette URL afin que ces derniers modifient leur mot de passe s'ils sont victimes d'une attaque par hameçonnage.
-      Afin que <ph name="PRODUCT_NAME" /> enregistre correctement la nouvelle empreinte numérique du mot de passe sur la page de modification de ce dernier, vérifiez que cette page respecte bien les consignes indiquées à l'adresse https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Si cette règle est activée, le service de protection par mot de passe redirige les utilisateurs vers cette URL afin que ces derniers modifient leur mot de passe s'ils ont été victimes d'une attaque par hameçonnage.
-      Si cette règle est désactivée ou n'est pas configurée, le service de protection par mot de passe redirige les utilisateurs vers la page https://myaccounts.google.com afin que ces derniers modifient leur mot de passe.
-      Cette règle n'est pas disponible sur les instances Windows non associées à un domaine <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Afficher une invite récurrente indiquant qu'un redémarrage est nécessaire</translation>
 <translation id="1803646570632580723">Liste des applications épinglées à afficher dans le lanceur d'applications</translation>
 <translation id="1808715480127969042">Bloquer les cookies sur ces sites</translation>
@@ -720,7 +714,7 @@
 
           |time_window_limit| spécifie une période quotidienne pendant laquelle la session utilisateur doit être verrouillée. Une seule règle par jour étant autorisée, |entries| ne peut donc être compris qu'entre 0 et 7. |starts_at| et |ends_at| indiquent respectivement le début et la fin de cette période. Si |ends_at| est inférieur à |starts_at|, |time_limit_window| se termine alors le lendemain. |last_updated_millis|, qui correspond à l'horodatage UTC de la dernière mise à jour de cette entrée, est envoyé sous la forme d'une chaîne, car l'horodatage ne peut pas être exprimé par un nombre entier.
 
-          |time_usage_limit| spécifie un quota d'utilisation par jour. Ainsi, lorsque l'utilisateur atteint ce quota, sa session est verrouillée. Il y a une propriété pour chaque jour de la semaine. Elle ne doit être définie que si un quota est actif le jour concerné. |usage_quota_mins| indique la durée pendant laquelle l'appareil géré peut être utilisé dans une journée, tandis que |reset_at| indique la date et l'heure à laquelle le quota d'utilisation est renouvelé. La valeur par défaut de |reset_at| est minuit ({'hour': 0, 'minute': 0}). |last_updated_millis|, qui correspond à l'horodatage UTC de la dernière mise à jour de cette entrée, est envoyé sous la forme d'une chaîne, car l'horodatage ne peut pas être exprimé par un nombre entier.
+          |time_usage_limit| spécifie un quota d'utilisation par jour. Ainsi, lorsque l'utilisateur atteint ce quota, sa session est verrouillée. Il existe une propriété pour chaque jour de la semaine. Elle ne doit être définie que si un quota est actif le jour concerné. |usage_quota_mins| indique la durée pendant laquelle l'appareil géré peut être utilisé dans une journée, tandis que |reset_at| indique la date et l'heure à laquelle le quota d'utilisation est renouvelé. La valeur par défaut de |reset_at| est minuit ({'hour': 0, 'minute': 0}). |last_updated_millis|, qui correspond à l'horodatage UTC de la dernière mise à jour de cette entrée, est envoyé sous la forme d'une chaîne, car l'horodatage ne peut pas être exprimé par un nombre entier.
 
           |overrides| invalide temporairement une ou plusieurs des règles précédentes.
           * Si ni neither time_window_limit, ni time_usage_limit ne sont actifs, |LOCK| peut être utilisé pour verrouiller l'appareil.
@@ -1438,14 +1432,6 @@
 <translation id="4980635395568992380">Type de données :</translation>
 <translation id="4983201894483989687">Autoriser l'exécution de plug-ins obsolètes</translation>
 <translation id="4988291787868618635">Action à effectuer au terme du délai d'inactivité</translation>
-<translation id="4990301296093321860">Vous permet de contrôler le déclenchement de l'avertissement relatif à la protection par mot de passe. La protection par mot de passe affiche une alerte lorsque les utilisateurs réutilisent leur mot de passe protégé sur des sites potentiellement suspects.
-
-      Vous pouvez utiliser les règles "PasswordProtectionLoginURLs" et "PasswordProtectionChangePasswordURL" pour configurer le mot de passe à protéger.
-
-      Si cette règle est définie sur "PasswordProtectionWarningOff", aucun avertissement ne s'affiche.
-      Si elle est définie sur "PasswordProtectionWarningOnPasswordReuse", l'avertissement s'affiche lorsque les utilisateurs réutilisent leurs mots de passe Google sur des sites qui ne figurent pas sur la liste blanche.
-      Si elle est définie sur "PasswordProtectionWarningOnPhishingReuse", il s'affiche lorsqu'ils les réutilisent sur des sites d'hameçonnage.
-      Il en va de même lorsque la règle n'est pas configurée, excepté que les utilisateurs peuvent modifier ce paramètre.</translation>
 <translation id="4995548127349206948">Contrôler l'activation ou la désactivation de l'authentification NTLMv2.</translation>
 <translation id="5047604665028708335">Autoriser l'accès aux sites en dehors des packs de contenu</translation>
 <translation id="5052081091120171147">Lorsqu'elle est activée, cette règle force l'importation de l'historique de navigation à partir du navigateur par défaut actuel. Si elle est activée, elle affecte également la boîte de dialogue d'importation. 
@@ -1984,13 +1970,6 @@
 
       Si vous ne définissez pas cette règle ou si la liste est vide, tous les schémas sont accessibles dans <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Paramètres des utilisateurs gérés en local</translation>
-<translation id="6654559957643809067">Active la prédiction de réseau dans <ph name="PRODUCT_NAME" /> et empêche les utilisateurs de modifier ce paramètre.
-
-      Ceci contrôle la prélecture des DNS, la préconnexion et le préchargement TCP et SSL des pages Web.
-
-      Si vous paramétrez cette préférence sur "always" (toujours), "never" (jamais) ou "WiFi only" (Wi-Fi uniquement), les utilisateurs ne pourront pas changer ou ignorer ce paramètre dans <ph name="PRODUCT_NAME" />.
-
-      Si vous ne définissez pas cette règle, la prédiction de réseau sera activée, mais les utilisateurs pourront la modifier.</translation>
 <translation id="6658245400435704251">Indique le nombre maximal de secondes pendant lesquelles un appareil peut retarder de façon aléatoire le téléchargement d'une mise à jour à partir du moment où celle-ci est disponible sur le serveur. L'appareil peut attendre pendant une certaine partie de ce temps en termes de temps de l'horloge et pendant la partie restante en termes de nombre de recherches de mise à jour. Dans tous les cas, le facteur de dispersion est limité à une quantité de temps constante, de sorte qu'un appareil ne reste jamais bloqué dans l'attente d'une mise à jour.</translation>
 <translation id="6665670272107384733">Définir la fréquence à laquelle l'utilisateur doit saisir le mot de passe pour utiliser le déverrouillage rapide</translation>
 <translation id="6681229465468164801">Cette règle permet de définir une liste de formats d'URL spécifiant les sites non autorisés à demander à l'utilisateur l'accès à un périphérique USB.
@@ -2042,7 +2021,7 @@
 <translation id="6810445994095397827">Bloquer JavaScript sur ces sites</translation>
 <translation id="681446116407619279">Modèles d'authentification compatibles</translation>
 <translation id="6832455357698286434">
-      Cette règle répertorie les origines (URL) ou de modèles du nom d'hôte (par exemple, "*.example.com") à considérer comme contextes sécurisés. L'objectif est de permettre aux organisations de configurer un serveur de test pour les développements Web internes. Cela permet aux développeurs de tester les fonctionnalités nécessitant des contextes sécurisés sans avoir à déployer TLS sur le serveur de test.
+      Cette règle répertorie les origines (URL) ou les modèles de nom d'hôte (par exemple, "*.example.com") à considérer comme contextes sécurisés. L'objectif est de permettre aux organisations de configurer un serveur de test pour les développements Web internes. Cela permet aux développeurs de tester les fonctionnalités nécessitant des contextes sécurisés sans avoir à déployer TLS sur le serveur de test.
       Définir une liste d'URL dans cette règle a le même effet qu'utiliser l'indicateur de ligne de commande "--unsafely-treat-insecure-origin-as-secure" avec une liste des URL en question séparées par une virgule. Si la règle est définie, elle remplace l'indicateur de ligne de commande.
       Pour en savoir plus sur les contextes sécurisés, consultez https://www.w3.org/TR/secure-contexts/
       </translation>
@@ -2405,7 +2384,7 @@
 <translation id="7617319494457709698">Cette règle définit les extensions autorisées à utiliser la fonction <ph name="CHALLENGE_USER_KEY_FUNCTION" /> de l'<ph name="ENTERPRISE_PLATFORM_KEYS_API" /> pour l'attestation à distance. Pour pouvoir utiliser cette API, les extensions doivent être ajoutées à cette liste.
 
           Si une extension ne figure pas dans la liste, ou si la liste n'est pas définie, l'appel vers l'API échoue, et un code d'erreur est renvoyé.</translation>
-<translation id="7620300057302654932">Origines ou modèles du nom d'hôte à considérer comme contexte sécurisé.</translation>
+<translation id="7620300057302654932">Origines ou modèles de nom d'hôte à considérer comme contexte sécurisé.</translation>
 <translation id="7625444193696794922">Indique le canal de distribution sur lequel cet appareil devrait être verrouillé.</translation>
 <translation id="7632724434767231364">Nom de la bibliothèque GSSAPI</translation>
 <translation id="7635471475589566552">Configure les paramètres régionaux de l'application dans <ph name="PRODUCT_NAME" /> et empêche les utilisateurs de modifier ces paramètres. 
diff --git a/components/policy/resources/policy_templates_gu.xtb b/components/policy/resources/policy_templates_gu.xtb
index 5b9338b..3a4b263 100644
--- a/components/policy/resources/policy_templates_gu.xtb
+++ b/components/policy/resources/policy_templates_gu.xtb
@@ -268,12 +268,6 @@
       નીતિ એ URL પર સેટ કરવી કે જેમાંથી <ph name="PRODUCT_OS_NAME" /> સેવાની શરતોને ડાઉનલોડ કરી શકે. સેવાની શરતો સાદા ટેક્સ્ટમાં, MIME પ્રકાર ટેક્સ્ટ/સાદા તરીકે આપેલી હોવી આવશ્યક છે. કોઈ માર્કઅપની મંજૂરી નથી.</translation>
 <translation id="1750315445671978749">બધા ડાઉનલોડ અવરોધિત કરો</translation>
 <translation id="1781356041596378058">આ નીતિ Android વિકાસકર્તા વિકલ્પોની ઍક્સેસને પણ નિયંત્રિત કરે છે. જો તમે આ નીતિને true પર સેટ કરેલ હોય, તો વપરાશકર્તાઓ, વિકાસકર્તા વિકલ્પોને ઍક્સેસ કરી શકતાં નથી. જો તમે આ નીતિ false પર સેટ કરેલ હોય અથવા તો સેટ કર્યા વિના છોડી દીધેલ હોય, તો વપરાશકર્તાઓ, Android સેટિંગ્સ ઍપ્લિકેશનમાં બિલ્ડ નંબર પર સાત વાર ટૅપ કરીને વિકાસકર્તા વિકલ્પોને ઍક્સેસ કરી શકે છે.</translation>
-<translation id="178832255504524723">પાસવર્ડ બદલો URL (માત્ર HTTP અને HTTPS સ્કીમો)ને કન્ફિગર કરો. જો વપરાશકર્તાઓ ફિશિંગના ભોગ બન્યા હશે, તો તેમના પાસવર્ડ બદલવા માટે પાસવર્ડ સંરક્ષણ સુવિધા દ્વારા તેમને આ URL પર મોકલવામાં આવશે.
-      <ph name="PRODUCT_NAME" /> પાસવર્ડ બદલો પેજ પર નવા પાસવર્ડ ફિંગરપ્રિન્ટને સાચી રીતે કૅપ્ચર કરી શકે તે માટે, કૃપા કરીને ખાતરી કરો કે તમારું પાસવર્ડ બદલો પેજ https://www.chromium.org/developers/design-documents/create-amazing-password-forms પરની માર્ગદર્શિકાઓનું પાલન કરે છે.
-
-      જો આ સેટિંગ ચાલુ કરેલ હશે અને જો વપરાશકર્તાઓ ફિશિંગના ભોગ બન્યા હશે, તો તેમના પાસવર્ડ બદલવા માટે પાસવર્ડ સંરક્ષણ સુવિધા દ્વારા તેમને આ URL પર મોકલવામાં આવશે.
-      જો આ સેટિંગ બંધ હશે અથવા ચાલુ કરેલ નહીં હોય, તો પાસવર્ડ સંરક્ષણ સુવિધા દ્વારા વપરાશકર્તાઓને તેમના પાસવર્ડ બદલવા માટે https://myaccounts.google.com પર મોકલવામાં આવશે.
-     <ph name="MS_AD_NAME" /> ડોમેન સાથે જોડાયેલ ન હોય તેવી Windows આવૃત્તિઓ પર આ નીતિ ઉપલબ્ધ નથી.</translation>
 <translation id="1797233582739332495">વપરાશકર્તાને રીલૉન્ચ કરવાની આવશ્યકતા છે તેવું વારંવાર દર્શાવતો સંકેત બતાવો</translation>
 <translation id="1803646570632580723">લૉન્ચરમાં બતાવવા માટે પિન કરેલી એપ્લિકેશંસની સૂચિ</translation>
 <translation id="1808715480127969042">આ સાઇટ્સ પર કૂકીઝને અવરોધિત કરો</translation>
@@ -2198,13 +2192,6 @@
 
       જો આ નીતિ સેટ કર્યા વિના છોડેલી છે અથવા સૂચિ ખાલી છે, તો <ph name="PRODUCT_NAME" /> માં બધી યોજના ઍક્સેસ કરવા યોગ્ય હશે.</translation>
 <translation id="6652197835259177259">સ્થાનિક રીતે સંચાલિત વપરાશકર્તાઓની સેટિંગ્સ</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> માં નેટવર્ક અનુમાનોને સક્ષમ કરે છે અને વપરાશકર્તાઓને આ સેટિંગ બદલવાથી અટકાવે છે.
-
-      આ DNS પૂર્વઆનયન, TCP અને SSL પ્રીકનેક્શન અને વેબ પૃષ્ઠોનું પ્રીરેન્ડરિંગ નિયંત્રિત કરે છે.
-
-      જો તમે આ પસંદગીને ‘હંમેશા’, ‘ક્યારેય નહીં’ અથવા ‘ફક્ત WiFi’ પર સેટ કરો છો, તો વપરાશકર્તાઓ આ સેટિંગને <ph name="PRODUCT_NAME" /> માં બદલી કે ઓવરરાઇડ કરી શકતાં નથી.
-
-      જો તમે આ નીતિને સેટ કર્યા વિના છોડો છો, તો નેટવર્ક પૂર્વાનુમાન સક્ષમ થશે પણ વપરાશકર્તા તેને બદલવામાં સમર્થ હશે.</translation>
 <translation id="6658245400435704251">સર્વરથી અપડેટ પ્રથમ મોકલવામાં આવ્યું હતું તે સમયથી ઉપકરણ અપડેટનાં તેના ડાઉનલોડમાં રેન્ડમલી વિલંબ કરી શકે છે તેટલી સેકન્ડ્સ નિર્દિષ્ટ કરે છે. ઉપકરણ વૉલ-ક્લોક-સમયનાં શરતોમાં આ સમયના ભાગની અને અપડેટ તપાસોની સંખ્યાની શરતોમાં બાકી ભાગની રાહ જોઈ શકે છે. કોઈ પણ કેસમાં, સ્કેટર સમયના નિરંતર મૂલ્યમાં અપર બાઉન્ડ કરે છે જેથી ઉપકરણ ક્યારે પણ કોઈ અપડેટનાં ડાઉનલોડ થવાની રાહ જોવામાં હમેશ માટે અટકી જતું નથી.</translation>
 <translation id="6665670272107384733">ઝડપી અનલૉકનો ઉપયોગ કરવા માટે વપરાશકર્તાએ કેટલી વાર પાસવર્ડ દાખલ કરવો આવશ્યક થશે તે સેટ કરો</translation>
 <translation id="6681229465468164801">તમને તે URL પેટર્નની સૂચિ સેટ કરવાની મંજૂરી આપે છે કે જેમાં વપરાશકર્તાને USB ઉપકરણ પર ઍક્સેસ આપવા માટે પૂછવાથી અટકાવે તેવી સાઇટનો ઉલ્લેખ કરેલો હોય.
diff --git a/components/policy/resources/policy_templates_hi.xtb b/components/policy/resources/policy_templates_hi.xtb
index 4c58e6c..b11e672 100644
--- a/components/policy/resources/policy_templates_hi.xtb
+++ b/components/policy/resources/policy_templates_hi.xtb
@@ -223,12 +223,6 @@
       नीति को किसी ऐसे यूआरएल से जोड़ा जाना चाहिए जिससे <ph name="PRODUCT_OS_NAME" /> सेवा की शर्तें डाउनलोड कर सके. सेवा की शर्तें सामान्य लेख में होनी चाहिए जिसे एमआईएमई किस्म के लेख/सामान्य के रूप में दिया गया हो. किसी मार्कअप की अनुमति नहीं है.</translation>
 <translation id="1750315445671978749">सभी डाउनलोड ब्लॉक करें</translation>
 <translation id="1781356041596378058">यह नीति Android डेवलपर विकल्प का एक्सेस भी नियंत्रित करती है. यदि आप इस नीति को सही पर सेट करते हैं, तो उपयोगकर्ता डेवलपर विकल्प का एक्सेस नियंत्रित नहीं कर सकते. यदि आप इस नीति को गलत पर सेट करते हैं या सेट किए बिना छोड़ देते हैं, तो उपयोगकर्ता Android सेटिंग ऐप्लिकेशन में बिल्ड संख्या पर सात बार टैप करके डेवलपर विकल्प एक्सेस कर सकते हैं.</translation>
-<translation id="178832255504524723">पासवर्ड बदलने का यूआरएल कॉन्फ़िगर करना (सिर्फ़ एचटीटीपी और एचटीटीपीएस स्कीम). अगर उपयोगकर्ताओं के पासवर्ड चोरी हो गए हैं तो 'पासवर्ड सुरक्षा सेवा' उन्हें अपने पासवर्ड बदलने के लिए यह यूआरएल भेजेगी.
-      <ph name="PRODUCT_NAME" /> इस 'पासवर्ड बदलें' पेज पर नया 'पासवर्ड फ़िंगरप्रिंट' सही तरीके से कैप्चर करे, इसके लिए कृपया पक्का करें कि आपका 'पासवर्ड बदलें' पेज https://www.chromium.org/developers/design-documents/create-amazing-password-forms पर दिए गए दिशा-निर्देश फ़ॉलो करता है.
-
-      अगर यह सेटिंग चालू हो, तो उपयोगकर्ताओं के पासवर्ड चोरी हो जाने पर 'पासवर्ड सुरक्षा सेवा' उन्हें अपने पासवर्ड बदलने के लिए यह यूआरएल भेजेगी.
-      अगर यह सेटिंग बंद हो या सेट न की गई हो, तो 'पासवर्ड सुरक्षा सेवा' उपयोगकर्ताओं को उनका पासवर्ड बदलने के लिए https://myaccounts.google.com पर भेजेगी.
-      यह नीति Windows के उन इंस्टेंस पर नहीं मिलेगी जो किसी <ph name="MS_AD_NAME" /> डोमेन में शामिल नहीं हुए हैं.</translation>
 <translation id="1797233582739332495">उपयोगकर्ता को बार-बार यह सूचित करने वाला संकेत दिखाता है कि फिर से लॉन्च करना ज़रूरी है</translation>
 <translation id="1803646570632580723">लॉन्चर में दिखाए जाने वाले पिन किए गए ऐप्स  की सूची</translation>
 <translation id="1808715480127969042">इन साइटों पर कुकी अवरुद्ध करें</translation>
@@ -1428,14 +1422,6 @@
 <translation id="4980635395568992380">डेटा प्रकार:</translation>
 <translation id="4983201894483989687">पुराने प्‍लग इन चलाने की अनुमति दें</translation>
 <translation id="4988291787868618635">प्रयोग में नहीं विलंब तक पहुंच जाने पर की जाने वाली कार्यवाही</translation>
-<translation id="4990301296093321860">यह नीति आपको 'पासवर्ड सुरक्षा चेतावनी' को ट्रिगर करने का नियंत्रण देती है. 'पासवर्ड सुरक्षा' उपयोगकर्ताओं को तब चेतावनी देती है जब वे उन साइट पर अपने सुरक्षित पासवर्ड का दोबारा इस्तेमाल करते हैं जिनसे उनकी सुरक्षा को खतरा हो सकता है.
-
-      आप 'PasswordProtectionLoginURLs' और 'PasswordProtectionChangePasswordURL' नीतियों का इस्तेमाल यह कॉन्फ़िगर करने के लिए कर सकते हैं कि कौनसे पासवर्ड की सुरक्षा की जानी है.
-
-      अगर यह नीति 'PasswordProtectionWarningOff' पर सेट की जाती है, तो कोई 'पासवर्ड सुरक्षा चेतावनी' नहीं दिखाई जाएगी.
-      अगर यह नीति 'PasswordProtectionWarningOnPasswordReuse' पर सेट की जाती है, तो 'पासवर्ड सुरक्षा चेतावनी' तब दिखाई जाएगी जब उपयोगकर्ता किसी भी गैर-श्वेतसूची वाली साइट पर पासवर्ड का दोबारा इस्तेमाल करेंगे.
-      अगर यह नीति 'PasswordProtectionWarningOnPhishingReuse' पर सेट की जाती है, तो 'पासवर्ड सुरक्षा चेतावनी' तब दिखाई जाएगी जब उपयोगकर्ता फ़िशिंग साइटों पर पासवर्ड का दोबारा इस्तेमाल करेंगे.
-      अगर यह नीति सेट किए बिना छोड़ दी जाती है, तो 'पासवर्ड सुरक्षा चेतावनी' तब ट्रिगर होगी जब उपयोगकर्ता फ़िशिंग साइटों पर पासवर्ड का दोबारा इस्तेमाल करेंगे लेकिन उपयोगकर्ता उसे बदल सकते हैं.</translation>
 <translation id="4995548127349206948">NTLMv2 प्रमाणीकरण चालू है या नहीं.</translation>
 <translation id="5047604665028708335">सामग्री पैक से बाहर की साइटों की एक्‍सेस की अनुमति दें</translation>
 <translation id="5052081091120171147">अगर यह नीति चालू हो तो, यह ब्राउज़िंग इतिहास को वर्तमान डिफ़ॉल्ट ब्राउज़र से आयात करने के लिए बाध्य करती है. चालू होने पर यह नीति, आयात संबंधी संवाद पर भी असर डालती है.
@@ -1978,13 +1964,6 @@
 
       अगर इस नीति को सेट नहीं किया जाता है या सूची खाली है तो, सभी स्कीम को <ph name="PRODUCT_NAME" /> में एक्सेस किया जा सकेगा.</translation>
 <translation id="6652197835259177259">स्थानीय रूप से प्रबंधित उपयोगकर्ताओं की सेटिंग</translation>
-<translation id="6654559957643809067">यह नीति, <ph name="PRODUCT_NAME" /> में 'नेटवर्क का अनुमान' सुविधा चालू करती है और उपयोगकर्ताओं को इस सेटिंग को बदलने से रोकती है.
-
-      यह वेब पेजों की डीएनएस प्रीफ़ेचिंग, टीसीपी और एसएसएल प्री-कनेक्‍शन और प्रीरेंडरिंग को नियंत्रित करती है.
-
-      अगर आप इस प्राथमिकता को 'हमेशा', 'कभी नहीं' या 'केवल वाई-फ़ाई' पर सेट करते हैं तो, उपयोगकर्ता <ph name="PRODUCT_NAME" /> में इस सेटिंग को बदल नहीं सकेंगे या इसे ओवरराइड नहीं कर सकेंगे.
-
-      अगर यह नीति सेट नहीं की जाती है तो, 'नेटवर्क का अनुमान' सुविधा चालू हो जाएगी लेकिन उपयोगकर्ता उसे बदल सकेगा.</translation>
 <translation id="6658245400435704251">किसी अपडेट के पहली बार सर्वर पर पुश किए जाने से लेकर किसी डिवाइस द्वारा उसके डाउनलोड में बार-बार किए जाने वाले विलंब की अवधि निर्दिष्ट करता है. डिवाइस दीवार-घड़ी के समय के संबंध में और बाकी के भाग की अपडेट जाँच की संख्या के संबंध में कुछ समय तक प्रतीक्षा कर सकता है. किसी भी स्थिति में, स्कैटर समय के साथ ऊपरी रूप पर परिबद्ध होता है ताकि डिवाइस हमेशा के लिए कभी भी किसी अपडेट के डाउनलोड होने की प्रतीक्षा में अटक न जाए.</translation>
 <translation id="6665670272107384733">सेट करें कि तुरंत से अनलॉक करने की सुविधा का इस्तेमाल करने के लिए उपयोगकर्ता को कितने समय में पासवर्ड डालना होगा</translation>
 <translation id="6681229465468164801">यह नीति आपको उन 'यूआरएल पैटर्न' की सूची सेट करने देती है जो ऐसी साइटों के बारे में बताते हैं जिन्हें उपयोगकर्ता से किसी यूएसबी डिवाइस के एक्सेस की मंज़ूरी मांगने से रोका गया है.
diff --git a/components/policy/resources/policy_templates_hr.xtb b/components/policy/resources/policy_templates_hr.xtb
index 71f09957..ba5f5cb 100644
--- a/components/policy/resources/policy_templates_hr.xtb
+++ b/components/policy/resources/policy_templates_hr.xtb
@@ -223,12 +223,6 @@
       Pravilo treba biti postavljeno na URL s kojeg <ph name="PRODUCT_OS_NAME" /> može preuzeti Uvjete pružanja usluge. Uvjeti pružanja usluge moraju biti običan tekst, poslužen kao vrsta "text/plain" protokola MIME. Jezik za označavanje nije dopušten.</translation>
 <translation id="1750315445671978749">Blokiranje svih preuzimanja</translation>
 <translation id="1781356041596378058">To pravilo kontrolira i pristup Opcijama za razvojne programere Androida. Ako to pravilo postavite na True, korisnici ne mogu pristupiti Opcijama za razvojne programere. Ako to pravilo postavite na False ili ga ne postavite, korisnici mogu pristupiti Opcijama za razvojne programere tako što će sedam puta dodirnuti broj međuverzije u aplikaciji postavki Androida.</translation>
-<translation id="178832255504524723">Konfigurirajte URL za promjenu zaporke (samo sheme HTTP i HTTPS). To je URL na koji će usluga za zaštitu zaporke slati korisnike da promijene zaporku u slučaju krađe identiteta.
-      Da bi <ph name="PRODUCT_NAME" /> pravilno snimio otisak prsta nove zaporke na toj stranici za promjenu zaporke, stranica za promjenu zaporke mora slijediti smjernice na https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Ako se ta postavka omogući, usluga za zaštitu zaporke slat će korisnike na taj URL da bi promijenili zaporku ako dođe do pokušaja krađe identiteta.
-      Ako se ta postavka onemogući ili ne postavi, usluga za zaštitu zaporke slat će korisnike na https://myaccounts.google.com da bi promijenili zaporku.
-      To pravilo nije dostupno na instancama Windowsa koje nisu pridružene domeni <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Prikaži korisniku ponavljajuću obavijest o obaveznom ponovnom pokretanju</translation>
 <translation id="1803646570632580723">Popis prikvačenih aplikacija za prikazivanje u pokretaču</translation>
 <translation id="1808715480127969042">Blokiraj kolačiće na ovim web-lokacijama</translation>
@@ -1383,14 +1377,6 @@
 <translation id="4980635395568992380">Vrste podataka:</translation>
 <translation id="4983201894483989687">Dopusti pokretanje dodataka koji su zastarjeli</translation>
 <translation id="4988291787868618635">Radnja koja će se izvršiti kada nastupi odgoda neaktivnosti</translation>
-<translation id="4990301296093321860">Omogućuje vam da odredite okidač na temelju kojeg će zaštita zaporke prikazati upozorenje. Zaštita zaporke to upozorenje prikazuje korisnicima kada ponovo upotrijebe svoju zaštićenu zaporku na potencijalno sumnjivim web-lokacijama.
-
-      Pomoću pravila "PasswordProtectionLoginURLs" i "PasswordProtectionChangePasswordURL" možete konfigurirati koju ćete zaporku zaštititi.
-
-      Ako se to pravilo postavi na "PasswordProtectionWarningOff", upozorenje zaštite zaporke neće se prikazati.
-      Ako se to pravilo postavi na "PasswordProtectionWarningOnPasswordReuse", upozorenje zaštite zaporke prikazat će se kada korisnik ponovo upotrijebi svoju zaštićenu zaporku na web-lokaciji koja nije dopuštena.
-      Ako se to pravilo postavi na "PasswordProtectionWarningOnPhishingReuse", upozorenje zaštite zaporke prikazat će se kada korisnik ponovo upotrijebi svoju zaštićenu zaporku na web-lokaciji za krađu identiteta.
-      Ako se to pravilo ne postavi, upozorenje zaštite zaporke prikazat će se kada korisnik ponovo upotrijebi svoju zaštićenu zaporku na web-lokaciji za krađu identiteta, ali će korisnik moći promijeniti tu postavku.</translation>
 <translation id="4995548127349206948">Je li NTLMv2 autentifikacija omogućena.</translation>
 <translation id="5047604665028708335">Dopusti pristup web-lokacijama izvan paketa sadržaja</translation>
 <translation id="5052081091120171147">Ako je omogućeno, ovo pravilo prisilno uvozi povijest pregledavanja iz trenutačno zadanog preglednika. Ako je omogućeno, ovo pravilo također utječe na dijaloški okvir za uvoz. Ako je onemogućeno, povijest pregledavanja se ne uvozi. Ako nije postavljeno, korisniku može biti postavljen upit želi li uvesti povijest pregledavanja ili do uvoza može doći automatski.</translation>
@@ -1891,13 +1877,6 @@
 
       Ako se to pravilo ne postavi ili ako je popis prazan, sve će sheme biti dostupne na usluzi <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Postavke lokalno upravljanih korisnika</translation>
-<translation id="6654559957643809067">Omogućuje mrežno predviđanje u proizvodu <ph name="PRODUCT_NAME" /> i sprječava korisnike da promijene tu postavku.
-
-      Time se kontrolira prethodno dohvaćanje DNS-a, TCP i SSL pretpovezivanje i prethodno generiranje web-stranica.
-
-      Ako postavite tu postavku na "Uvijek", "Nikad" ili "Samo na Wi-Fi-ju", korisnici neće moći promijeniti niti nadjačati tu postavku u proizvodu <ph name="PRODUCT_NAME" />.
-
-      Ako se to pravilo ne postavi, mrežno predviđanje bit će omogućeno, no korisnik će to moći promijeniti.</translation>
 <translation id="6658245400435704251">Određuje do koliko sekundi uređaj može nasumično odgađati preuzimanje ažuriranja od trenutka kad je ažuriranje prvi put poslano na poslužitelj. Uređaj može dio tog vremena čekati u smislu stvarnog proteka vremena, a preostalo vrijeme u smislu broja provjera ažuriranja. U bilo kojem slučaju, gornja granica raspršivanja konstantan je iznos vremena tako da uređaj nikad ne može zauvijek zapeti čekajući ažuriranje.</translation>
 <translation id="6665670272107384733">Odredi koliko često korisnik mora unijeti zaporku za upotrebu brzog otključavanja</translation>
 <translation id="6681229465468164801">Omogućuje vam postavljanje popisa uzoraka URL-ova koji navode web-lokacije kojima se sprječava da od korisnika traže dopuštenje za pristup USB uređaju.
diff --git a/components/policy/resources/policy_templates_hu.xtb b/components/policy/resources/policy_templates_hu.xtb
index 4e24b1c..501b4726 100644
--- a/components/policy/resources/policy_templates_hu.xtb
+++ b/components/policy/resources/policy_templates_hu.xtb
@@ -221,12 +221,6 @@
       A házirend beállításánál egy URL-t kell megadni, amelyről a(z) <ph name="PRODUCT_OS_NAME" /> letöltheti az Általános Szerződési Feltételeket. Az Általános Szerződési Feltételek egyszerű szöveg formátumban legyenek, amelyet text/plain MIME típusként kell megjeleníteni. HTML-kódok nem engedélyezettek.</translation>
 <translation id="1750315445671978749">Az összes letöltés letiltása</translation>
 <translation id="1781356041596378058">A házirend meghatározza az Android fejlesztői beállításokhoz való hozzáférést is. Ha igaz értékre állítja ezt a házirendet, akkor a felhasználók nem férhetnek hozzá a fejlesztői beállításokhoz. Ha hamis értékre állítja a házirendet, illetve nem ad meg beállítást, akkor a felhasználók hozzáférhetnek a fejlesztői beállításokhoz, ha hétszer a build számára koppintanak az Android Beállítások alkalmazásában.</translation>
-<translation id="178832255504524723">A jelszómódosítási URL (csak HTTP és HTTPS protokollokon keresztül) beállítása. A jelszóvédelmi szolgáltatás erre az URL-re küldi el a felhasználókat jelszómódosítás céljából, ha adathalászat áldozataivá váltak.
-      A <ph name="PRODUCT_NAME" /> akkor tudja megfelelően rögzíteni a jelszavak ujjlenyomatát ezen a jelszómódosító oldalon, ha Ön gondoskodik arról, hogy a jelszómódosító oldala betartja a https://www.chromium.org/developers/design-documents/create-amazing-password-forms oldalon található irányelveket.
-
-      A beállítás engedélyezése esetén a jelszóvédelmi szolgáltatás erre az URL-re küldi el a felhasználókat jelszómódosítás céljából, ha adathalászat áldozataivá váltak.
-      Ha a beállítás le van tiltva, vagy ha nincs konfigurálva, akkor a jelszóvédelmi szolgáltatás a https://myaccounts.google.com webhelyre küldi a felhasználókat jelszómódosítás céljából.
-      Ez a házirend nem áll rendelkezésre olyan Windows-példányokon, amelyek nem csatlakoztak <ph name="MS_AD_NAME" />-domainhez.</translation>
 <translation id="1797233582739332495">Ismétlődő értesítés megjelenítése a felhasználónak arról, hogy újraindításra van szükség</translation>
 <translation id="1803646570632580723">Az indítóban megjeleníteni kívánt rögzített alkalmazások listája</translation>
 <translation id="1808715480127969042">Cookie-k letiltása ezeken a webhelyeken</translation>
@@ -1377,14 +1371,6 @@
 <translation id="4980635395568992380">Adattípus:</translation>
 <translation id="4983201894483989687">Elavult bővítmények futtatásának engedélyezése</translation>
 <translation id="4988291787868618635">A tétlenségi késleltetés elteltével végzendő művelet</translation>
-<translation id="4990301296093321860">Lehetővé teszi a jelszóvédelmi figyelmeztetés aktiválásának irányítását. A jelszóvédelem figyelmezteti a felhasználókat, amikor potenciálisan gyanús webhelyeken szeretnék újra felhasználni védett jelszavaikat.
-
-      A „PasswordProtectionLoginURLs” és a „PasswordProtectionChangePasswordURL” házirendeket használhatja a védendő jelszavak beállítására.
-
-      Ha a házirend beállítása „PasswordProtectionWarningOff”, akkor nem jelenik meg jelszóvédelmi figyelmeztetés.
-      Ha a házirend beállítása „PasswordProtectionWarningOnPasswordReuse”, akkor jelenik meg jelszóvédelmi figyelmeztetés, amikor a felhasználó újra felhasználja védett jelszavát olyan webhelyen, amely nem szerepel az engedélyezőlistán.
-      Ha a házirend beállítása „PasswordProtectionWarningOnPhishingReuse”, akkor jelenik meg jelszóvédelmi figyelmeztetés, amikor a felhasználó adathalász webhelyen használja fel újra védett jelszavát.
-      Ha a házirend beállítására nem kerül sor, a jelszóvédelmi figyelmeztetés akkor aktiválódik, amikor a felhasználó adathalász webhelyeken használja fel újra védet jelszavát, de a felhasználó módosíthatja ezt a beállítást.</translation>
 <translation id="4995548127349206948">Engedélyezve van-e az NTLMv2 hitelesítés.</translation>
 <translation id="5047604665028708335">Hozzáférés engedélyezése a tartalomcsomagokon kívüli webhelyekhez</translation>
 <translation id="5052081091120171147">Ez a házirend engedélyezése esetén a böngészési előzmények importálását kényszeríti a jelenlegi alapértelmezett böngészőből. Bekapcsolása esetén a házirend az importálás párbeszédpanelére is hatással van. Ha le van tiltva, nem történik meg a böngészési előzmények importálása. Ha nincs beállítva, akkor előfordulhat, hogy a rendszer a felhasználótól kérdezi meg, hogy megtörténjen-e az importálás, vagy hogy lehet-e automatikus az importálás.</translation>
@@ -1882,13 +1868,6 @@
 
       Ha ez a házirend nincs beállítva, vagy ha a lista üres, akkor minden séma elérhető lesz a(z) <ph name="PRODUCT_NAME" /> termékben.</translation>
 <translation id="6652197835259177259">Helyi felügyeletű felhasználói beállítások</translation>
-<translation id="6654559957643809067">Engedélyezi a hálózati előrejelzést a <ph name="PRODUCT_NAME" /> termékben, és megakadályozza, hogy a felhasználók módosítsák ezt a beállítást.
-
-      Ez vezérli a DNS-előtöltést, az előzetes TCP- és SSL-kapcsolatokat, valamint a weboldalak előzetes megjelenítését.
-
-      Ha a beállítás „mindig”, „soha” vagy „csak Wi-Fin”, akkor a felhasználók nem módosíthatják vagy bírálhatják felül a <ph name="PRODUCT_NAME" /> alkalmazásban.
-
-      Ha nem állítja be a házirendet, a hálózati előrejelzés aktív lesz, de a felhasználó módosíthatja a beállítást.</translation>
 <translation id="6658245400435704251">Meghatározza a másodpercek számát, amely alatt egy eszköz véletlenszerűen késleltetheti egy frissítés letöltését annak első megjelenésétől a szerveren. Az eszköz ennek az időnek egy részét kivárhatja normál idő szerint, a hátralévő részét pedig a frissítések keresésének száma szerint. A szórás felső határa konstans időmennyiség, így az eszköz soha nem ragad le örökre arra várva, hogy letöltsön egy frissítést.</translation>
 <translation id="6665670272107384733">Annak szabályozása, hogy a felhasználónak milyen gyakran kell megadnia jelszavát a gyorsfeloldás használatához.</translation>
 <translation id="6681229465468164801">Lehetővé teszi URL-minták olyan listájának megadását, amely meghatározza, hogy mely webhelyek nem kérdezhetik meg a felhasználótól, hogy engedélyezi-e számukra a hozzáférést egy USB-eszközhöz.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 7a4c3ee..d4a6dce 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -221,12 +221,6 @@
       Kebijakan ini harus disetel ke URL di tempat <ph name="PRODUCT_OS_NAME" /> dapat mendownload Persyaratan Layanan tersebut. Persyaratan Layanan ini harus dalam teks biasa, yang disajikan sebagai teks/biasa jenis MIME. Tidak ada markup yang diizinkan.</translation>
 <translation id="1750315445671978749">Blokir semua download</translation>
 <translation id="1781356041596378058">Kebijakan ini juga mengontrol akses ke Opsi Developer Android. Jika Anda menyetel kebijakan ini ke true, pengguna tidak dapat mengakses Opsi Developer. Jika Anda menyetel kebijakan ini ke false atau tidak menyetel kebijakan ini, pengguna dapat mengakses Opsi Developer dengan menge-tap tujuh kali nomor versi di aplikasi setelan Android.</translation>
-<translation id="178832255504524723">Mengonfigurasi URL ubah sandi (khusus skema HTTP dan HTTPS). Layanan perlindungan sandi akan mengarahkan pengguna ke URL ini untuk mengubah sandinya jika mereka menjadi sasaran phishing.
-      Agar <ph name="PRODUCT_NAME" /> dapat mengambil sidik jari sandi baru di halaman ubah sandi ini dengan benar, harap pastikan bahwa halaman ubah sandi Anda mengikuti pedoman di https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Jika setelan ini diaktifkan, layanan perlindungan sandi akan mengarahkan pengguna ke URL ini untuk mengubah sandinya jika mereka menjadi sasaran phishing.
-      Jika setelan ini dinonaktifkan atau tidak disetel, layanan perlindungan sandi akan mengarahkan pengguna ke https://myaccounts.google.com untuk mengubah sandinya.
-      Kebijakan ini tidak tersedia di instance Windows yang tidak digabungkan ke domain <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Tampilkan permintaan berulang kepada pengguna yang menunjukkan bahwa peluncuran ulang diperlukan</translation>
 <translation id="1803646570632580723">Daftar aplikasi tersemat untuk ditampilkan pada peluncur</translation>
 <translation id="1808715480127969042">Cekal cookie di situs ini</translation>
@@ -680,7 +674,7 @@
 <translation id="2899002520262095963">Aplikasi Android dapat menggunakan konfigurasi jaringan dan sertifikat CA yang disetel melalui kebijakan ini, namun tidak memiliki akses ke beberapa opsi konfigurasi.</translation>
 <translation id="290002216614278247">Memungkinkan Anda mengunci sesi pengguna berdasarkan waktu klien atau kuota penggunaan hari ini.
 
-          |time_window_limit| menentukan durasi harian untuk mengunci sesi pengguna. Kami hanya mendukung satu aturan untuk tiap hari dalam seminggu, oleh karena itu, deret the |entries| dapat bervariasi ukurannya antara 0-7. |starts_at| dan |ends_at| adalah awal dan akhir batas durasi, jika |ends_at| lebih kecil dari |starts_at| berarti |time_limit_window| berakhir pada hari berikutnya. |last_updated_millis| adalah stempel waktu UTC untuk terakhir kali entri ini diperbarui, yang dikirim sebagai string karena stempel waktu tidak dapat ditampilkan dalam bilangan bulat.
+          |time_window_limit| menentukan durasi harian untuk mengunci sesi pengguna. Kami hanya mendukung satu aturan untuk tiap hari dalam seminggu, oleh karena itu, deret |entries| dapat bervariasi ukurannya antara 0-7. |starts_at| dan |ends_at| adalah awal dan akhir batas durasi, jika |ends_at| lebih kecil dari |starts_at| berarti |time_limit_window| berakhir pada hari berikutnya. |last_updated_millis| adalah stempel waktu UTC untuk terakhir kali entri ini diperbarui, yang dikirim sebagai string karena stempel waktu tidak dapat ditampilkan dalam bilangan bulat.
 
           |time_usage_limit| menentukan kuota penggunaan perangkat harian, jadi jika pengguna mencapai batas tersebut, sesi pengguna dikunci. Ada properti untuk tiap hari dalam seminggu, dan hanya boleh disetel jika ada kuota yang aktif untuk hari tersebut. |usage_quota_mins| adalah jumlah waktu perangkat yang dikelola dapat digunakan dalam sehari dan |reset_at| adalah waktu yang menentukan kapan kuota penggunaan diperpanjang. Nilai default untuk |reset_at| adalah tengah malam ({'hour': 0, 'minute': 0}). |last_updated_millis| adalah stempel waktu UTC untuk terakhir kali entri ini diperbarui, yang dikirim sebagai string karena stempel waktu tidak dapat ditampilkan dalam bilangan bulat.
 
@@ -1377,14 +1371,6 @@
 <translation id="4980635395568992380">Jenis data:</translation>
 <translation id="4983201894483989687">Izinkan menjalankan plugin yang kedaluwarsa</translation>
 <translation id="4988291787868618635">Tindakan yang akan diambil saat penundaan waktu menganggur tercapai</translation>
-<translation id="4990301296093321860">Memungkinkan Anda mengontrol pemicu peringatan perlindungan sandi. Perlindungan sandi memberi tahu pengguna saat mereka menggunakan kembali sandi yang dilindungi di situs yang berpotensi mencurigakan.
-
-      Anda dapat menggunakan kebijakan 'PasswordProtectionLoginURLs' dan 'PasswordProtectionChangePasswordURL' untuk mengonfigurasi sandi mana yang harus dilindungi.
-
-      Jika kebijakan ini disetel ke 'PasswordProtectionWarningOff', peringatan perlindungan sandi tidak akan ditampilkan.
-      Jika kebijakan ini disetel ke 'PasswordProtectionWarningOnPasswordReuse', peringatan perlindungan sandi akan ditampilkan saat pengguna menggunakan kembali sandi yang dilindungi di situs yang tidak diizinkan.
-      Jika kebijakan ini disetel ke 'PasswordProtectionWarningOnPhishingReuse', peringatan perlindungan sandi akan ditampilkan saat pengguna menggunakan kembali sandi yang dilindungi di situs phishing.
-      Jfika kebijakan ini dibiarkan tidak disetel, peringatan perlindungan sandi akan dipicu saat pengguna menggunakan kembali sandi yang dilindungi di situs phishing, namun pengguna dapat mengubah setelan ini.</translation>
 <translation id="4995548127349206948">Apakah autentikasi NTLMv2 diaktifkan atau tidak.</translation>
 <translation id="5047604665028708335">Memungkinkan akses ke situs di luar paket konten</translation>
 <translation id="5052081091120171147">Kebijakan ini memaksa histori browseran diimpor dari browser default saat ini, jika diaktifkan. Jika diaktifkan, kebijakan ini juga memengaruhi dialog impor. Jika dinonaktifkan, tidak ada histori browseran yang diimpor. Jika tidak disetel, pengguna mungkin ditanya apakah akan mengimpor, atau pengimporan dapat terjadi secara otomatis.</translation>
@@ -1881,13 +1867,6 @@
 
       Jika kebijakan ini tidak disetel atau daftar kosong, semua skema akan dapat diakses di <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Setelan pengguna yang dikelola secara lokal</translation>
-<translation id="6654559957643809067">Memungkinkan prediksi jaringan dalam <ph name="PRODUCT_NAME" /> dan mencegah pengguna mengubah setelan ini.
-
-      Setelan ini mengontrol prapengambilan DNS, prakoneksi dan praperenderan TCP dan SSL halaman web.
-
-      Jika Anda menyetel preferensi ini ke 'selalu', 'tidak pernah', atau 'khusus Wi-Fi', pengguna tidak dapat mengubah atau menimpa setelan ini di <ph name="PRODUCT_NAME" />.
-
-      Jika kebijakan ini tidak disetel, prediksi jaringan akan diaktifkan namun pengguna dapat mengubahnya.</translation>
 <translation id="6658245400435704251">Menentukan jumlah waktu (dalam detik) sebuah perangkat dapat menunda download pembaruannya secara acak dari saat pembaruan tersebut pertama kali didorong ke server. Perangkat dapat menunggu dengan sebagian dari waktu ini dari segi prediksi waktu penyelesaian tugas dan sisa waktunya dari segi jumlah pemeriksaan pembaruan. Dalam keadaan apa pun, penyebaran dibatasi dengan jumlah waktu yang konstan sehingga perangkat tidak akan terus menunggu download pembaruan selamanya.</translation>
 <translation id="6665670272107384733">Setel seberapa sering pengguna harus memasukkan sandi untuk menggunakan buka kunci cepat.</translation>
 <translation id="6681229465468164801">Memungkinkan Anda menyetel daftar pola URL yang menentukan situs mana yang dicegah agar tidak meminta pengguna memberikan akses ke perangkat USB.
@@ -1939,7 +1918,7 @@
 <translation id="6810445994095397827">Cekal JavaScript di situs ini</translation>
 <translation id="681446116407619279">Skema autentikasi yang didukung</translation>
 <translation id="6832455357698286434">
-      Kebijakan tersebut menentukan daftar asal (URL) atau pola hostname (misalnya "*.contoh.com") yang akan diperlakukan sebagai konten aman. Tujuannya untuk mengizinkan organisasi menyiapkan server persiapan untuk pengembangan web internal, agar developer dapat menguji fitur yang memerlukan konteks aman tanpa harus menerapkan TLS di server persiapan.
+      Kebijakan tersebut menentukan daftar asal (URL) atau pola hostname (misalnya "*.example.com") yang akan diperlakukan sebagai konten aman. Tujuannya untuk mengizinkan organisasi menyiapkan server persiapan untuk pengembangan web internal, agar developer dapat menguji fitur yang memerlukan konteks aman tanpa harus menerapkan TLS di server persiapan.
       Menyetel daftar URL di kebijakan ini memiliki efek yang sama seperti menyetel tanda baris perintah '--unsafely-treat-insecure-origin-as-secure' menjadi daftar yang dipisahkan koma yang berisi URL yang sama. Jika disetel, kebijakan tersebut akan mengganti tanda baris perintah.
       Untuk informasi selengkapnya tentang konteks aman, lihat https://www.w3.org/TR/secure-contexts/
       </translation>
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index f28fd04..6cbd9451 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -210,12 +210,6 @@
 Per la norma dovrebbe essere impostato un URL da cui <ph name="PRODUCT_OS_NAME" /> possa scaricare i Termini di servizio. I Termini di servizio devono essere in testo normale e pubblicati come testo di tipo MIME/semplice. Il markup non è consentito.</translation>
 <translation id="1750315445671978749">Blocca tutti i download</translation>
 <translation id="1781356041596378058">Questa norma controlla anche l'accesso alle Opzioni sviluppatore di Android. Se la norma viene impostata su true, gli utenti non possono accedere alle Opzioni sviluppatore. Se la norma viene impostata su false o non viene impostata, gli utenti possono accedere alle Opzioni sviluppatore toccando sette volte il numero di build nell'app Impostazioni di Android.</translation>
-<translation id="178832255504524723">Configura l'URL di modifica della password (solo schemi HTTP e HTTPS). Il servizio di protezione tramite password indirizzerà gli utenti a questo URL per modificare le password, se queste sono state oggetto di phishing.
-      Affinché <ph name="PRODUCT_NAME" /> possa acquisire correttamente l'impronta digitale della nuova password in questa pagina di modifica della password, assicurati che la pagina di modifica della password che stai utilizzando rispetti le linee guida all'indirizzo https://www.chromium.org/developers/designdocuments/create-amazing-password-forms.
-
-      Se questa impostazione è attiva, il servizio di protezione tramite password indirizza gli utenti a questo URL per modificare le password, se queste sono state oggetto di phishing.
-      Se questa impostazione è disattivata o non configurata, il servizio di protezione tramite password indirizzerà gli utenti alla pagina https://myaccounts.google.com per modificare la password.
-      Questa norma non è disponibile su istanze Windows che non fanno parte di un dominio <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Mostra un messaggio ricorrente all'utente in cui indica che è necessario un riavvio</translation>
 <translation id="1803646570632580723">Elenco di applicazioni bloccate da visualizzare in Avvio applicazioni</translation>
 <translation id="1808715480127969042">Blocca cookie su questi siti</translation>
@@ -669,15 +663,15 @@
 <translation id="2899002520262095963">Le app Android possono utilizzare le configurazioni di rete e i certificati CA impostati tramite questa norma ma non hanno accesso ad alcune opzioni di configurazione.</translation>
 <translation id="290002216614278247">Questa norma consente di bloccare la sessione dell'utente in base al tempo del client o alla quota di utilizzo del giorno.
 
-          |time_window_limit| consente di specificare un periodo giornaliero in cui la sessione dell'utente deve essere bloccata. Supportiamo solo una regola per ogni giorno della settimana, quindi la matrice |entries| potrebbe variare da 0 a 7. |starts_at| ed |ends_at| corrispondono all'inizio e alla fine del limite del periodo. Quando |ends_at| è inferiore a |starts_at| significa che il periodo |time_limit_window| termina il giorno successivo. |last_updated_millis| è il timestamp UTC relativo all'ultimo aggiornamento della voce in questione, che viene inviato sotto forma di stringa perché non si adatta a un numero intero.
+          |time_window_limit| consente di specificare un periodo giornaliero in cui la sessione dell'utente deve essere bloccata. Supportiamo solo una regola per ogni giorno della settimana, quindi la matrice |entries| potrebbe variare da 0 a 7. |starts_at| e |ends_at| corrispondono all'inizio e alla fine del limite del periodo. Quando |ends_at| è inferiore a |starts_at| significa che il periodo |time_limit_window| termina il giorno successivo. |last_updated_millis| è il timestamp UTC relativo all'ultimo aggiornamento della voce in questione, che viene inviato sotto forma di stringa perché non si adatta a un numero intero.
 
-          |time_usage_limit| consente di specificare una quota giornaliera di utilizzo dello schermo che, una volta raggiunta, blocca la sessione dell'utente. Esiste una proprietà per ogni giorno della settimana, che dovrebbe essere impostata solo se esiste una quota attiva per il giorno in questione. |usage_quota_mins| indica per quanto tempo è possibile usare il dispositivo gestito nell'arco di una giornata, mentre |reset_at| indica il momento in cui viene rinnovata la quota di utilizzo. Il valore predefinito di |reset_at| è mezzanotte ({"hour": 0, "minute": 0}). |last_updated_millis| è il timestamp UTC relativo all'ultimo aggiornamento della voce in questione, che viene inviato sotto forma di stringa perché non si adatta a un numero intero.
+          |time_usage_limit| consente di specificare una quota giornaliera di utilizzo dello schermo che, una volta raggiunta, blocca la sessione dell'utente. Esiste una proprietà per ogni giorno della settimana, che dovrebbe essere impostata solo se esiste una quota attiva per il giorno in questione. |usage_quota_mins| indica per quanto tempo è possibile usare il dispositivo gestito nell'arco di una giornata, mentre |reset_at| indica il momento in cui viene rinnovata la quota di utilizzo. Il valore predefinito di |reset_at| è mezzanotte ({'hour': 0, 'minute': 0}). |last_updated_millis| è il timestamp UTC relativo all'ultimo aggiornamento della voce in questione, che viene inviato sotto forma di stringa perché non si adatta a un numero intero.
 
           Il valore |overrides| viene fornito per invalidare temporaneamente una o più regole precedenti.
           * Se non sono attivi né time_window_limit né time_usage_limit, è possibile usare |LOCK| per bloccare il dispositivo.
           * |LOCK| consente di bloccare temporaneamente una sessione utente fino all'inizio dei valori time_window_limit o time_usage_limit successivi.
           * |UNLOCK| consente di sbloccare la sessione di un utente bloccata in base a time_window_limit o time_usage_limit.
-          |created_time_millis| è il timestamp UTC per la creazione dell'override che viene inviato sotto forma di stringa perché non si adatta a un numero intero. Viene usato per stabilire se applicare ancora o meno l'override. Se la funzione del limite di tempo attivo corrente (limite di tempo di utilizzo o limite della finestra temporale) è iniziata dopo la creazione dell'override, non dovrebbe essere applicata. Inoltre, se l'override è stato creato prima dell'ultima modifica dei valori time_window_limit o time_usage_window attivi, non dovrebbe essere applicato.
+          |created_time_millis| è il timestamp UTC per la creazione dell'override che viene inviato sotto forma di stringa perché non si adatta a un numero intero. Viene usato per stabilire se applicare ancora l'override o meno. Se la funzione del limite di tempo attivo corrente (limite di tempo di utilizzo o limite della finestra temporale) è iniziata dopo la creazione dell'override, non dovrebbe essere applicata. Inoltre, se l'override è stato creato prima dell'ultima modifica dei valori time_window_limit o time_usage_window attivi, non dovrebbe essere applicato.
 
           È possibile inviare più override; viene applicata la voce valida più recente.</translation>
 <translation id="2906874737073861391">Elenco di estensioni AppPack</translation>
@@ -1351,14 +1345,6 @@
 <translation id="4980635395568992380">Tipo di dati:</translation>
 <translation id="4983201894483989687">Consenti esecuzione dei plug-in obsoleti</translation>
 <translation id="4988291787868618635">Azione da compiere a raggiungimento ritardo inattività</translation>
-<translation id="4990301296093321860">Questa norma consente di controllare l'attivazione dell'avviso di protezione tramite password. La protezione tramite password avvisa gli utenti quando riutilizzano le proprie password protette su siti potenzialmente sospetti.
-
-      Puoi usare le norme "PasswordProtectionLoginURLs" e "PasswordProtectionChangePasswordURL" per configurare la password da proteggere.
-
-      Se questa norma viene impostata su "PasswordProtectionWarningOff", non apparirà alcun avviso di protezione tramite password.
-      Se questa norma viene impostata su "PasswordProtectionWarningOnPasswordReuse", l'avviso di protezione tramite password apparirà quando l'utente riutilizza la propria password protetta su un sito non autorizzato.
-      Se questa norma viene impostata su "PasswordProtectionWarningOnPhishingReuse", l'avviso di protezione tramite password apparirà quando l'utente riutilizza la propria password protetta su un sito di phishing.
-      Se questa norma non viene impostata, l'avviso di protezione tramite password verrà attivato quando l'utente riutilizza la propria password protetta su un sito di phishing, ma l'utente potrà cambiare questa impostazione.</translation>
 <translation id="4995548127349206948">Se l'autenticazione NTLMv2 è attiva.</translation>
 <translation id="5047604665028708335">Consenti l'accesso ai siti non presenti nei pacchetti di contenuti</translation>
 <translation id="5052081091120171147">Se è attiva, questa norma impone l'importazione della cronologia di navigazione dal browser predefinito corrente. Se la norma è attiva incide anche sulla finestra di dialogo di importazione. Se non è attiva, la cronologia di navigazione non viene importata. Se non viene impostata, all'utente potrebbe essere chiesto se desidera effettuare l'importazione, oppure l'importazione potrebbe avvenire automaticamente.</translation>
@@ -1847,13 +1833,6 @@
 
 Se questa norma non viene impostata o se l'elenco è vuoto, sarà possibile accedere a tutti gli schemi in <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Impostazioni degli utenti gestiti localmente</translation>
-<translation id="6654559957643809067">Consente di attivare la previsione di rete in <ph name="PRODUCT_NAME" /> e di impedire agli utenti di modificare questa impostazione.
-
-      Questa norma consente di controllare il precaricamento DNS, nonché la preconnessione TCP e SSL e il prerendering delle pagine web.
-
-      Se questa preferenza viene impostata su "always", "never" o su "Wi-Fi only" ("sempre", "mai", "solo su Wi-Fi"), gli utenti non potranno modificare o ignorare questa impostazione in <ph name="PRODUCT_NAME" />.
-
-      Se questa norma non viene impostata, la previsione di rete verrà attivata ma l'utente potrà modificarla.</translation>
 <translation id="6658245400435704251">Consente di specificare il numero di secondi massimo per cui un dispositivo può ritardare in modo casuale il download di un suo aggiornamento dal momento della pubblicazione dell'aggiornamento sul server. Il dispositivo può attendere una parte di questo tempo in termini di tempo reale e la parte rimanente in termini di numero di controlli della disponibilità di aggiornamenti. In ogni caso, la dispersione ha un limite massimo pari a un periodo di tempo costante in modo che un dispositivo non si blocchi mai in attesa di scaricare un aggiornamento.</translation>
 <translation id="6665670272107384733">Imposta la frequenza di inserimento della password per poter usare lo sblocco rapido</translation>
 <translation id="6681229465468164801">Consente di impostare un elenco di pattern URL che specificano i siti che non possono richiedere all'utente l'accesso al dispositivo USB.
diff --git a/components/policy/resources/policy_templates_iw.xtb b/components/policy/resources/policy_templates_iw.xtb
index 7df0261..94d0262a 100644
--- a/components/policy/resources/policy_templates_iw.xtb
+++ b/components/policy/resources/policy_templates_iw.xtb
@@ -217,12 +217,6 @@
       יש להגדיר את המדיניות ככתובת אתר שממנה <ph name="PRODUCT_OS_NAME" /> יכול להוריד את התנאים וההגבלות. התנאים וההגבלות חייבים להיות בטקסט פשוט ומוצגים כסוג MIME טקסט/פשוט. השימוש בסימון אסור.</translation>
 <translation id="1750315445671978749">חסום את כל ההורדות</translation>
 <translation id="1781356041596378058">‏המדיניות הזו שולטת גם על הגישה אל אפשרויות למפתחים ב-Android. אם תגדיר את המדיניות הזו כ-true, משתמשים לא יוכלו לגשת אל אפשרויות למפתחים. אם תגדירו אותה כ-false או לא תגדיר אותה, משתמשים יוכלו לגשת אל אפשרויות למפתחים על-ידי הקשה שבע פעמים על מספר ה-Build באפליקציית ההגדרות של Android.</translation>
-<translation id="178832255504524723">‏מגדירה את כתובת האתר לשינוי סיסמה (רק סכימות HTTP ו-HTTPS). שירות הגנת הסיסמה ישלח משתמשים אל כתובת האתר הזו על מנת לשנות את הסיסמאות שלהם במקרים שבהם נפלו קורבן לדיוג.
-      כדי ש-<ph name="PRODUCT_NAME" /> יתעד כראוי את טביעת האצבע של הסיסמה החדשה בדף הזה לשינוי סיסמה, יש לוודא שהדף מוגדר לפי ההנחיות שבכתובת https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      אם ההגדרה הזו מופעלת, שירות הגנת הסיסמה ישלח משתמשים אל כתובת האתר הזו כדי לשנות את הסיסמאות שלהם במקרים שבהם נפלו קורבן לדיוג.
-      אם ההגדרה הזו מושבתת או לא נקבעה, שירות הגנת הסיסמה ישלח משתמשים אל https://myaccounts.google.com כדי לשנות את הסיסמה.
-      המדיניות הזו לא זמינה במופעי Windows שלא צורפו אל דומיין <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">הצגת הודעה חוזרת למשתמש המציינת שיש צורך להפעיל מחדש</translation>
 <translation id="1803646570632580723">רשימת יישומים מוצמדים שיש להציג במפעיל</translation>
 <translation id="1808715480127969042">‏חסום קובצי Cookie באתרים אלה</translation>
@@ -1376,14 +1370,6 @@
 <translation id="4980635395568992380">סוג נתונים:</translation>
 <translation id="4983201894483989687">אפשר להריץ יישומי פלאגין מיושנים</translation>
 <translation id="4988291787868618635">הפעולה שיש לבצע כשמסתיימת ההשהיה לפני מצב לא פעיל</translation>
-<translation id="4990301296093321860">‏מאפשרת לשלוט בהפעלת האזהרה של הגנת סיסמה. הגנת סיסמה מזהירה את המשתמש כשהוא עושה שימוש חוזר בסיסמה המוגנת שלו באתרים חשודים.
-
-      אפשר להשתמש במדיניות 'PasswordProtectionLoginURLs' ו-'PasswordProtectionChangePasswordURL' כדי להגדיר על איזו סיסמה להגן.
-
-      אם המדיניות הזו מוגדרת כ-'PasswordProtectionWarningOff', לא תוצג אזהרה של הגנת סיסמה. 
-      אם המדיניות הזו מוגדרת כ-'PasswordProtectionWarningOnPasswordReuse', אזהרה של הגנת סיסמה תוצג כשהמשתמש יעשה שימוש חוזר בסיסמה המוגנת באתר שאינו מופיע ברשימת ההיתרים.
-      אם המדיניות הזו מוגדרת כ-'PasswordProtectionWarningOnPhishingReuse', אזהרה של הגנת סיסמה תוצג כשהמשתמש יעשה שימוש חוזר בסיסמה המוגנת באתר דיוג.
-      אם המדיניות הזו לא מוגדרת, אזהרה של הגנת סיסמה תופעל כשהמשתמש יעשה שימוש חוזר בסיסמה המוגנת באתר דיוג, אבל המשתמש יוכל לשנות את ההגדרה הזו.</translation>
 <translation id="4995548127349206948">‏הפעלה או השבתה של אימות NTLMv2.</translation>
 <translation id="5047604665028708335">אפשר גישה לאתרים שמחוץ לחבילות תוכן</translation>
 <translation id="5052081091120171147">מדיניות זו מאלצת לייבא את היסטוריית הגלישה מדפדפן ברירת המחדל הנוכחי, אם הוא מופעל. אם מדיניות זו מופעלת, היא משפיעה גם על תיבת הדו-שיח של הייבוא. אם היא מושבתת, אין ייבוא של היסטוריית גלישה. אם אינה מוגדרת, ייתכן כי המערכת תשאל את המשתמש אם לייבא או שהייבוא יתבצע באופן אוטומטי.</translation>
@@ -1751,7 +1737,7 @@
 <translation id="6155936611791017817">הגדר מצב ברירת מחדל של הסמן הגדול במסך ההתחברות</translation>
 <translation id="6157537876488211233">‏רשימה מופרדת בפסיקים של כללי עקיפת Proxy</translation>
 <translation id="6158324314836466367">שם חנות אינטרנט של ארגון (הוצא משימוש)</translation>
-<translation id="6164955668342404660">‏הוצאה משימוש ב-M69. במקום זאת יש להשתמש ב-OverrideSecurityRestrictionsOnInsecureOrigin instead
+<translation id="6164955668342404660">‏הוצאה משימוש ב-M69. יש להשתמש במקומה ב-OverrideSecurityRestrictionsOnInsecureOrigin.
 
       המדיניות הזו מגדירה רשימת מקורות (כתובות אתרים) שיש להתייחס אליהם כאל הקשר מאובטח. המטרה היא להתיר לארגונים להגדיר שרת ביניים לפיתוח אינטרנט פנימי כדי שהמפתחים יוכלו לבדוק תכונות שנחוץ להן הקשר מאובטח, ללא צורך בפריסה של TLS (אבטחת שכבת התעבורה) בשרת הביניים.
       להגדרת רשימה של כתובות אתרים במדיניות הזו יש השפעה זהה לזו של הגדרת הסימון בשורת הפקודות '‎--unsafely-treat-insecure-origin-as-secure' כרשימה המופרדת בפסיקים שכוללת את אותן כתובות אתרים. אם המדיניות מוגדרת, היא תעקוף את הסימון בשורת הפקודות.
@@ -1873,13 +1859,6 @@
 
       אם תשאיר מדיניות זו ללא הגדרה או אם הרשימה ריקה, ניתן יהיה לגשת לכל הסכימות ב-<ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">הגדרות של משתמשים המנוהלים באופן מקומי</translation>
-<translation id="6654559957643809067">‏מדיניות זו מאפשרת חיזוי רשת ב-<ph name="PRODUCT_NAME" /> ומונעת מהמשתמשים לשנות הגדרה זו.
-
-      מדיניות זו שולטת בהבאה מראש של DNS, בחיבור מראש של TCP ו-SSL ובעיבוד מראש של דפי אינטרנט. 
-
-      אם תגדיר העדפה זו למצבי 'תמיד', 'אף פעם' או 'Wi-Fi בלבד', המשתמשים לא יוכלו לשנות או לבטל אותה ב-<ph name="PRODUCT_NAME" />.
-
-      אם לא תגדיר מדיניות זו כלל, חיזויי רשת יופעלו, אך המשתמשים יוכלו לשנות זאת.</translation>
 <translation id="6658245400435704251">מציין עד כמה שניות המכשיר יכול לעכב אוטומטית את הורדת העדכון המתבצעת באמצעותו, מהרגע שבו העדכון נדחף לראשונה אל השרת. המכשיר עשוי להמתין חלק מזמן זה במונחים של זמן לפי שעון רגיל, ואת החלק הנותר במונחים של מספר בדיקות העדכון. בכל מקרה, הפיזור נמצא בתחום העליון של פרק זמן קבוע, כדי שהמכשיר לעולם לא ייתקע לנצח בהמתנה להוריד עדכון.</translation>
 <translation id="6665670272107384733">הגדרת התדירות שבה המשתמש צריך להזין סיסמה כדי להשתמש בביטול נעילה מהיר</translation>
 <translation id="6681229465468164801">‏מאפשרת לך להגדיר רשימת דפוסים של כתובות המציינים אתרים שאינם רשאים להציג בפני המשתמש בקשת הרשאה לגשת אל התקן USB.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index a72faa41..4ee8e09 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -222,12 +222,6 @@
       ポリシーは、<ph name="PRODUCT_OS_NAME" /> による利用規約のダウンロードが可能な URL に設定する必要があります。利用規約はテキスト形式で、MIME タイプのプレーン テキストとして配信してください。マークアップ形式は使用できません。</translation>
 <translation id="1750315445671978749">すべてのダウンロードをブロックする</translation>
 <translation id="1781356041596378058">このポリシーでは、Android 開発者向けオプションへのアクセスも管理できます。このポリシーを true に設定した場合、ユーザーは開発者向けオプションにアクセスできません。このポリシーを false に設定するか未設定のままにした場合、ユーザーは Android 設定アプリのビルド番号を 7 回タップすれば開発者向けオプションにアクセスできます。</translation>
-<translation id="178832255504524723">パスワード変更用の URL を設定します(HTTP と HTTPS スキームのみ)。フィッシングに遭ったためにパスワードを変更するユーザーは、パスワード保護サービスによってこの URL にリダイレクトされます。
-      指紋による新しいパスワード認証が <ph name="PRODUCT_NAME" /> で正しく処理されるようにするには、パスワード変更用のページが https://www.chromium.org/developers/design-documents/create-amazing-password-forms のガイドラインに沿っていることを確認してください。
-
-      この設定が有効な場合、フィッシングに遭ったためにパスワードを変更するユーザーは、パスワード保護サービスによってこの URL にリダイレクトされます。
-      この設定が無効または未設定の場合、パスワードを変更するユーザーは、パスワード保護サービスによって https://myaccounts.google.com にリダイレクトされます。
-      このポリシーは、<ph name="MS_AD_NAME" /> ドメインに登録されていない Windows インスタンスでは使用できません。</translation>
 <translation id="1797233582739332495">再起動が必要であることを示すメッセージをユーザーに繰り返し表示する</translation>
 <translation id="1803646570632580723">ランチャーに表示する固定アプリのリスト</translation>
 <translation id="1808715480127969042">これらのサイトの Cookie をブロックする</translation>
@@ -1377,14 +1371,6 @@
 <translation id="4980635395568992380">データ タイプ:</translation>
 <translation id="4983201894483989687">古いプラグインの実行を許可する</translation>
 <translation id="4988291787868618635">アイドル時間に到達したときに行われる操作</translation>
-<translation id="4990301296093321860">パスワード保護の警告を表示するトリガーを制御できます。パスワード保護の警告は、不審なサイトでユーザーが保護されたパスワードを再使用したときに表示されます。
-
-      保護するパスワードを設定するには、「PasswordProtectionLoginURLs」ポリシーと「PasswordProtectionChangePasswordURL」ポリシーを使用します。
-
-      このポリシーが「PasswordProtectionWarningOff」に設定されている場合、パスワード保護の警告は表示されません。
-      このポリシーが「PasswordProtectionWarningOnPasswordReuse」に設定されている場合、ホワイトリストに登録されていないサイトでユーザーが保護されたパスワードを再使用したときに、パスワード保護の警告が表示されます。
-      このポリシーが「PasswordProtectionWarningOnPhishingReuse」に設定されている場合、フィッシング サイトでユーザーが保護されたパスワードを再使用したときに、パスワード保護の警告が表示されます。
-      このポリシーが設定されていない場合、フィッシング サイトでユーザーが保護されたパスワードを再使用したときに、パスワード保護の警告がトリガーされますが、ユーザーはこの設定を変更できます。</translation>
 <translation id="4995548127349206948">NTLMv2 認証が有効かどうか。</translation>
 <translation id="5047604665028708335">コンテンツ パック外部のサイトへのアクセスを許可する</translation>
 <translation id="5052081091120171147">このポリシーを有効にすると、現在の既定のブラウザからインポートされた閲覧履歴を適用します。その場合、このポリシーはインポート ダイアログにも影響します。無効にすると閲覧履歴はインポートされません。このポリシーが未設定の場合、インポートするかどうかをユーザーに尋ねるか、自動的にインポートされます。</translation>
@@ -1881,13 +1867,6 @@
 
       このポリシーが未設定の場合やリストが空の場合は、すべてのスキームが <ph name="PRODUCT_NAME" /> でアクセス可能になります。</translation>
 <translation id="6652197835259177259">ローカルの管理対象ユーザーの設定</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> でネットワーク予測を有効にして、ユーザーがこの設定を変更できないようにします。
-
-      これにより、DNS のプリフェッチ、TCP と SSL の事前接続、ウェブページの事前レンダリングが制御されます。
-
-      この設定を [常に使用]、[使用しない]、[Wi-Fi のみ] にすると、ユーザーは <ph name="PRODUCT_NAME" /> でこの設定の変更や上書きができなくなります。
-
-      このポリシーが未設定の場合、ネットワーク予測は有効になりますが、ユーザーはこの設定を変更できます。</translation>
 <translation id="6658245400435704251">最初にアップデートがサーバーにプッシュされた時刻から、デバイスによるアップデートのダウンロードをランダムに遅延できる最大時間を秒数で指定します。デバイスは、この時間の一部を実際の経過時間として、残りの時間をアップデート チェックとして待機できます。どのような場合でも、係数にはある一定の時間の上限があるため、アップデートのダウンロードを永遠に待機してデバイスが停止し続けることはありません。</translation>
 <translation id="6665670272107384733">ロックのクイック解除機能を使用するために必要なパスワード入力の頻度を設定する</translation>
 <translation id="6681229465468164801">ユーザーに対する USB デバイスへのアクセス リクエストを許可しないサイトを表す URL パターンのリストを設定します。
diff --git a/components/policy/resources/policy_templates_kn.xtb b/components/policy/resources/policy_templates_kn.xtb
index be9b902..f17048a 100644
--- a/components/policy/resources/policy_templates_kn.xtb
+++ b/components/policy/resources/policy_templates_kn.xtb
@@ -245,12 +245,6 @@
 <ph name="PRODUCT_OS_NAME" /> ಸೇವಾ ನಿಯಮಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದಾದ URL ಗೆ ನೀತಿಯನ್ನು ಹೊಂದಿಸಬೇಕು. MIME ವಿಧ ಪಠ್ಯ/ಸೇವಾ ನಿಯಮವು ಖಾಲಿ ಪಠ್ಯವಾಗಿರಬೇಕು,</translation>
 <translation id="1750315445671978749">ಎಲ್ಲ ಡೌನ್‌ಲೋಡ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ</translation>
 <translation id="1781356041596378058">ಈ ನೀತಿಯು Android ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಸಹ ನಿಯಂತ್ರಿಸುತ್ತದೆ. ಈ ನೀತಿಯನ್ನು ನೀವು ಸರಿ ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರಿಗೆ ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಈ ನೀತಿಯನ್ನು ತಪ್ಪು ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ ಅಥವಾ ಅದನ್ನು ಹೊಂದಿಸದೇ ಬಿಟ್ಟರೆ, Android ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಬಿಲ್ಡ್ ಸಂಖ್ಯೆಯ ಮೇಲೆ ಏಳು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡುವ ಮೂಲಕ ಬಳಕೆದಾರರು ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.</translation>
-<translation id="178832255504524723">ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸುವ URL (HTTP ಮತ್ತು HTTPS ಸ್ಕೀಮ್‌ಗಳು ಮಾತ್ರ) ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ಬಳಕೆದಾರರು ಫಿಶಿಂಗ್ ದಾಳಿಗೆ ಒಳಗಾದ ಸಂದರ್ಭದಲ್ಲಿ, ಅವರ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಬದಲಾಯಿಸಲು ಪಾಸ್‍ವರ್ಡ್ ರಕ್ಷಣಾ ಸೇವೆಯು ಅವರನ್ನು ಈ URL ಗೆ ಕಳುಹಿಸುತ್ತದೆ.
-     ಈ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾವಣೆ ಪುಟದಲ್ಲಿ ಹೊಸ ಪಾಸ್‌ವರ್ಡ್‌ನ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್‌ ಅನ್ನು <ph name="PRODUCT_NAME" /> ಸರಿಯಾಗಿ ಸೆರೆಹಿಡಿಯುವ ಸಲುವಾಗಿ, ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾವಣೆ ಪುಟವು https://www.chromium.org/developers/design-documents/create-amazing-password-forms ನ ಮಾರ್ಗದರ್ಶಿಗಳನ್ನು ಅನುಸರಿಸುತ್ತಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
-
-      ಈ ಸೆಟ್ಟಿಂಗ್ ಸಕ್ರಿಯಗೊಂಡಿದ್ದರೆ, ಬಳಕೆದಾರರು ಫಿಶಿಂಗ್ ದಾಳಿಗೆ ಒಳಗಾದ ಸಂದರ್ಭದಲ್ಲಿ, ಅವರ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಬದಲಾಯಿಸಲು ಪಾಸ್‍ವರ್ಡ್ ರಕ್ಷಣಾ ಸೇವೆಯು ಅವರನ್ನು ಈ URL ಗೆ ಕಳುಹಿಸುತ್ತದೆ.
-      ಈ ಸೆಟ್ಟಿಂಗ್ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದ್ದರೆ ಅಥವಾ ಹೊಂದಿಸದಿದ್ದರೆ, ಬಳಕೆದಾರರು ತಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಬದಲಾಯಿಸಲು, ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಣಾ ಸೇವೆಯು ಅವರನ್ನು https://myaccounts.google.com ಗೆ ಕಳುಹಿಸುತ್ತದೆ.
-      <ph name="MS_AD_NAME" /> ಡೊಮೇನ್‌ಗೆ ಸೇರದೆ ಇರುವ Windows ನಿದರ್ಶನಗಳಲ್ಲಿ ಈ ಕಾರ್ಯನೀತಿಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ.</translation>
 <translation id="1797233582739332495">ಪುನರಾರಂಭದ ಅಗತ್ಯವಿದೆ ಎಂದು ಬಳಕೆದಾರರಿಗೆ ಸೂಚಿಸುವ, ಮರುಕಳಿಸುವ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ತೋರಿಸಿ</translation>
 <translation id="1803646570632580723">ಲಾಂಚರ್‌ನಲ್ಲಿ ತೋರಿಸಬೇಕಾದ ಪಿನ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ</translation>
 <translation id="1808715480127969042">ಈ ಸೈಟ್‌ಗಳಲ್ಲಿನ ಕುಕೀಸ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸು</translation>
@@ -1497,14 +1491,6 @@
 <translation id="4980635395568992380">ಡೇಟಾ ಪ್ರಕಾರ:</translation>
 <translation id="4983201894483989687">ಅವಧಿಮೀರಿರುವ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ಲಗ್‌ಇನ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="4988291787868618635">ನಿಷ್ಪಲ ವಿಳಂಬ ತಲುಪಿದಾಗ ತೆಗೆದುಕೊಳ್ಳಬೇಕಾದ ಕ್ರಮ</translation>
-<translation id="4990301296093321860">ಪಾಸ್‌ವರ್ಡ್ ಸಂರಕ್ಷಣೆಯ ಎಚ್ಚರಿಕೆಯು ಟ್ರಿಗರ್ ಆಗುವುದನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಸಂಭಾವ್ಯ ಸಂದೇಹಾಸ್ಪದ ಸೈಟ್‌ಗಳಲ್ಲಿ ಬಳಕೆದಾರರು ತಮ್ಮ ಸಂರಕ್ಷಿತ ಪಾಸ್‍ವರ್ಡ್ ಅನ್ನು ಪುನಃ ಬಳಸಿದಾಗ ಪಾಸ್‌ವರ್ಡ್ ಸಂರಕ್ಷಣೆಯು ಬಳಕೆದಾರರಿಗೆ ಎಚ್ಚರಿಕೆ ನೀಡುತ್ತದೆ.
-
-ನೀವು ಸಂರಕ್ಷಣೆ ಮಾಡಲಿಚ್ಛಿಸುವ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು 'PasswordProtectionLoginURLs' ಮತ್ತು 'PasswordProtectionChangePasswordURL' ಕಾರ್ಯನೀತಿಗಳನ್ನು ಬಳಸಬಹುದು.
-
-ಈ ಕಾರ್ಯನೀತಿಯನ್ನು 'PasswordProtectionWarningOff' ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, ಪಾಸ್‌ವರ್ಡ್ ಸಂರಕ್ಷಣೆ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುವುದಿಲ್ಲ.
-ಈ ಕಾರ್ಯನೀತಿಯನ್ನು 'PasswordProtectionWarningOnPasswordReuse' ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರು ತಮ್ಮ ಸಂರಕ್ಷಿತ ಪಾಸ್‍ವರ್ಡ್ ಅನ್ನು ಶ್ವೇತಪಟ್ಟಿಯಲ್ಲಿಲ್ಲದ ಸೈಟ್‌ ಒಂದರಲ್ಲಿ ಪುನಃ ಬಳಸಿದಾಗ ಪಾಸ್‌ವರ್ಡ್ ಸಂರಕ್ಷಣೆ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ.
-ಈ ಕಾರ್ಯನೀತಿಯನ್ನು 'PasswordProtectionWarningOnPhishingReuse' ಎಂಬುದಾಗಿ ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರು ತಮ್ಮ ಸಂರಕ್ಷಿತ ಪಾಸ್‍ವರ್ಡ್ ಅನ್ನು ಫಿಶಿಂಗ್ ಸೈಟ್ ಒಂದರಲ್ಲಿ ಪುನಃ ಬಳಸಿದಾಗ ಪಾಸ್‌ವರ್ಡ್ ಸಂರಕ್ಷಣೆ ಎಚ್ಚರಿಕೆಯನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ.
-ಹೊಂದಿಸದೆ ಹಾಗೇ ಬಿಟ್ಟಲ್ಲಿ, ಬಳಕೆದಾರರು ತಮ್ಮ ಸಂರಕ್ಷಿತ ಪಾಸ್‍ವರ್ಡ್ ಅನ್ನು ಫಿಶಿಂಗ್ ಸೈಟ್ ಒಂದರಲ್ಲಿ ಪುನಃ ಬಳಸಿದಾಗ ಪಾಸ್‌ವರ್ಡ್ ಸಂರಕ್ಷಣೆ ಎಚ್ಚರಿಕೆಯು ಟ್ರಿಗರ್ ಆಗುತ್ತದೆ, ಆದರೆ ಬಳಕೆದಾರರು ಈ ಸೆಟ್ಟಿಂಗ್‌ ಅನ್ನು ಬದಲಾಯಿಸಬಹುದು.</translation>
 <translation id="4995548127349206948">NTLMv2 ದೃಢೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆಯೇ.</translation>
 <translation id="5047604665028708335">ವಿಷಯ ಪ್ಯಾಕ್‌ಗಳಿಂದ ಹೊರಗಿನ ಸೈಟ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="5052081091120171147">ಪ್ರಸ್ತುತ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ ಈ ನೀತಿಯು ಅದರಿಂದ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಆಮದು ಮಾಡುವಂತೆ ಒತ್ತಾಯಿಸುತ್ತದೆ. ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ, ಈ ನೀತಿಯು ಆಮದು ಸಂವಾದಕ್ಕೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ, ಯಾವುದೇ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಆಮದು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಇದನ್ನು ಹೊಂದಿಸದೆ ಇದ್ದಲ್ಲಿ, ಆಮದು ಮಾಡಬೇಕೆ ಅಥವಾ ಬೇಡವೆ ಎಂದು ಬಳಕೆದಾರರನ್ನು ಕೇಳಲಾಗುತ್ತದೆ ಅಥವಾ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಮದು ಆಗುತ್ತದೆ.</translation>
@@ -2060,13 +2046,6 @@
 
       ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದೆಯೇ ಬಿಟ್ಟರೆ ಅಥವಾ ಪಟ್ಟಿಯು ಖಾಲಿಯಾಗಿದ್ದರೆ ಎಲ್ಲಾ ಸ್ಕೀಮ್‌ಗಳನ್ನು <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಪ್ರವೇಶಿಸಬಹುದಾಗಿದೆ.</translation>
 <translation id="6652197835259177259">ಸ್ಥಳೀಯವಾಗಿ ನಿರ್ವಹಿಸಲಾದ ಬಳಕೆದಾರರ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್ ಮುನ್ಸೂಚನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರು ಈ ಸೆಟ್ಟಿಂಗ್ ಬದಲಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
-
-      ಇದು DNS ಮುಂಚಿತವಾಗಿ ಪಡೆಯುವುದನ್ನು, TCP ಮತ್ತು SSL ಪೂರ್ವಸಂಪರ್ಕವನ್ನು ಮತ್ತು ವೆಬ್ ಪುಟಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ಸಲ್ಲಿಸುವುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
-
-      ಈ ಪ್ರಾಶಸ್ತ್ಯವನ್ನು ನೀವು 'ಯಾವಾಗಲೂ', 'ಎಂದಿಗೂ ಇಲ್ಲ' ಅಥವಾ 'ವೈಫೈ ಮಾತ್ರ'ಕ್ಕೆ ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರಿಗೆ <ph name="PRODUCT_NAME" /> ನಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಅಥವಾ ಅತಿಕ್ರಮಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
-
-      ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದೇ ಬಿಟ್ಟರೆ, ನೆಟ್‌ವರ್ಕ್ ಮುನ್ಸೂಚನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ ಆದರೆ ಬಳಕೆದಾರರಿಗೆ ಇದನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.</translation>
 <translation id="6658245400435704251">ಸರ್ವರ್‌ಗೆ ಮೊದಲು ಅಪ್‌ಡೇಟ್‌‌ವನ್ನು ದೂಡಿದಲ್ಲಿಂದ ಸಾಧನವು ಅಪ್‌ಡೇಟ್‌‌ದ ಡೌನ್‌ಲೋಡ್ ಅನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ ವಿಳಂಬ ಮಾಡಬಹುದಾದವರೆಗಿನ ಸೆಕೆಂಡುಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಗೋಡೆ-ಗಡಿಯಾರದ ಸಮಯದಲ್ಲಿ ಹಾಗೂ ಅಪ್‌ಡೇಟ್‌‌ ಪರಿಶೀಲನೆಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ಸಾಧನವು ನಿರೀಕ್ಷಿಸುತ್ತದೆ. ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ಆಗಾಗ್ಗೆ ಬದಲಾಗುವ ಸಮಯದ ಹದ್ದುಬಸ್ತಿನಲ್ಲಿ ಚದುರಿರುತ್ತದೆ ಆದ್ದರಿಂದ ಡೌನ್‌ಲೋಡ್‌ಗೆ ನಿರೀಕ್ಷಿಸುತ್ತಿರುವಾಗ ಸಾಧನವು ಮಧ್ಯೆ ಸಿಲುಕಿಹಾಕಿಕೊಳ್ಳುವುದಿಲ್ಲ ಯಾವಾಗಲೂ ನವೀಕರಿಸುತ್ತದೆ.</translation>
 <translation id="6665670272107384733">ತ್ವರಿತ ಅನ್‌ಲಾಕ್‌ ಬಳಸಲು ಬಳಕೆದಾರರು ಎಷ್ಟು ಬಾರಿ ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸಬೇಕು ಎಂಬುದನ್ನು ಸೆಟ್ ಮಾಡಿ</translation>
 <translation id="6681229465468164801">USB ಸಾಧನಕ್ಕೆ ಪ್ರವೇಶ ನೀಡಬೇಕೆಂದು ಬಳಕೆದಾರರನ್ನು ಕೇಳದಂತೆ ತಡೆಯಲಾಗಿರುವ ಸೈಟ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ URL ಮಾದರಿಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿಸಲು ಇದು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ.
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 416a799..ab5cbfa56 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -223,12 +223,6 @@
       정책은 <ph name="PRODUCT_OS_NAME" />에서 서비스 약관을 다운로드할 수 있는 URL로 설정되어야 합니다. 서비스 약관은 일반 텍스트여야 하며 MIME 유형 text/plain으로 제공됩니다. 마크업은 허용되지 않습니다.</translation>
 <translation id="1750315445671978749">모든 다운로드 차단</translation>
 <translation id="1781356041596378058">이 정책은 Android 개발자 옵션 액세스 권한도 제어합니다. 이 정책을 true로 설정하는 경우 사용자는 개발자 옵션에 액세스할 수 없습니다. 이 정책을 false로 설정하거나 설정하지 않은 채로 두는 경우 Android 설정 앱에서 빌드 번호를 7번 탭하면 개발자 옵션에 액세스할 수 있습니다.</translation>
-<translation id="178832255504524723">비밀번호 변경 URL(HTTP 및 HTTPS 스키마만 해당)을 설정합니다. 사용자가 피싱을 당했을 때 비밀번호 보호 서비스에서 사용자가 비밀번호를 변경할 수 있도록 이 URL로 안내합니다.
-      <ph name="PRODUCT_NAME" />이(가) 비밀번호 변경 페이지에서 새로운 비밀번호 지문을 올바르게 캡처하도록 하려면 비밀번호 변경 페이지가 https://www.chromium.org/developers/design-documents/create-amazing-password-forms 페이지의 가이드라인을 준수하는지 확인해 주세요.
-
-      이 설정을 사용 설정하면 사용자가 피싱을 당했을 때 비밀번호 보호 서비스에서 사용자가 비밀번호를 변경할 수 있도록 이 URL로 안내합니다.
-      이 설정을 사용 중지하거나 설정하지 않으면 비밀번호 보호 서비스에서 사용자가 비밀번호를 변경할 수 있도록 https://myaccounts.google.com으로 안내합니다.
-      <ph name="MS_AD_NAME" /> 도메인에 가입되어 있지 않은 Windows 인스턴스에는 이 정책을 사용할 수 없습니다.</translation>
 <translation id="1797233582739332495">사용자에게 재실행이 필요하다는 메시지를 반복하여 표시</translation>
 <translation id="1803646570632580723">런처에 표시되는 고정된 앱 목록</translation>
 <translation id="1808715480127969042">이 사이트에서 쿠키 차단</translation>
@@ -1422,14 +1416,6 @@
 <translation id="4980635395568992380">데이터 유형:</translation>
 <translation id="4983201894483989687">오래된 플러그인 실행 허용</translation>
 <translation id="4988291787868618635">유휴 지연 시간에 도달하면 수행할 작업</translation>
-<translation id="4990301296093321860">비밀번호 보호 경고 실행을 제어할 수 있습니다. 비밀번호 보호 알림은 사용자가 의심스러워 보이는 사이트에서 보호된 비밀번호를 재사용할 때 사용자에게 경고를 표시하는 기능입니다.
-
-      'PasswordProtectionLoginURLs' 및 'PasswordProtectionChangePasswordURL' 정책을 사용하여 어떤 비밀번호를 보호할지 구성할 수 있습니다.
-
-      이 정책이 'PasswordProtectionWarningOff'로 설정되어 있으면 비밀번호 보호 경고가 표시되지 않습니다.
-      이 정책이 'PasswordProtectionWarningOnPasswordReuse'로 설정되어 있으면 허용되지 않은 사이트에서 사용자가 보호된 비밀번호를 재사용할 때 비밀번호 보호 경고가 표시됩니다.
-      이 정책이 'PasswordProtectionWarningOnPhishingReuse'로 설정되어 있으면 피싱 사이트에서 사용자가 보호된 비밀번호를 재사용할 때 비밀번호 보호 경고가 표시됩니다.
-      이 정책이 설정되어 있지 않으면 피싱 사이트에서 사용자가 보호된 비밀번호를 재사용할 때 비밀번호 보호 경고가 실행되지만, 사용자가 이 설정을 변경할 수 있습니다.</translation>
 <translation id="4995548127349206948">NTLMv2 인증의 사용 설정 여부입니다.</translation>
 <translation id="5047604665028708335">콘텐츠 팩 외부 사이트에 대한 액세스를 허용합니다.</translation>
 <translation id="5052081091120171147">이 정책을 사용하도록 설정하면 현재 기본 브라우저에서 강제로 인터넷 사용기록을 가져옵니다. 또한 가져오기 대화상자에 영향을 미칩니다.
@@ -1963,13 +1949,6 @@
 
       이 정책이 설정되지 않았거나 목록이 비어있는 경우 <ph name="PRODUCT_NAME" />의 모든 스키마에 액세스할 수 있습니다.</translation>
 <translation id="6652197835259177259">로컬 관리 사용자 설정</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" />에서 네트워크 예측을 사용하도록 설정하고 사용자가 이 설정을 변경하지 못하게 합니다.
-
-      이는 DNS 프리패치, TCP와 SSL 사전 연결, 웹페이지 사전 렌더링을 컨트롤합니다.
-
-      이 환경설정을 '항상 사용', '사용 안함' 또는 'Wi-Fi에서만 사용'으로 설정하면 사용자는 <ph name="PRODUCT_NAME" />에서 이 설정을 변경하거나 무시할 수 없습니다.
-
-      이 정책이 설정되지 않으면 네트워크 예측이 사용 설정되지만, 사용자가 변경할 수 있습니다.</translation>
 <translation id="6658245400435704251">업데이트를 처음 서버로 푸시한 시점부터 기기가 몇 초까지 임의로 업데이트의 다운로드를 지연시킬 수 있는지 지정합니다. 기기가 이 시간의 일부를 일반 시계 시간 기준으로, 그리고 나머지 시간을 업데이트 확인 횟수 기준으로 지연시킵니다. 모든 경우, 기기가 고착되어 업데이트 다운로드를 계속 기다리지 않도록 분산의 상한이 일정 시간으로 제한되어 있습니다.</translation>
 <translation id="6665670272107384733">빠른 잠금 해제를 사용하기 위해 사용자가 비밀번호를 얼마나 자주 입력해야 하는지 설정</translation>
 <translation id="6681229465468164801">사용자에게 USB 기기 액세스 권한 허용을 요청하지 못하도록 차단된 사이트를 지정하는 URL 패턴 목록을 설정하도록 허용합니다.
diff --git a/components/policy/resources/policy_templates_lt.xtb b/components/policy/resources/policy_templates_lt.xtb
index 8d59191e..6a0499e 100644
--- a/components/policy/resources/policy_templates_lt.xtb
+++ b/components/policy/resources/policy_templates_lt.xtb
@@ -223,12 +223,6 @@
       Politika turėtų būti nustatyta į URL, kuriuo „<ph name="PRODUCT_OS_NAME" />“ gali atsisiųsti paslaugų teikimo sąlygas. Paslaugų teikimo sąlygas turi sudaryti paprastasis tekstas, pateiktas kaip MIME tipo tekstas / paprastasis tekstas. Neleidžiamas joks žymėjimas.</translation>
 <translation id="1750315445671978749">Blokuoti visus atsisiuntimus</translation>
 <translation id="1781356041596378058">Ši politika taip pat valdo galimybę pasiekti „Android“ kūrėjo parinktis. Jei šią politiką nustatysite į „Tiesa“, naudotojai negalės pasiekti kūrėjo parinkčių. Jei šią politiką nustatysite į „Netiesa“ arba jos nenustatysite, naudotojai galės pasiekti kūrėjo parinktis palietę versijos numerį septynis kartus „Android“ nustatymų programoje.</translation>
-<translation id="178832255504524723">Konfigūruojamas slaptažodžio keitimo URL (tik HTTP ir HTTPS schemos). Naudojant slaptažodžio apsaugos paslaugą naudotojai bus nukreipiami šiuo URL, kad pasikeistų slaptažodžius, jei buvo sukčiaujama.
-      Kad „<ph name="PRODUCT_NAME" />“ tinkamai užfiksuotų naujo slaptažodžio kontrolinį kodą šiame slaptažodžio keitimo puslapyje, įsitikinkite, kad laikomasi šių gairių: https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Įgalinus šį nustatymą, naudojant slaptažodžio apsaugos paslaugą naudotojai bus nukreipiami šiuo URL, kad pasikeistų slaptažodžius, jei buvo sukčiaujama.
-      Jei šis nustatymas išjungtas arba nenustatytas, naudojant slaptažodžio apsaugos paslaugą naudotojai bus nukreipiami adresu https://myaccounts.google.com, kad pasikeistų slaptažodį.
-      Ši politika nepasiekiama „Windows“ objektuose, kurie nesusieti su „<ph name="MS_AD_NAME" />“ domenu.</translation>
 <translation id="1797233582739332495">Pasikartojančio raginimo, kuriame nurodoma, kad būtina paleisti iš naujo, rodymas naudotojui</translation>
 <translation id="1803646570632580723">Paleidimo priemonėje prisegtų rodomų programų sąrašas</translation>
 <translation id="1808715480127969042">Blokuoti slapukus šiose svetainėse</translation>
@@ -710,12 +704,12 @@
 <translation id="2899002520262095963">„Android“ programos gali naudoti šioje politikoje nustatytas tinklo konfigūracijas ir CA sertifikatus, bet negali pasiekti kai kurių konfigūravimo parinkčių.</translation>
 <translation id="290002216614278247">Galima užrakinti naudotojo sesiją atsižvelgiant į kliento laiką arba išnaudotą dienos kvotą.
 
-          |time_window_limit| nurodo dienos laikotarpį, kuriuo naudotojo sesija turi būti užrakinta. Palaikoma tik viena kiekvienos savaitės dienos taisyklė, todėl masyvo |entries| dydis gali būti nuo 0 iki 7. |starts_at| ir |ends_at| yra laikotarpio pradžios ir pabaigos apribojimai. Kai |ends_at| vertė yra mažesnė nei |starts_at|, tai reiškia, kad |time_limit_window| baigsis kitą dieną. |last_updated_millis| yra UTC laiko žymė, nurodanti, kada šis įrašas buvo paskutinį kartą atnaujintas; ji siunčiama kaip eilutė, nes laiko žymei nepakanka sveikųjų skaičių.
+          |time_window_limit| nurodo laikotarpį, per kurį naudotojo sesija turi būti užrakinta. Palaikoma tik viena kiekvienos savaitės dienos taisyklė, todėl masyvo |entries| dydis gali būti nuo 0 iki 7. |starts_at| ir |ends_at| yra laikotarpio pradžios ir pabaigos apribojimai. Kai |ends_at| vertė yra mažesnė nei |starts_at|, tai reiškia, kad |time_limit_window| baigsis kitą dieną. |last_updated_millis| yra UTC laiko žymė, nurodanti, kada šis įrašas buvo paskutinį kartą atnaujintas; ji siunčiama kaip eilutė, nes laiko žymei nepakanka sveikųjų skaičių.
 
-          |time_usage_limit| nurodo dienos įrenginio naudojimo kvotą. Ją pasiekus, naudotojo sesija užrakinama. Kiekvienai savaitės dienai priskirta nuosavybė, kuri turi būti nustatyta tik jei tą dieną kvota yra aktyvi. |usage_quota_mins| – tai laikotarpis, kuriuo tvarkomas įrenginys gali būti naudojamas per dieną, o |reset_at| – laikas, kada atnaujinami naudojimo kvotos duomenys. Numatytoji |reset_at| vertė yra vidurnaktis ({'hour': 0, 'minute': 0}). |last_updated_millis| yra UTC laiko žymė, nurodanti, kada šis įrašas buvo paskutinį kartą atnaujintas; ji siunčiama kaip eilutė, nes laiko žymei nepakanka sveikųjų skaičių.
+          |time_usage_limit| nurodo dienos įrenginio naudojimo kvotą. Ją pasiekus, naudotojo sesija užrakinama. Kiekvienai savaitės dienai priskirta savybė, kuri turi būti nustatyta tik jei tą dieną kvota yra aktyvi. |usage_quota_mins| – tai laikotarpis, kuriuo tvarkomas įrenginys gali būti naudojamas per dieną, o |reset_at| – laikas, kada atnaujinami naudojimo kvotos duomenys. Numatytoji |reset_at| vertė yra vidurnaktis ({'hour': 0, 'minute': 0}). |last_updated_millis| yra UTC laiko žymė, nurodanti, kada šis įrašas buvo paskutinį kartą atnaujintas; ji siunčiama kaip eilutė, nes laiko žymei nepakanka sveikųjų skaičių.
 
           |overrides| teikiama siekiant laikinai nustatyti, kad viena ar daugiau ankstesnių taisyklių negaliotų.
-          * Jei nei „time_window_limit“, nei „time_usage_limit“ nėra aktyvus, |LOCK| galima naudoti įrenginiui užrakinti.
+          * Jei nei „time_window_limit“, nei „time_usage_limit“ nėra aktyvūs, |LOCK| galima naudoti įrenginiui užrakinti.
           * |LOCK| laikinai užrakina naudotojo sesiją, kol prasideda kitas „time_window_limit“ arba „time_usage_limit“ laikotarpis.
           * |UNLOCK| atrakina naudotojo sesiją atėjus „time_window_limit“ arba „time_usage_limit“ laikotarpiui.
           |created_time_millis| – tai UTC laiko žymė, skirta nepaisymams kurti, siunčiama kaip eilutė, nes laiko žymei nepakanka sveikųjų skaičių. Ji naudojama siekiant nustatyti, ar šis nepaisymas vis dar turi būti taikomas. Jei dabartinio aktyvaus laiko apribojimo funkcija (naudojimo laiko arba laikotarpio apribojimas) pradėta taikyti sukūrus nepaisymą, ši žymė negalioja. Be to, jei nepaisymas sukurtas prieš paskutinį aktyvaus „time_window_limit“ arba „time_usage_window“ laikotarpio pakeitimą, laiko žymė nebus taikoma.</translation>
@@ -1427,14 +1421,6 @@
 <translation id="4980635395568992380">Duomenų tipas:</translation>
 <translation id="4983201894483989687">Leisti paleisti pasenusius papildinius</translation>
 <translation id="4988291787868618635">Veiksmas, kuris bus atliktas, kai bus pasiektas neveikos delsos laikas</translation>
-<translation id="4990301296093321860">Galite valdyti įspėjimo dėl slaptažodžio apsaugos suaktyvinimą. Slaptažodžio apsauga įspėja naudotojus, kai jie pakartotinai naudoja apsaugotus slaptažodžius potencialiai įtartinose svetainėse.
-
-      Naudodami politikos nuostatas „PasswordProtectionLoginURLs“ ir „PasswordProtectionChangePasswordURL“ galite konfigūruoti, kurie slaptažodžiai bus apsaugoti.
-
-      Jei ši politika nustatyta kaip „PasswordProtectionWarningOff“, nebus rodomas įspėjimas dėl slaptažodžio apsaugos.
-      Jei ši politika nustatyta kaip „PasswordProtectionWarningOnPasswordReuse“, slaptažodžio apsaugos įspėjimas bus rodomas, kai naudotojas pakartotinai naudos apsaugotą slaptažodį svetainėje, kuri neįtraukta į baltąjį sąrašą.
-      Jei ši politika nustatyta kaip „PasswordProtectionWarningOnPhishingReuse“, slaptažodžio apsaugos įspėjimas bus rodomas, kai naudotojas pakartotinai naudos apsaugotą slaptažodį svetainėje, kurioje sukčiaujama.
-      Jei ši politika nenustatyta, slaptažodžio apsaugos įspėjimas bus suaktyvintas, kai naudotojas pakartotinai naudos apsaugotą slaptažodį svetainėje, kurioje sukčiaujama, bet naudotojas galės pakeisti šį nustatymą.</translation>
 <translation id="4995548127349206948">Ar įgalintas „NTLMv2“ autentifikavimas.</translation>
 <translation id="5047604665028708335">Leisti pasiekti svetaines, nesančias turinio paketuose</translation>
 <translation id="5052081091120171147">Pagal šią politiką naršymo istorija priverstinai importuojama iš esamos numatytosios naršyklės (jei įgalinta). Be to, jei įgalinta, ši politika turi įtakos importavimo dialogo langui.
@@ -1971,13 +1957,6 @@
 
       Jei ši politika nenustatyta ar sąrašas yra tuščias, visos schemos bus pasiekiamos „<ph name="PRODUCT_NAME" />“.</translation>
 <translation id="6652197835259177259">Vietoje tvarkomų naudotojų paskyrų nustatymai</translation>
-<translation id="6654559957643809067">Įgalinamas tinklo numatymas sistemoje „<ph name="PRODUCT_NAME" />“ ir naudotojams neleidžiama pakeisti šio nustatymo.
-
-      Naudojant šią politiką valdomas išankstinis DNS pateikimas, išankstinis TCP ir SSL ryšys bei tinklalapių pateikimas.
-
-      Jei šią nuostatą nustatysite į „visada“, „niekada“ arba „tik „Wi-Fi“, „<ph name="PRODUCT_NAME" />“ naudotojai negalės keisti ar nepaisyti šio nustatymo.
-
-      Jei ši politika nebus nustatyta, bus įgalintas tinklo numatymas, bet naudotojas galės jį pakeisti.</translation>
 <translation id="6658245400435704251">Nurodoma, iki kiek sekundžių įrenginys gali atsitiktinai atidėti naujinio atsisiuntimą nuo tada, kai naujinys buvo pirmąkart išsiųstas iš serverio. Įrenginys gali laukti dalį šio laiko pagal realųjį laiką, o likusią dalį – pagal naujinio tikrinimo kartus. Bet kuriuo atveju yra nustatyta viršutinė sklaidos riba (tam tikra trukmė), kad įrenginys nelauktų atsisiuntimo be galo.</translation>
 <translation id="6665670272107384733">Nustatyti, kaip dažnai naudotojas turi įvesti slaptažodį, kad galėtų naudoti spartųjį atrakinimą</translation>
 <translation id="6681229465468164801">Galite nustatyti URL šablonų, kuriuose nurodomos svetainės, kurioms neleidžiama prašyti naudotojo suteikti jiems galimybės pasiekti USB įrenginį, sąrašą.
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb
index 216b1d0..d942f10 100644
--- a/components/policy/resources/policy_templates_lv.xtb
+++ b/components/policy/resources/policy_templates_lv.xtb
@@ -223,12 +223,6 @@
       Politikā ir jāiestata vietrādis URL, kur operētājsistēma <ph name="PRODUCT_OS_NAME" /> var lejupielādēt pakalpojumu sniegšanas noteikumus. Tiem ir jābūt rakstītiem kā vienkāršam tekstam, kas jārāda kā MIME veids “teksts/vienkāršs”. Iezīmēšana nav atļauta.</translation>
 <translation id="1750315445671978749">Bloķēt visas lejupielādes</translation>
 <translation id="1781356041596378058">Šī politika arī kontrolē piekļuvi Android izstrādātājiem paredzētajām opcijām. Ja iestatīsiet šo politiku kā patiesu, lietotāji nevarēs piekļūt izstrādātājiem paredzētajām opcijām. Ja iestatīsiet šo politiku kā aplamu vai neiestatīsiet politiku, lietotāji varēs piekļūt izstrādātājiem paredzētajām opcijām, septiņas reizes pieskaroties versijas numuram Android iestatījumu lietotnē.</translation>
-<translation id="178832255504524723">Izmantojot šo politiku, var konfigurēt paroles maiņas URL (tikai HTTP un HTTPS shēmas). Paroles aizsardzības pakalpojums novirzīs lietotājus uz šo URL, lai nomainītu paroles, ja tās ir pikšķerētas.
-      Lai <ph name="PRODUCT_NAME" /> pareizi tvertu jauno paroles ciparfailu šajā paroles maiņas lapā, paroles maiņas lapai ir jāatbilst šīm vadlīnijām: https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Ja šis iestatījums ir iespējots, paroles aizsardzības pakalpojums novirzīs lietotājus uz šo URL, lai nomainītu pikšķerētas paroles.
-      Ja šis iestatījums ir atspējots vai tam nav iestatīta vērtība, paroles aizsardzības pakalpojums novirzīs lietotājus uz vietni https://myaccounts.google.com, lai nomainītu paroli.
-      Šī politika nav pieejama Windows instancēs, kas nav savienotas ar <ph name="MS_AD_NAME" /> domēnu.</translation>
 <translation id="1797233582739332495">Periodiski rādīt lietotājam uzvedni par obligātu atkārtotu palaišanu</translation>
 <translation id="1803646570632580723">Saraksts ar piespraustām lietotnēm, kuras rādīt palaišanas lapā</translation>
 <translation id="1808715480127969042">Bloķē sīkfailus šajās vietnēs</translation>
@@ -1425,14 +1419,6 @@
 <translation id="4980635395568992380">Datu tips:</translation>
 <translation id="4983201894483989687">Atļauj palaist novecojušus spraudņus</translation>
 <translation id="4988291787868618635">Darbība, kas ir jāveic, kad ir aizritējis laiks līdz dīkstāvei</translation>
-<translation id="4990301296093321860">Ļauj kontrolēt, kad aktivizēt paroles brīdinājuma rādīšanu. Paroles aizsardzība brīdina lietotājus, ja tie atkārtoti izmanto savu aizsargāto paroli aizdomīgās vietnēs.
-
-      Varat izmantot politiku “PasswordProtectionLoginURLs” un “'PasswordProtectionChangePasswordURL”, lai konfigurētu, kuru paroli aizsargāt.
-
-      Ja šai politikai ir iestatīta vērtība “PasswordProtectionWarningOff”, paroles aizsardzības brīdinājums netiks rādīts.
-      Ja šai politikai ir iestatīta vērtība “PasswordProtectionWarningOnPasswordReuse”, paroles aizsardzības brīdinājums tiks rādīts, kad lietotāji Google pakalpojumu paroles izmantos vietnēs, kas nav iekļautas baltajā sarakstā.
-      Ja šai politikai ir iestatīta vērtība “PasswordProtectionWarningOnPhishingReuse”, paroles aizsardzības brīdinājums tiks rādīts, kad lietotāji Google pakalpojumu paroles izmantos pikšķerēšanas vietnē.
-      Ja šī politika nav iestatīta, paroles aizsardzības brīdinājums tiks aktivizēts, kad lietotāji Google pakalpojumu paroles izmantos pikšķerēšanas vietnēs (lietotāji to var mainīt).</translation>
 <translation id="4995548127349206948">Vai ir iespējota NTLMv2 autentifikācija.</translation>
 <translation id="5047604665028708335">Atļaut piekļuvi vietnēm, kas nav iekļautas satura pakotnēs.</translation>
 <translation id="5052081091120171147">Šī politika (ja tā ir iespējota) liek importēt pārlūkošanas vēsturi no pašreizējā noklusējuma pārlūka. Ja šī politika ir iespējota, tā arī maina importēšanas dialoglodziņu.
@@ -1967,13 +1953,6 @@
 
       Ja šī politika nav iestatīta vai saraksts ir tukšs, pārlūkā <ph name="PRODUCT_NAME" /> varēs piekļūt visām shēmām.</translation>
 <translation id="6652197835259177259">Lokāli pārvaldītu lietotāju iestatījumi</translation>
-<translation id="6654559957643809067">Pārlūkā <ph name="PRODUCT_NAME" /> tiek iespējotas tīkla prognozes, un lietotājiem tiek liegta iespēja mainīt šo iestatījumu.
-
-      Šī politika kontrolē DNS iepriekšēju ielādi, TCP un SSL iepriekšēju savienojuma izveidi un tīmekļa lapu iepriekšēju atveidi.
-
-      Ja iestatīsiet opciju “Vienmēr”, “Nekad” vai “Tikai Wi-Fi”, lietotāji pārlūkā <ph name="PRODUCT_NAME" /> nevarēs mainīt vai ignorēt šo iestatījumu.
-
-      Ja šī politika netiks iestatīta, tīkla prognozes tiks iespējotas, taču lietotājs varēs mainīt šo iestatījumu.</translation>
 <translation id="6658245400435704251">Norāda sekunžu skaitu, kuru laikā ierīce var nejaušā secībā atlikt atjauninājuma lejupielādi, sākot ar laiku, kad serveris pirmo reizi nosūtīja atjauninājumu. Daļa no šī ierīces gaidīšanas laika var būt pulksteņa laiks, un daļa — atjauninājuma pārbaužu skaits. Jebkurā gadījumā izkliede ir saistīta ar noteiktu laika periodu, lai ierīces nebūtu bezgalīgi jāgaida atjauninājuma lejupielāde.</translation>
 <translation id="6665670272107384733">Paroles ievadīšanas biežuma iestatīšana, lai varētu izmantot ātro atbloķēšanu</translation>
 <translation id="6681229465468164801">Ļauj iestatīt vietrāžu URL modeļu sarakstu ar vietnēm, kurām nav atļauts lūgt lietotājam piešķirt piekļuvi USB ierīcei.
diff --git a/components/policy/resources/policy_templates_ml.xtb b/components/policy/resources/policy_templates_ml.xtb
index a3db899..a585bad 100644
--- a/components/policy/resources/policy_templates_ml.xtb
+++ b/components/policy/resources/policy_templates_ml.xtb
@@ -260,11 +260,6 @@
       <ph name="PRODUCT_OS_NAME" />-ന് സേവന നിബന്ധനകൾ ഡൗൺലോഡുചെയ്യാനാകുന്ന രീതിയിൽ നയം ഒരു URL-ൽ സജ്ജീകരിക്കുക. സേവന നിബന്ധനകൾ മൈം തര വാചകമോ/സാധാരണ വാചകമോ ആയി പ്രവർത്തിക്കാനാകുന്ന സാധാരണ വാചകമായിരിക്കണം. മാർക്കപ്പ് അനുവദിക്കില്ല.</translation>
 <translation id="1750315445671978749">എല്ലാ ഡൗൺലോഡുകളും ബ്ലോക്കുചെയ്യുക</translation>
 <translation id="1781356041596378058">ഈ നയം Android ഡെവലപ്പർ ഓപ്‌ഷനുകളിലേക്കുള്ള ആക്‌സസിനെയും നിയന്ത്രിക്കുന്നു. ഈ നയം 'ശരി' എന്ന് സജ്ജമാക്കുകയാണെങ്കിൽ, ഉപയോക്താക്കൾക്ക് ഡെവലപ്പർ ഓപ്‌ഷനുകൾ ആക്‌സസ് ചെയ്യാനാവില്ല. ഈ നയം 'തെറ്റ്' എന്ന് സജ്ജമാക്കുകയോ സജ്ജമാക്കാതെ വിടുകയോ ആണെങ്കിൽ, Android ക്രമീകരണ ആപ്പിലെ ബിൽഡ് നമ്പറിൽ ഏഴ് തവണ ടാപ്പുചെയ്യുന്നതിലൂടെ ഉപയോക്താക്കൾക്ക് ഡെവലപ്പർ ഓപ്‌ഷനുകൾ ആക്‌സസ് ചെയ്യാം.</translation>
-<translation id="178832255504524723">'പാസ്‌വേഡ് മാറ്റൽ URL' കോൺഫിഗർ ചെയ്യുക (HTTP, HTTPS സ്‌കീമുകൾ മാത്രം). ഉപയോക്താക്കൾ ഫിഷിംഗിന് വിധേയമായാൽ, പാസ്‌വേഡ് മാറ്റാനായി പാസ്‌വേഡ് പരിരക്ഷണ സേവനം അവരെ ഈ URL-ലേക്ക് അയയ്ക്കും.
-      <ph name="PRODUCT_NAME" />-ന് ഈ പാസ്‌വേഡ് മാറ്റൽ പേജിലെ പുതിയ പാസ്‌വേഡിന്റെ ഫിംഗർപ്രിന്റ് ശരിയായി എടുക്കാൻ, https://www.chromium.org/developers/design-documents/create-amazing-password-forms എന്ന വിലാസത്തിൽ നൽകിയിട്ടുള്ള മാർഗ്ഗനിർദ്ദേശങ്ങൾ നിങ്ങളുടെ പാസ്‌വേഡ് മാറ്റൽ പേജ് പാലിക്കുന്നു എന്ന് ഉറപ്പാക്കുക.
-      ഈ ക്രമീകരണം പ്രവർത്തനക്ഷമമാക്കിയാൽ, ഉപയോക്താക്കൾ ഫിഷിംഗിന് വിധേയമാകുന്ന സാഹചര്യത്തിൽ, പാസ്‌വേഡ് മാറ്റുന്നതിന്, പാസ്‌വേഡ് പരിരക്ഷാ സേവനം അവരെ ഈ URL-ലേക്ക് അയയ്ക്കും.
-      ഈ ക്രമീകരണം പ്രവർത്തനരഹിതമാക്കിയാലോ സജ്ജീകരിച്ചിട്ടില്ലെങ്കിലോ, പാസ്‌വേഡ് പരിരക്ഷാ സേവനം, അവരുടെ പാസ്‌വേഡ് മാറ്റാനായി ഉപയോക്താക്കളെ https://myaccounts.google.com എന്നതിലേക്ക് അയയ്ക്കും.
-      ഒരു <ph name="MS_AD_NAME" /> ഡൊമെയ്‌നിലേക്ക് ചേർന്നിട്ടില്ലാത്ത Windows ഇൻസ്‌റ്റൻസുകൾക്ക് ഈ നയം ലഭ്യമല്ല.</translation>
 <translation id="1797233582739332495">വീണ്ടും സമാരംഭിക്കൽ  ആവശ്യമാണെന്ന് സൂചിപ്പിക്കുന്ന ആവർത്തിച്ചുള്ള നിര്‍ദ്ദേശം ഉപയോക്താവിനെ കാണിക്കുക</translation>
 <translation id="1803646570632580723">ലോഞ്ചറിൽ കാണിക്കുന്നതിനുള്ള പിൻ ചെയ്‌ത അപ്ലിക്കേഷനുകളുടെ ലിസ്റ്റ്</translation>
 <translation id="1808715480127969042">ഈ സൈറ്റുകളില്‍ കുക്കികള്‍ തടയുക</translation>
@@ -789,7 +784,8 @@
           ഉപയോക്താവിന്റെ സെഷൻ ലോക്ക് ചെയ്യേണ്ട ഒരു പ്രതിദിന വിൻഡോ |time_window_limit| വ്യക്തമാക്കുന്നു. ആഴ്‌ചയിലെ ഓരോ ദിവസത്തിനും ഒരു നയം മാത്രമേ ഞങ്ങൾ പിന്തുണയ്‌ക്കൂ, അതിനാൽ |entries| നിര 0-7 എന്ന വലുപ്പത്തിൽ വ്യത്യാസപ്പെടാം. |starts_at|, |ends_at| എന്നിവയാണ് വിൻഡോ പരിധിയുടെ തുടക്കവും അവസാനവും, |ends_at| എന്നത് |starts_at|-നെക്കാൾ ചെറുതാണെങ്കിൽ, |time_limit_window| അവസാനിക്കുന്നത് അടുത്ത ദിവസമാണെന്ന് അത് അർത്ഥമാക്കുന്നു. |last_updated_millis| ആണ് ഈ എൻട്രി അവസാനം അപ്ഡേറ്റ് ചെയ്‌തതിന്റെ UTC ടൈംസ്‌റ്റാമ്പ്, ഒരു പൂർണസംഖ്യയിൽ ഉൾക്കൊള്ളാത്തതിനാൽ ഈ ടൈംസ്‌റ്റാമ്പ് ഒരു സ്ട്രിംഗ് ആയാണ് അയയ്ക്കുന്നത്.
 
           |time_usage_limit| ഒരു ദിവസത്തെ സ്ക്രീൻ ക്വാട്ട വ്യക്തമാക്കുന്നു, അതുകൊണ്ട് ഉപയോക്താവ് ഈ ക്വാട്ട എത്തുമ്പോൾ സെഷൻ ലോക്ക് ചെയ്യപ്പെടുന്നു. ആഴ്‌ചയിലെ ഓരോ ദിവസത്തിനും ഒരു പ്രോപ്പർട്ടിയുണ്ട്, ആ ദിവസത്തിന് ഒരു സജീവമായ ക്വാട്ട ഉണ്ടെങ്കിൽ മാത്രമേ ഇത് സജ്ജീകരിക്കാവൂ. |usage_quota_mins| എന്നത് മാനേജ് ചെയ്യുന്ന ഉപകരണത്തിന് ഒരു ദിവസം ഉപയോഗിക്കാനാവുന്ന സമയത്തിന്റെ അളവാണ് കൂടാതെ |reset_at| എന്നത് ഉപയോഗ ക്വാട്ട പുതുക്കുന്ന സമയമാണ്. |reset_at| -നുള്ള ഡിഫോൾട്ട് മൂല്യം അർധരാത്രി ({0 : 'മണി', 0 :'മിനിറ്റ്}) എന്നതാണ്. |last_updated_millis| ആണ് ഈ എൻട്രി അവസാനം അപ്ഡേറ്റ് ചെയ്‌തതിന്റെ UTC ടൈംസ്‌റ്റാമ്പ്, ടൈംസ്‌റ്റാമ്പ് ഒരു പൂർണസംഖ്യയിൽ ഉൾക്കൊള്ളാത്തതിനാൽ ഇത് ഒരു സ്ട്രിംഗ് ആയാണ് അയയ്ക്കുന്നത്.
-  
+  മുമ്പത്തെ ഒന്നോ അതിലധികമോ നിയമങ്ങൾ താൽക്കാലികമായി അസാധുവാക്കാനാണ്, |overrides| നൽകുന്നത്.
+     * time_window_limit അല്ലെങ്കിൽ time_usage_limit സജീവമല്ലെങ്കിൽ ഉപകരണം ലോക്ക് ചെയ്യാൻ |LOCK| ഉപയോഗിക്കാവുന്നതാണ്.   
           * അടുത്ത time_window_limit അല്ലെങ്കിൽ time_usage_limit ആരംഭിക്കുന്നതുവരെ |LOCK| താൽക്കാലികമായി ഒരു ഉപയോക്താവിന്റെ സെഷൻ ലോക്ക് ചെയ്യുന്നു.
           * time_window_limit അല്ലെങ്കിൽ time_usage_limit ലോക്ക് ചെയ്‌ത ഒരു ഉപയോക്താവിന്റെ സെഷൻ |UNLOCK| അൺലോക്ക് ചെയ്യുന്നു.
           അസാധുവാക്കൽ സൃഷ്‌ടിക്കാനുള്ള UTC ടൈംസ്‌റ്റാമ്പ് ആണ് |created_time_millis|, ടൈംസ്‌റ്റാമ്പ് ഒരു പൂർണസംഖ്യയിൽ ഉൾക്കൊള്ളാത്തതിനാൽ ഇത് ഒരു സ്ട്രിംഗ് ആയാണ് അയയ്ക്കുന്നത്. ഈ അസാധുവാക്കൽ ഇപ്പോഴും പ്രയോഗിക്കണോ എന്ന് തീരുമാനിക്കാനാണ് ഇത് ഉപയോഗിക്കുന്നത്. അസാധുവാക്കൽ സൃഷ്‌ടിച്ചതിനുശേഷമാണ് നിലവിലെ സജീവ സമയ പരിധി ഫീച്ചർ (സമയ ഉപയോഗ പരിധി അല്ലെങ്കിൽ സമയ വിൻഡോ പരിധി) ആരംഭിച്ചതെങ്കിൽ, നടപടിയെടുക്കേണ്ട കാര്യമില്ല. സജീവമായ time_window_limit അല്ലെങ്കിൽ time_usage_window എന്നിവയിൽ അവസാന മാറ്റം വരുത്തുന്നതിനു മുൻപാണ് അസാധുവാക്കൽ സൃഷ്‌ടിച്ചതെങ്കിലും, ഇത് ബാധകമാക്കരുത്.
@@ -1599,14 +1595,6 @@
 <translation id="4980635395568992380">ഡാറ്റാ തരം:</translation>
 <translation id="4983201894483989687">കാലാവധി തീര്‍ന്ന പ്ലഗിനുകള്‍ പ്രവര്‍ത്തിപ്പിക്കാന്‍ അനുവദിക്കുക</translation>
 <translation id="4988291787868618635">നിഷ്‌ക്രിയ കാലതാമസമാകുമ്പോൾ നടത്തേണ്ട പ്രവർത്തനം</translation>
-<translation id="4990301296093321860">പാസ്‍വേഡ് പരിരക്ഷ മുന്നറിയിപ്പിന്റെ ട്രിഗ്ഗർ ചെയ്യൽ നിയന്ത്രിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. സംശയകരമാകാൻ സാധ്യതയുള്ള സൈറ്റുകളിൽ ഉപയോക്താക്കൾ പരിരക്ഷിത പാസ്‍വേഡ് പുനരുപയോഗിക്കുമ്പോൾ, പാസ്‍വേഡ് പരിരക്ഷ അവർക്ക് മുന്നറിയിപ്പ് നൽകുന്നു
-
-      'PasswordProtectionLoginURL'-കളുടെയും 'PasswordProtectionChangePasswordURL'-കളുടെയും പോളിസികൾ ഉപയോഗിച്ച് ഏത് പാസ്‌വേഡ് സംരക്ഷിക്കണമെന്ന് നിങ്ങൾക്ക് കോൺഫിഗർ ചെയ്യാം.
-
-      ഈ നയം 'PasswordProtectionWarningOff' ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, ഒരു പാസ്‍വേഡ് പരിരക്ഷ മുന്നറിയിപ്പും കാണിക്കില്ല.
-      ഈ നയം 'PasswordProtectionWarningOnPasswordReuse' ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, ഉപയോക്താക്കൾ ഏതെങ്കിലും വൈറ്റ്‌ലിസ്‌റ്റ് ചെയ്യാത്ത സൈറ്റുകളിൽ Google പാസ്‍വേഡുകൾ പുനരുപയോഗിക്കുമ്പോൾ പാസ്‍വേഡ് പരിരക്ഷ മുന്നറിയിപ്പ് കാണിക്കും.
-      ഈ നയം 'PasswordProtectionWarningOnPhishingReuse' ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, ഉപയോക്താക്കൾ ഫിഷിംഗ് സൈറ്റുകളിൽ Google പാസ്‍വേഡുകൾ പുനരുപയോഗിക്കുമ്പോൾ പാസ്‍വേഡ് പരിരക്ഷ മുന്നറിയിപ്പ് കാണിക്കും.
-      ഈ നയം സജ്ജീകരിക്കാതെ വിടുകയാണെങ്കിൽ, ഉപയോക്താക്കൾ ഫിഷിംഗ് സൈറ്റുകളിൽ Google പാസ്‍വേഡുകൾ പുനരുപയോഗിക്കുമ്പോൾ പാസ്‍വേഡ് പരിരക്ഷ മുന്നറിയിപ്പ് ട്രിഗ്ഗർ ചെയ്യപ്പെടും, എന്നാൽ ഉപയോക്താവിന് ഇത് മാറ്റാനാവും.</translation>
 <translation id="4995548127349206948">NTLMv2 പരിശോധിച്ചുറപ്പിക്കൽ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടോ എന്ന്.</translation>
 <translation id="5047604665028708335">ഉള്ളടക്ക പാക്കുകളുടെ പുറത്തുള്ള സൈറ്റുകളിലേക്ക് ആക്‌സസ്സ് അനുവദിക്കുക</translation>
 <translation id="5052081091120171147">നിലവിലെ സ്ഥിരസ്ഥിതി ബ്രൗസർ പ്രാപ്‌തമാക്കിയിട്ടുണ്ടെങ്കിൽ, അതിൽ നിന്നും ബ്രൗസിംഗ് ചരിത്രം ഇംപോർട്ട് ചെയ്യുവാൻ ഈ നയം നിർബന്ധിക്കുന്നു. പ്രാപ്‌തമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഈ നയം ഇംപോർട്ട് ഡയലോഗിനെയും ബാധിക്കുന്നു.
@@ -2215,13 +2203,6 @@
 
      ഈ നയം സജ്ജമാക്കാതെ വിടുകയോ ലിസ്റ്റ് ശൂന്യമാണെങ്കിലോ എല്ലാ സ്‌കീമുകളും <ph name="PRODUCT_NAME" />-ൽ ആക്‌സസ്സുചെയ്യാനാകും.</translation>
 <translation id="6652197835259177259">പ്രാദേശികമായി നിയന്ത്രിക്കപ്പെടുന്ന ഉപയോക്താക്കളുടെ ക്രമീകരണങ്ങൾ</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> എന്നതിൽ നെറ്റ്‌വർക്ക് പ്രവചനം പ്രവർത്തനക്ഷമമാക്കുകയും ഈ ക്രമീകരണം മാറ്റുന്നതിൽ നിന്നും ഉപയോക്താക്കളെ തടയുകയും ചെയ്യുന്നു.
-
-      ഇത് DNS പ്രീഫെച്ചിംഗ്, TCP, SSL പ്രീകണക്ഷൻ, വെബ് പേജുകളുടെ പ്രീറെൻഡറിംഗ് എന്നിവയും നിയന്ത്രിക്കുന്നു.
-
-      'എല്ലായ്‌പ്പോഴും', 'ഒരിക്കലുമരുത്', 'WiFi മാത്രം' എന്നിവയായി ഈ മുൻഗണന സജ്ജീകരിക്കുകയാണെങ്കിൽ ഉപയോക്താക്കള്‍ക്ക് <ph name="PRODUCT_NAME" />-ല്‍ ഈ ക്രമീകരണം മാറ്റാനോ അസാധുവാക്കാനോ കഴിയില്ല.
-
-      ഈ നയം സജ്ജീകരിക്കാതെ വിടുകയാണെങ്കിൽ, നെറ്റ്‌വർക്ക് പ്രവചനം പ്രവർത്തനക്ഷമമാകും എന്നാൽ ഉപയോക്താവിന് അത് മാറ്റാനാകും.</translation>
 <translation id="6658245400435704251">സെർവറിലേക്ക് ആദ്യമായി അപ്‌ഡേറ്റ് നീക്കപ്പെട്ട സമയത്തിന് ശേഷം, ആ അപ്‌ഡേറ്റിന്റെ ഡൗൺലോഡിനെ യാദൃശ്ചികമായി ഒരു ഉപകരണം, എത്ര നിമിഷങ്ങളോളം കാലതാമസം വരുത്താം എന്ന് സൂചിപ്പിക്കുന്നു. ഉപകരണം, ഈ കാലതാമസ സമയത്തിന്റെ ഒരു ഭാഗം ചുവർ ഘടികാരത്തിന്റെ അടിസ്ഥാനത്തിൽ കാലതാമസം വരുത്താം, അപ്‌ഡേറ്റ് പരിശോധനകളുടെ എണ്ണത്തെ അടിസ്ഥാനമാക്കിയാണ് ഉപകരണം ബാക്കിയുള്ള ഭാഗം കാലതാമസം വരുത്തുന്നത്. എന്ത് സാഹചര്യമായാലും, ശാശ്വതമായി ഒരു അപ്‌ഡേറ്റ് ഡൗൺലോഡ് ചെയ്യുന്നതിനായി കാത്തിരിക്കുന്ന തരത്തിൽ ഉപകരണം സ്‌തംഭിച്ചുപോകാതിരിക്കുന്നതിനായി ഒരു സ്ഥിര അളവ് സമയത്തിലേക്ക് സ്‌കാറ്റർ നിർബന്ധിതമാക്കപ്പെടുന്നു.</translation>
 <translation id="6665670272107384733">അതിവേഗ അൺലോക്ക് ഉപയോഗിക്കാൻ ഉപയോക്താവ് എത്രതവണ പാസ്‌വേഡ് നൽകണമെന്നത് സജ്ജീകരിക്കുക</translation>
 <translation id="6681229465468164801">ഒരു USB ഉപകരണത്തിലേക്ക് ആക്‌സസ് അനുവദിക്കാൻ ഉപയോക്താവിനോട് ചോദിക്കുന്നതിൽ നിന്ന് തടയപ്പെടുന്ന സൈറ്റുകൾ വ്യക്തമാക്കുന്ന url പാറ്റേണുകളുടെ ഒരു ലിസ്‌റ്റ് സജ്ജീകരിക്കുന്നതിന് നിങ്ങളെ അനുവദിക്കുന്നു.
diff --git a/components/policy/resources/policy_templates_mr.xtb b/components/policy/resources/policy_templates_mr.xtb
index bde4651..a163565 100644
--- a/components/policy/resources/policy_templates_mr.xtb
+++ b/components/policy/resources/policy_templates_mr.xtb
@@ -251,12 +251,6 @@
       धोरण एका URL वर सेट केले जावे ज्यावरून <ph name="PRODUCT_OS_NAME" /> सेवा अटी डाउनलोड करू शकते. MIME प्रकारच्या मजकूर/साध्या रुपात दिलेल्या सेवा अटी ह्या साधा मजकूर असणे आवश्यक आहे. कोणत्याही मार्कअपला अनुमती नाही.</translation>
 <translation id="1750315445671978749">सर्व डाउनलोड ब्लॉक करा</translation>
 <translation id="1781356041596378058">हे धोरण Android विकासक पर्यायांमधील प्रवेश देखील नियंत्रित करते. आपण हे धोरण सत्य वर सेट केल्यास, वापरकर्ते विकासक पर्यायांमध्ये प्रवेश करू शकत नाहीत. आपण हे धोरण असत्यवर सेट केल्यास किंवा ते अनसेट केलेले ठेवल्यास, वापरकर्ते Android सेटिंग्ज अॅप मधील बिल्ड क्रमांकावर सात वेळा टॅप करून विकासक पर्यायांमध्ये प्रवेश करू शकतात.</translation>
-<translation id="178832255504524723">पासवर्ड बदला URL (फक्त HTTP आणि HTTPS स्कीम) कॉन्फिगर करा. वापरकर्त्यांचे फिशिंग केले गेले असल्यास त्यांचे पासवर्ड बदलण्यासाठी पासवर्ड संरक्षण सेवा त्यांना या URL वर पाठवेल.
-      या पासवर्ड बदला पेजवर <ph name="PRODUCT_NAME" /> ने नवीन पासवर्ड फिंगरप्रिंट योग्य प्रकारे कॅप्चर करण्यासाठी, तुमचे पासवर्ड बदला पेज https://www.chromium.org/developers/design-documents/create-amazing-password-forms वरील मार्गदर्शक तत्त्वे फॉलो करते याची कृपया खात्री करा.
-
-      हे सेटिंग सुरू केलेले असल्यास, वापरकर्त्यांचे फिशिंग केले गेले असल्यास त्यांचे पासवर्ड बदलण्यासाठी पासवर्ड संरक्षण सेवा त्यांना या URL वर पाठवेल.
-      हे सेटिंग बंद केलेले असल्यास किंवा सेट केलेले नसल्यास, वापरकर्त्यांचे पासवर्ड बदलण्यासाठी पासवर्ड संरक्षण सेवा त्यांना https://myaccounts.google.com वर पाठवेल.
-      हे धोरण <ph name="MS_AD_NAME" /> डोमेनशी न जोडलेल्या Windows इंस्टंसवर उपलब्ध नाही.</translation>
 <translation id="1797233582739332495">रीलाँच करणे आवश्यक असल्याचे दाखवणार्‍या वापरकर्त्यास एक आवर्त सूचना दाखवा</translation>
 <translation id="1803646570632580723">लाँचर मध्‍ये दर्शविण्‍यासाठी पिन केलेल्या अनुप्रयोगांची सूची</translation>
 <translation id="1808715480127969042">या साइटवरील कुकीज अवरोधित करा </translation>
@@ -1586,14 +1580,6 @@
 <translation id="4980635395568992380">डेटा प्रकार:</translation>
 <translation id="4983201894483989687">जुने प्लगइन चालवण्याची परवानगी द्या</translation>
 <translation id="4988291787868618635">निष्क्रिय विलंब झाल्यानंतर करावयाची कारवाई</translation>
-<translation id="4990301296093321860">पासवर्ड सुरक्षा सूचना ट्रिगर करण्याचे तुम्हाला नियंत्रण करू देते. पासवर्ड सुरक्षा सूचना वापरकर्त्याला ते जेव्हा त्यांचा संरक्षित पासवर्ड संभाव्य धोकादायक साइटवर पुन्हा वापरतात तेव्हा सूचित करते.
-
-      कोणते पासवर्ड संरक्षित करायकहे ते कॉन्फिगर करण्यासाठी तुम्ही 'PasswordProtectionLoginURLs' आणि 'PasswordProtectionChangePasswordURL' धोरण वापरू शकता.
-
-      जर हे धोरण 'PasswordProtectionWarningOff' वर सेट केलेले असेल तर, कोणतीही पासवर्ड संरक्षण चेतावणी दाखवली जाणार नाही.
-      जर हे धोरण 'PasswordProtectionWarningOnPasswordReuse' वर सेट असेल तर, जेव्हा वापरकर्ता एका व्हाइटलिस्ट नसलेल्या साइटवर त्याच्या संरक्षित पासवर्डचा पुन्हा वापर करेल तेव्हा पासवर्ड संरक्षण चेतावणी दर्शवली जाईल.
-      जर हे धोरण 'PasswordProtectionWarningOnPhishingReuse' वर सेट असेल तर, जेव्हा वापरकर्ता एका फिशिंग साइटवर त्याच्या संरक्षित पासवर्डचा पुन्हा वापर करेल तेव्हा पासवर्ड संरक्षण चेतावणी दाखवली जाईल.
-      जर हे धोरण 'PasswordProtectionWarningOnPhishingReuse' वर सेट असेल तर, जेव्हा वापरकर्ता एका फिशिंग साइटवर त्याच्या संरक्षित पासवर्डचा पुन्हा वापर करेल तेव्हा पासवर्ड संरक्षण चेतावणी दाखवली जाईल.</translation>
 <translation id="4995548127349206948">NTLMv2 ऑथेंटिकेशन सुरू केले आहे का.</translation>
 <translation id="5047604665028708335">सामग्री पॅक बाहेरील साइटवर प्रवेश अनुमत करा</translation>
 <translation id="5052081091120171147">हे धोरण सक्षम केले असल्यास विद्यमान डीफॉल्ट ब्राउझरमधून ब्राउझिंग ‍इतिहास आयात करण्‍यास सक्ती करते. सक्षम केल्यास, हे धोरण आयात संवादावरही प्रभाव करते.
@@ -2188,13 +2174,6 @@
 
       हे धोरण सेट न करता सोडल्यास किंवा सूची रिक्त असल्यास <ph name="PRODUCT_NAME" /> मधील सर्व योजना प्रवेशयोग्य होतील.</translation>
 <translation id="6652197835259177259">स्थानिकपणे व्यवस्थापित केलेल्या वापरकर्ते सेटिंग्ज</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> मधील नेटवर्क पूर्वानुमान सक्षम करते आणि हे सेटिंग बदलण्‍यापासून वापरकर्त्यांना प्रतिबंधित करते.
-
-      हे DNS पूर्वप्राप्त करणे, TCP आणि SSL पूर्वकनेक्शन आणि वेब पृष्‍ठांचे पूर्वप्रस्तुतीकरण नियंत्रित करते.
-
-      आपण हे प्राधान्य 'नेहमी', 'कधीही नाही' किंवा ' केवळ WiFi', वर सेट केले असल्‍यास, वापरकर्ते हे सेटिंग <ph name="PRODUCT_NAME" /> मध्‍ये बदलू किंवा अधिशून्य करू शकत नाही.
-
-      हे धोरण सेट न केलेले ठेवल्यास, नेटवर्क पूर्वानुमान सक्षम केले जाईल परंतु वापरकर्ता ते बदलण्‍यास सक्षम असेल.</translation>
 <translation id="6658245400435704251">डिव्हाइसने प्रथम अपडेट सर्व्हरवर टाकल्यानंतर त्याच्या अपडेटाच्या डाउनलोडला यादृच्छिकपणे विलंब करते तोपर्यंतच्या सेकंदांची संख्या निर्दिष्ट करते. डिव्हाइस या भागाच्या वेळेची भिंतीवरील घड्याळाच्या वेळेनुसार आणि उर्वरीत भागात अपडेट तपासणीच्या संख्येची प्रतीक्षा करू शकते. एखाद्या बाबतीत, स्कॅटर निश्चित वेळेसाठी बांधील असेल ज्यामुळे डिव्हाइसला अपडेट कायमचे डाउनलोड करण्यासाठी कधीही प्रतीक्षा करावी लागणार नाही.</translation>
 <translation id="6665670272107384733">जलद अनलॉक वापरण्यासाठी वापरकर्त्याला किती वेळा पासवर्ड एंटर करावा लागू शकतो हे सेट करा</translation>
 <translation id="6681229465468164801">वापरकर्त्याला USB डिव्हाइसकरता अॅक्सेस देण्याची परवानगी मागण्यापासून रोखण्यात आलेल्या साइटना स्पष्ट करणाऱ्या url पॅटर्नची यादी सेट करण्याची तुम्हाला अनुमती देते. 
diff --git a/components/policy/resources/policy_templates_ms.xtb b/components/policy/resources/policy_templates_ms.xtb
index 38d6ff4..cb666df 100644
--- a/components/policy/resources/policy_templates_ms.xtb
+++ b/components/policy/resources/policy_templates_ms.xtb
@@ -223,12 +223,6 @@
       Dasar ini harus ditetapkan kepada URL yang <ph name="PRODUCT_OS_NAME" /> boleh gunakan untuk memuat turun Syarat Perkhidmatan. Syarat Perkhidmatan mestilah dalam teks biasa, bertindak sebagai teks jenis MIME/biasa. Penanda tidak dibenarkan.</translation>
 <translation id="1750315445671978749">Sekat semua muat turun</translation>
 <translation id="1781356041596378058">Dasar ini turut mengawal akses ke Pilihan Pembangun Android. Jika anda menetapkan dasar ini kepada benar, pengguna tidak dapat mengakses Pilihan Pembangun. Jika anda menetapkan dasar ini kepada palsu atau membiarkannya tidak ditetapkan, pengguna dapat mengakses Pilihan Pembangun dengan mengetik nombor binaan sebanyak tujuh kali dalam apl tetapan Android.</translation>
-<translation id="178832255504524723">Konfigurasikan URL tukar kata laluan (skema HTTP dan HTTPS sahaja). Perkhidmatan perlindungan kata laluan akan menghantar pengguna ke URL ini untuk menukar kata laluan mereka jika mereka terkena pancingan data.
-      Untuk membolehkan <ph name="PRODUCT_NAME" /> menangkap cap jari kata laluan yang baharu itu dengan betul di halaman tukar kata laluan ini, sila pastikan halaman tukar kata laluan anda mematuhi garis panduan di https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Jika tetapan ini didayakan, maka perkhidmatan perlindungan kata laluan akan menghantar pengguna ke URL ini untuk menukar kata laluan mereka jika mereka terkena pancingan data.
-      Jika tetapan ini dilumpuhkan atau tidak ditetapkan, maka perkhidmatan perlindungan kata laluan akan menghantar pengguna ke https://myaccounts.google.com untuk menukar kata laluan mereka.
-      Dasar ini tidak tersedia pada tika Windows yang tidak dihubungkan ke domain <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Tunjukkan gesaan berulang kepada pengguna yang menunjukkan pelancaran semula diperlukan</translation>
 <translation id="1803646570632580723">Senarai apl berpin untuk dipaparkan dalam pelancar</translation>
 <translation id="1808715480127969042">Sekat kuki pada tapak ini</translation>
@@ -1427,14 +1421,6 @@
 <translation id="4980635395568992380">Jenis data:</translation>
 <translation id="4983201894483989687">Benarkan pemalam yang lapuk dijalankan</translation>
 <translation id="4988291787868618635">Tindakan yang perlu diambil apabila kelewatan melahu dicapai</translation>
-<translation id="4990301296093321860">Membenarkan anda mengawal pencetusan amaran perlindungan kata laluan. Perlindungan kata laluan memaklumi pengguna apabila mereka menggunakan semula kata laluan yang dilindungi pada tapak yang mungkin mencurigakan.
-
-      Anda boleh menggunakan dasar 'PasswordProtectionLoginURLs' dan 'PasswordProtectionChangePasswordURL' untuk menatarajah kata laluan yang hendak dilindungi.
-
-      Jika dasar ini ditetapkan kepada 'PasswordProtectionWarningOff', tiada amaran perlindungan kata laluan akan ditunjukkan.
-      Jika dasar ini ditetapkan kepada 'PasswordProtectionWarningOnPasswordReuse', amaran perlindungan kata laluan akan ditunjukkan apabila pengguna menggunakan semula kata laluan yang dilindungi pada mana-mana tapak yang tidak disenaraiputihkan.
-      Jika dasar ini ditetapkan kepada 'PasswordProtectionWarningOnPhishingReuse', amaran perlindungan kata laluan akan ditunjukkan apabila pengguna menggunakan semula kata laluan yang dilindungi pada tapak pancingan data.
-      Jika dasar ini dibiarkan tidak ditetapkan, amaran perlindungan kata laluan akan dicetuskan apabila pengguna menggunakan semula kata laluan yang dilindungi pada tapak pancingan data tetapi pengguna boleh menukar tetapan ini.</translation>
 <translation id="4995548127349206948">Sama ada pengesahan NTLMv2 didayakan.</translation>
 <translation id="5047604665028708335">Benarkan akses ke tapak di luar pek kandungan</translation>
 <translation id="5052081091120171147">Jika didayakan, dasar ini memaksa sejarah penyemakan imbas diimport dari penyemak imbas lalai semasa. Jika didayakan, dasar ini juga memberikan kesan terhadap dialog import.
@@ -1967,13 +1953,6 @@
 
       Jika dasar ini dibiarkan tanpa ditetapkan atau senarai tersebut kosong, semua skim akan boleh diakses dalam <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Tetapan pengguna terurus setempat</translation>
-<translation id="6654559957643809067">Membolehkan ramalan rangkaian dalam <ph name="PRODUCT_NAME" /> dan menghalang pengguna daripada mengubah tetapan ini.
-
-      Tetapan ini akan mengawal praambilan DNS, TCP dan prasambungan dan prapemaparan SSL halaman web.
-
-      Jika anda menetapkan pilihan tetapan kepada 'sentiasa', 'jangan sekali-kali' atau 'Wi-Fi sahaja', pengguna tidak boleh mengubah atau mengatasi tetapan ini dalam <ph name="PRODUCT_NAME" />.
-
-      Jika dasar ini dibiarkan tanpa ditetapkan, ramalan rangkaian akan didayakan tetapi pengguna akan boleh mengubahnya.</translation>
 <translation id="6658245400435704251">Menyatakan bilangan saat sehingga peranti boleh melambatkan muat turun kemas kini secara rawak dari masa kemas kini mula ditolak keluar ke pelayan. Peranti mungkin menunggu sebahagian masa ini dari segi masa jam dinding dan bahagian yang selebihnya dari segi bilangan semakan kemas kini. Dalam apa jua keadaan, serakan atas disempadani oleh jumlah masa yang tetap supaya peranti tidak sekali-kali akan tersekat menunggu selama-lamanya untuk memuat turun kemas kini.</translation>
 <translation id="6665670272107384733">Tetapkan kekerapan pengguna perlu memasukkan kata laluan untuk menggunakan buka kunci pantas</translation>
 <translation id="6681229465468164801">Membolehkan anda menetapkan senarai corak url bagi menentukan tapak yang dihalang daripada meminta pengguna memberi tapak tersebut akses kepada peranti USB.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 6d4aba4..5677199 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -215,12 +215,6 @@
       Het beleid moet op een URL worden ingesteld vanaf waar de Servicevoorwaarden door <ph name="PRODUCT_OS_NAME" /> kunnen worden gedownload. De Servicevoorwaarden moeten platte tekst zijn die als tekst met MIME-type/plat wordt weergegeven. Er is geen opmaak toegestaan.</translation>
 <translation id="1750315445671978749">Alle downloads blokkeren</translation>
 <translation id="1781356041596378058">Met dit beleid wordt ook de toegang tot de ontwikkelaarsopties van Android beheerd. Als je dit beleid instelt op True (Waar), hebben gebruikers geen toegang tot ontwikkelaarsopties. Als je dit beleid instelt op False (Onwaar) of niet instelt, hebben gebruikers toegang tot ontwikkelaarsopties door zeven keer op het buildnummer te tikken in de app Instellingen van Android.</translation>
-<translation id="178832255504524723">Stel de URL voor het wijzigen van het wachtwoord in (alleen http- en https-schema's). De wachtwoordbeveiligingsservice stuurt gebruikers naar deze URL, waar ze hun wachtwoord kunnen wijzigen als ze het slachtoffer zijn van phishing.
-      Als je er zeker van wilt zijn dat <ph name="PRODUCT_NAME" /> de nieuwe vingerafdruk van het wachtwoord correct vastlegt op deze pagina voor wachtwoordwijziging, moet je ervoor zorgen dat je pagina voor wachtwoordwijziging voldoet aan de richtlijnen op https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Als deze instelling is ingeschakeld, stuurt de wachtwoordbeveiligingsservice gebruikers naar deze URL, waar ze hun wachtwoord kunnen wijzigen als ze het slachtoffer zijn van phishing.
-      Als deze instelling is uitgeschakeld of niet is ingesteld, stuurt de wachtwoordbeveiligingsservice gebruikers naar https://myaccounts.google.com, waar ze hun wachtwoord kunnen wijzigen.
-      Dit beleid is niet beschikbaar voor Windows-instanties die geen deel uitmaken van een <ph name="MS_AD_NAME" />-domein.</translation>
 <translation id="1797233582739332495">Toon de gebruiker een terugkerende prompt om aan te geven dat opnieuw opstarten vereist is</translation>
 <translation id="1803646570632580723">Lijst met vastgezette apps om weer te geven in het opstartprogramma</translation>
 <translation id="1808715480127969042">Cookies blokkeren op deze sites</translation>
@@ -1097,7 +1091,7 @@
 <translation id="4020682745012723568">Cookies die worden overgedragen naar het profiel van de gebruiker, zijn niet toegankelijk voor Android-apps.</translation>
 <translation id="402759845255257575">Niet toestaan dat sites JavaScript uitvoeren</translation>
 <translation id="4027608872760987929">De standaardzoekprovider inschakelen</translation>
-<translation id="4039085364173654945">Hiermee wordt bepaald of subinhoud van derden op een pagina een dialoogvenster voor algemene HTTP-authenticatie als pop-up mag weergeven.
+<translation id="4039085364173654945">Hiermee wordt bepaald of subinhoud van derden op een pagina een dialoogvenster voor algemene HTTP-authenticatie als pop-up mag bekijken.
 
           Deze optie is meestal uitgeschakeld als beveiliging tegen phishing. Als dit beleid niet wordt ingesteld, wordt de optie uitgeschakeld en mag subinhoud van derden geen dialoogvenster voor algemene HTTP-authenticatie als pop-up weergeven.</translation>
 <translation id="4056910949759281379">SPDY-protocol uitschakelen</translation>
@@ -1410,14 +1404,6 @@
 <translation id="4980635395568992380">Gegevenstype:</translation>
 <translation id="4983201894483989687">Verouderde plug-ins toestaan die actief zijn</translation>
 <translation id="4988291787868618635">Actie die wordt ondernomen wanneer de inactieve vertraging wordt bereikt</translation>
-<translation id="4990301296093321860">Hiermee kun je de activering van een waarschuwing voor wachtwoordbeveiliging beheren. Wachtwoordbeveiliging waarschuwt gebruikers wanneer ze hun beveiligde wachtwoord hergebruiken op potentieel verdachte sites.
-
-      Je kunt het beleid 'PasswordProtectionLoginURLs' en 'PasswordProtectionChangePasswordURL' gebruiken om te configureren welk wachtwoord moet worden beveiligd.
-
-      Als dit beleid is ingesteld op 'PasswordProtectionWarningOff', wordt er geen waarschuwing voor wachtwoordbeveiliging weergegeven.
-      Als dit beleid is ingesteld op 'PasswordProtectionWarningOnPasswordReuse', wordt er een waarschuwing voor wachtwoordbeveiliging weergegeven wanneer de gebruiker het beveiligde wachtwoord hergebruikt op een site die niet op de witte lijst staat.
-      Als dit beleid is ingesteld op 'PasswordProtectionWarningOnPhishingReuse', wordt er een waarschuwing voor wachtwoordbeveiliging weergegeven wanneer de gebruiker het beveiligde wachtwoord hergebruikt op een phishingsite.
-      Als dit beleid niet is ingesteld, wordt er een waarschuwing voor wachtwoordbeveiliging geactiveerd wanneer de gebruiker het beveiligde wachtwoord hergebruikt op een phishingsite, maar kan de gebruiker deze instelling aanpassen.</translation>
 <translation id="4995548127349206948">Of NTLMv2-verificatie is ingeschakeld.</translation>
 <translation id="5047604665028708335">Toegang toestaan tot sites die zich niet in de inhoudspakketten bevinden</translation>
 <translation id="5052081091120171147">Indien ingeschakeld, wordt met dit beleid afgedwongen dat de browsergeschiedenis wordt geïmporteerd uit de huidige standaardbrowser. Als het beleid is ingeschakeld, is dit ook van invloed op het dialoogvenster voor importeren.
@@ -1826,7 +1812,7 @@
 <translation id="6158324314836466367">Naam van zakelijke webwinkel (verouderd)</translation>
 <translation id="6164955668342404660">Beëindigd in M69. Gebruik in plaats daarvan OverrideSecurityRestrictionsOnInsecureOrigin.
 
-      Dit beleid specificeert een lijst met beginpunten (URL's) die moeten worden behandeld als beveiligde context. Het is de bedoeling dat organisaties hiermee een staging-server kunnen instellen voor interne webontwikkeling, zodat hun ontwikkelaars functies kunnen testen die een beveiligde context vereisen, zonder dat ze TLS op de staging-server hoeven te implementeren.
+      Dit beleid specificeert een lijst met herkomsten (URL's) die moeten worden behandeld als beveiligde context. Het is de bedoeling dat organisaties hiermee een staging-server kunnen instellen voor interne webontwikkeling, zodat hun ontwikkelaars functies kunnen testen die een beveiligde context vereisen, zonder dat ze TLS op de staging-server hoeven te implementeren.
       Wanneer er een lijst met URL's wordt ingesteld in dit beleid, heeft dit hetzelfde effect als wanneer de opdrachtregelmarkering '--unsafely-treat-insecure-origin-as-secure' wordt ingesteld op een door komma's gescheiden lijst met dezelfde URL's. Als het beleid is ingesteld, wordt de opdrachtregelmarkering overschreven.
       Ga naar https://www.w3.org/TR/secure-contexts/ voor meer informatie over beveiligde contexten.
       </translation>
@@ -1954,13 +1940,6 @@
 
       Als je dit beleid niet instelt of als de lijst leeg is, zijn alle schema's toegankelijk in <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Instellingen voor lokaal beheerde gebruikers</translation>
-<translation id="6654559957643809067">Hiermee wordt netwerkvoorspelling in <ph name="PRODUCT_NAME" /> ingeschakeld en wordt voorkomen dat gebruikers deze instelling kunnen wijzigen.
-
-      Hiermee wordt DNS-prefetching, vooraf verbinden met TCP en SSL en het vooraf renderen van webpagina's beheerd.
-
-      Als je deze voorkeur instelt op 'altijd', 'nooit' of 'alleen wifi', kunnen gebruikers deze instelling niet wijzigen of overschrijven in <ph name="PRODUCT_NAME" />.
-
-      Als dit beleid niet wordt ingesteld, wordt netwerkvoorspelling ingeschakeld, maar kan de gebruiker dit wijzigen.</translation>
 <translation id="6658245400435704251">Bepaalt het maximaal aantal seconden dat een apparaat willekeurig de download van een update mag uitstellen vanaf het moment dat de update voor het eerst naar de server werd gepusht. Het apparaat kan een deel van deze tijd wachten in termen van kloktijd en het resterende deel in termen van het aantal updatecontroles. De maximale spreiding is in elk geval begrensd door een constante periode zodat een apparaat nooit vastloopt tijdens het wachten tot een update kan worden gedownload.</translation>
 <translation id="6665670272107384733">Instellen hoe vaak een gebruiker het wachtwoord moet opgeven om de functie voor snel ontgrendelen te kunnen gebruiken</translation>
 <translation id="6681229465468164801">Hiermee kun je een lijst met URL-patronen opgeven voor sites die de gebruiker geen toestemming mogen vragen om ze toegang te verlenen tot een USB-apparaat.
@@ -2012,7 +1991,7 @@
 <translation id="6810445994095397827">JavaScript blokkeren op deze sites</translation>
 <translation id="681446116407619279">Ondersteunde authenticatieschema's</translation>
 <translation id="6832455357698286434">
-      Dit beleid specificeert een lijst met beginpunten (URL's) of hostnaampatronen (zoals '*.example.com') die moeten worden behandeld als beveiligde context. Het is de bedoeling dat organisaties hiermee een staging-server kunnen instellen voor interne webontwikkeling, zodat hun ontwikkelaars functies kunnen testen die een beveiligde context vereisen, zonder dat ze TLS op de staging-server hoeven te implementeren.
+      Dit beleid specificeert een lijst met herkomsten (URL's) of hostnaampatronen (zoals '*.example.com') die moeten worden behandeld als beveiligde context. Het is de bedoeling dat organisaties hiermee een staging-server kunnen instellen voor interne webontwikkeling, zodat hun ontwikkelaars functies kunnen testen die een beveiligde context vereisen, zonder dat ze TLS op de staging-server hoeven te implementeren.
       Wanneer er een lijst met URL's wordt ingesteld in dit beleid, heeft dit hetzelfde effect als wanneer de opdrachtregelmarkering '--unsafely-treat-insecure-origin-as-secure' wordt ingesteld op een door komma's gescheiden lijst met dezelfde URL's. Als het beleid is ingesteld, wordt de opdrachtregelmarkering overschreven.
       Ga naar https://www.w3.org/TR/secure-contexts/ voor meer informatie over beveiligde contexten.
       </translation>
@@ -2364,7 +2343,7 @@
 <translation id="7617319494457709698">Dit beleid geeft aan welke extensies de <ph name="ENTERPRISE_PLATFORM_KEYS_API" />-functie <ph name="CHALLENGE_USER_KEY_FUNCTION" /> mogen gebruiken voor externe bevestiging. Je moet extensies aan deze lijst toevoegen om de API te kunnen gebruiken.
 
           Als een extensie niet in de lijst voorkomt of als de lijst niet is ingesteld, mislukt het aanroepen van de API en wordt er een foutcode weergegeven.</translation>
-<translation id="7620300057302654932">Beginpunten of hostnaampatronen die moeten worden behandeld als beveiligde context.</translation>
+<translation id="7620300057302654932">Herkomsten of hostnaampatronen die moeten worden behandeld als beveiligde context.</translation>
 <translation id="7625444193696794922">Hiermee wordt het releasekanaal gespecificeerd waarmee dit apparaat moet worden vergrendeld.</translation>
 <translation id="7632724434767231364">Naam van GSSAPI-bibliotheek</translation>
 <translation id="7635471475589566552">Hiermee wordt de landinstelling voor de applicatie geconfigureerd in <ph name="PRODUCT_NAME" /> en wordt voorkomen dat gebruikers de landinstelling kunnen wijzigen.
diff --git a/components/policy/resources/policy_templates_no.xtb b/components/policy/resources/policy_templates_no.xtb
index 8f3078f4..85f51848 100644
--- a/components/policy/resources/policy_templates_no.xtb
+++ b/components/policy/resources/policy_templates_no.xtb
@@ -224,12 +224,6 @@
       Denne innnstillingen må konfigureres med en nettadresse der <ph name="PRODUCT_OS_NAME" /> kan laste ned vilkårene. Vilkårene må være i ren tekst, levert som MIME-typen tekst/ren. Det er ikke tillatt med koding.</translation>
 <translation id="1750315445671978749">Blokkér alle nedlastinger</translation>
 <translation id="1781356041596378058">Denne regelen kontrollerer også tilgangen til utvikleralternativene for Android. Hvis du angir denne regelen som «true» (sann), fjerner du brukernes tilgang til utvikleralternativene. Hvis du angir denne regelen som «false» (usann) eller ikke angir den, kan brukere få tilgang til utvikleralternativene ved å trykke sju ganger på delversjonsnummeret i appen for Android-innstillinger.</translation>
-<translation id="178832255504524723">Konfigurer nettadressen for endring av passord (bare HTTP- og HTTPS-protokoller). Tjenesten for passordbeskyttelse sender brukerne til denne nettadressen for å bytte passord hvis de har blitt utsatt for nettfisking.
-      For at <ph name="PRODUCT_NAME" /> skal registrere fingeravtrykket for det nye passordet på denne siden for passordbytte, må du påse at siden for passordbytte følger retningslinjene på https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Hvis denne innstillingen er aktivert, sender tjenesten for passordbeskyttelse brukerne til denne nettadressen hvis de har blitt utsatt for nettfisking.
-      Hvis denne innstillingen er deaktivert eller ikke er angitt, sender tjenesten for passordbeskyttelse brukerne til https://myaccounts.google.com for å bytte passord.
-      Denne regelen er ikke tilgjengelig i Windows-forekomster som ikke er knyttet til noe <ph name="MS_AD_NAME" />-domene.</translation>
 <translation id="1797233582739332495">Vis brukeren en gjentakende melding om at omstart kreves</translation>
 <translation id="1803646570632580723">Liste over programmer som er festet i programlisten</translation>
 <translation id="1808715480127969042">Blokkér informasjonskapsler på disse nettstedene</translation>
@@ -1919,13 +1913,6 @@
 
       Hvis denne innstillingen ikke angis eller listen er tom, blir alle oppsettene tilgjengelige i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Innstillinger for lokalt administrerte brukere</translation>
-<translation id="6654559957643809067">Slår på nettverksforutsigelse i <ph name="PRODUCT_NAME" />, og hindrer brukerne i å endre denne innstillingen.
-
-      Dette styrer DNS-forhåndshenting, TCP- og SSL-forhåndstilkobling og forhåndsgjengivelse av nettsider.
-
-      Hvis du setter denne innstillingen til «alltid», «aldri» eller «bare Wi-Fi», kan ikke brukerne endre eller overstyre denne innstillingen i <ph name="PRODUCT_NAME" />.
-
-      Hvis denne regelen ikke spesifiseres, er nettverksforutsigelse slått på, men brukeren kan endre innstillingen.</translation>
 <translation id="6658245400435704251">Angir grensen for hvor mange sekunder en enhet tilfeldig kan utsette nedlastingen av en oppdatering, fra tidspunktet oppdateringen første ble sendt til tjeneren. Enheten kan sette av en del av denne tiden i form av faktisk ventetid, og den gjenværende delen i form av antall oppdateringer som skal kontrolleres. I alle tilfelle er det den øvre grensen for spredning knyttet til en konstant tidsmengde, slik at enheten aldri blir stående fast og vente på å laste ned en oppdatering for alltid.</translation>
 <translation id="6665670272107384733">Angi hvor ofte brukerne må skrive inn passord for å bruke hurtigopplåsing</translation>
 <translation id="6681229465468164801">Lar deg angi en liste med nettadressemønstre for å spesifisere nettsteder som er forhindret fra å be brukeren om tilgang til en USB-enhet.
diff --git a/components/policy/resources/policy_templates_pl.xtb b/components/policy/resources/policy_templates_pl.xtb
index 65902d1..d59b2ad 100644
--- a/components/policy/resources/policy_templates_pl.xtb
+++ b/components/policy/resources/policy_templates_pl.xtb
@@ -219,12 +219,6 @@
       Zasada powinna określać URL, z którego <ph name="PRODUCT_OS_NAME" /> może pobrać Warunki korzystania z usługi. Dokument ten musi mieć postać zwykłego tekstu (MIME) bez żadnych znaczników.</translation>
 <translation id="1750315445671978749">Blokuj pobieranie wszystkich plików</translation>
 <translation id="1781356041596378058">Ta zasada kontroluje też dostęp do Opcji programisty Androida. Jej włączenie powoduje odebranie użytkownikom dostępu do Opcji programisty. Gdy jest wyłączona lub nieskonfigurowana, użytkownicy mogą uzyskać dostęp do Opcji programisty, klikając siedem razy numer kompilacji w aplikacji Ustawienia Androida.</translation>
-<translation id="178832255504524723">Konfigurowanie adresu URL do zmiany hasła (tylko schematy HTTP i HTTPS). Usługa ochrony haseł będzie kierować użytkowników na stronę pod tym adresem URL, by zmienili hasło, gdy staną się ofiarami phishingu.
-      Jeśli <ph name="PRODUCT_NAME" /> ma poprawnie rejestrować odciski cyfrowe nowych haseł na stronie zmiany hasła, powinna ona być zgodna z wytycznymi podanymi na stronie https://www.chromium.org/developers/design-documents/create-amazing-password-forms
-
-      Jeśli to ustawienie jest włączone, usługa ochrony haseł kieruje użytkowników na stronę pod tym adresem URL, by zmienili hasło, gdy staną się ofiarami phishingu.
-      Jeśli to ustawienie jest wyłączone lub nieskonfigurowane, usługa ochrony haseł kieruje użytkowników na stronę https://myaccounts.google.com, by zmienili hasło.
-      Ta zasada nie jest dostępna w systemach Windows niepołączonych z domeną <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Wyświetlaj cyklicznie komunikat o tym, że wymagane jest ponowne uruchomienie</translation>
 <translation id="1803646570632580723">Lista przypiętych aplikacji pokazywanych w programie uruchamiającym</translation>
 <translation id="1808715480127969042">Blokuj pliki cookie w tych witrynach</translation>
@@ -1371,15 +1365,6 @@
 <translation id="4980635395568992380">Typ danych:</translation>
 <translation id="4983201894483989687">Zezwalaj na uruchamianie nieaktualnych wtyczek</translation>
 <translation id="4988291787868618635">Działanie, jakie ma zostać wykonane po osiągnięciu opóźnienia bezczynności</translation>
-<translation id="4990301296093321860">Umożliwia sterowanie wyzwalaniem ostrzeżenia dotyczącego ochrony hasła. 
-Alerty dotyczące ochrony hasła ostrzegają użytkowników, gdy użyją swojego chronionego hasła na potencjalnie niebezpiecznych stronach.
-
-      Zasady „PasswordProtectionLoginURLs” i „PasswordProtectionChangePasswordURL” umożliwiają wskazanie hasła, które ma być chronione.
-
-      Jeśli ta zasada jest ustawiona na „PasswordProtectionWarningOff”, nie będą wyświetlane żadne ostrzeżenia dotyczące ochrony hasła.
-      Jeśli ta zasada jest ustawiona na „PasswordProtectionWarningOnPasswordReuse”, ostrzeżenie dotyczące ochrony hasła wyświetli się, gdy użytkownik użyje swojego chronionego hasła na stronie, której nie ma na białej liście.
-      Jeśli ta zasada jest ustawiona na „PasswordProtectionWarningOnPhishingReuse”, ostrzeżenie dotyczące ochrony hasła wyświetli się, gdy użytkownik użyje chronionego hasła na stronie wyłudzającej informacje.
-      Jeśli zasada nie jest skonfigurowana, ostrzeżenie dotyczące ochrony hasła wyświetli się, gdy użytkownik użyje chronionego hasła na stronie wyłudzającej informacje, ale użytkownik może zmienić to ustawienie.</translation>
 <translation id="4995548127349206948">Czy uwierzytelnianie NTLMv2 jest włączone.</translation>
 <translation id="5047604665028708335">Zezwalaj na dostęp do witryn spoza pakietów treści</translation>
 <translation id="5052081091120171147">Po włączeniu tej zasady wymuszany jest import historii przeglądania z bieżącej przeglądarki domyślnej. Włączenie zasady ma również wpływ na opcje w oknie dialogowym importowania. W przypadku jej wyłączenia historia przeglądania nie jest importowana. Jeśli zasada nie jest skonfigurowana, użytkownik może zostać zapytany, czy zaimportować historię lub operacja ta zostanie wykonana automatycznie.</translation>
@@ -1875,13 +1860,6 @@
 
       Jeśli ta zasada pozostanie nieustawiona lub lista jest pusta, wszystkie schematy są dostępne w <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Ustawienia użytkowników zarządzanych lokalnie</translation>
-<translation id="6654559957643809067">Włącza przewidywanie działań sieciowych w <ph name="PRODUCT_NAME" /> i uniemożliwia użytkownikom zmianę tego ustawienia.
-
-      Ta zasada steruje wstępnym pobieraniem DNS, wstępnym łączeniem przez TCP i SSL oraz wstępnym renderowaniem stron internetowych.
-
-      Jeśli ustawisz tę zasadę na „Zawsze”, „Nigdy” lub „Tylko Wi-Fi”, użytkownicy nie będą mogli zmienić ani nadpisać tego ustawienia w <ph name="PRODUCT_NAME" />.
-
-      Jeśli ta zasada pozostanie nieustawiona, przewidywanie działań sieciowych zostanie włączone, ale użytkownicy będą mogli je zmienić.</translation>
 <translation id="6658245400435704251">Określa, o ile sekund urządzenie może losowo opóźnić pobranie aktualizacji w stosunku do czasu jej opublikowania na serwerze. Urządzenie może odczekać część tego okresu, licząc w sekundach zegara, a pozostałą część, licząc w testach dostępności aktualizacji. Tak czy inaczej okres opóźnienia jest ograniczony z góry, by urządzenie nigdy nie utknęło w stanie oczekiwania na pobranie aktualizacji.</translation>
 <translation id="6665670272107384733">Określ, jak często użytkownik musi podawać hasło, by używać szybkiego odblokowania</translation>
 <translation id="6681229465468164801">Pozwala utworzyć listę wzorców adresów URL określających witryny, które nie mogą prosić użytkownika o przyznanie dostępu do urządzeń USB.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 19d7671..cee7f78e 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -217,12 +217,6 @@
       A política deve ser definida para um URL a partir do qual o <ph name="PRODUCT_OS_NAME" /> possa fazer o download dos Termos de Serviço. Os Termos de Serviço devem estar em texto sem formação, com tipo de texto MIME text/plain. Não são permitidas marcações.</translation>
 <translation id="1750315445671978749">Bloquear todos os downloads</translation>
 <translation id="1781356041596378058">Esta política também controla o acesso às Opções do desenvolvedor do Android. Se você configurar essa política como true, os usuários não poderão acessar as Opções do desenvolvedor. Se configurá-la como false ou deixá-la sem definição, os usuários poderão acessar as Opções do desenvolvedor tocado sete vezes no número da versão no app Config. do Android.</translation>
-<translation id="178832255504524723">Configura o URL de alteração de senha (somente esquemas HTTP e HTTPS). O serviço de proteção de senha enviará esse URL aos usuários para alterar senhas, caso eles tenham sofrido phishing.
-      Para que o <ph name="PRODUCT_NAME" /> capture corretamente a impressão digital da nova senha nessa página de alteração de senha, verifique se a página de alteração segue as diretrizes que constam em https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Se esta configuração estiver ativada, o serviço de proteção de senha enviará esse URL aos usuários para que alterem as respectivas senhas, caso tenham sofrido phishing.
-      Se esta configuração estiver desativada ou se não estiver definida, o serviço de proteção de senha redirecionará os usuários para https://myaccounts.google.com para que alterem a senha.
-      Esta política não está disponível em instâncias do Windows que não estejam vinculadas a um domínio <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Mostrar um prompt recorrente ao usuário indicando que é necessário reiniciar</translation>
 <translation id="1803646570632580723">Lista de aplicativos fixados a serem mostrados no iniciador</translation>
 <translation id="1808715480127969042">Bloquear cookies nestes sites</translation>
@@ -1374,14 +1368,6 @@
 <translation id="4980635395568992380">Tipo do dado:</translation>
 <translation id="4983201894483989687">Permitir a execução de plug-ins que estão desatualizados</translation>
 <translation id="4988291787868618635">Ação a ser realizada quando o intervalo de inatividade for atingido</translation>
-<translation id="4990301296093321860">Permite que você controle o acionamento do aviso de proteção de senha. A proteção de senha alerta o usuário quando ele reutiliza a senha protegida em sites possivelmente suspeitos.
-
-      É possível usar as políticas "PasswordProtectionLoginURLs" e "PasswordProtectionChangePasswordURL" para configurar qual senha proteger.
-
-      Se esta política for definida como "PasswordProtectionWarningOff", nenhum aviso de proteção de senha será exibido.
-      Se esta política for definida como "PasswordProtectionWarningOnPasswordReuse", o aviso de proteção de senha será exibido quando o usuário reutilizar as senhas protegidas em sites que não estejam na lista de permissões.
-      Se esta política for definida como "PasswordProtectionWarningOnPhishingReuse", o aviso de proteção de senha será exibido quando o usuário reutilizar as senhas protegidas em sites de phishing.
-      Se esta política não for definida, o aviso de proteção de senha será acionado quando o usuário reutilizar senhas protegidas em sites de phishing, mas ele conseguirá alterar essa configuração.</translation>
 <translation id="4995548127349206948">Se a autenticação NTLMv2 está ativada.</translation>
 <translation id="5047604665028708335">Permitir acesso a sites fora de pacotes de conteúdo</translation>
 <translation id="5052081091120171147">Se ativada, esta política força a importação do histórico de navegação a partir do navegador padrão atual. Se ativada, esta política também afeta a caixa de diálogo de importação. Se desativada, nenhum histórico de navegação é importado. Caso não seja definida, o usuário pode ser solicitado a responder se deseja importar ou permitir a importação automática.</translation>
@@ -1873,13 +1859,6 @@
 
       Se esta política não for definida ou se a lista estiver vazia, todos os esquemas serão acessíveis no <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Configurações de usuários gerenciados localmente</translation>
-<translation id="6654559957643809067">Ativa a previsão de redes no <ph name="PRODUCT_NAME" /> e impede que os usuários alterem essa configuração.
-
-      Controla a pré-chamada de DNS, a pré-conexão de SSL e TCP e o pré-processamento de páginas da Web.
-
-      Se você configurar essa preferência para "sempre", "nunca" ou "apenas Wi-Fi", os usuários não poderão alterá-la ou substituí-la no <ph name="PRODUCT_NAME" />.
-
-      Se esta política não é configurada, a previsão de redes fica ativada, e o usuário pode alterá-la.</translation>
 <translation id="6658245400435704251">Especifica o número de segundos que um dispositivo pode chegar a atrasar aleatoriamente o download de uma atualização a partir do momento em que a atualização foi lançada no servidor. O dispositivo pode esperar uma parte desse intervalo de tempo em tempo cronológico e o restante contado em número de verificações de atualizações. Em todo caso, a dispersão tem como limite máximo uma quantidade constante de tempo para que o dispositivo nunca fique parado indefinidamente esperando para fazer o download de uma atualização.</translation>
 <translation id="6665670272107384733">Definir com que frequência o usuário precisa digitar a senha para usar o desbloqueio rápido</translation>
 <translation id="6681229465468164801">Permite definir uma lista de padrões de URL que especificam quais sites não podem pedir que o usuário conceda acesso a um dispositivo USB.
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb
index 8d855744..86e4e982 100644
--- a/components/policy/resources/policy_templates_pt-PT.xtb
+++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -222,12 +222,6 @@
       Esta política deve estar definida para um URL a partir do qual o <ph name="PRODUCT_OS_NAME" /> possa transferir os Termos de Utilização. Os Termos de Utilização devem estar no formato de texto simples, com o tipo de MIME texto/simples. Não é permitida qualquer marcação.</translation>
 <translation id="1750315445671978749">Bloquear todas as transferências</translation>
 <translation id="1781356041596378058">Esta política também controla o acesso às Opções de programador do Android. Se definir esta política como verdadeira, os utilizadores não poderão aceder às Opções de programador. Se definir esta política como falsa ou se não a definir, os utilizadores podem aceder às Opções de programador ao tocar sete vezes no número da compilação na aplicação de definições do Android.</translation>
-<translation id="178832255504524723">Configure o URL de alteração da palavra-passe (só funciona em HTTP e HTTPS). O serviço de proteção por palavra-passe envia os utilizadores para este URL para alterarem as respetivas palavras-passe se tiverem sido alvo de phishing.
-      Para que o <ph name="PRODUCT_NAME" /> capture a nova impressão digital da palavra-passe corretamente nesta página de alteração da palavra-passe, certifique-se de que a sua página de início de sessão de alteração da palavra-passe segue as diretrizes apresentadas em https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Se esta definição estiver ativada, o serviço de proteção por palavra-passe envia os utilizadores para este URL para alterarem as respetivas palavras-passe se tiverem sido alvo de phishing.
-      Se esta definição estiver desativada ou não estiver definida, o serviço de proteção por palavra-passe envia os utilizadores para https://myaccounts.google.com para alterarem as respetivas palavras-passe.
-      Esta política não está disponível em instâncias do Windows que não pertençam a um domínio do <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Apresenta uma mensagem recorrente ao utilizador a indicar que é necessário reiniciar.</translation>
 <translation id="1803646570632580723">Lista de aplicações fixadas a mostrar no iniciador</translation>
 <translation id="1808715480127969042">Bloquear cookies nestes sites</translation>
@@ -1389,14 +1383,6 @@
 <translation id="4980635395568992380">Tipo de dados:</translation>
 <translation id="4983201894483989687">Permitir a execução de plug-ins desatualizados</translation>
 <translation id="4988291787868618635">Ação a realizar quando o atraso de inatividade for alcançado</translation>
-<translation id="4990301296093321860">Permite controlar o acionamento do aviso de proteção da palavra-passe. A proteção da palavra-passe alerta os utilizadores quando reutilizarem as respetivas palavras-passe protegidas em sites potencialmente suspeitos.
-
-      Pode utilizar as políticas "PasswordProtectionLoginURLs" e "PasswordProtectionChangePasswordURL" para configurar a palavra-passe a proteger.
-
-      Se esta política estiver definida como "PasswordProtectionWarningOff", não é mostrado nenhum aviso de proteção por palavra-passe.
-      Se esta política estiver definida como "PasswordProtectionWarningOnPasswordReuse", o aviso de proteção da palavra-passe é mostrado quando o utilizador reutilizar a respetiva palavra-passe protegida num site que não tenha sido adicionado à lista de autorizações.
-      Se esta política estiver definida como "PasswordProtectionWarningOnPhishingReuse", o aviso de proteção da palavra-passe é mostrado quando o utilizador reutilizar a respetiva palavras-passe protegida num site de phishing.
-      Se esta política não for definida, o aviso de proteção da palavra-passe é acionado quando o utilizador reutilizar a respetiva palavra-passe protegida num site de phishing, mas o utilizador pode alterar esta definição.</translation>
 <translation id="4995548127349206948">Se a autenticação NTLMv2 está ativada.</translation>
 <translation id="5047604665028708335">Permitir o acesso a sites fora dos pacotes de conteúdo</translation>
 <translation id="5052081091120171147">Se esta política estiver ativada, força a importação do histórico de navegação a partir do navegador predefinido atual e também afeta a caixa de diálogo de importação. Se estiver desativada, o histórico de navegação não é importado. Se não estiver definida, o utilizador poderá ser questionado se pretende importá-lo ou a importação poderá ocorrer automaticamente.</translation>
@@ -1893,13 +1879,6 @@
 
       Se esta política não for definida ou a lista estiver vazia, todos os esquemas estarão acessíveis em <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Definições de utilizadores geridos localmente</translation>
-<translation id="6654559957643809067">Ativa a previsão de rede no <ph name="PRODUCT_NAME" /> e impede que os utilizadores alterem esta definição.
-
-      Isto controla a obtenção prévia de DNS, mas também a ligação e a composição prévias de TCP e SSL de páginas Web.
-
-      Se definir esta preferência para "sempre", "nunca" ou "apenas Wi-Fi", os utilizadores não a podem alterar nem substituir no <ph name="PRODUCT_NAME" />.
-
-      Se esta política permanecer por definir, a previsão de rede é ativada, mas o utilizador pode alterá-la.</translation>
 <translation id="6658245400435704251">Especifica o número de segundos até que um dispositivo possa aleatoriamente atrasar a sua transferência de uma atualização a partir do momento em que a atualização foi retirada pela primeira vez do servidor. O dispositivo pode esperar uma parte deste tempo em termos de tempo total de processamento e a restante parte em termos do número de verificações de atualização. Em qualquer caso, a dispersão está associada de forma superior a uma quantidade constante de tempo para que um dispositivo nunca fique preso indefinidamente à espera de transferir uma atualização.</translation>
 <translation id="6665670272107384733">Definir com que frequência o utilizador tem de introduzir a palavra-passe para utilizar o desbloqueio rápido</translation>
 <translation id="6681229465468164801">Permite definir uma lista de padrões de URL que especificam sites impedidos de pedir ao utilizador que lhes conceda acesso a um dispositivo USB.
diff --git a/components/policy/resources/policy_templates_ro.xtb b/components/policy/resources/policy_templates_ro.xtb
index 43145cb..5b4e146 100644
--- a/components/policy/resources/policy_templates_ro.xtb
+++ b/components/policy/resources/policy_templates_ro.xtb
@@ -222,12 +222,6 @@
       Politica trebuie setată la o adresă URL de la care <ph name="PRODUCT_OS_NAME" /> poate descărca Termenii și condițiile. Termenii și condițiile trebuie să fie în format de text simplu, de tip MIME text/plain. Nu se permite limbajul de markup.</translation>
 <translation id="1750315445671978749">Blochează toate descărcările</translation>
 <translation id="1781356041596378058">Această politică controlează și accesul la Opțiunile pentru dezvoltatori Android. Dacă această politică este activată, utilizatorii nu pot accesa Opțiunile pentru dezvoltatori. Dacă această politică este dezactivată sau nu este configurată, utilizatorii pot accesa Opțiunile pentru dezvoltatori atingând de șapte ori numărul versiunii din aplicația Setări Android.</translation>
-<translation id="178832255504524723">Configurează adresa URL de modificare a parolei (doar schemele HTTP și HTTPS). Serviciul de protecție prin parolă va direcționa utilizatorii la această adresă URL pentru a-și schimba parolele în cazul în care acestea au fost compromise prin phishing.
-      Pentru ca <ph name="PRODUCT_NAME" /> să scaneze corect noua amprentă a parolei pe această pagină de schimbare a parolei, asigură-te că pagina de schimbare a parolei respectă regulile prevăzute în https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Dacă această setare este activată, serviciul de protecție prin parolă va direcționa utilizatorii la această adresă URL pentru a-și schimba parolele în cazul în care acestea au fost compromise prin phishing.
-      Dacă această setare este dezactivată sau nu este configurată, serviciul de protecție prin parolă va direcționa utilizatorii la https://myaccounts.google.com pentru a-și schimba parola.
-      Această politică nu este disponibilă în instanțele Windows care nu sunt asociate unui domeniu <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Afișează utilizatorului o solicitare recurentă prin care se indică faptul că relansarea este obligatorie</translation>
 <translation id="1803646570632580723">Listare aplicații fixate de afișat în lansator</translation>
 <translation id="1808715480127969042">Blochează cookie-urile de pe aceste site-uri</translation>
@@ -1391,14 +1385,6 @@
 <translation id="4980635395568992380">Tip de date:</translation>
 <translation id="4983201894483989687">Permite rularea pluginurilor învechite</translation>
 <translation id="4988291787868618635">Măsura care se va lua la atingerea intervalului maxim de inactivitate</translation>
-<translation id="4990301296093321860">Îți permite să controlezi declanșarea avertismentului privind protecția prin parolă. Protecția prin parolă îi avertizează pe utilizatori când refolosesc parola protejată pe site-uri potențial suspecte.
-
-      Poți folosi politicile „PasswordProtectionLoginURLs” și „PasswordProtectionChangePasswordURL” pentru a configura parola protejată.
-
-      Dacă această politică este setată la „PasswordProtectionWarningOff”, nu se va afișa niciun avertisment privind protecția prin parolă.
-      Dacă această politică este setată la „PasswordProtectionWarningOnPasswordReuse”, avertismentul privind protecția prin parolă se va afișa când utilizatorii refolosesc parolele protejate pe site-uri care nu sunt trecute în lista albă.
-      Dacă această politică este setată la „PasswordProtectionWarningOnPhishingReuse”, avertismentul privind protecția prin parolă se va afișa când utilizatorii refolosesc parolele protejate pe site-uri de phishing.
-      Dacă această politică nu este configurată, avertismentul privind protecția prin parolă se va declanșa când utilizatorii refolosesc parolele protejate pe site-uri de phishing, dar utilizatorul poate modifica această setare.</translation>
 <translation id="4995548127349206948">Dacă este activată autentificarea NTLMv2.</translation>
 <translation id="5047604665028708335">Se permite accesul la site-urile din afara pachetelor de conținut</translation>
 <translation id="5052081091120171147">Dacă este activată, această politică forțează importarea istoricului de navigare din browserul prestabilit actual. Dacă este activată, această politică afectează, de asemenea, caseta de dialog de importare. Dacă este dezactivată, istoricul de navigare nu va fi importat. În cazul în care nu este setată, utilizatorul poate fi întrebat dacă dorește importarea sau aceasta poate avea loc în mod automat.</translation>
@@ -1899,13 +1885,6 @@
 
       Dacă această politică este neconfigurată sau dacă lista este goală, toate schemele vor putea fi accesate în <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Setări pentru utilizatorii gestionați local</translation>
-<translation id="6654559957643809067">Activează anticiparea în rețea în <ph name="PRODUCT_NAME" /> și împiedică utilizatorii să modifice această setare.
-
-      Aceasta controlează atât preluarea anticipată a datelor DNS, cât și conectarea anticipată TCP și SSL și încărcarea anticipată a paginilor web.
-
-      Dacă setezi această preferință la „întotdeauna”, „niciodată” sau „numai prin Wi-Fi”, utilizatorii nu pot modifica sau suprascrie această setare în <ph name="PRODUCT_NAME" />.
-
-      Dacă această politică nu este configurată, anticiparea în rețea va fi activată, dar utilizatorul o va putea modifica.</translation>
 <translation id="6658245400435704251">Specifică numărul de secunde până la care un dispozitiv poate întârzia în mod aleatoriu descărcarea unei actualizări, din momentul în care respectiva actualizare a fost publicată pe server. O parte din perioada în care dispozitivul așteaptă efectuarea actualizării poate fi exprimată în termeni temporali, iar partea rămasă printr-un număr de verificări ale existenței unei actualizări. În orice caz, difuzarea are ca limită superioară o valoare constantă de timp, astfel încât un dispozitiv nu poate rămâne niciodată blocat definitiv în așteptarea descărcării unei actualizări.</translation>
 <translation id="6665670272107384733">Setează frecvența cu care un utilizator trebuie să introducă parola pentru a folosi deblocarea rapidă</translation>
 <translation id="6681229465468164801">Îți permite să setezi o listă de șabloane de adrese URL care specifică site-urile împiedicate să ceară utilizatorului să le acorde acces la un dispozitiv USB.
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index 108e43f64..18a8524 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -208,12 +208,6 @@
 Правило должно быть задано в виде URL, с которого <ph name="PRODUCT_OS_NAME" /> будет скачивать Условия использования. Файл с Условиями использования должен быть текстовым, с типом MIME "text/plain" и без какой-либо разметки.</translation>
 <translation id="1750315445671978749">Блокировать все скачивания</translation>
 <translation id="1781356041596378058">Это правило также контролирует доступ к режиму разработчика Android. Если установить для правила значение True, пользователи потеряют доступ к режиму разработчика. Если установить для правила значение False или не задать значение, пользователи смогут получить доступ к режиму разработчика, нажав на номер сборки в настройках Android семь раз.</translation>
-<translation id="178832255504524723">Правило позволяет настроить URL смены пароля (только для протоколов HTTP и HTTPS). Служба защиты паролей будет перенаправлять пользователей на указанную страницу, чтобы изменить пароль в случае фишинговой атаки.
-      Чтобы сервис "<ph name="PRODUCT_NAME" />" корректно сохранил новый цифровой отпечаток, страница смены пароля должна соответствовать требованиям, перечисленным в инструкции на странице https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Если этот параметр включен, служба защиты паролей будет перенаправлять пользователей на указанную страницу, чтобы изменить пароль в случае фишинговой атаки.
-      Если он не установлен или отключен, пользователи будут перенаправлены для смены пароля на страницу https://myaccounts.google.com.
-      Правило недоступно на устройствах Windows, не входящих в домен "<ph name="MS_AD_NAME" />".</translation>
 <translation id="1797233582739332495">Уведомлять пользователя о необходимости перезапустить браузер</translation>
 <translation id="1803646570632580723">Список прикрепленных приложений в панели запуска</translation>
 <translation id="1808715480127969042">Блокировать файлы cookie на этих сайтах</translation>
@@ -668,17 +662,17 @@
 <translation id="2899002520262095963">Приложения Android могут использовать сетевые настройки и сертификаты ЦС, указанные с помощью этого правила, но лишены доступа к некоторым параметрам конфигурации.</translation>
 <translation id="290002216614278247">Позволяет заблокировать сеанс пользователя на определенное время.
 
-          Функция |time_window_limit| (ограничение временного интервала) определяет временной интервал, в течение которого сеанс пользователя должен быть заблокирован. В правиле можно задать по одному интервалу на каждый день недели, поэтому массив |entries| (записи) может содержать от 0 до 7 записей. Функциями |starts_at| (начало в) и |ends_at| (конец в) задается начало и конец временного интервала. Если значение функции |ends_at| меньше значения функции |starts_at|, то временной интервал закончится на следующий день. Функция |last_updated_millis| – это временная метка UTC, соответствующая последнему обновлению записи. Она передается в виде строки, потому что формат временной метки не соответствует формату целого числа.
+          Параметр |time_window_limit| (ограничение временного интервала) определяет временной интервал, в течение которого сеанс пользователя должен быть заблокирован. В правиле можно задать по одному интервалу на каждый день недели, поэтому массив |entries| (записи) может содержать от 0 до 7 записей. Параметрами |starts_at| (начало в) и |ends_at| (конец в) задается начало и конец временного интервала. Если значение параметра |ends_at| меньше значения параметра |starts_at|, то временной интервал закончится на следующий день. Параметр |last_updated_millis| – это временная метка UTC, соответствующая последнему обновлению записи. Он передается в виде строки, потому что формат временной метки не соответствует формату целого числа.
 
-          Функция |time_usage_limit| (ограничение времени использования) определяет количество времени, в течение которого длится сеанс пользователя. Когда время истекает, сеанс блокируется. Для каждого дня недели существует свой параметр, который настраивается только в том случае, если для этого дня задано ограничение. Функция |usage_quota_mins| (ограничение использования в минутах) – это время, в течение которого можно пользоваться управляемым устройством. Функция |reset_at| (сбросить в) задает момент, когда отсчет начинается сначала. По умолчанию задана полночь ({'hour': 0, 'minute': 0}). Функция |last_updated_millis| (последнее обновление) – это временная метка UTC, соответствующая последнему обновлению записи. Она передается в виде строки, потому что формат временной метки не соответствует формату целого числа.
+          Параметр |time_usage_limit| (ограничение времени использования) определяет количество времени, в течение которого длится сеанс пользователя. Когда время истекает, сеанс блокируется. Для каждого дня недели существует свой параметр, который настраивается только в том случае, если для этого дня задано ограничение. Параметр |usage_quota_mins| (ограничение использования в минутах) – это время, в течение которого можно пользоваться управляемым устройством. Параметр |reset_at| (сбросить в) задает момент, когда отсчет начинается сначала. По умолчанию задана полночь ({'hour': 0, 'minute': 0}). Параметр |last_updated_millis| (последнее обновление) – это временная метка UTC, соответствующая последнему обновлению записи. Он передается в виде строки, потому что формат временной метки не соответствует формату целого числа.
 
-          Функция |overrides| (переопределение) позволяет временно отключить одну или несколько из указанных выше функций.
-          * Если функции time_window_limit и time_usage_limit не настроены, для блокировки устройства можно использовать функцию |LOCK|.
-          * Функция |LOCK| временно блокирует сеанс пользователя до начала следующего ограничения (time_window_limit или time_usage_limit).
-          * Функция |UNLOCK| позволяет отменить блокировку, установленную функцией time_window_limit или time_usage_limit.
-          Функция |created_time_millis| (время создания) – это временная метка UTC, которая показывает, когда была настроена функция |overrides|. Она передается в виде строки, потому что формат временной метки не соответствует формату целого числа. С помощью этой функции определяется, продолжать ли применение параметра |overrides|. Если действующее ограничение времени (time_usage_limit или time_window_limit) вступает в силу после настройки функции |overrides|, ограничение не действует. Если же функция |overrides| была включена до начала ограничения времени, она не применяется.
+          Параметр |overrides| (переопределение) позволяет временно отключить один или несколько из указанных выше параметров.
+          * Если параметры time_window_limit и time_usage_limit не настроены, для блокировки устройства можно использовать параметр |LOCK|.
+          * Параметр |LOCK| временно блокирует сеанс пользователя до начала следующего ограничения (time_window_limit или time_usage_limit).
+          * Параметр |UNLOCK| позволяет отменить блокировку, установленную параметром time_window_limit или time_usage_limit.
+          Параметр |created_time_millis| (время создания) – это временная метка UTC, которая показывает, когда был настроен параметр |overrides|. Он передается в виде строки, потому что формат временной метки не соответствует формату целого числа. С помощью этого параметра определяется, продолжать ли применение параметра |overrides|. Если действующее ограничение времени (time_usage_limit или time_window_limit) вступает в силу после настройки параметра |overrides|, ограничение не действует. Если же параметр |overrides| был включен до начала ограничения времени, он не применяется.
 
-          Можно задать несколько функций переопределения, однако использоваться будет только последняя действительная запись.</translation>
+Можно задать несколько параметров переопределения, однако использоваться будет только последняя действительная запись.</translation>
 <translation id="2906874737073861391">Список расширений в пакете приложений</translation>
 <translation id="2907992746861405243">Позволяет настроить доступ к принтерам из правила <ph name="BULK_PRINTERS_POLICY" />.
 
@@ -1361,14 +1355,6 @@
 <translation id="4980635395568992380">Тип данных:</translation>
 <translation id="4983201894483989687">Разрешить запуск устаревших плагинов</translation>
 <translation id="4988291787868618635">Действие по прошествии времени задержки перехода в спящий режим</translation>
-<translation id="4990301296093321860">Позволяет контролировать триггер защиты паролем, при срабатывании которого пользователь получит предупреждение о вводе пароля на подозрительном сайте.
-
-      С помощью правил PasswordProtectionLoginURLs и PasswordProtectionChangePasswordURL можно указать пароли, которым нужна защита.
-
-      Если в правиле указано PasswordProtectionWarningOff, то предупреждение от защиты паролем не будет появляться.
-      Если в правиле указано PasswordProtectionWarningOnPasswordReuse, то предупреждение от защиты паролем будет появляться при вводе паролей на любых сайтах, не находящихся в белом списке.
-      Если в правиле указано PasswordProtectionWarningOnPhishingReuse, то предупреждение от защиты паролем будет появляться при вводе паролей на фишинговых сайтах.
-      Если правило не настроено, предупреждение от защиты паролем будет срабатывать при вводе паролей на фишинговых сайтах, но у пользователя всегда будет возможность изменить эти настройки.</translation>
 <translation id="4995548127349206948">Включение или отключение аутентификации NTLMv2</translation>
 <translation id="5047604665028708335">Разрешить доступ к сайтам, не включенным в пакеты контента</translation>
 <translation id="5052081091120171147">Это правило импортирует историю посещенных страниц из браузера, используемого по умолчанию, а также меняет поведение диалогового окна импорта. Если это правило отключено, история не импортируется, а если оно не настроено, импорт может быть выполнен автоматически или пользователю может быть предложено выполнить его.</translation>
@@ -1865,13 +1851,6 @@
 
       Если это правило не настроено или список пуст, в <ph name="PRODUCT_NAME" /> будут использоваться все схемы.</translation>
 <translation id="6652197835259177259">Настройки локально управляемых профилей</translation>
-<translation id="6654559957643809067">Включает предварительное определение сети в <ph name="PRODUCT_NAME" /> и запрещает пользователям менять эту настройку.
-
-      Это позволяет контролировать не только упреждающее чтение DNS, но и упреждающее подключение по протоколам TCP и SSL, а также предварительную визуализацию веб-страниц.
-
-      Если этот параметр установлена на "always" (всегда), "never" (никогда) или "Wi-Fi only" (только Wi-Fi), никто кроме вас не сможет изменить его в <ph name="PRODUCT_NAME" />.
-
-      Если не настраивать это правило, предварительное определение сети будет включено, но у пользователей будет возможность выключить его.</translation>
 <translation id="6658245400435704251">Время (в секундах), которое может пройти от появления обновления на сервере до его скачивания на устройство. Это время определяется как длительностью самого скачивания, так и частотой проверок на наличие обновлений. Задается максимальное время задержки, по истечении которого автообновление точно будет выполнено.</translation>
 <translation id="6665670272107384733">Указать, как часто требуется вводить пароль, чтобы пользоваться быстрой разблокировкой</translation>
 <translation id="6681229465468164801">Позволяет задать список шаблонов URL для сайтов, которым запрещено запрашивать доступ к USB-устройствам.
diff --git a/components/policy/resources/policy_templates_sk.xtb b/components/policy/resources/policy_templates_sk.xtb
index a4c0f82f..1ecf98e 100644
--- a/components/policy/resources/policy_templates_sk.xtb
+++ b/components/policy/resources/policy_templates_sk.xtb
@@ -210,12 +210,6 @@
       Toto pravidlo byť malo byť nastavené ako webová adresa, z ktorej systém <ph name="PRODUCT_OS_NAME" /> môže Zmluvné podmienky stiahnuť. Zmluvné podmienky musia byť uložené vo formáte čistého textu, zobrazované ako typ MIME „text/plain“. Nie sú povolené žiadne značky.</translation>
 <translation id="1750315445671978749">Blokovať všetky súbory na stiahnutie</translation>
 <translation id="1781356041596378058">Toto pravidlo ovláda aj prístup k nastaveniu Androidu Pre vývojárov. Ak toto pravidlo nastavíte na hodnotu True, používatelia budú môcť pristupovať k nastaveniu Pre vývojárov. Ak toto pravidlo nastavíte na hodnotu False alebo ho ponecháte nenastavené, umožní to používateľom otvoriť nastavenie Pre vývojárov tým, že sedemkrát klepnú na číslo zostavy v aplikácii nastavení Androidu.</translation>
-<translation id="178832255504524723">Nastavuje webovú adresu zmeny hesla (iba schémy HTTP a HTTPS). Služba ochrany hesla odkáže používateľov na túto webovú adresu, aby si tam zmenili heslo v prípade jeho neoprávneného získania inou osobou.
-      Na to, aby <ph name="PRODUCT_NAME" /> správne zaznamenával digitálne odtlačky hesiel, musia stránky na zmenu hesla dodržiavať pokyny uvedené na adrese https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Ak toto nastavenie aktivujete, služba ochrany hesla odkáže používateľov na túto webovú adresu, aby si tam zmenili heslo v prípade jeho neoprávneného získania inou osobou.
-      Ak je toto nastavenie zakázané alebo nie je nastavené, služba ochrany hesla odkáže používateľov na adresu https://myaccounts.google.com, aby si tam zmenili heslo.
-      Toto pravidlo nie je k dispozícii v inštanciách systému Windows, ktoré nie sú v doméne <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Zobrazovať používateľovi opakovanú výzvu, že sa vyžaduje opätovné spustenie</translation>
 <translation id="1803646570632580723">Zoznam pripnutých aplikácií, ktoré sa zobrazujú v spúšťači</translation>
 <translation id="1808715480127969042">Blokovať súbory cookie na týchto webových stránkach</translation>
@@ -1405,14 +1399,6 @@
 <translation id="4980635395568992380">Typ údajov:</translation>
 <translation id="4983201894483989687">Povoliť spúšťanie zastaraných doplnkov</translation>
 <translation id="4988291787868618635">Akcia po určitej dobe nečinnosti</translation>
-<translation id="4990301296093321860">Umožňuje ovládať spustenie upozornenia v rámci ochrany heslom. Ochrana heslom upozorňuje používateľov, keď svoje chránené heslo opätovne použijú na potenciálne podozrivých weboch.
-
-      Pomocou pravidiel PasswordProtectionLoginURLs a PasswordProtectionChangePasswordURL môžete nakonfigurovať, ktoré heslo chcete chrániť.
-
-      Ak toto pravidlo nastavíte na možnosť PasswordProtectionWarningOff, nezobrazí sa žiadne upozornenie v rámci ochrany heslom.
-      Ak ho nastavíte na možnosť PasswordProtectionWarningOnPasswordReuse, upozornenie v rámci ochrany heslom sa zobrazí, keď používateľ opätovne použije heslo na webe, ktorý nebol pridaný na bielu listinu.
-      Ak ho nastavíte na možnosť PasswordProtectionWarningOnPhishingReuse, upozornenie v rámci ochrany heslom sa zobrazí, keď používateľ opätovne použije chránené heslo na phishingovom webe.
-      Ak toto pravidlo nenastavíte, upozornenie v rámci ochrany heslom sa spustí, keď používateľ opätovne použije chránené heslo na phishingovom webe. Nastavenie však bude môcť zmeniť.</translation>
 <translation id="4995548127349206948">Či je povolené overenie totožnosti NTLMv2</translation>
 <translation id="5047604665028708335">Povoliť prístup ku stránkam mimo balíkov obsahu</translation>
 <translation id="5052081091120171147">Ak je toto pravidlo povolené, história prehliadania bude importovaná z aktuálneho predvoleného prehliadača. Povolenie tohto pravidla má vplyv aj na dialógové okno importu.
@@ -1944,13 +1930,6 @@
 
       Ak je toto pravidlo nenastavené alebo je zoznam prázdny, bude sa dať v prehliadači <ph name="PRODUCT_NAME" /> pristupovať ku všetkým schémam.</translation>
 <translation id="6652197835259177259">Nastavenia miestne spravovaných používateľov</translation>
-<translation id="6654559957643809067">Povolí predpovedanie siete v prehliadači <ph name="PRODUCT_NAME" /> a zabráni používateľom toto nastavenie zmeniť.
-
-      Toto pravidlo ovláda spoločne s predbežným načítaním servera DNS aj predbežné pripojenie pomocou protokolu TCP a SSL a predbežné vykreslenie webových stránok.
-
-      Ak túto predvoľbu zmeníte na hodnotu Vždy, Nikdy alebo Iba W-Fi, používatelia ju v prehliadači <ph name="PRODUCT_NAME" /> nebudú môcť zmeniť.
-
-      Ak ponecháte toto pravidlo nenastavené, bude predpovedanie siete aktivované, no používatelia budú môcť nastavenie zmeniť.</translation>
 <translation id="6658245400435704251">Určí počet sekúnd, o koľko môže zariadenie náhodne zdržať sťahovanie aktualizácie odvtedy, čo bola aktualizácia odoslaná na server. Zariadenie môže čakať určitý čas a sa pokúsiť o určitý počet kontrol aktualizácií. Oneskorenie je obmedzené nemenným maximálnym časovým intervalom tak, aby zariadenie nečakalo na stiahnutie aktualizácie donekonečna.</translation>
 <translation id="6665670272107384733">Nastaviť, ako často musí používateľ zadávať heslo na používanie rýchleho odomknutia</translation>
 <translation id="6681229465468164801">Umožňuje nastaviť zoznam vzorov webových adries určujúcich weby, ktoré nemôžu používateľa požiadať o udelenie prístupu k zariadeniu USB.
diff --git a/components/policy/resources/policy_templates_sl.xtb b/components/policy/resources/policy_templates_sl.xtb
index bc9caa7..58427f110 100644
--- a/components/policy/resources/policy_templates_sl.xtb
+++ b/components/policy/resources/policy_templates_sl.xtb
@@ -223,12 +223,6 @@
       Pravilnik naj bo nastavljen na URL, s katerega lahko <ph name="PRODUCT_OS_NAME" /> prenese pogoje storitve. Ti morajo biti v obliki navadnega besedila vrste MIME in brez označevanja.</translation>
 <translation id="1750315445671978749">Blokiraj vse prenose</translation>
 <translation id="1781356041596378058">Ta pravilnik prav tako nadzira dostop do možnosti za razvijalce za Android. Če ta pravilnik omogočite, uporabniki ne morejo dostopati do možnosti za razvijalce. Če ta pravilnik onemogočite ali ga ne nastavite, uporabniki lahko dostopajo do možnosti za razvijalce, tako da se v aplikaciji Nastavitve za Android sedemkrat dotaknejo številke gradnje.</translation>
-<translation id="178832255504524723">Konfigurirajte URL za spremembo gesla (samo sheme HTTP in HTTPS). Storitev za zaščito gesla pošlje uporabnike, pri katerih je prišlo do lažnega predstavljanja, na ta URL, da spremenijo geslo.
-      Če želite, da bo <ph name="PRODUCT_NAME" /> pravilno zajel prstni odtis novega gesla na tej strani za spremembo gesla, poskrbite, da je stran za spremembo gesla skladna s smernicami na naslovu https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Če je ta nastavitev omogočena, storitev za zaščito gesel pošlje uporabnike na ta URL, da spremenijo gesla, če so bila uporabljena za lažno predstavljanje.
-      Če je ta nastavitev onemogočena ali ni nastavljena, storitev za zaščito gesel pošlje uporabnike na naslov https://myaccounts.google.com, da spremenijo geslo.
-      Ta pravilnik ni na voljo v primerkih sistema Windows, ki niso pridruženi domeni <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Uporabniku prikaži ponavljajoč se poziv, ki obvešča, da je potreben vnovičen zagon</translation>
 <translation id="1803646570632580723">Seznam pripetih aplikacij v zaganjalniku</translation>
 <translation id="1808715480127969042">Blokiraj piškotke na teh mestih</translation>
@@ -1434,14 +1428,6 @@
 <translation id="4980635395568992380">Vrsta podatkov:</translation>
 <translation id="4983201894483989687">Dovoli izvajanje zastarelih vtičnikov</translation>
 <translation id="4988291787868618635">Dejanje, ki naj se izvede, ko preteče časovni zamik nedejavnosti</translation>
-<translation id="4990301296093321860">Omogoča, da nadzirate sprožitev opozorila zaščite z geslom. Zaščita z geslom opozori uporabnike, ko zaščiteno geslo znova uporabijo na spletnih mestih, ki so morda sumljiva.
-
-      S pravilnikoma use »PasswordProtectionLoginURLs« in »PasswordProtectionChangePasswordURL« lahko konfigurirate, katero geslo želite zaščititi.
-
-      Če je ta pravilnik nastavljen na »PasswordProtectionWarningOff«, ni prikazano nobeno opozorilo zaščite z geslom.
-      Če je ta pravilnik nastavljen na »PasswordProtectionWarningOnPasswordReuse«, je opozorilo zaščite z geslom prikazano, ko uporabnik znova uporabi zaščiteno geslo na katerem koli spletnem mestu, ki ni uvrščeno na seznam dovoljenih.
-      Če je ta pravilnik nastavljen na »PasswordProtectionWarningOnPhishingReuse«, je opozorilo zaščite z geslom prikazano, ko uporabnik znova uporabi zaščiteno geslo na spletnem mestu z lažnim predstavljanjem.
-      Če ta pravilnik ni nastavljen, je opozorilo zaščite z geslom sproženo, ko uporabnik znova uporabi zaščiteno geslo na spletnem mestu z lažnim predstavljanjem, vendar lahko uporabnik to spremeni.</translation>
 <translation id="4995548127349206948">Ali je omogočeno preverjanje pristnosti NTLMv2.</translation>
 <translation id="5047604665028708335">Omogoči dostop do spletnih mest zunaj paketov vsebine</translation>
 <translation id="5052081091120171147">Če je ta pravilnik omogočen, se zgodovina brskanja uvozi iz trenutnega privzetega brskalnika. Če je omogočen, ta pravilnik vpliva tudi na pogovorno okno za uvoz.
@@ -1977,13 +1963,6 @@
 
 Če ta pravilnik ni nastavljen ali je seznam prazen, bodo v brskalniku <ph name="PRODUCT_NAME" /> dostopne vse sheme.</translation>
 <translation id="6652197835259177259">Nastavitve lokalno upravljanih uporabnikov</translation>
-<translation id="6654559957643809067">Omogoča omrežno predvidevanje v brskalniku <ph name="PRODUCT_NAME" /> in uporabnikom preprečuje spreminjanje te nastavitve.
-
-      Ta pravilnik nadzira vnaprejšnji prenos podatkov DNS, vnaprejšnje povezovanje TCP in SSL ter vnaprejšnje upodabljanje spletnih strani.
-
-      Če nastavite to nastavitev na »vedno«, »nikoli« ali »samo Wi-Fi«, uporabniki te nastavitve v brskalniku <ph name="PRODUCT_NAME" /> ne morejo spremeniti ali preglasiti.
-
-      Če ta pravilnik ni nastavljen, bo omrežno predvidevanje omogočeno, vendar bo lahko uporabnik to spremenil.</translation>
 <translation id="6658245400435704251">Določa število sekund, do katerega lahko naprava naključno odloži prenos posodobitve od trenutka, ko je bila posodobitev prvič na voljo v strežniku. Naprava lahko del tega časa čaka v smislu dejansko pretečenega časa, preostali del pa v smislu števila preverjanj za posodobitve. Razpršitev je v vsakem primeru omejena navzgor na nespremenljiv čas, tako da se ne more zgoditi, da bi naprava neomejen čas čakala na prenos posodobitve.</translation>
 <translation id="6665670272107384733">Nastavi, kako pogosto mora uporabnik vnesti geslo, če želi uporabljati hitro odklepanje</translation>
 <translation id="6681229465468164801">Omogoča nastavitev seznama vzorcev URL-jev, ki določa, katerim spletnim mestom je preprečeno pozivanje uporabnikov k odobritvi dostopa do naprave USB.
diff --git a/components/policy/resources/policy_templates_sr.xtb b/components/policy/resources/policy_templates_sr.xtb
index 1ebec9e..7765e8d 100644
--- a/components/policy/resources/policy_templates_sr.xtb
+++ b/components/policy/resources/policy_templates_sr.xtb
@@ -222,12 +222,6 @@
       Смернице треба да буду подешене на URL адресу са које <ph name="PRODUCT_OS_NAME" /> може да преузме Услове коришћења услуге. Услови коришћења услуге морају да буду чисти текст, приказан као текст MIME типа/чисти. Није дозвољено никакво означавање.</translation>
 <translation id="1750315445671978749">Блокирај сва преузимања</translation>
 <translation id="1781356041596378058">Ове смернице такође контролишу приступ Android опцијама за програмере. Ако ове смернице подесите на „тачно“, корисници неће имати приступ опцијама за програмере. Ако ове смернице подесите на „нетачно“ или их оставите неподешене, корисници ће моћи да приступе опцијама за програмере тако што ће додирнути број верзије у апликацији Android подешавања седам пута.</translation>
-<translation id="178832255504524723">Конфигуришу URL за промену лозинке (само за HTTP и HTTPS шеме). Услуга за заштиту лозинком на овај URL шаље кориснике који су жртве „пецања“ ради промене лозинке.
-      Да би <ph name="PRODUCT_NAME" /> исправно снимио отисак прста за лозинку на овој страници за промену лозинке, уверите се да је страница за промену лозинке у складу са смерницама на https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Ако омогућите ово подешавање, услуга за заштиту лозинком на овај URL шаље кориснике који су жртве „пецања“ ради промене лозинке.
-      Ако онемогућите или не поставите ово подешавање, услуга за заштиту лозинком шаље кориснике на https://myaccounts.google.com ради промене лозинке.
-      Ове смернице нису доступне на Windows инстанцама које нису повезане са доменом <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Приказуј кориснику упит који се понавља у коме је наведено да је поновно покретање потребно</translation>
 <translation id="1803646570632580723">Листа закачених апликација које треба приказати у покретачу</translation>
 <translation id="1808715480127969042">Блокирај колачиће на овим сајтовима</translation>
@@ -1422,14 +1416,6 @@
 <translation id="4980635395568992380">Тип података:</translation>
 <translation id="4983201894483989687">Дозволи покретање додатних компоненти који су застарели</translation>
 <translation id="4988291787868618635">Радња коју треба предузети када истекне време до мировања</translation>
-<translation id="4990301296093321860">Омогућавају вам да контролишете покретање упозорења за заштиту лозинком. Заштита лозинком упозорава кориснике када користе заштићену лозинку на потенцијално сумњивим сајтовима.
-
-      Можете да конфигуришете лозинку коју желите да заштитите ако користите „PasswordProtectionLoginURLs“ и „PasswordProtectionChangePasswordURL“ смернице.
-
-      Ако подесите ове смернице на „PasswordProtectionWarningOff“, неће бити приказано никакво упозорење за заштиту лозинком.
-      Ако подесите ове смернице на „PasswordProtectionWarningOnPasswordReuse“, упозорење за заштиту лозинком ће се приказати када корисници користе Google лозинке на било којим сајтовима који нису на белој листи.
-      Ако подесите ове смернице на „PasswordProtectionWarningOnPhishingReuse“, упозорење за заштиту лозинком ће се приказати када корисници користе Google лозинке на сајтовима са „пецањем“.
-      Ако не подесите ове смернице, упозорење за заштиту лозинком ће се покренути када корисници користе Google лозинке на сајтовима са „пецањем“, али корисник може то да промени.</translation>
 <translation id="4995548127349206948">Одређују да ли је NTLMv2 потврда идентитета омогућена.</translation>
 <translation id="5047604665028708335">Дозволи приступ сајтовима изван пакета садржаја</translation>
 <translation id="5052081091120171147">Ове смернице, уколико су омогућене, омогућавају принудни увоз историје прегледања из актуелног подразумеваног прегледача. Ако су омогућене, ове смернице утичу и на дијалог за увоз.
@@ -1959,13 +1945,6 @@
 
       Ако се ове смернице не подесе или листа буде празна, све шеме ће бити доступне у <ph name="PRODUCT_NAME" />-у.</translation>
 <translation id="6652197835259177259">Подешавања за кориснике којима се локално управља</translation>
-<translation id="6654559957643809067">Омогућава предвиђање мреже у <ph name="PRODUCT_NAME" />-у и спречава кориснике да мењају ово подешавање.
-
-       То контролише DNS припрему учитавања, TCP и SSL повезивање унапред и приказивање веб-страница унапред.
-
-      Ако за ово подешавање изаберете опције „увек“, „никада“ или „само Wi-Fi“, корисници неће моћи да промене или замене ово подешавање у <ph name="PRODUCT_NAME" />-у.
-
-      Ако нисте подесили ове смернице, предвиђање мреже ће бити омогућено, али ће корисник моћи да га промени.</translation>
 <translation id="6658245400435704251">Наводи максимални број секунди колико уређај може насумично да одложи преузимање ажурирања од тренутка када ажурирање постане доступно на серверу. Уређај може да сачека део овог времена у смислу реалног времена и остатак у смислу броја провера ажурирања. У сваком случају, горња граница времена расипања је константна, па уређај никада не чека да преузме ажурирање неограничено дуго.</translation>
 <translation id="6665670272107384733">Подешавају колико често корисник мора да уноси лозинку да би користио брзо откључавање</translation>
 <translation id="6681229465468164801">Омогућавају вам да подесите листу образаца URL-ова који наводе сајтове којима није дозвољено да питају корисника да им омогући приступ USB уређају.
diff --git a/components/policy/resources/policy_templates_sv.xtb b/components/policy/resources/policy_templates_sv.xtb
index e96ca9d9..5a18841 100644
--- a/components/policy/resources/policy_templates_sv.xtb
+++ b/components/policy/resources/policy_templates_sv.xtb
@@ -223,12 +223,6 @@
       Den här policyn ska ställas in på en webbadress som <ph name="PRODUCT_OS_NAME" /> kan ladda ned användarvillkoren från. Användarvillkoren måste vara oformaterad text av MIME-typ. Ingen kod får användas.</translation>
 <translation id="1750315445671978749">Blockera alla nedladdningar</translation>
 <translation id="1781356041596378058">Den här principen styr även tillgången till Androids utvecklaralternativ. Om principen är inställd på sant kan användarna inte öppna utvecklaralternativen. Om principen är inställd på falskt eller lämnas utan inställning kan användarna öppna utvecklaralternativen genom att trycka sju gånger på versionsnumret i appen Inställningar i Android.</translation>
-<translation id="178832255504524723">Konfigurera webbadressen för att byta lösenord (endast HTTP och HTTPS). Om användarna har utsatts för nätfiske skickas de till den här webbadressen av tjänsten för lösenordsskydd så att de kan byta lösenord.
-      Se till att sidan för att byta lösenord följer riktlinjerna på https://www.chromium.org/developers/design-documents/create-amazing-password-forms så att <ph name="PRODUCT_NAME" /> kan registrera lösenordssignaturer korrekt.
-
-      Om inställningen är aktiverad skickas användarna till den här webbadressen där de får byta lösenord om de har utsatts för nätfiske.
-      Om inställningen är inaktiverad eller har lämnats utan inställning skickas användarna till https://myaccounts.google.com där de får byta lösenord.
-      Principen är inte tillgänglig på Windows-instanser som inte har fogats till en <ph name="MS_AD_NAME" />-domän.</translation>
 <translation id="1797233582739332495">Visa användaren ett återkommande meddelande om att omstart krävs</translation>
 <translation id="1803646570632580723">Lista över fasta appar som ska visas i startfönstret</translation>
 <translation id="1808715480127969042">Blockera cookies på dessa webbplatser</translation>
@@ -1429,14 +1423,6 @@
 <translation id="4980635395568992380">Datatyp:</translation>
 <translation id="4983201894483989687">Tillåt att föråldrade plugin-program körs</translation>
 <translation id="4988291787868618635">Åtgärd som ska vidtas när inaktivitetstiden har gått</translation>
-<translation id="4990301296093321860">Låter dig styra vad som ska utlösa en varning från lösenordsskyddet. Lösenordsskyddet varnar användarna om de återanvänder ett skyddat lösenord på en webbplats som kan vara misstänkt.
-
-      Du kan konfigurera vilket lösenord som ska skyddas med principerna PasswordProtectionLoginURLs och PasswordProtectionChangePasswordURL.
-
-      När principen är inställd på PasswordProtectionWarningOff visas inga varningar.
-      När principen är inställd på PasswordProtectionWarningOnPasswordReuse visas en varning om användaren återanvänder sitt skyddade lösenord på en webbplats som inte står med på vitlistan.
-      När principen är inställd på PasswordProtectionWarningOnPhishingReuse visas en varning om användaren återanvänder sitt skyddade lösenord på en webbplats som används för nätfiske.
-      Om principen har lämnats utan inställning utlöses en varning när användaren återanvänder sitt skyddade lösenord på en webbplats som används för nätfiske, men användaren kan ändra inställningen.</translation>
 <translation id="4995548127349206948">Om autentisering med NTLMv2 har aktiverats eller inte</translation>
 <translation id="5047604665028708335">Tillåt åtkomst till webbplatser utanför innehållspaket</translation>
 <translation id="5052081091120171147">Om den här policyn är aktiverad gör den att webbhistoriken måste importeras från den nuvarande standardwebbläsaren. Den påverkar då även importfönstret.
@@ -1974,13 +1960,6 @@
 
       Om den här principen inte ställs in eller om listan är tom är alla scheman tillgängliga i <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Inställningar för lokalt hanterade användare</translation>
-<translation id="6654559957643809067">Policyn aktiverar nätverksförslag i <ph name="PRODUCT_NAME" /> och förhindrar att användarna ändrar inställningen.
-
-      Detta styr DNS-förhämtning, TCP- och SSL-föranslutning och förrendering av webbsidor.
-
-      Om du ställer in den här inställningen på ”alltid”, ”aldrig” eller ”endast Wi-Fi” kan inte användare ändra eller åsidosätta inställningen i <ph name="PRODUCT_NAME" />.
-
-      Om policyn inte ställs in aktiveras nätverksförslag, men användaren kan då ändra det.</translation>
 <translation id="6658245400435704251">Anger hur många sekunder en nedladdning av en uppdatering via en enhet får försenas slumpmässigt från den tidpunkt då uppdateringen först skickades till servern. Enheten kan hållas i vänteläge dels under en vanlig tidsperiod, dels beroende på antalet uppdateringskontroller. Spridningen är alltid bunden till en övre tidsgräns så att en enhet aldrig fastnar för gott medan en uppdatering håller på att laddas ned.</translation>
 <translation id="6665670272107384733">Ställ in hur ofta användaren måste ange lösenord för att kunna använda snabb upplåsning</translation>
 <translation id="6681229465468164801">Låter dig ange med hjälp av en lista med webbadressmönster vilka webbplatser som inte får begära åtkomstbehörighet till en USB-enhet.
diff --git a/components/policy/resources/policy_templates_sw.xtb b/components/policy/resources/policy_templates_sw.xtb
index ed52622..d9b0cce 100644
--- a/components/policy/resources/policy_templates_sw.xtb
+++ b/components/policy/resources/policy_templates_sw.xtb
@@ -209,12 +209,6 @@
       Sera itawekwa kwenye URL ambapo <ph name="PRODUCT_OS_NAME" /> inaweza kupakua Sheria na masharti. Lazima Sheria na Masharti yawe maandishi matupu, yawe kama maandishi ya kuandika/matupu ya MIME. Markup hairuhusiwi.</translation>
 <translation id="1750315445671978749">Zuia vipakuliwa vyote</translation>
 <translation id="1781356041596378058">Sera hii pia inadhibiti idhini ya kufikia Chaguo za Wasanidi Programu wa Android. Ukiweka sera hii kuwa ndivyo, watumiaji hawataweza kufikia Chaguo za Wasanidi Programu. Ukiweka sera hii kuwa sivyo au uiache bila kuiweka, watumiaji wataweza kufikia Chaguo za Wasanidi Programu kwa kugonga mara saba kwenye nambari ya muundo katika programu ya mipangilio ya Android.</translation>
-<translation id="178832255504524723">Weka URL ya kubadilisha nenosiri (mifumo ya HTTP na HTTPS pekee). Huduma ya ulinzi wa manenosiri itawaelekeza watumiaji kwenye URL hii ili wabadilishe manenosiri yao iwapo yameibwa.
-      Ili <ph name="PRODUCT_NAME" /> irekodi alama bainifu mpya kwa usahihi kwenye ukurasa huu wa kubadilisha nenosiri, tafadhali hakikisha kuwa ukurasa wako wa kubadilisha nenosiri unafuata mwongozo ulio kwenye https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Kama mipangilio hii imewashwa, basi huduma ya ulinzi wa manenosiri itawaelekeza watumiaji kwenye URL hii ili wabadilishe manenosiri yao iwapo yameibwa.
-      Ikiwa mipangilio hii imezimwa au haijawekwa, basi huduma ya ulinzi wa manenosiri itawaelekeza watumiaji kwenye https://myaccounts.google.com ili wabadilishe manenosiri yao.
-      Sera hii haipatikani kwenye matukio ya Windows ambayo hayajaunganishwa na kikoa cha <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Mwonyeshe mtumiaji kidokezo kinachojirudia, kinachoashiria kwamba anatakiwa afungue kivinjari upya</translation>
 <translation id="1803646570632580723">Orodha ya programu zilizobanwa ili kuonekana kwenye kizunduzi</translation>
 <translation id="1808715480127969042">Zuia vidakuzi katika tovuti hizi</translation>
@@ -1402,14 +1396,6 @@
 <translation id="4980635395568992380">Aina ya data:</translation>
 <translation id="4983201894483989687">Ruhusu kuendesha programu jalizi ambazo zimepitwa na wakati.</translation>
 <translation id="4988291787868618635">Hatua ya kuchukua wakati ucheleweshaji wa kutokuwa na shughuli unapofikiwa</translation>
-<translation id="4990301296093321860">Hukuruhusu udhibiti uwekaji wa onyo la ulinzi wa nenosiri. Ulinzi wa nenosiri huarifu watumiaji wanapotumia tena nenosiri lao lililolindwa kwenye tovuti ambazo huenda haziaminiki.
-
-      Unaweza kutumia sera za 'PasswordProtectionLoginURLs' na 'PasswordProtectionChangePasswordURL' kubaini nenosiri utakalolinda.
-
-      Iwapo sera hii imewekwa kuwa 'PasswordProtectionWarningOff', hakuna onyo lolote la ulinzi wa nenosiri litakaloonyeshwa.
-      Iwapo sera hii imewekwa kuwa 'PasswordProtectionWarningOnPasswordReuse', onyo la nenosiri litaonyeshwa wakati watumiaji watatumia tena nenosiri linalolindwa kwenye tovuti ambazo hazijaruhusiwa.
-      Iwapo sera imewekwa kuwa 'PasswordProtectionWarningOnPhishingReuse', onyo la ulinzi wa nenosiri litaonyeshwa wakati mtumiaji atatumia tena nenosiri linalolindwa kwenye tovuti inayoiba data.
-      Ikiwa sera hii haijawekwa, onyo la ulinzi wa nenosiri litaonyeshwa wakati mtumiaji atatumia tena nenosiri linalolindwa kwenye tovuti inayoiba data lakini mtumiaji ataweza kubadilisha mipangilio hii.</translation>
 <translation id="4995548127349206948">Ikiwa uthibishaji wa NTLMv2 umewashwa.</translation>
 <translation id="5047604665028708335">Ruhusu ufikiaji wa tovuti zilizo nje ya vifurushi vya maudhui</translation>
 <translation id="5052081091120171147">Sera hii inalazimisha historia ya kuvinjari kuletwa kutoka kwenye kivinjari chaguomsingi cha sasa ikiwa imewezeshwa. Ikiwa imewezeshwa, sera hii pia inaathiri kidadisi cha kuleta.
@@ -1937,13 +1923,6 @@
 URL zinazotumia miradi kutoka orodha hii hazitapakia na haziwezi kutembelewa. 
 Iwapo sera hii haitawekwa au orodha ni tupu miradi yote itapatikana katika <ph name="PRODUCT_NAME" /> .</translation>
 <translation id="6652197835259177259">Mipangilio ya watumiaji inayodhibitiwa kwa ndani</translation>
-<translation id="6654559957643809067">Inawezesha ubashiri wa mtandao katika <ph name="PRODUCT_NAME" /> na kuzuia watumiaji kubadilisha mipangilio hii.
-
-      Hii hudhibiti kuleta DNS, uunganishaji na uonyeshaji awali wa kurasa za wavuti za TCP na SSL.
-
-      Ukiweka mapendeleo haya kuwa 'kila wakati', 'kamwe', au 'WiFi pekee', watumiaji hawawezi kubadilisha au kufuta mipangilio hii katika <ph name="PRODUCT_NAME" />.
-
-      Ikiwa sera hii itaachwa bila kuwekwa, kipengee cha ubashiri wa mtandao kitawashwa lakini mtumiaji ataweza kukibadilisha.</translation>
 <translation id="6658245400435704251">Inabainisha idadi ya sekunde ambazo kifaa kinaweza kuamua kuchelewesha upakuaji wake wa sasisho kutoka wakati ambapo usasishaji ulisukumwa kwanza nje katika seva. Kifaa kinaweza kusubiri kijisehemu cha muda huu kwa hali ya muda wa saa na kijisehemu kinachosalia katika hali ya idadi ya ukaguzi wa visasisho. Katika hali yoyote, utawanyishaji umekitwa katika kiwango cha kudumu cha muda ili kifaa kisikwame tena kikisubiri kupakua sasisho kwa muda mrefu.</translation>
 <translation id="6665670272107384733">Weka mara ambazo mtumiaji anatakiwa kuweka nenosiri ili atumie kipengele cha kufungua haraka.</translation>
 <translation id="6681229465468164801">Hukuruhusu uweke orodha ya ruwaza za url ambayo inabainisha tovuti zinazozuiliwa ili zisimuulize mtumiaji atoe ruhusa ya kufikia kifaa cha USB.
@@ -1994,7 +1973,7 @@
 <translation id="6810445994095397827">Zuia JavaScript kwenye tovuti hizi</translation>
 <translation id="681446116407619279">Mipango inayohimiliwa ya uthibitishaji</translation>
 <translation id="6832455357698286434">
-      Sera hii inabainisha orodha ya vyanzo (URL) au mitindo ya majina ya seva pangishi ( kama vile "*.example.com") izingatiwe kuwa muktadha salama. Nia yake ni kuruhusu mashirika yaweke seva ya majaribio kwa ajili ya usanidi wa tovuti za ndani, ili wasanidi programu waweze kujaribu vipengele wakitumia muktadha salama bila kutumia TLS kwenye seva ya majaribio.
+      Sera hii inabainisha orodha ya vyanzo (URL) au mitindo ya majina ya seva pangishi ( kama vile "*.example.com") ya kuzingatiwa kuwa muktadha salama. Nia yake ni kuruhusu mashirika yaweke seva ya majaribio kwa ajili ya usanidi wa tovuti za ndani, ili wasanidi programu waweze kujaribu vipengele wakitumia muktadha salama bila kutumia TLS kwenye seva ya majaribio.
       Hatua ya kuweka orodha ya URL katika sera hii ina athari sawa na kuweka mipangilio ya ripoti ya mstari wa amri '--unsafely-treat-insecure-origin-as-secure' kwenye orodha inayotenganishwa kwa koma ya URL sawa. Iwapo sera imewekwa, itabatilisha ripoti ya mstari wa amri.
       Kwa maelezo zaidi kuhusu muktadha salama, angalia https://www.w3.org/TR/secure-contexts/
       </translation>
diff --git a/components/policy/resources/policy_templates_ta.xtb b/components/policy/resources/policy_templates_ta.xtb
index 27ff46b2..9a21d6750 100644
--- a/components/policy/resources/policy_templates_ta.xtb
+++ b/components/policy/resources/policy_templates_ta.xtb
@@ -210,12 +210,6 @@
       இந்தக் கொள்கை <ph name="PRODUCT_OS_NAME" /> சேவை விதிமுறைகளைப் பதிவிறக்கும் URL க்கு அமைக்கப்படும். சேவை விதிமுறைகளானது எளிய உரையாகவும், MIME வகை உரை/எளிதாக வழங்கப்பட வேண்டும். எந்த மார்க்-அப்பும் அனுமதிக்கப்படவில்லை.</translation>
 <translation id="1750315445671978749">எல்லாப் பதிவிறக்கங்களையும் தடு</translation>
 <translation id="1781356041596378058">Android டெவெலப்பர் விருப்பங்களுக்கான அணுகலையும் இந்தக் கொள்கை கட்டுப்படுத்தும். இந்தக் கொள்கையை “சரி” என அமைத்தால், பயனர்களால் டெவெலப்பர் விருப்பங்களை அணுக முடியாது. இந்தக் கொள்கையை “தவறு” என அமைத்தாலோ அல்லது அமைக்காமல் விட்டாலோ, Android அமைப்புகள் பயன்பாட்டில் இருக்கும் பதிப்பு எண்ணை ஏழு முறை தட்டுவதன் மூலம், பயனர்களால் டெவெலப்பர் விருப்பங்களை அணுக முடியும்.</translation>
-<translation id="178832255504524723">கடவுச்சொல்லை மாற்றுவதற்கான URLஐ (HTTP மற்றும் HTTPS ஸ்கீம்களில் மட்டும்) உள்ளமைக்கும். கடவுச்சொல் பாதுகாப்புச் சேவையானது, பயனர்கள் ஃபிஷிங் செய்யப்பட்டால், அவர்கள் தங்களின் கடவுச்சொற்களை மாற்றுவதற்கு இந்த URLக்கு அனுப்பும்.
-       இந்தக் கடவுச்சொல்லை மாற்றுவதற்கான பக்கத்தில், புதிய கடவுச்சொல் கைரேகையை <ph name="PRODUCT_NAME" /> சரியாகப் படமெடுப்பதற்கு, https://www.chromium.org/developers/design-documents/create-amazing-password-formsஸில் கொடுக்கப்பட்டுள்ள வழிகாட்டுதல்களை உங்கள் கடவுச்சொல்லை மாற்றுவதற்கான பக்கம் பின்பற்றுகிறது என்பதை உறுதிப்படுத்திக்கொள்ளவும்.
-
-      இந்த அமைப்பு இயக்கப்பட்டிருந்தால், கடவுச்சொல் பாதுகாப்புச் சேவையானது, பயனர்கள் ஃபிஷிங் செய்யப்பட்டால், அவர்கள் தங்களின் கடவுச்சொற்களை மாற்றுவதற்கு அவர்களை இந்த URLக்கு அனுப்பும்.
-      இந்த அமைப்பு முடக்கப்பட்டிருந்தாலோ அல்லது அமைக்கப்படவில்லை என்றாலோ, கடவுச்சொல் பாதுகாப்புச் சேவையானது, பயனர்கள் தங்கள் கடவுச்சொல்லை மாற்றுவதற்கு, https://myaccounts.google.comமுக்கு அனுப்பும்.
-      <ph name="MS_AD_NAME" /> டொமைனில் இணைக்கப்பட்டிருக்காத Windows நேர்வுகளுக்கு, இந்தக் கொள்கை கிடைக்காது.</translation>
 <translation id="1797233582739332495">மீண்டும் தொடங்குவது தேவையானது என்பதைக் குறிக்கும், தொடர்ச்சியாகத் தெரியும் அறிவிப்பைப் பயனருக்குக் காட்டு</translation>
 <translation id="1803646570632580723">தொடக்கத்தில் காண்பிப்பதற்கான பின்செய்யப்பட்ட பயன்பாடுகளின் பட்டியல்</translation>
 <translation id="1808715480127969042">இந்த தளங்களில் குக்கீகளைத் தடு </translation>
@@ -1360,14 +1354,6 @@
 <translation id="4980635395568992380">தரவு வகை:</translation>
 <translation id="4983201894483989687">காலாவதியான செருகுநிரல்களை இயக்குவதை அனுமதி</translation>
 <translation id="4988291787868618635">செயலற்ற நிலை தாமதத்தை அடைந்தவுடன் எடுக்க வேண்டிய நடவடிக்கை</translation>
-<translation id="4990301296093321860">இது கடவுச்சொல் பாதுகாப்புச் சேவையின் எச்சரிக்கையை வழங்குவதற்கான தூண்டலைக் கட்டுப்படுத்த உங்களை அனுமதிக்கும். சந்தேகத்திற்குரிய தளங்களில் பயனர்கள் தங்கள் பாதுகாக்கப்பட்ட கடவுச்சொல்லை மீண்டும் பயன்படுத்தும்போது கடவுச்சொல் பாதுகாப்புச் சேவை அவர்களை எச்சரிக்கும்.
-
-      பாதுகாக்க வேண்டிய கடவுச்சொல்லை உள்ளமைக்க, 'PasswordProtectionLoginURLs' மற்றும் 'PasswordProtectionChangePasswordURL' ஆகிய கொள்கைகளைப் பயன்படுத்தலாம்.
-
-      இந்தக் கொள்கை 'PasswordProtectionWarningOff' என்பதற்கு அமைக்கப்பட்டால், கடவுச்சொல் பாதுகாப்புச் சேவையின் எச்சரிக்கை காண்பிக்கப்படாது.
-      இந்தக் கொள்கை 'PasswordProtectionWarningOnPasswordReuse' என்பதற்கு அமைக்கப்பட்டால், ஏற்புப் பட்டியலில் இல்லாத ஒரு தளத்தில் பயனர் அவரது பாதுகாக்கப்பட்ட கடவுச்சொல்லை மீண்டும் பயன்படுத்தும்போது கடவுச்சொல் பாதுகாப்புச் சேவையின் எச்சரிக்கை காண்பிக்கப்படும்.
-      இந்தக் கொள்கை 'PasswordProtectionWarningOnPhishingReuse' என்பதற்கு அமைக்கப்பட்டால், ஃபிஷிங் தளத்தில் பயனர் அவரது பாதுகாக்கப்பட்ட கடவுச்சொல்லை மீண்டும் பயன்படுத்தும்போது கடவுச்சொல் பாதுகாப்புச் சேவையின் எச்சரிக்கை காண்பிக்கப்படும்.
-      இந்தக் கொள்கை அமைக்கப்படவில்லை என்றால், ஃபிஷிங் தளத்தில் பயனர் அவரது பாதுகாக்கப்பட்ட கடவுச்சொல்லை மீண்டும் பயன்படுத்தும்போது கடவுச்சொல் பாதுகாப்புச் சேவையின் எச்சரிக்கை காண்பிக்கப்படும், எனினும் பயனரால் இந்த அமைப்பை மாற்ற முடியும்.</translation>
 <translation id="4995548127349206948">NTLMv2 அங்கீகரிப்பு இயக்கப்பட்டுள்ளதா.</translation>
 <translation id="5047604665028708335">உள்ளடக்கத் தொகுப்புகளுக்கு வெளியே உள்ள தளங்களுக்கான அணுகலை அனுமதி</translation>
 <translation id="5052081091120171147">இந்த கொள்கை செயலாக்கப்பட்டிருந்தால் தற்போதைய இயல்புநிலை உலாவியில் இருந்து, உலாவுதல் வரலாற்றை இறக்குமதி செய்ய வேண்டும் என்பதை வற்புறுத்தும். செயலாக்கப்பட்டிருந்தால், இறக்குமதி உரையாடலையும் இந்தக் கொள்கை பாதிக்கும். முடக்கப்பட்டிருந்தால், உலாவுதல் வரலாறு இறக்குமதியாகாது. இது அமைக்கப்படவில்லை எனில், இறக்குமதி செய்யலாமா என பயனரிடம் கேட்கப்படும் அல்லது தானாக இறக்குமதியாகும்</translation>
@@ -1869,13 +1855,6 @@
 
     இந்தக் கொள்கை அமைக்கப்படாமல் விட்டால் அல்லது பட்டியல் வெறுமையாக இருந்தால் எல்லா திட்டங்களையும் <ph name="PRODUCT_NAME" /> இல் அணுகலாம்.</translation>
 <translation id="6652197835259177259">உட்புறமாக நிர்வகிக்கப்படும் பயனர்களுக்கான அமைப்புகள்</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> இல் நெட்வொர்க் யூகத்தை இயக்கி இந்த அமைப்பைப் பயனர் மாற்றுவதைத் தடுக்கும்.
-
-      இது DNSஐ முன்னரே பெறுவதையும், TCP, SSL ஆகியவற்றை முன்னரே இணைப்பதையும் இணையப் பக்கங்களை முன்னரே  ஏற்றுவதையும் கட்டுப்படுத்தும்.
-
-      இந்த விருப்பத்தை 'எப்போதும்', 'ஒருபோதும் இல்லை' அல்லது 'வைஃபை மட்டும்' என அமைத்தால், இந்த அமைப்பை பயனர்களால் <ph name="PRODUCT_NAME" /> இல் மாற்றவோ மேலெழுதவோ முடியாது.
-
-      இந்தக் கொள்கை அமைக்கப்படாமல் விடப்பட்டு இருந்தால், நெட்வொர்க் யூகம் இயக்கப்படும், ஆனால் பயனரால் அதனை மாற்ற முடியும்.</translation>
 <translation id="6658245400435704251">சேவையகத்திற்கு வெளியே புதுப்பிப்பை, முதலில் தள்ளப்படுகின்ற நேரத்திலிருந்து ஒரு சாதனம் சீரற்ற முறையில், அதன் பதிவிறக்கத்தைத் தாமதப்படுத்துகின்ற நொடிகளின் எண்ணிக்கையை குறிக்கிறது. சாதனமானது இந்த நேரத்தின் ஒரு பகுதியை சுவர்-கடிகார நேர அடிப்படையிலும் மீதமுள்ள நேரத்தை புதுப்பிப்பு சரிபார்த்தலின் எண்ணிக்கை அடிப்படையிலும் காத்திருக்கலாம்.. எதுவானாலும், ஒரு நிலையான நேர அளவிற்கு மேலே சிதறல் கட்டுப்பட்டிருப்பதனால், சாதனம் ஒரு புதுப்பிப்பைப் பதிவிறக்க ஒருபோதும் காத்திருந்து எப்போதும் சிக்கிக் கொள்ளாது.</translation>
 <translation id="6665670272107384733">விரைந்து திறக்கும் அம்சத்தைப் பயன்படுத்த, பயனர் எப்போது கடவுச்சொல்லை உள்ளிட வேண்டும் என்பதை அமைக்கும்</translation>
 <translation id="6681229465468164801">USB சாதனத்திற்கான அணுகலை வழங்குமாறு, பயனரைக் கேட்பதிலிருந்து தடுக்கப்படும் தளங்களைக் குறிப்பிடும் url பேட்டர்ன்களின் பட்டியலை அமைக்க உதவுகிறது.
diff --git a/components/policy/resources/policy_templates_te.xtb b/components/policy/resources/policy_templates_te.xtb
index bcbb988..5a363c5 100644
--- a/components/policy/resources/policy_templates_te.xtb
+++ b/components/policy/resources/policy_templates_te.xtb
@@ -263,12 +263,6 @@
       విధానాన్ని <ph name="PRODUCT_OS_NAME" /> సేవా నిబంధనలను డౌన్‌లోడ్ చేయగల URLకు సెట్ చేయాలి. సేవా నిబంధనలు MIME రకం వచనం/సాదా అందించబడిన విధంగా సాదా వచనంగా ఉండాలి. మార్కప్ అనుమతించబడదు.</translation>
 <translation id="1750315445671978749">అన్ని డౌన్‌లోడ్‌లను బ్లాక్ చేయి</translation>
 <translation id="1781356041596378058">అలాగే, ఈ విధానం Android డెవలపర్ ఎంపికలకు కూడా ప్రాప్యతను నియంత్రిస్తుంది. మీరు ఈ విధానాన్ని ఒప్పుకి సెట్ చేస్తే, వినియోగదారులు డెవలపర్ ఎంపికలను ప్రాప్యత చేయలేరు. మీరు ఈ విధానాన్ని తప్పుకి సెట్ చేసినా లేదా ఏదీ సెట్ చేయకపోయినా, Android సెట్టింగ్‌ల అనువర్తనంలో బిల్డ్ సంఖ్యపై ఏడుసార్లు నొక్కడం ద్వారా వినియోగదారులు డెవలపర్ ఎంపికలను ప్రాప్యత చేయగలరు.</translation>
-<translation id="178832255504524723">పాస్‌వర్డ్‌ని మార్చు URLని (HTTP మరియు HTTPS స్కీమ్‌లు మాత్రమే) కాన్ఫిగర్ చేయండి. పాస్‌వర్డ్ రక్షణ సేవ వినియోగదారులు ఫిషింగ్‌కి గురైతే వారి పాస్‌వర్డ్‌లను మార్చుకోవడానికి వారిని ఈ URLకి పంపుతుంది.
-      <ph name="PRODUCT_NAME" /> కోసం ఈ పాస్‌వర్డ్‌ని మార్చు పేజీలో కొత్త పాస్‌వర్డ్ వేలిముద్రను సరిగ్గా క్యాప్చర్ చేయడానికి, మీ పాస్‌వర్డ్‌ని మార్చు పేజీ, https://www.chromium.org/developers/design-documents/create-amazing-password-formsలోని మార్గదర్శకాలను అనుసరిస్తుందని దయచేసి నిర్ధారించుకోండి.
-
-      ఈ సెట్టింగ్‌ ప్రారంభించబడినట్లయితే, అప్పుడు పాస్‌వర్డ్ రక్షణ సేవ, వినియోగదారులు ఫిషింగ్‌కి గురైతే వారి పాస్‌వర్డ్‌లను మార్చుకోవడానికి వారిని ఈ URLకి పంపుతుంది.
-      ఈ సెట్టింగ్‌ నిలిపివేబడినట్లయితే లేదా సెట్ చేయబడకపోతే, అప్పుడు పాస్‌వర్డ్ రక్షణ సేవ, వినియోగదారులను వారి పాస్‌వర్డ్‌లు మార్చుకోవడానికి https://myaccounts.google.comకి పంపుతుంది.
-      ఈ విధానం <ph name="MS_AD_NAME" /> డొమైన్‌లో చేరని Windowsని ఉపయోగించే సందర్భాలలో అందుబాటులో ఉండదు.</translation>
 <translation id="1797233582739332495">పునఃప్రారంభం అవసరమని సూచించే పునరావృత ప్రాంప్ట్‌ను వినియోగదారుకు చూపండి</translation>
 <translation id="1803646570632580723">లాంచర్‌లో చూపడానికి పిన్ చేసిన అనువర్తనాల జాబితా</translation>
 <translation id="1808715480127969042">ఈ సైట్‌లలో కుక్కీలని బ్లాక్ చెయ్యి</translation>
@@ -2129,13 +2123,6 @@
 
       ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే లేదా జాబితా ఖాళీగా ఉంటే అన్ని స్కీమ్‌లు <ph name="PRODUCT_NAME" />లో ప్రాప్యత చేయబడతాయి.</translation>
 <translation id="6652197835259177259">స్థానికంగా నిర్వహించబడే వినియోగదారుల సెట్టింగ్‌లు</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" />లో నెట్‌వర్క్ భావిసూచనలను ప్రారంభిస్తుంది మరియు ఈ సెట్టింగ్‌ను మార్చకుండా వినియోగదారులను నిరోధిస్తుంది.
-
-      ఇది DNSను ముందుగా పొందడాన్ని, TCP మరియు SSL ముందస్తు కనెక్షన్‌ను మరియు వెబ్ పేజీలను ముందుగానే భాషాంతరీకరణ చేయడాన్ని నియంత్రిస్తుంది.
-
-      మీరు ఈ ప్రాధాన్యతను 'ఎల్లప్పుడూ', 'ఎప్పటికీ వద్దు' లేదా 'WiFi మాత్రమే'కి సెట్ చేస్తే, వినియోగదారులు <ph name="PRODUCT_NAME" />లో ఈ సెట్టింగ్‌ను మార్చలేరు లేదా భర్తీ చేయలేరు.
-
-      ఈ విధానాన్ని సెట్ చేయకుండా వదిలేస్తే, నెట్‌వర్క్ భావిసూచన ప్రారంభించబడుతుంది కానీ వినియోగదారు దాన్ని మార్చగలరు.</translation>
 <translation id="6658245400435704251">పరికరం సర్వర్‌కు నవీకరణ మొదటిసారి విడుదల చేయబడిన సమయం నుండి నవీకరణ యొక్క దీని డౌన్‌లోడ్‌ను గరిష్టంగా ఎన్ని సెకన్ల వరకు నియమరహితంగా ఆలస్యం చేయాలో ఆ సెకన్ల సంఖ్యను నిర్దేశిస్తుంది. పరికరం గోడ గడియార సమయం దృష్ట్యా ఈ సమయంలో ఒక భాగం మరియు నవీకరణ తనిఖీల సంఖ్య దృష్ట్యా మిగిలిన భాగం వేచి ఉండవచ్చు. ఏ సందర్భంలో అయినా, స్కాటర్ నిర్దిష్ట సమయ మొత్తానికి అప్పర్ బౌండ్ చేయబడుతుంది అందువల్ల పరికరం ఎప్పటికీ నవీకరణను డౌన్‌లోడ్ చేయడానికి వేచి ఉండి ఎన్నడూ స్తంభించదు.</translation>
 <translation id="6665670272107384733">త్వరిత అన్‌లాక్‌ను ఉపయోగించడానికి వినియోగదారు పాస్‌వర్డ్‌ను ఎంత తరచుగా నమోదు చేయాలో సెట్ చేయండి</translation>
 <translation id="6681229465468164801">USB పరికరానికి యాక్సెస్ మంజూరు చేయమని వినియోగదారులను అడిగే సైట్‌లను అలా అడగనివ్వకుండా నివారించేలా ఆ సైట్‌లను పేర్కొనడం కోసం URL నమూనాల జాబితాను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 021f0bfa..5fe2166 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -216,12 +216,6 @@
       นโยบายควรที่จะถูกติดตั้งลงใน URL ที่ <ph name="PRODUCT_OS_NAME" /> สามารถดาวน์โหลดข้อกำหนดในการให้บริการได้ โดยข้อกำหนดในการให้บริการจะต้องเป็นข้อความล้วน ซึ่งทำงานเป็นข้อความ/ล้วนชนิด MIME ไม่อนุญาตให้ใช้มาร์กอัป</translation>
 <translation id="1750315445671978749">บล็อกการดาวน์โหลดทั้งหมด</translation>
 <translation id="1781356041596378058">นโยบายนี้ยังควบคุมการเข้าถึงตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ของ Android เช่นกัน หากคุณตั้งค่านโยบายนี้เป็น True ผู้ใช้จะไม่สามารถเข้าถึงตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ได้ หากตั้งเป็น False หรือไม่ได้ตั้งค่า ผู้ใช้จะสามารถเข้าถึงตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ด้วยการแตะหมายเลขบิวด์ 7 ครั้งในแอปการตั้งค่าของ Android</translation>
-<translation id="178832255504524723">กำหนดค่า URL การเปลี่ยนรหัสผ่าน (เฉพาะสกีม HTTP และ HTTPS เท่านั้น) บริการปกป้องรหัสผ่านจะส่งผู้ใช้มาที่ URL นี้เพื่อเปลี่ยนรหัสผ่านในกรณีที่ถูกทำฟิชชิง
-      เพื่อให้ <ph name="PRODUCT_NAME" /> บันทึกลายนิ้วมือของรหัสผ่านใหม่ในหน้าเปลี่ยนรหัสผ่านนี้ได้อย่างถูกต้อง โปรดตรวจสอบว่าหน้าเปลี่ยนรหัสผ่านเป็นไปตามหลักเกณฑ์ใน https://www.chromium.org/developers/design-documents/create-amazing-password-forms
-
-      หากเปิดใช้การตั้งค่านี้ บริการปกป้องรหัสผ่านจะส่งผู้ใช้มาที่ URL นี้เพื่อเปลี่ยนรหัสผ่านในกรณีที่ถูกทำฟิชชิง
-      หากปิดใช้หรือไม่ได้ตั้งค่า บริการปกป้องรหัสผ่านจะส่งผู้ใช้ไปที่ https://myaccounts.google.com เพื่อเปลี่ยนรหัสผ่าน
-      นโยบายนี้ใช้ไม่ได้ในอินสแตนซ์ Windows ที่ไม่ได้เข้าร่วมโดเมน <ph name="MS_AD_NAME" /></translation>
 <translation id="1797233582739332495">แสดงข้อความแจ้งที่ปรากฏขึ้นซ้ำๆ แก่ผู้ใช้เพื่อแจ้งว่าต้องเปิดเบราว์เซอร์ขึ้นมาใหม่</translation>
 <translation id="1803646570632580723">รายชื่อของแอปพลิเคชันที่ตรึงจะแสดงในตัวเรียกใช้งาน</translation>
 <translation id="1808715480127969042">ปิดกั้นคุกกี้บนไซต์เหล่านี้</translation>
@@ -677,9 +671,9 @@
 <translation id="2899002520262095963">แอป Android สามารถใช้การกำหนดค่าเครือข่ายและใบรับรอง CA ที่ตั้งค่าผ่านนโยบายนี้ได้ แต่จะไม่มีสิทธิ์เข้าถึงตัวเลือกการตั้งค่าบางอย่าง</translation>
 <translation id="290002216614278247">ให้คุณล็อกเซสชันของผู้ใช้ตามเวลาของไคลเอ็นต์หรือโควตาการใช้งานประจำวัน
 
-          ระบุกรอบเวลารายวันที่ควรล็อกเซสชันของผู้ใช้ เรารองรับ 1 กฎต่อแต่ละวันในสัปดาห์เท่านั้น ดังนั้นอาร์เรย์ |entries| จึงอาจมีขนาดต่างกันไปตั้งแต่ 0-7 |starts_at| และ |ends_at| คือจุดเริ่มต้นและจุดสิ้นสุดของขีดจำกัดกรอบเวลา เมื่อ |ends_at| น้อยกว่า |starts_at| หมายความว่า |time_limit_window| สิ้นสุดในวันต่อมา |last_updated_millis| คือการประทับเวลาครั้งล่าสุดตามเขตเวลา UTC ซึ่งมีการอัปเดตเวลานี้ ระบบส่งเวลาเป็นสตริงเนื่องจากการประทับเวลาไม่เข้ากับจำนวนเต็ม |time_usage_limit| ระบุโควตาการอยู่หน้าจอรายวัน ดังนั้นเมื่อผู้ใช้ใช้งานถึงระยะเวลาที่กำหนดแล้ว ระบบจะล็อกเซสชันของผู้ใช้ มีคุณสมบัติ 1 รายการสำหรับแต่ละวันในสัปดาห์ ซึ่งควรตั้งค่าเฉพาะเมื่อมีโควตาที่ใช้งานอยู่ของวันนั้นๆ |usage_quota_mins| คือระยะเวลาในแต่ละวันที่ผู้ใช้จะใช้อุปกรณ์ที่มีการจัดการได้ และ |reset_at| คือเวลาที่มีการต่ออายุโควตาการใช้งาน ค่าเริ่มต้นของ |reset_at| คือเที่ยงคืน ({'hour': 0, 'minute': 0}) |last_updated_millis| คือการประทับเวลาครั้งล่าสุดตามเขตเวลา UTC ซึ่งมีการอัปเดตเวลานี้ ระบบส่งเวลาเป็นสตริงเนื่องจากการประทับเวลาไม่เข้ากับจำนวนเต็ม
+          |time_window_limit| ระบุกรอบเวลารายวันที่ควรล็อกเซสชันของผู้ใช้ เรารองรับ 1 กฎต่อแต่ละวันในสัปดาห์เท่านั้น ดังนั้นอาร์เรย์ |entries| จึงอาจมีขนาดต่างกันไปตั้งแต่ 0-7 |starts_at| และ |ends_at| คือจุดเริ่มต้นและจุดสิ้นสุดของขีดจำกัดกรอบเวลา เมื่อ |ends_at| น้อยกว่า |starts_at| หมายความว่า |time_limit_window| สิ้นสุดในวันต่อมา |last_updated_millis| คือการประทับเวลาครั้งล่าสุดตามเขตเวลา UTC ซึ่งมีการอัปเดตเวลานี้ ระบบส่งเวลาเป็นสตริงเนื่องจากการประทับเวลาไม่เข้ากับจำนวนเต็ม
 
-          |time_usage_limit| ระบุโควตาการอยู่หน้าจอรายวัน ดังนั้นเมื่อผู้ใช้ได้ใช้งานถึงระยะเวลาที่กำหนดแล้ว ระบบจะล็อกเซสชันของผู้ใช้ มีคุณสมบัติ 1 รายการสำหรับแต่ละวันในสัปดาห์ ซึ่งควรตั้งค่าเฉพาะเมื่อมีโควตาที่ใช้งานอยู่ของวันนั้นๆ |usage_quota_mins| คือระยะเวลาในแต่ละวันที่ผู้ใช้จะใช้อุปกรณ์ที่มีการจัดการได้ และ |reset_at| คือเวลาที่มีการต่ออายุโควตาการใช้งาน ค่าเริ่มต้นของ |reset_at| คือเที่ยงคืน ({'hour': 0, 'minute': 0}) |last_updated_millis| คือการประทับเวลาครั้งล่าสุดตามเขตเวลา UTC ซึ่งมีการอัปเดตเวลานี้ ระบบส่งเวลาเป็นสตริงเนื่องจากการประทับเวลาไม่เข้ากับจำนวนเต็ม
+          |time_usage_limit| ระบุโควตาการอยู่หน้าจอรายวัน ดังนั้นเมื่อผู้ใช้ใช้งานถึงระยะเวลาที่กำหนดแล้ว ระบบจะล็อกเซสชันของผู้ใช้ มีคุณสมบัติ 1 รายการสำหรับแต่ละวันในสัปดาห์ ซึ่งควรตั้งค่าเฉพาะเมื่อมีโควตาที่ใช้งานอยู่ของวันนั้นๆ |usage_quota_mins| คือระยะเวลาในแต่ละวันที่ผู้ใช้จะใช้อุปกรณ์ที่มีการจัดการได้ และ |reset_at| คือเวลาที่มีการต่ออายุโควตาการใช้งาน ค่าเริ่มต้นของ |reset_at| คือเที่ยงคืน ({'hour': 0, 'minute': 0}) |last_updated_millis| คือการประทับเวลาครั้งล่าสุดตามเขตเวลา UTC ซึ่งมีการอัปเดตเวลานี้ ระบบส่งเวลาเป็นสตริงเนื่องจากการประทับเวลาไม่เข้ากับจำนวนเต็ม
 
           |overrides| มีไว้เพื่อทำให้กฎก่อนหน้าอย่างน้อย 1 ข้อใช้งานไม่ได้ชั่วคราว
           * หากทั้ง time_window_limit และ time_usage_limit ไม่ได้ทำงานอยู่ ระบบอาจใช้ |LOCK| เพื่อล็อกอุปกรณ์
@@ -1368,14 +1362,6 @@
 <translation id="4980635395568992380">ประเภทข้อมูล:</translation>
 <translation id="4983201894483989687">อนุญาตให้เรียกใช้ปลั๊กอินที่เก่าแล้ว</translation>
 <translation id="4988291787868618635">การทำงานที่ต้องทำเมื่อถึงระยะหน่วงเวลาของการไม่ใช้งาน</translation>
-<translation id="4990301296093321860">ช่วยให้คุณควบคุมการทริกเกอร์คำเตือนการป้องกันด้วยรหัสผ่าน การป้องกันด้วยรหัสผ่านจะแจ้งเตือนผู้ใช้เมื่อใช้รหัสผ่านที่มีการป้องกันซ้ำในเว็บไซต์ที่ต้องสงสัย
-
-      คุณใช้นโยบาย "PasswordProtectionLoginURLs" และ "PasswordProtectionChangePasswordURL" เพื่อกำหนดค่ารหัสผ่านที่จะปกป้องได้
-
-      หากตั้งค่านโยบายนี้เป็น "PasswordProtectionWarningOff" ระบบจะไม่แสดงคำเตือนการป้องกันด้วยรหัสผ่าน
-      หากตั้งค่านโยบายนี้เป็น "PasswordProtectionWarningOnPasswordReuse" คำเตือนการป้องกันด้วยรหัสผ่านจะแสดงขึ้นเมื่อผู้ใช้ใช้รหัสผ่านที่ปกป้องซ้ำในเว็บไซต์ที่ไม่ได้อนุญาตพิเศษไว้
-      หากตั้งค่านโยบายนี้เป็น "PasswordProtectionWarningOnPhishingReuse" คำเตือนการป้องกันด้วยรหัสผ่านจะแสดงขึ้นเมื่อผู้ใช้ใช้รหัสผ่านที่ปกป้องซ้ำในเว็บไซต์ฟิชชิง
-      หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะทริกเกอร์คำเตือนการป้องกันด้วยรหัสผ่านเมื่อผู้ใช้ใช้รหัสผ่านที่ปกป้องซ้ำในเว็บไซต์ฟิชชิง แต่ผู้ใช้จะเปลี่ยนการตั้งค่านี้ได้</translation>
 <translation id="4995548127349206948">มีการเปิดใช้การตรวจสอบสิทธิ์ NTLMv2 หรือไม่</translation>
 <translation id="5047604665028708335">อนุญาตการเข้าถึงเว็บไซต์ที่อยู่นอกชุดเนื้อหา</translation>
 <translation id="5052081091120171147">นโยบายนี้บังคับให้นำเข้าประวัติการเรียกดูจากเบราว์เซอร์เริ่มต้นปัจจุบันหากเปิดใช้งาน หากเปิดใช้งาน นโยบายนี้ยังมีผลต่อข้อความโต้ตอบการนำเข้าอีกด้วย หากปิดใช้งาน จะไม่มีการนำเข้าประวัติการเรียกดู หากไม่มีการตั้งค่าไว้ ผู้ใช้อาจจะได้รับคำถามว่าจะนำเข้าหรือไม่ หรือการนำเข้าอาจเกิดขึ้นโดยอัตโนมัติ</translation>
@@ -1872,13 +1858,6 @@
 
       หากนโยบายนี้ไม่ได้ตั้งค่าหรือรายการว่างเปล่า รูปแบบทั้งหมดจะสามารถเข้าถึงได้ใน <ph name="PRODUCT_NAME" /></translation>
 <translation id="6652197835259177259">การตั้งค่าผู้ใช้ที่ได้รับการจัดการในเครื่อง</translation>
-<translation id="6654559957643809067">เปิดใช้การคาดการณ์เครือข่ายใน <ph name="PRODUCT_NAME" /> และป้องกันไม่ให้ผู้ใช้เปลี่ยนการตั้งค่านี้
-
-      วิธีนี้จะควบคุมการโหลด DNS ล่วงหน้า, การเชื่อมต่อ TCP และ SSL ล่วงหน้า และการแสดงผลหน้าเว็บล่วงหน้า
-
-      หากคุณตั้งค่ากำหนดนี้เป็น "เสมอ", "ไม่เลย" หรือ "Wi-Fi เท่านั้น" ผู้ใช้จะไม่สามารถเปลี่ยนหรือลบล้างการตั้งค่านี้ใน <ph name="PRODUCT_NAME" />
-
-      หากไม่ได้ตั้งค่านโยบายนี้ไว้ การคาดการณ์เครือข่ายจะถูกเปิดใช้ แต่ผู้ใช้สามารถเปลี่ยนแปลงการตั้งค่าได้</translation>
 <translation id="6658245400435704251">ระบุจำนวนวินาทีสูงสุดที่อุปกรณ์อาจสุ่มหน่วงเวลาการดาวโหลดการอัปเดตนับตั้งแต่ที่มีการส่งการอัปเดตไปยังเซิร์ฟเวอร์ อุปกรณ์อาจใช้เวลาส่วนหนึ่งรอขณะที่คอมพิวเตอร์เริ่มทำงานจนกระทั่งเสร็จสิ้นและใช้เวลาส่วนที่เหลือสำหรับการตรวจสอบการอัปเดตจำนวนหนึ่ง ไม่ว่าในกรณีใด การกระจายจะเข้าใกล้ขอบเขตบนของระยะเวลาคงที่ อุปกรณ์จึงไม่ต้องค้างรอการดาวน์โหลดการอัปเดตอย่างไม่สิ้นสุด</translation>
 <translation id="6665670272107384733">กำหนดความถี่ที่ผู้ใช้ต้องป้อนรหัสผ่านเพื่อใช้การปลดล็อกด่วน</translation>
 <translation id="6681229465468164801">อนุญาตให้คุณกำหนดรายการรูปแบบ URL ที่ระบุเว็บไซต์ซึ่งมีการป้องกันไม่ให้ขอผู้ใช้ให้มอบสิทธิ์เข้าถึงอุปกรณ์ USB
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index be1400122..c819f6f 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -222,12 +222,6 @@
       Politika, <ph name="PRODUCT_OS_NAME" /> tarafından Hizmet Şartları'nın indirilebileceği bir URL'ye ayarlanmalıdır. Hizmet Şartları'nda düz metin kullanılmalı, MIME türü metin/düz olarak sunulmalıdır. Herhangi bir işaretleme kullanılamaz.</translation>
 <translation id="1750315445671978749">Tüm indirmeleri engelle</translation>
 <translation id="1781356041596378058">Ayrıca bu politika Android Geliştirici Seçenekleri'ne erişimi de kontrol eder. Bu politikayı doğru (true) seçeneğine ayarlarsanız kullanıcılar Geliştirici Seçenekleri'ne erişemez. Bu politikayı yanlış (false) seçeneğine ayarlar veya ayarlamadan bırakırsanız kullanıcılar, Android ayarları uygulamasında derleme numarasına yedi kez dokunarak Geliştirici Seçenekleri'ne erişebilir.</translation>
-<translation id="178832255504524723">Şifre değiştirme URL'sini yapılandırın (yalnızca HTTP ve HTTPS şemaları). Kullanıcılar kimlik avına maruz kalmışsa şifre koruma hizmeti, şifrelerini değiştirmeleri için kullanıcıları bu URL'ye gönderir.
-      <ph name="PRODUCT_NAME" /> uygulamasının bu şifre değişikliği sayfasında yeni şifrenin dijital parmak izini doğru bir şekilde yakalayabilmesi için lütfen şifre değiştirme sayfanızın https://www.chromium.org/developers/design-documents/create-amazing-password-forms adresindeki kurallara uyduğundan emin olun.
-
-      Bu ayar etkinleştirilirse şifre koruma hizmeti, kimlik avına maruz kalmış kullanıcıları şifrelerini değiştirmeleri için bu URL'ye gönderir.
-      Bu ayar devre dışı bırakılmış veya ayarlanmamışsa şifre koruma hizmeti, kullanıcıları https://myaccounts.google.com to change their password adresine gönderir.
-      Bu politika, bir <ph name="MS_AD_NAME" /> alanına katılmış Windows örneklerinde kullanılamaz.</translation>
 <translation id="1797233582739332495">Kullanıcıya yeniden başlatmanın gerektiğini belirten yinelenen bir istem gösterme</translation>
 <translation id="1803646570632580723">Başlatıcıda gösterilecek sabitlenmiş uygulamalar listesi</translation>
 <translation id="1808715480127969042">Bu sitelerdeki çerezleri engelle</translation>
@@ -1414,14 +1408,6 @@
 <translation id="4980635395568992380">Veri türü:</translation>
 <translation id="4983201894483989687">Eski eklentilerin çalıştırılmasına izin ver</translation>
 <translation id="4988291787868618635">Boşta kalma gecikme süresine ulaşıldığında uygulanacak işlem</translation>
-<translation id="4990301296093321860">Şifre koruma uyarısının tetiklenmesini kontrol etmenize olanak tanır. Şifre koruma, korunan şifrelerini şüpheli olabilecek sitelerde yeniden kullandıklarında kullanıcıları uyarır.
-
-      Korunacak şifreyi yapılandırmak için "PasswordProtectionLoginURLs" ve "PasswordProtectionChangePasswordURL" politikalarını kullanabilirsiniz
-
-      Bu politikanın "PasswordProtectionWarningOff" değerine ayarlanması halinde herhangi bir şifre koruma uyarısı gösterilmez.
-      Bu politikanın "PasswordProtectionWarningOnPasswordReuse" değerine ayarlanması halinde kullanıcı korunan şifresini beyaz listede yer almayan sitelerde yeniden kullandığında şifre koruma uyarısı gösterilir.
-      Bu politikanın "PasswordProtectionWarningOnPhishingReuse" değerine ayarlanması halinde kullanıcı korunan şifresini kimlik avı sitelerinde yeniden kullandığında şifre koruma uyarısı gösterilir.
-      Bu politikanın ayarlanmadan bırakılması halinde kullanıcı korunan şifresini kimlik avı sitelerinde yeniden kullandığında şifre koruma uyarısı tetiklenir ancak kullanıcı bu ayarı değiştirebilir.</translation>
 <translation id="4995548127349206948">NTLMv2 kimlik doğrulamasının etkinleştirilip etkinleştirilmediği.</translation>
 <translation id="5047604665028708335">İçerik paketlerinin dışındaki sitelere erişime izin ver</translation>
 <translation id="5052081091120171147">Bu politika, göz atma geçmişini etkin olması durumunda geçerli varsayılan tarayıcıdan içe aktarır. Bu politika etkinleştirilirse, içe aktarma iletişim kutusunu da etkiler.
@@ -1953,13 +1939,6 @@
 
       Bu politika ayarlanmadan bırakılırsa veya liste boş olursa, <ph name="PRODUCT_NAME" /> içindeki tüm şemalara erişilebilir.</translation>
 <translation id="6652197835259177259">Yerel olarak yönetilen kullanıcıların ayarları</translation>
-<translation id="6654559957643809067"><ph name="PRODUCT_NAME" /> ürününde ağ tahminini etkinleştirir ve kullanıcıların bu ayarı değiştirmesini önler.
-
-       Bu politika, DNS'nin önceden getirilmesini, TCP ve SSL ön bağlantısını ve web sayfalarının önceden oluşturulmasını denetler.
-
-      Bu tercihi "her zaman", "hiçbir zaman" veya "yalnızca kablosuz" olarak ayarladığınızda kullanıcılar <ph name="PRODUCT_NAME" /> ürününde bu ayarı değiştiremez veya geçersiz kılamaz.
-
-      Bu politika ayarlanmadan bırakılırsa ağ tahmini etkinleştirilir, ancak isteyen kullanıcı bu ayarı değiştirebilir.</translation>
 <translation id="6658245400435704251">Bir güncelleme sunucuya ilk gönderildiği andan itibaren bir cihazın rastgele şekilde güncelleme yüklemesini geciktirebileceği süreyi saniye olarak belirtir. Cihaz bu sürenin bir kısmında gerçek zaman olarak, geri kalan kısmında ise güncelleme denetlemelerinin sayısınca bekleyebilir. Cihazın bir güncellemeyi sürekli bekler durumda kalmaması için, dağılım her durumda üst sınır olarak sabit bir süre ile kısıtlıdır.</translation>
 <translation id="6665670272107384733">Hızlı kilit açmayı kullanmak için kullanıcının şifreyi hangi sıklıkta girmesi gerektiğini ayarla</translation>
 <translation id="6681229465468164801">USB cihazlarına erişmek için kullanıcıdan izin istemesi engellenen sitelerin belirtildiği URL kalıpları listesini ayarlamanıza olanak sağlar.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index a057ae4..7920072 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -222,12 +222,6 @@
       Це правило має встановлюватися на URL-адресу, з якої <ph name="PRODUCT_OS_NAME" /> може завантажити Умови використання. Умови використання мають бути у форматі звичайного тексту, який використовується як тип MIME "текст/звичайний". Розмітка не дозволяється.</translation>
 <translation id="1750315445671978749">Блокувати всі завантаження</translation>
 <translation id="1781356041596378058">Це правило також керує доступом до Параметрів розробника Android. Якщо для цього правила встановлено значення "true", користувачі не матимуть доступу до Параметрів розробника. Якщо це правило не налаштовано або встановлено значення "false", користувачі можуть отримувати доступ до Параметрів розробника, сім разів торкнувшись номера складання в додатку Налаштування Android.</translation>
-<translation id="178832255504524723">Налаштовує URL-адресу для змінення пароля (лише для схем HTTP та HTTPS). Служба захисту паролів спрямовуватиме користувачів на цю URL-адресу для змінення пароля, якщо його було викрадено.
-      Щоб продукт <ph name="PRODUCT_NAME" /> міг правильно зберігати відбиток пароля на сторінці для його змінення, переконайтеся, що вона відповідає правилам на сайті https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Якщо цей параметр увімкнено, користувачі спрямовуватимуться на цю URL-адресу для змінення пароля в разі його викрадення.
-      Якщо цей параметр вимкнено або не налаштовано, для змінення пароля користувачі спрямовуватимуться на сторінку https://myaccounts.google.com.
-      Це правило недоступне у версіях Windows, що не зареєстровані в домені <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Показувати користувачеві повторюваний запит із рекомендацією перезапуску</translation>
 <translation id="1803646570632580723">Список закріплених програм для відображення на панелі запуску</translation>
 <translation id="1808715480127969042">Блокувати файли cookie на цих сайтах</translation>
@@ -1380,14 +1374,6 @@
 <translation id="4980635395568992380">Тип даних:</translation>
 <translation id="4983201894483989687">Дозволити запущені плагіни, які є застарілими</translation>
 <translation id="4988291787868618635">Дія, яка має виконуватися, коли виникає затримка через неактивність</translation>
-<translation id="4990301296093321860">Дає змогу контролювати активацію застережень про захист паролем. Користувачі отримуватимуть такі попередження, коли використовуватимуть свій захищений пароль на потенційно підозрілих сайтах.
-
-      Ви можете використовувати правила PasswordProtectionLoginURLs і PasswordProtectionChangePasswordURL, щоб вибрати, які паролі мають бути захищеними.
-
-      Якщо для цього правила вибрано значення PasswordProtectionWarningOff, застереження про захист паролем не з’являтиметься.
-      Якщо для цього правила вибрано значення PasswordProtectionWarningOnPasswordReuse, застереження про захист паролем з’являється, коли користувач вводить свій захищений пароль на сайті, якого немає в білому списку.
-      Якщо для цього правила вибрано значення PasswordProtectionWarningOnPhishingReuse, застереження про захист паролем з’являється, коли користувач вводить свій захищений пароль на фішинговому сайті.
-      Якщо це правило не налаштовано, застереження про захист паролем активується, коли користувач вводить свій захищений пароль на фішинговому сайті. Цей параметр можна змінити.</translation>
 <translation id="4995548127349206948">Якщо ввімкнено автентифікацію NTLMv2.</translation>
 <translation id="5047604665028708335">Дозволити доступ до сайтів, які не входять у пакети вмісту</translation>
 <translation id="5052081091120171147">Якщо це правило ввімкнено, історія веб-перегляду імпортується з поточного веб-переглядача за умовчанням. Якщо його ввімкнено, це правило також впливає на діалогове вікно імпортування. Якщо вимкнено, історія веб-перегляду не імпортується. Якщо це правило не встановлено, користувач отримує запит на імпортування або імпортування розпочинається автоматично.</translation>
@@ -1884,13 +1870,6 @@
 
       Якщо це правило не встановлено або список порожній, у <ph name="PRODUCT_NAME" /> можна отримувати доступ за всіма схемами.</translation>
 <translation id="6652197835259177259">Налаштування локально керованих користувачів</translation>
-<translation id="6654559957643809067">Вмикає прогнозування мережі в <ph name="PRODUCT_NAME" /> і забороняє користувачам змінювати це налаштування.
-
-      Керує попереднім викликом DNS, попереднім з’єднанням TCP й SSL і попереднім відтворення веб-сторінок.
-
-      Якщо для цього налаштування вибрати значення "Завжди", "Ніколи" або "Лише через WiFi", користувачі не зможуть змінити або замінити його в <ph name="PRODUCT_NAME" />.
-
-      Якщо це правило не налаштовано, прогнозування мережі буде ввімкнено, але користувачі не зможуть змінити його.</translation>
 <translation id="6658245400435704251">Визначає кількість секунд, на яку пристрій може навмання затримати завантаження оновлення з моменту, коли це оновлення вперше надсилається на сервер. Пристрій може чекати частину цього часу, виражену в одиницях виміру годинника, а решту часу – у кількості перевірок оновлення. У будь-якому випадку, верхня межа розсіяння встановлена на постійне значення часу, щоб пристрій ніколи не зациклювався, постійно очікуючи на завантаження оновлення.</translation>
 <translation id="6665670272107384733">Вибрати, як часто користувач має вводити пароль, щоб швидко розблоковувати пристрій</translation>
 <translation id="6681229465468164801">Дозволяє створювати список шаблонів URL-адрес сайтів, яким заборонено запитувати в користувача доступ до пристрою USB.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 4d918f0..9956144 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -223,12 +223,6 @@
       Phải đặt chính sách thành một URL nơi <ph name="PRODUCT_OS_NAME" /> có thể tải xuống Điều khoản dịch vụ. Điều khoản dịch vụ phải là văn bản thuần túy, được phân phối dưới dạng văn bản/thuần túy loại MIME. Không cho phép đánh dấu.</translation>
 <translation id="1750315445671978749">Chặn tất cả các mục tải xuống</translation>
 <translation id="1781356041596378058">Chính sách này cũng kiểm soát quyền truy cập vào Tùy chọn của nhà phát triển Android. Nếu bạn đặt chính sách này thành true, người dùng sẽ không thể truy cập vào Tùy chọn của nhà phát triển. Nếu bạn đặt chính sách này thành false hoặc không đặt chính sách này thì người dùng có thể truy cập Tùy chọn của nhà phát triển bằng cách nhấn bảy lần trên số bản dựng trong ứng dụng cài đặt Android.</translation>
-<translation id="178832255504524723">Định cấu hình URL thay đổi mật khẩu (chỉ dành cho các lược đồ HTTP và HTTPS). Dịch vụ bảo vệ mật khẩu sẽ chuyển người dùng tới URL này để thay đổi mật khẩu của họ nếu họ đã bị lừa đảo.
-      Để <ph name="PRODUCT_NAME" /> có thể quét chính xác dấu vân tay của mật khẩu mới trên trang thay đổi mật khẩu này, hãy đảm bảo trang thay đổi mật khẩu của bạn tuân thủ các nguyên tắc trên https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
-
-      Nếu bạn bật mục cài đặt này, thì dịch vụ bảo vệ mật khẩu sẽ chuyển người dùng tới URL này để thay đổi mật khẩu của họ nếu họ đã bị lừa đảo.
-      Nếu bạn tắt hoặc chưa đặt mục cài đặt này, thì dịch vụ bảo vệ mật khẩu sẽ chuyển người dùng đến https://myaccounts.google.com để thay đổi mật khẩu của họ.
-      Chính sách này không có trên các phiên bản Windows chưa tham gia miền <ph name="MS_AD_NAME" />.</translation>
 <translation id="1797233582739332495">Hiển thị lời nhắc định kỳ cho người dùng cho biết bắt buộc phải chạy lại</translation>
 <translation id="1803646570632580723">Danh sách các ứng dụng được ghim sẽ hiển thị trong trình chạy</translation>
 <translation id="1808715480127969042">Chặn cookie trên các trang web này</translation>
@@ -1420,14 +1414,6 @@
 <translation id="4980635395568992380">Loại dữ liệu:</translation>
 <translation id="4983201894483989687">Cho phép chạy các plugin đã lỗi thời</translation>
 <translation id="4988291787868618635">Hành động cần thực hiện khi đạt tới độ trễ khi không sử dụng</translation>
-<translation id="4990301296093321860">Cho phép bạn kiểm soát việc kích hoạt cảnh báo bảo vệ mật khẩu. Tính năng bảo vệ mật khẩu sẽ cảnh báo người dùng khi họ sử dụng lại mật khẩu được bảo vệ trên các trang web có thể đáng ngờ.
-
-      Bạn có thể sử dụng các chính sách 'PasswordProtectionLoginURLs' và 'PasswordProtectionChangePasswordURL' để định cấu hình mật khẩu cần bảo vệ.
-
-      Nếu bạn đặt chính sách này thành 'PasswordProtectionWarningOff', thì sẽ không có cảnh báo bảo vệ nào hiển thị.
-      Nếu bạn đặt chính sách này thành 'PasswordProtectionWarningOnPasswordReuse', thì cảnh báo bảo vệ mật khẩu sẽ hiển thị khi người dùng sử dụng lại mật khẩu được bảo vệ của họ trên trang web nằm ngoài danh sách cho phép.
-      Nếu bạn đặt chính sách này thành 'PasswordProtectionWarningOnPhishingReuse', thì cảnh báo bảo vệ mật khẩu sẽ hiển thị khi người dùng sử dụng lại mật khẩu được bảo vệ của họ trên trang web lừa đảo.
-      Nếu bạn không đặt chính sách này, thì cảnh báo bảo vệ mật khẩu sẽ được kích hoạt khi người dùng sử dụng lại mật khẩu được bảo vệ của họ trên trang web lừa đảo nhưng người dùng có thể thay đổi tùy chọn cài đặt này.</translation>
 <translation id="4995548127349206948">Cho dù có bật xác thực NTLMv2 hay không.</translation>
 <translation id="5047604665028708335">Cho phép truy cập vào các trang web nằm ngoài gói nội dung</translation>
 <translation id="5052081091120171147">Chính sách này nếu được bật sẽ buộc lịch sử web phải được nhập từ trình duyệt mặc định hiện tại. Nếu được bật, chính sách này cũng ảnh hưởng đến hộp thoại nhập.
@@ -1960,13 +1946,6 @@
       Không thể tải và điều hướng đến URL sử dụng lược đồ từ danh sách này.
       Nếu không đặt chính sách này hoặc danh sách trống, tất cả lược đồ sẽ có thể truy cập được trong <ph name="PRODUCT_NAME" />.</translation>
 <translation id="6652197835259177259">Cài đặt người dùng được quản lý cục bộ</translation>
-<translation id="6654559957643809067">Bật dự đoán mạng trong <ph name="PRODUCT_NAME" /> và ngăn người dùng thay đổi cài đặt này.
-
-      Cài đặt này kiểm soát việc tìm nạp trước DNS, kết nối trước TCP và SSL cũng như hiển thị trước các trang web.
-
-      Nếu bạn đặt tùy chọn này thành 'luôn luôn', 'không bao giờ' hoặc 'Chỉ WiFi', người dùng không thể thay đổi hoặc ghi đè cài đặt này trong <ph name="PRODUCT_NAME" />.
-
-      Nếu chính sách này không được đặt, dự đoán mạng sẽ được bật nhưng người dùng sẽ có thể thay đổi cài đặt đó.</translation>
 <translation id="6658245400435704251">Chỉ định số giây tối đa mà thiết bị có thể ngẫu nhiên trì hoãn việc tải xuống bản cập nhật từ thời điểm bản cập nhật được đưa lên máy chủ lần đầu tiên. Thiết bị có thể đợi một phần số thời gian này là thời gian thực và phần thời gian còn lại là thời gian kiểm tra bản cập nhật. Trong bất kỳ trường hợp nào, việc phân tán bị chặn trên ở lượng thời gian cố định để thiết bị không bao giờ phải chờ mãi để tải xuống bản cập nhật.</translation>
 <translation id="6665670272107384733">Đặt tần suất người dùng phải nhập mật khẩu để sử dụng tính năng mở khóa nhanh</translation>
 <translation id="6681229465468164801">Cho phép bạn đặt danh sách mẫu URL để chỉ định các trang web không được phép yêu cầu người dùng cấp quyền truy cập vào thiết bị USB.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index e1602be..58393a1 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -205,12 +205,6 @@
       该政策的值应设置为供 <ph name="PRODUCT_OS_NAME" />下载服务条款的网址。该服务条款必须是纯文本,以 MIME 纯文本形式提供,不允许进行任何标记。</translation>
 <translation id="1750315445671978749">拦截所有下载内容</translation>
 <translation id="1781356041596378058">此政策亦用于控制对 Android 开发者选项的访问。如果此政策设为 true,用户将无法访问开发者选项。如果此政策设为 false 或未设置,用户只需在 Android 的“设置”应用中连续点按 7 次版本号即可访问开发者选项。</translation>
-<translation id="178832255504524723">配置用于更改密码的网址(仅限 HTTP 和 HTTPS 方案)。密码保护服务会在用户遭遇网上诱骗时将用户转到此网址,以便其更改密码。
-      为了使 <ph name="PRODUCT_NAME" /> 能够正确捕获这一用于更改密码的页面中的新密码指纹,请务必确保该页面遵循了 https://www.chromium.org/developers/design-documents/create-amazing-password-forms 上所述的准则。
-
-      如果启用了此设置,密码保护服务就会在用户遭遇网上诱骗时将用户转到此网址,以便其更改密码。
-      如果停用了或未设定此设置,密码保护服务则会将用户转到 https://myaccounts.google.com,以便其更改密码。
-      此政策不适用于未加入 <ph name="MS_AD_NAME" /> 网域的 Windows 实例。</translation>
 <translation id="1797233582739332495">显示要求用户重新启动浏览器的周期性提示</translation>
 <translation id="1803646570632580723">要在启动程序中显示的固定应用的列表</translation>
 <translation id="1808715480127969042">在这些网站上阻止 Cookie</translation>
@@ -665,7 +659,7 @@
           * |UNLOCK| 可解锁根据 time_window_limit 或 time_usage_limit 锁定的用户会话。
           |created_time_millis| 是表示替换值的创建时间的时间戳(采用世界协调时间),由于时间戳无法转换成整数,因此这项参数会以字符串的形式发送。这项参数用于确定是否仍应将相应替换值付诸应用。如果目前有效的时间限制功能(时间用量限制或时段限制)的开始时间晚于替换值的创建时间,系统便不应采取任何行动。另外,如果替换值的创建时间早于有效 time_window_limit 或 time_usage_window 的上次更改时间,系统也不应将该替换值付诸应用。
 
-          系统会发送多个替换值,并会应用最新的有效条目。</translation>
+          可以发送多个替换值,最新的有效条目会得到应用。</translation>
 <translation id="2906874737073861391">AppPack 扩展程序列表</translation>
 <translation id="2907992746861405243">控制用户可以使用 <ph name="BULK_PRINTERS_POLICY" /> 中的哪些打印机。
 
@@ -1339,14 +1333,6 @@
 <translation id="4980635395568992380">数据类型:</translation>
 <translation id="4983201894483989687">允许运行过期的插件</translation>
 <translation id="4988291787868618635">闲置延迟时间已过时执行的操作</translation>
-<translation id="4990301296093321860">可让您控制“密码保护服务警告”功能的触发条件。当用户在可疑的网站上重复使用受保护的密码时,密码保护服务会向用户发出提醒。
-
-      您可以使用“PasswordProtectionLoginURLs”和“PasswordProtectionChangePasswordURL”政策来配置要保护的密码。
-
-      如果此政策设为“PasswordProtectionWarningOff”,则一律不会触发密码保护服务警告。
-      如果此政策设为“PasswordProtectionWarningOnPasswordReuse”,那么每当用户在任何未列入白名单的网站上重复使用受保护的密码时,都会触发密码保护服务警告。
-      如果此政策设为“PasswordProtectionWarningOnPhishingReuse”,那么每当用户在网上诱骗网站上重复使用受保护的密码时,都会触发密码保护服务警告。
-      如果未设置此政策,那么当用户在网上诱骗网站上重复使用受保护的密码时,密码保护服务警告便会被触发,但用户可以更改此设置。</translation>
 <translation id="4995548127349206948">是否启用 NTLMv2 身份验证。</translation>
 <translation id="5047604665028708335">允许访问非内容包内的网站</translation>
 <translation id="5052081091120171147">如果启用此政策,就会强制从当前默认浏览器导入浏览记录,还会影响导入对话框。如果停用此政策,就不会导入浏览记录。如果未设置此政策,系统就会询问用户是否导入浏览记录,或者系统自动进行导入。</translation>
@@ -1839,13 +1825,6 @@
 
       如果未设置此政策或此列表为空,则可在 <ph name="PRODUCT_NAME" /> 中使用所有架构。</translation>
 <translation id="6652197835259177259">本地托管用户设置</translation>
-<translation id="6654559957643809067">在 <ph name="PRODUCT_NAME" /> 中启用网络联想查询功能,并禁止用户更改此设置。
-
-      此政策用于控制 DNS 预提取、TCP 和 SSL 预连接以及网页预呈现。
-
-      如果您将此设置设为“始终”、“一律不”或“仅限 WiFi”,用户将无法在 <ph name="PRODUCT_NAME" /> 中更改或覆盖此设置。
-
-      如果此政策未设置,系统将启用网络联想查询功能,但用户可以自行更改。</translation>
 <translation id="6658245400435704251">指定一个时间(以秒为单位),即从更新首次推送到服务器起设备随机延迟更新下载的最大时间。设备的这一等待时间一部分会按照实际时间计算,而剩下的部分则取决于更新检查的次数。在任何情况下,分配的时间上限都是固定的,因此设备绝不会一直等待下载某个更新。</translation>
 <translation id="6665670272107384733">指定用户必须按什么样的频率输入密码才能使用快速解锁功能</translation>
 <translation id="6681229465468164801">让您能够设置一系列网址格式,以用于指定禁止哪些网站请求用户授权其访问 USB 设备。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 5a0767a..fe405c6 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -220,12 +220,6 @@
       你需將政策設為可供 <ph name="PRODUCT_OS_NAME" /> 下載《服務條款》的網址。《服務條款》需為純文字內容,以 MIME 類型 text/plain 提供。不允許任何標記。</translation>
 <translation id="1750315445671978749">封鎖所有下載作業</translation>
 <translation id="1781356041596378058">這項政策也可以控制 Android 開發人員選項的存取權。如果將這項政策設為 true,使用者將無法存取開發人員選項。如果將這項政策設為 false 或不予設定,使用者只要在 Android 設定應用程式中輕觸版本號碼 7 次,即可存取開發人員選項。</translation>
-<translation id="178832255504524723">設定變更密碼網址 (僅限 HTTP 和 HTTPS 配置)。密碼保護服務會將遭到網路詐騙的使用者傳送至這個網址,讓使用者變更密碼。
-      為了讓 <ph name="PRODUCT_NAME" /> 能在這個變更密碼頁面中正確擷取新的密碼指紋,請確認變更密碼頁面符合相關規範,網址是:https://www.chromium.org/developers/design-documents/create-amazing-password-forms。
-
-      如果啟用這項設定,密碼保護服務會將遭到網路詐騙的使用者傳送至這個網址,讓使用者變更密碼。
-      如果停用這項設定或不予設定,則密碼保護服務會將使用者傳送至 https://myaccounts.google.com,讓使用者變更密碼。
-      這項政策不適用於未加入 <ph name="MS_AD_NAME" /> 網域的 Windows 執行個體。</translation>
 <translation id="1797233582739332495">顯示週期性提示,要求使用者重新啟動瀏覽器</translation>
 <translation id="1803646570632580723">要顯示在啟動器中的固定應用程式清單</translation>
 <translation id="1808715480127969042">封鎖這些網站的 Cookie</translation>
@@ -1379,14 +1373,6 @@
 <translation id="4980635395568992380">資料類型:</translation>
 <translation id="4983201894483989687">允許執行過舊的外掛程式</translation>
 <translation id="4988291787868618635">在達到閒置延遲時間時要採取的動作</translation>
-<translation id="4990301296093321860">讓你控制密碼保護警告訊息的觸發設定。當使用者在疑似不安全的網站上重複使用受保護的密碼時,密碼保護功能就會向使用者發出警示。
-
-      你可以使用「PasswordProtectionLoginURLs」和「PasswordProtectionChangePasswordURL」政策設定要保護的密碼。
-
-      如果將這項政策設為「PasswordProtectionWarningOff」,系統就不會顯示密碼保護警告訊息。
-      如果將這項政策設為「PasswordProtectionWarningOnPasswordReuse」,當使用者在任何非許可的網站上重複使用受保護的密碼時,系統就會顯示密碼保護警告訊息。
-      如果將這項政策設為「PasswordProtectionWarningOnPhishingReuse」,當使用者在網路詐騙網站上重複使用受保護的密碼時,系統就會顯示密碼保護警告訊息。
-      如果未設定這項政策,當使用者在網路詐騙網站上重複使用受保護的密碼時時,就會觸發密碼保護警告訊息,但使用者可以變更這項設定。</translation>
 <translation id="4995548127349206948">是否啟用 NTLMv2 驗證功能。</translation>
 <translation id="5047604665028708335">允許存取內容套件以外的網站</translation>
 <translation id="5052081091120171147">如果啟用這項政策,則會強制從目前的預設瀏覽器匯入瀏覽記錄 (也會影響匯入對話方塊的選項)。如果停用這項政策,則不會匯入瀏覽記錄。如果未設定這項政策,系統會自動匯入瀏覽記錄,或詢問使用者是否要匯入瀏覽記錄。</translation>
@@ -1883,13 +1869,6 @@
 
       如果你未設定這項政策或留空,則可在 <ph name="PRODUCT_NAME" /> 中使用所有協定。</translation>
 <translation id="6652197835259177259">本機管理化環境下的使用者設定</translation>
-<translation id="6654559957643809067">啟用 <ph name="PRODUCT_NAME" /> 的網路預測功能,並且禁止使用者變更這項設定。
-
-      這項設定是用於控制 DNS 預先擷取、TCP 和 SSL 預先連線及網頁預先轉譯機制。
-
-      如果您將這項偏好設定設為「一律」、「永遠不要」或「僅限 WiFi」,使用者將無法在 <ph name="PRODUCT_NAME" /> 中變更或覆寫這項設定。   
-
-      如未設定這項政策,系統會啟用網路預測功能,但使用者可以自行變更。</translation>
 <translation id="6658245400435704251">指定裝置可以任意延遲下載某項更新的秒數上限 (以該項更新初次被推送到伺服器的時間為準)。你可以將這項裝置等待時間的其中一部分設定為等待的時間長度,剩下的部分則設定為檢查更新的次數。不論採取哪種方式,分散時間皆不得超過固定時間長度,這樣就可以避免裝置由於持續等待下載某項更新而停止回應。</translation>
 <translation id="6665670272107384733">設定使用者使用快速解鎖功能時需輸入密碼的頻率</translation>
 <translation id="6681229465468164801">允許你設定網址模式清單,指定禁止要求使用者授予 USB 裝置存取權的網站。
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index 801b8e0..14ca4c1 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -331,6 +331,7 @@
 <translation id="3234666976984236645">ሁልጊዜ በዚህ ጣቢያ ላይ ያለ አስፈላጊ ይዘትን አግኝ</translation>
 <translation id="3254409185687681395">ለእዚህ ገጽ ዕልባት አብጅ</translation>
 <translation id="3270847123878663523">&amp;ዳግም ደርድርን ቀልብስ</translation>
+<translation id="3280511504953918101">ይህ ስም የእርስዎን የGoogle ክፍያዎች መለያ በመፍጠር ወቅት በተጨማሪ ጥቅም ላይ ይውላል።</translation>
 <translation id="3282497668470633863">በካርድ ላይ ስም ያክሉ</translation>
 <translation id="3287510313208355388">መስመር ላይ ሲሆኑ ያውርዱ</translation>
 <translation id="3293642807462928945">ስለ<ph name="POLICY_NAME" /> መመሪያው ተጨማሪ ይወቁ</translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">መተርጎም</translation>
 <translation id="6839929833149231406">አካባቢ</translation>
 <translation id="6852204201400771460">መተግበሪያ ዳግም ይጫን?</translation>
+<translation id="6865412394715372076">ይህ ካርድ አሁን ላይ ሊረጋገጥ አይችልም</translation>
 <translation id="6874604403660855544">&amp;አክልን ድገም</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">የመመሪያ ደረጃ አይደገፍም።</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />፣ መልስ፣ <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">ከ<ph name="DOMAIN" /> ጋር ያለዎት ግንኙነት አልተመሰጠረም</translation>
 <translation id="8718314106902482036">ክፍያ አልተጠናቀቀም</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />፣ <ph name="DESCRIPTION" />፣ የፍለጋ ጥቆማ ሐሳብ</translation>
 <translation id="8725066075913043281">እንደገና ይሞክሩ</translation>
 <translation id="8728672262656704056">ማንነት የማያሳውቅ ሁነታ ውስጥ ገብተዋል</translation>
 <translation id="8730621377337864115">ተከናውኗል</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb
index 41bdf8c..bd754c2 100644
--- a/components/strings/components_strings_bg.xtb
+++ b/components/strings/components_strings_bg.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Важното съдържание на този сайт да се открива винаги</translation>
 <translation id="3254409185687681395">Запазване на отметка към тази страница</translation>
 <translation id="3270847123878663523">&amp;Отмяна на пренареждането</translation>
+<translation id="3280511504953918101">Това име ще се използва и при създаването на профила ви в Google за плащания.</translation>
 <translation id="3282497668470633863">Добавяне на името на картодържателя</translation>
 <translation id="3287510313208355388">Изтегляне, когато съм онлайн</translation>
 <translation id="3293642807462928945">Научете повече за правилото <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Превод</translation>
 <translation id="6839929833149231406">Район</translation>
 <translation id="6852204201400771460">Искате ли да презаредите приложението?</translation>
+<translation id="6865412394715372076">Тази карта не може да бъде потвърдена в момента</translation>
 <translation id="6874604403660855544">&amp;Възстановяване на добавянето</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Нивото на правилото не се поддържа.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164">„<ph name="QUERY" />“, отговор: „<ph name="ANSWER" />“</translation>
 <translation id="8703575177326907206">Връзката ви с <ph name="DOMAIN" /> не е шифрована.</translation>
 <translation id="8718314106902482036">Плащането не е завършено</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, предложение за търсене</translation>
 <translation id="8725066075913043281">Опитайте отново</translation>
 <translation id="8728672262656704056">Преминахте в режим „инкогнито“</translation>
 <translation id="8730621377337864115">Готово</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 07e1eb9..183661dbd 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Detecta sempre el contingut important d'aquest lloc</translation>
 <translation id="3254409185687681395">Afegeix aquesta pàgina a les adreces d'interès</translation>
 <translation id="3270847123878663523">&amp;Desfés el canvi d'ordre</translation>
+<translation id="3280511504953918101">Aquest nom també s'utilitzarà en crear el compte de pagaments de Google.</translation>
 <translation id="3282497668470633863">Afegeix el titular de la targeta</translation>
 <translation id="3287510313208355388">Baixa quan estigui en línia</translation>
 <translation id="3293642807462928945">Més informació sobre la política <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Tradueix</translation>
 <translation id="6839929833149231406">Àrea</translation>
 <translation id="6852204201400771460">Vols tornar a carregar l'aplicació?</translation>
+<translation id="6865412394715372076">En aquests moments no es pot verificar la targeta</translation>
 <translation id="6874604403660855544">&amp;Refés l'addició</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> (<ph name="SHORT_URL" />)</translation>
 <translation id="6891596781022320156">No s'admet el nivell de la política.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, resposta, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">La teva connexió a <ph name="DOMAIN" /> no està xifrada.</translation>
 <translation id="8718314106902482036">No s'ha completat el pagament</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, suggeriment de cerca</translation>
 <translation id="8725066075913043281">Torna-ho a provar</translation>
 <translation id="8728672262656704056">Has passat al mode d'incògnit</translation>
 <translation id="8730621377337864115">Fet</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index 8be35ee1..2733afd1 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Wichtige Inhalte auf dieser Website immer erkennen</translation>
 <translation id="3254409185687681395">Lesezeichen für diese Seite erstellen</translation>
 <translation id="3270847123878663523">&amp;Neu anordnen rückgängig machen</translation>
+<translation id="3280511504953918101">Dieser Name wird auch zum Erstellen Ihres Google-Zahlungskontos verwendet.</translation>
 <translation id="3282497668470633863">Angabe für "Name auf der Karte" hinzufügen</translation>
 <translation id="3287510313208355388">Herunterladen, sobald eine Internetverbindung besteht</translation>
 <translation id="3293642807462928945">Weitere Informationen zur "<ph name="POLICY_NAME" />"-Richtlinie</translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">Übersetzen</translation>
 <translation id="6839929833149231406">Stadtteil</translation>
 <translation id="6852204201400771460">App neu laden?</translation>
+<translation id="6865412394715372076">Diese Karte kann momentan nicht geprüft werden</translation>
 <translation id="6874604403660855544">&amp;Hinzufügen wiederholen</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Richtlinienebene wird nicht unterstützt.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, Antwort, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Die Verbindung zu <ph name="DOMAIN" /> ist nicht verschlüsselt.</translation>
 <translation id="8718314106902482036">Zahlung nicht abgeschlossen</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, Suchvorschlag</translation>
 <translation id="8725066075913043281">Erneut versuchen</translation>
 <translation id="8728672262656704056">Sie haben den Inkognitomodus aktiviert</translation>
 <translation id="8730621377337864115">Fertig</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 26b5f9a..2452e673 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Να εντοπίζεται πάντα σημαντικό περιεχόμενο σε αυτόν τον ιστότοπο</translation>
 <translation id="3254409185687681395">Προσθήκη αυτής της σελίδας στους σελιδοδείκτες</translation>
 <translation id="3270847123878663523">&amp;Αναίρεση αναδιάταξης</translation>
+<translation id="3280511504953918101">Αυτό το όνομα θα χρησιμοποιηθεί επίσης κατά τη δημιουργία του λογαριασμού πληρωμών σας στο Google.</translation>
 <translation id="3282497668470633863">Προσθήκη ονόματος στην κάρτα</translation>
 <translation id="3287510313208355388">Να γίνει λήψη όταν πραγματοποιηθεί σύνδεση</translation>
 <translation id="3293642807462928945">Μάθετε περισσότερα σχετικά με την πολιτική <ph name="POLICY_NAME" /></translation>
@@ -804,6 +805,7 @@
 <translation id="6831043979455480757">Μετάφραση</translation>
 <translation id="6839929833149231406">Περιοχή</translation>
 <translation id="6852204201400771460">Επανάληψη φόρτωσης εφαρμογής;</translation>
+<translation id="6865412394715372076">Δεν είναι δυνατή η επαλήθευση της κάρτας αυτήν τη στιγμή</translation>
 <translation id="6874604403660855544">&amp;Επανάληψη προσθήκης</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Το επίπεδο πολιτικής δεν υποστηρίζεται.</translation>
@@ -1051,6 +1053,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, απάντηση, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Η σύνδεσή σας με τον τομέα <ph name="DOMAIN" /> δεν είναι κρυπτογραφημένη.</translation>
 <translation id="8718314106902482036">Η πληρωμή δεν ολοκληρώθηκε</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, πρόταση αναζήτησης</translation>
 <translation id="8725066075913043281">Προσπαθήστε ξανά</translation>
 <translation id="8728672262656704056">Πραγματοποιείτε ανώνυμη περιήγηση</translation>
 <translation id="8730621377337864115">Ολοκληρώθηκε</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index b006afeb..6271c91 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Always detect important content on this site</translation>
 <translation id="3254409185687681395">Bookmark this page</translation>
 <translation id="3270847123878663523">&amp;Undo Reorder</translation>
+<translation id="3280511504953918101">This name will also be used when creating your Google payments account.</translation>
 <translation id="3282497668470633863">Add name on card</translation>
 <translation id="3287510313208355388">Download when online</translation>
 <translation id="3293642807462928945">Learn more about <ph name="POLICY_NAME" /> policy</translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Translate</translation>
 <translation id="6839929833149231406">Area</translation>
 <translation id="6852204201400771460">Reload app?</translation>
+<translation id="6865412394715372076">This card can't be verified at the moment</translation>
 <translation id="6874604403660855544">&amp;Redo add</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Policy level is not supported.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, answer, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Your connection to <ph name="DOMAIN" /> is not encrypted.</translation>
 <translation id="8718314106902482036">Payment not completed</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, search suggestion</translation>
 <translation id="8725066075913043281">Try again</translation>
 <translation id="8728672262656704056">You’ve gone incognito</translation>
 <translation id="8730621377337864115">Done</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index d96ef084..a87ed36 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Detectar siempre contenido importante en este sitio</translation>
 <translation id="3254409185687681395">Añadir esta página a marcadores</translation>
 <translation id="3270847123878663523">&amp;Deshacer reorganización</translation>
+<translation id="3280511504953918101">Este nombre se usará también para crear tu cuenta de pagos de Google.</translation>
 <translation id="3282497668470633863">Añadir un nombre de la tarjeta</translation>
 <translation id="3287510313208355388">Descargar cuando haya conexión</translation>
 <translation id="3293642807462928945">Más información sobre la política <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Traducir</translation>
 <translation id="6839929833149231406">Área</translation>
 <translation id="6852204201400771460">¿Quieres volver a cargar la aplicación?</translation>
+<translation id="6865412394715372076">No se puede verificar la tarjeta en este momento.</translation>
 <translation id="6874604403660855544">&amp;Rehacer acción de añadir</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">No se admite el nivel de la política.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, respuesta: <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Tu conexión a <ph name="DOMAIN" /> no está cifrada.</translation>
 <translation id="8718314106902482036">El pago no se ha completado</translation>
+<translation id="8719263113926255150">Sugerencia de búsqueda: <ph name="ENTITY" />, <ph name="DESCRIPTION" /></translation>
 <translation id="8725066075913043281">Volver a intentarlo</translation>
 <translation id="8728672262656704056">Has iniciado una sesión de incógnito</translation>
 <translation id="8730621377337864115">Listo</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index 149d061c..c8371b45 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Sellel saidil olulise sisu alati tuvastamine</translation>
 <translation id="3254409185687681395">Lisa see lehekülg järjehoidjatesse</translation>
 <translation id="3270847123878663523">&amp;Võta korrastamine tagasi</translation>
+<translation id="3280511504953918101">Seda nime kasutatakse ka Google'i maksete konto loomisel.</translation>
 <translation id="3282497668470633863">Kaardil oleva nime lisamine</translation>
 <translation id="3287510313208355388">Laadi alla, kui ühendus on saadaval</translation>
 <translation id="3293642807462928945">Lisateave reegli <ph name="POLICY_NAME" /> kohta</translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Tõlgi</translation>
 <translation id="6839929833149231406">Piirkond</translation>
 <translation id="6852204201400771460">Kas soovite rakenduse uuesti laadida?</translation>
+<translation id="6865412394715372076">Seda kaarti ei saa praegu kinnitada</translation>
 <translation id="6874604403660855544">&amp;Lisa uuesti</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Reegli taset ei toetata.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, vastus, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Teie ühendus <ph name="DOMAIN" />'ga pole krüptitud.</translation>
 <translation id="8718314106902482036">Makset ei viidud lõpule</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, otsingusoovitus</translation>
 <translation id="8725066075913043281">Proovi uuesti</translation>
 <translation id="8728672262656704056">Olete inkognito režiimis</translation>
 <translation id="8730621377337864115">Valmis</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index 086386e..2f67de3 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Palaging tukuyin ang mahalagang content sa site na ito</translation>
 <translation id="3254409185687681395">I-bookmark ang page na ito</translation>
 <translation id="3270847123878663523">&amp;I-undo ang Pagbabago sa Ayos</translation>
+<translation id="3280511504953918101">Gagamitin din ang pangalan na ito sa paggawa ng iyong account ng mga pagbabayad sa Google.</translation>
 <translation id="3282497668470633863">Magdagdag ng pangalan sa card</translation>
 <translation id="3287510313208355388">I-download kapag online</translation>
 <translation id="3293642807462928945">Matuto pa tungkol sa patakarang <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Isalin</translation>
 <translation id="6839929833149231406">Lugar</translation>
 <translation id="6852204201400771460">I-reload ang app?</translation>
+<translation id="6865412394715372076">Hindi ma-verify ang card na ito sa ngayon.</translation>
 <translation id="6874604403660855544">&amp;Gawing muli ang pagdagdag</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Hindi sinusuportahan ang antas ng patakaran.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, sagot, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Ang iyong koneksyon sa <ph name="DOMAIN" /> ay hindi naka-encrypt.</translation>
 <translation id="8718314106902482036">Hindi nakumpleto ang pagbabayad</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, suhestyon sa paghahanap</translation>
 <translation id="8725066075913043281">Muling subukan</translation>
 <translation id="8728672262656704056">Naging incognito ka</translation>
 <translation id="8730621377337864115">Tapos na</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index e0c1385..970295a 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Toujours détecter du contenu important sur ce site</translation>
 <translation id="3254409185687681395">Ajouter cette page aux favoris</translation>
 <translation id="3270847123878663523">&amp;Annuler la réorganisation</translation>
+<translation id="3280511504953918101">Ce nom sera également utilisé lors de la création de votre compte de paiement Google.</translation>
 <translation id="3282497668470633863">Ajouter le nom sur la carte</translation>
 <translation id="3287510313208355388">Télécharger une fois en ligne</translation>
 <translation id="3293642807462928945">En savoir plus sur les règles <ph name="POLICY_NAME" />.</translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Traduire</translation>
 <translation id="6839929833149231406">Région</translation>
 <translation id="6852204201400771460">Actualiser l'application ?</translation>
+<translation id="6865412394715372076">Impossible de valider cette carte pour le moment</translation>
 <translation id="6874604403660855544">&amp;Rétablir l'ajout</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Le niveau de la règle n'est pas accepté.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, réponse, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Votre connexion à <ph name="DOMAIN" /> n'est pas chiffrée.</translation>
 <translation id="8718314106902482036">Paiement non finalisé</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, suggestion de recherche</translation>
 <translation id="8725066075913043281">Réessayer</translation>
 <translation id="8728672262656704056">Vous êtes passé en mode navigation privée</translation>
 <translation id="8730621377337864115">OK</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index 3a9dbd97..a6256822 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">इस साइट पर हमेशा महत्‍वपूर्ण सामग्री का पता लगाएं</translation>
 <translation id="3254409185687681395">इस पेज को बुकमार्क करें</translation>
 <translation id="3270847123878663523">&amp;पुन: क्रमित करना वापस लाएं</translation>
+<translation id="3280511504953918101">इस नाम का इस्तेमाल आपका Google पेमेंट्स खाता बनाते समय भी किया जाएगा.</translation>
 <translation id="3282497668470633863">कार्ड पर नाम जोड़ें</translation>
 <translation id="3287510313208355388">ऑनलाइन होने पर डाउनलोड करें</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> नीति के बारे में अधिक जानें</translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">अनुवाद करें</translation>
 <translation id="6839929833149231406">क्षेत्र</translation>
 <translation id="6852204201400771460">ऐप्लिकेशन फिर लोड करें?</translation>
+<translation id="6865412394715372076">इस कार्ड की पुष्टि अभी नहीं की जा सकती</translation>
 <translation id="6874604403660855544">&amp;जोड़ना फिर से करें</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">नीति स्तर समर्थित नहीं है.</translation>
@@ -1050,6 +1052,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, उत्तर, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206"><ph name="DOMAIN" /> से आपके कनेक्शन को एन्क्रिप्ट नहीं किया गया है.</translation>
 <translation id="8718314106902482036">भुगतान पूरा नहीं हुआ</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, खोज सुझाव</translation>
 <translation id="8725066075913043281">पुन: प्रयास करें</translation>
 <translation id="8728672262656704056">आप गुप्त मोड में चले गए हैं</translation>
 <translation id="8730621377337864115">पूर्ण</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index d0ffb1a..2174ba40fa 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Uvijek otkrivaj važan sadržaj na ovoj web-lokaciji</translation>
 <translation id="3254409185687681395">Označi ovu stranicu</translation>
 <translation id="3270847123878663523">&amp;Poništi promjenu rasporeda</translation>
+<translation id="3280511504953918101">Taj naziv upotrebljavat će se i prilikom izrade Google računa za plaćanje</translation>
 <translation id="3282497668470633863">Dodajte ime na kartici</translation>
 <translation id="3287510313208355388">Preuzmi online</translation>
 <translation id="3293642807462928945">Saznajte više o pravilu <ph name="POLICY_NAME" /></translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">Prevedi</translation>
 <translation id="6839929833149231406">Područje</translation>
 <translation id="6852204201400771460">Ponovo učitati aplikaciju?</translation>
+<translation id="6865412394715372076">Trenutačno nije moguće potvrditi karticu</translation>
 <translation id="6874604403660855544">&amp;Ponovi dodavanje</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Razina pravila nije podržana.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odgovor, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Vaša veza s <ph name="DOMAIN" /> nije šifrirana.</translation>
 <translation id="8718314106902482036">Plaćanje nije dovršeno</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, prijedlog za pretraživanje</translation>
 <translation id="8725066075913043281">Pokušajte ponovo</translation>
 <translation id="8728672262656704056">Radite u anonimnom načinu</translation>
 <translation id="8730621377337864115">Gotovo</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index 64dd03ce..414a3ee 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -330,6 +330,7 @@
 <translation id="3234666976984236645">Mindig észlelje a fontos tartalmat ezen a webhelyen</translation>
 <translation id="3254409185687681395">Könyvjelző hozzáadása ehhez az oldalhoz</translation>
 <translation id="3270847123878663523">&amp;Átrendezés visszavonása</translation>
+<translation id="3280511504953918101">Ezt a név jelenik meg majd a Google Payments-fiók létrehozásakor is.</translation>
 <translation id="3282497668470633863">Adja meg a kártyán szereplő nevet</translation>
 <translation id="3287510313208355388">Letöltés online állapotban</translation>
 <translation id="3293642807462928945">További információ a(z) <ph name="POLICY_NAME" /> házirendről</translation>
@@ -801,6 +802,7 @@
 <translation id="6831043979455480757">Fordítás</translation>
 <translation id="6839929833149231406">Körzet</translation>
 <translation id="6852204201400771460">Újratölti az alkalmazást?</translation>
+<translation id="6865412394715372076">Ez a kártya jelenleg nem ellenőrizhető</translation>
 <translation id="6874604403660855544">&amp;Hozzáadás újra</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Ezt a házirendszintet a rendszer nem támogatja.</translation>
@@ -1048,6 +1050,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />. A válasz: <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">A kapcsolat (<ph name="DOMAIN" />) nem titkosított.</translation>
 <translation id="8718314106902482036">A fizetés nem fejeződött be</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, keresési javaslat</translation>
 <translation id="8725066075913043281">Újrapróbálás</translation>
 <translation id="8728672262656704056">Ön inkognitómódra váltott</translation>
 <translation id="8730621377337864115">Kész</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index 4d9337b..dca1556 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Selalu deteksi konten penting di situs ini</translation>
 <translation id="3254409185687681395">Bookmark halaman ini</translation>
 <translation id="3270847123878663523">&amp;Urungkan Pengaturan Ulang</translation>
+<translation id="3280511504953918101">Nama ini juga akan digunakan saat membuat akun pembayaran Google Anda.</translation>
 <translation id="3282497668470633863">Tambahkan nama di kartu</translation>
 <translation id="3287510313208355388">Download saat online</translation>
 <translation id="3293642807462928945">Pelajari lebih lanjut tentang kebijakan <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Terjemahkan</translation>
 <translation id="6839929833149231406">Area</translation>
 <translation id="6852204201400771460">Muat ulang aplikasi?</translation>
+<translation id="6865412394715372076">Kartu ini tidak dapat diverifikasi sekarang</translation>
 <translation id="6874604403660855544">&amp;Ulangi penambahan</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Tingkat kebijakan tidak didukung.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, dengan jawaban, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Sambungan ke <ph name="DOMAIN" /> tidak dienkripsi.</translation>
 <translation id="8718314106902482036">Pembayaran belum selesai</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, saran penelusuran</translation>
 <translation id="8725066075913043281">Coba lagi</translation>
 <translation id="8728672262656704056">Anda masuk mode penyamaran</translation>
 <translation id="8730621377337864115">Selesai</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index ebd3f84..376b018 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -329,6 +329,7 @@
 <translation id="3234666976984236645">Rileva sempre contenuti importanti di questo sito</translation>
 <translation id="3254409185687681395">Aggiungi ai Preferiti</translation>
 <translation id="3270847123878663523">&amp;Annulla ridisposizione</translation>
+<translation id="3280511504953918101">Questo nome verrà utilizzato anche durante la creazione del tuo account pagamenti Google.</translation>
 <translation id="3282497668470633863">Aggiungi il nome indicato sulla carta</translation>
 <translation id="3287510313208355388">Scarica quando è online</translation>
 <translation id="3293642807462928945">Scopri di più sulla norma <ph name="POLICY_NAME" /></translation>
@@ -799,6 +800,7 @@
 <translation id="6831043979455480757">Traduci</translation>
 <translation id="6839929833149231406">Area</translation>
 <translation id="6852204201400771460">Ricaricare l'app?</translation>
+<translation id="6865412394715372076">Al momento non è possibile verificare questa carta.</translation>
 <translation id="6874604403660855544">&amp;Ripeti aggiunta</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Il livello della norma non è supportato.</translation>
@@ -1045,6 +1047,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, risposta, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">La connessione a <ph name="DOMAIN" /> non è criptata.</translation>
 <translation id="8718314106902482036">Pagamento non completato</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, suggerimento di ricerca</translation>
 <translation id="8725066075913043281">Riprova</translation>
 <translation id="8728672262656704056">Sei passato alla navigazione in incognito</translation>
 <translation id="8730621377337864115">Fine</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index fbc75f1..024f0631 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">זהה תמיד תוכן חשוב באתר זה</translation>
 <translation id="3254409185687681395">הוסף את הדף לסימניות</translation>
 <translation id="3270847123878663523">&amp;ביטול של שינוי סדר</translation>
+<translation id="3280511504953918101">‏יתבצע שימוש בשם זה בעת יצירת חשבון תשלומי Google.</translation>
 <translation id="3282497668470633863">הוספה של השם המופיע בכרטיס</translation>
 <translation id="3287510313208355388">הורד לאחר התחברות</translation>
 <translation id="3293642807462928945">מידע נוסף על המדיניות <ph name="POLICY_NAME" /></translation>
@@ -808,6 +809,7 @@
 <translation id="6831043979455480757">תרגם</translation>
 <translation id="6839929833149231406">אזור</translation>
 <translation id="6852204201400771460">לטעון מחדש את האפליקציה?</translation>
+<translation id="6865412394715372076">אי אפשר לאמת כרגע את הכרטיס</translation>
 <translation id="6874604403660855544">&amp;ביצוע מחדש של הוספה</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">רמת המדיניות אינה נתמכת.</translation>
@@ -1055,6 +1057,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" /> , תשובה, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">ההתחברות שלך אל <ph name="DOMAIN" /> אינה מוצפנת.</translation>
 <translation id="8718314106902482036">התשלום לא הושלם</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, הצעת חיפוש</translation>
 <translation id="8725066075913043281">נסה שוב</translation>
 <translation id="8728672262656704056">עברת למצב גלישה בסתר</translation>
 <translation id="8730621377337864115">בוצע</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index 38787d4..4b56bb97 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -329,6 +329,7 @@
 <translation id="3234666976984236645">ಈ ಸೈಟ್‌ನಲ್ಲಿ ಯಾವಾಗೂ ಮುಖ್ಯ ವಿಷಯವನ್ನು ಹುಡುಕಿ</translation>
 <translation id="3254409185687681395">ಈ ಪುಟ ಬುಕ್‌ಮಾರ್ಕ್ ಮಾಡಿ</translation>
 <translation id="3270847123878663523">&amp;ಮರುಕ್ರಮಗೊಳಿಸುವುದನ್ನು ರದ್ದುಗೊಳಿಸು</translation>
+<translation id="3280511504953918101">ನಿಮ್ಮ Google ಪಾವತಿಗಳ ಖಾತೆಯನ್ನು ರಚಿಸುವಾಗ ಈ ಹೆಸರನ್ನು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ.</translation>
 <translation id="3282497668470633863">ಕಾರ್ಡ್‌ನಲ್ಲಿರುವ ಹೆಸರನ್ನು ಸೇರಿಸಿ</translation>
 <translation id="3287510313208355388">ಆನ್‌ಲೈನ್‌ನಲ್ಲಿರುವಾಗ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> ಕಾರ್ಯನೀತಿಯ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಿ</translation>
@@ -797,6 +798,7 @@
 <translation id="6831043979455480757">ಅನುವಾದಿಸು</translation>
 <translation id="6839929833149231406">ಪ್ರದೇಶ</translation>
 <translation id="6852204201400771460">ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪುನಃ ಆರಂಭಿಸಬೇಕೆ?</translation>
+<translation id="6865412394715372076">ಈ ಕಾರ್ಡ್ ಅನ್ನು ಈಗಲೇ ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="6874604403660855544">&amp;ಸೇರಿಸುವುದನ್ನು ಮತ್ತೆಮಾಡು</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">ನೀತಿಯ ಮಟ್ಟವು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ.</translation>
@@ -1043,6 +1045,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, ಉತ್ತರ, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206"><ph name="DOMAIN" /> ಗೆ ನಿಮ್ಮ ಸಂಪರ್ಕವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಆಗಿಲ್ಲ.</translation>
 <translation id="8718314106902482036">ಪಾವತಿ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, ಹುಡುಕಾಟ ಸಲಹೆ</translation>
 <translation id="8725066075913043281">ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ</translation>
 <translation id="8728672262656704056">ನೀವು ಅದೃಶ್ಯರಾಗಿರುವಿರಿ</translation>
 <translation id="8730621377337864115">ಮುಗಿದಿದೆ</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index efabb770..2519a37 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -333,6 +333,7 @@
 <translation id="3234666976984236645">Visada aptikti svarbų turinį šioje svetainėje</translation>
 <translation id="3254409185687681395">Įtraukti šį puslapį į žymes</translation>
 <translation id="3270847123878663523">&amp;Anuliuoti pertvarkymą</translation>
+<translation id="3280511504953918101">Šis vardas taip pat bus naudojamas kuriant „Google“ mokamąją paskyrą.</translation>
 <translation id="3282497668470633863">Ant kortelės pateikto vardo pridėjimas</translation>
 <translation id="3287510313208355388">Atsisiųsti prisijungus</translation>
 <translation id="3293642807462928945">Sužinokite daugiau apie „<ph name="POLICY_NAME" />“ politiką</translation>
@@ -804,6 +805,7 @@
 <translation id="6831043979455480757">Vertėjas</translation>
 <translation id="6839929833149231406">Sritis</translation>
 <translation id="6852204201400771460">Įkelti programą iš naujo?</translation>
+<translation id="6865412394715372076">Šiuo metu kortelės patvirtinti nepavyksta</translation>
 <translation id="6874604403660855544">&amp;Pridėti dar kartą</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Politikos lygis nepalaikomas.</translation>
@@ -1051,6 +1053,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, atsakymas, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Jūsų ryšys su <ph name="DOMAIN" /> nekoduotas.</translation>
 <translation id="8718314106902482036">Mokėjimas neužbaigtas</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, paieškos pasiūlymas</translation>
 <translation id="8725066075913043281">Bandyti dar kartą</translation>
 <translation id="8728672262656704056">Veikia inkognito režimas</translation>
 <translation id="8730621377337864115">Atlikta</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index 73e6552..a49f007 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Vienmēr noteikt nozīmīgu saturu šajā vietnē</translation>
 <translation id="3254409185687681395">Grāmatot šo lapu</translation>
 <translation id="3270847123878663523">&amp;Pārkārtošanas atsaukšana</translation>
+<translation id="3280511504953918101">Šis vārds un uzvārds tiks izmantots arī Google maksājumu konta izveides laikā.</translation>
 <translation id="3282497668470633863">Pievienot vārdu un uzvārdu uz kartes</translation>
 <translation id="3287510313208355388">Lejupielādēt, kad pieejama tiešsaiste</translation>
 <translation id="3293642807462928945">Uzzināt vairāk par politiku <ph name="POLICY_NAME" /></translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">Tulkot</translation>
 <translation id="6839929833149231406">Apgabals</translation>
 <translation id="6852204201400771460">Vai atkārtoti ielādēt lietotni?</translation>
+<translation id="6865412394715372076">Pašlaik nevar verificēt šo karti.</translation>
 <translation id="6874604403660855544">&amp;Atcelt pievienošanas atsaukšanu</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" />: <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Politikas līmenis netiek atbalstīts.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, atbilde, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Jūsu savienojums ar <ph name="DOMAIN" /> nav kodēts.</translation>
 <translation id="8718314106902482036">Maksājums nav pabeigts</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, meklēšanas ieteikums</translation>
 <translation id="8725066075913043281">Mēģināt vēlreiz</translation>
 <translation id="8728672262656704056">Jūs esat atvēris inkognito režīmu</translation>
 <translation id="8730621377337864115">Gatavs</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index f33f93b..f9f26e7b 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -331,6 +331,7 @@
 <translation id="3234666976984236645">ഈ സൈറ്റിൽ എപ്പോഴും പ്രധാന ഉള്ളടക്കം കണ്ടെത്തുക</translation>
 <translation id="3254409185687681395">ഈ പേജ് ബുക്‌മാര്‍ക്ക് ചെയ്യുക</translation>
 <translation id="3270847123878663523">&amp;പുനഃക്രമീകരിക്കുന്നത് പഴയപടിയാക്കുക</translation>
+<translation id="3280511504953918101">നിങ്ങളുടെ Google പേയ്മെന്റ് അക്കൗണ്ട് സൃഷ്‌ടിക്കുമ്പോഴും ഈ പേര് ഉപയോഗിക്കും.</translation>
 <translation id="3282497668470633863">കാർഡിലെ പേര് ചേർക്കുക</translation>
 <translation id="3287510313208355388">ഓൺലൈൻ ആയിരിക്കുന്ന സമയത്ത് ഡൗൺലോഡുചെയ്യുക</translation>
 <translation id="3293642807462928945"><ph name="POLICY_NAME" /> നയത്തെ കുറിച്ച് കൂടുതലറിയുക</translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">വിവർത്തനം ചെയ്യുക</translation>
 <translation id="6839929833149231406">ഏരിയ</translation>
 <translation id="6852204201400771460">ആപ്പ് റീലോഡ് ചെയ്യണോ?</translation>
+<translation id="6865412394715372076">ഈ കാർഡ് ഇപ്പോൾ പരിശോധിച്ചുറപ്പിക്കാനാവില്ല</translation>
 <translation id="6874604403660855544">&amp;ചേർക്കുന്നത് വീണ്ടും ചെയ്യുക</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">നയ നില പിന്തുണയ്ക്കുന്നില്ല.</translation>
@@ -1047,6 +1049,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, ഉത്തരം, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206"><ph name="DOMAIN" /> ലേക്കുള്ള നിങ്ങളുടെ കണക്ഷന്‍ എന്‍‌ക്രിപ്റ്റ് ചെയ്തിട്ടില്ല.</translation>
 <translation id="8718314106902482036">പേയ്‌മെന്റ് പൂർത്തിയായിട്ടില്ല</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, തിരയൽ നിർദ്ദേശം</translation>
 <translation id="8725066075913043281">വീണ്ടും ശ്രമിക്കുക</translation>
 <translation id="8728672262656704056">നിങ്ങൾ അദൃശ്യ വിൻഡോയിലാണ്</translation>
 <translation id="8730621377337864115">പൂർത്തിയാക്കി</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index 7ff070a0..c1fc459 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Sentiasa kesan kandungan penting di tapak web ini</translation>
 <translation id="3254409185687681395">Tanda halaman ini</translation>
 <translation id="3270847123878663523">&amp;Buat asal Susun semula</translation>
+<translation id="3280511504953918101">Nama ini turut digunakan apabila membuat akaun pembayaran Google anda.</translation>
 <translation id="3282497668470633863">Tambahkan nama pada kad</translation>
 <translation id="3287510313208355388">Muat turun semasa dalam talian</translation>
 <translation id="3293642807462928945">Ketahui lebih lanjut tentang dasar <ph name="POLICY_NAME" /></translation>
@@ -804,6 +805,7 @@
 <translation id="6831043979455480757">Terjemah</translation>
 <translation id="6839929833149231406">Kawasan</translation>
 <translation id="6852204201400771460">Muat semula apl?</translation>
+<translation id="6865412394715372076">Kad ini tidak dapat disahkan sekarang</translation>
 <translation id="6874604403660855544">&amp;Buat semula tambahkan</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Tahap dasar tidak disokong.</translation>
@@ -1051,6 +1053,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, jawapan, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Sambungan anda ke <ph name="DOMAIN" /> tidak disulitkan.</translation>
 <translation id="8718314106902482036">Pembayaran belum selesai</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, cadangan carian</translation>
 <translation id="8725066075913043281">Cuba lagi</translation>
 <translation id="8728672262656704056">Anda menggunakan mod inkognito</translation>
 <translation id="8730621377337864115">Selesai</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index f519932f..98c7454 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -329,6 +329,7 @@
 <translation id="3234666976984236645">Altijd belangrijke content op deze site detecteren</translation>
 <translation id="3254409185687681395">Bladwijzer instellen voor deze pagina</translation>
 <translation id="3270847123878663523">&amp;Volgorde wijzigen ongedaan maken</translation>
+<translation id="3280511504953918101">Deze naam wordt ook gebruikt wanneer je Google-betalingsaccount wordt gemaakt.</translation>
 <translation id="3282497668470633863">Naam op kaart toevoegen</translation>
 <translation id="3287510313208355388">Downloaden wanneer online</translation>
 <translation id="3293642807462928945">Meer informatie over het beleid <ph name="POLICY_NAME" /></translation>
@@ -798,6 +799,7 @@
 <translation id="6831043979455480757">Vertalen</translation>
 <translation id="6839929833149231406">Gebied</translation>
 <translation id="6852204201400771460">App opnieuw laden?</translation>
+<translation id="6865412394715372076">Deze kaart kan momenteel niet worden geverifieerd</translation>
 <translation id="6874604403660855544">&amp;Opnieuw toevoegen</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Beleidsniveau wordt niet ondersteund.</translation>
@@ -1044,6 +1046,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, antwoord, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Je verbinding met <ph name="DOMAIN" /> is niet gecodeerd.</translation>
 <translation id="8718314106902482036">Betaling niet voltooid</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, zoeksuggestie</translation>
 <translation id="8725066075913043281">Opnieuw proberen</translation>
 <translation id="8728672262656704056">Je bent incognito</translation>
 <translation id="8730621377337864115">Gereed</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index f9983884..d2f656f 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Zawsze wykrywaj ważną treść na tej stronie</translation>
 <translation id="3254409185687681395">Dodaj stronę do zakładek</translation>
 <translation id="3270847123878663523">&amp;Cofnij zmianę kolejności</translation>
+<translation id="3280511504953918101">Ta nazwa zostanie też użyta podczas tworzenia konta płatności Google.</translation>
 <translation id="3282497668470633863">Dodaj imię i nazwisko na karcie</translation>
 <translation id="3287510313208355388">Pobierz, gdy będę online</translation>
 <translation id="3293642807462928945">Więcej informacji o zasadzie <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Tłumacz</translation>
 <translation id="6839929833149231406">Dzielnica</translation>
 <translation id="6852204201400771460">Załadować ponownie aplikację?</translation>
+<translation id="6865412394715372076">Nie można teraz zweryfikować karty</translation>
 <translation id="6874604403660855544">&amp;Ponów dodanie</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Ten poziom zasad nie jest obsługiwany.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odpowiedź, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Połączenie z witryną <ph name="DOMAIN" /> nie jest szyfrowane.</translation>
 <translation id="8718314106902482036">Płatność nie została zrealizowana</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, sugestia wyszukiwania</translation>
 <translation id="8725066075913043281">Spróbuj ponownie</translation>
 <translation id="8728672262656704056">Jesteś w trybie incognito</translation>
 <translation id="8730621377337864115">Gotowe</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index acddc56..4549efe4 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -600,7 +600,7 @@
 <translation id="5201306358585911203">Uma página incorporada nesta página diz</translation>
 <translation id="5205222826937269299">Nome obrigatório</translation>
 <translation id="5222812217790122047">E-mail obrigatório</translation>
-<translation id="5230733896359313003">Endereço para envio</translation>
+<translation id="5230733896359313003">Endereço de entrega</translation>
 <translation id="5250209940322997802">"Conectar-se à rede"</translation>
 <translation id="5251803541071282808">Nuvem</translation>
 <translation id="5281113152797308730"><ph name="BEGIN_PARAGRAPH" />Siga estas etapas para desativar temporariamente o software e entrar na Web. Para isso, você precisará de privilégios de administrador.<ph name="END_PARAGRAPH" />
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index f14b8fd3..81ca8e5 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Detectează întotdeauna conținutul important pe acest site</translation>
 <translation id="3254409185687681395">Marcați această pagină</translation>
 <translation id="3270847123878663523">&amp;Anulați reordonarea</translation>
+<translation id="3280511504953918101">Acest nume va fi folosit și la crearea contului de plăți Google.</translation>
 <translation id="3282497668470633863">Adaugă numele de pe card</translation>
 <translation id="3287510313208355388">Descarcă când ești online</translation>
 <translation id="3293642807462928945">Află mai multe despre politica <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Tradu</translation>
 <translation id="6839929833149231406">Zonă</translation>
 <translation id="6852204201400771460">Reîncarci aplicația?</translation>
+<translation id="6865412394715372076">Acest card nu poate fi confirmat chiar acum.</translation>
 <translation id="6874604403660855544">&amp;Repetați adăugarea</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Nivelul politicii nu este acceptat.</translation>
@@ -1050,6 +1052,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, răspuns, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Conexiunea la <ph name="DOMAIN" /> nu este criptată.</translation>
 <translation id="8718314106902482036">Plata nu a fost finalizată</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, sugestie de căutare</translation>
 <translation id="8725066075913043281">Încearcă din nou</translation>
 <translation id="8728672262656704056">Ați trecut în modul incognito</translation>
 <translation id="8730621377337864115">Terminat</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index be9cf8fc..54b36c6 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -331,6 +331,7 @@
 <translation id="3234666976984236645">Всегда находить важный контент на этом сайте</translation>
 <translation id="3254409185687681395">Добавить страницу в закладки</translation>
 <translation id="3270847123878663523">&amp;Отменить изменение порядка</translation>
+<translation id="3280511504953918101">Это имя будет использовано также при создании платежного аккаунта Google.</translation>
 <translation id="3282497668470633863">Укажите имя владельца карты</translation>
 <translation id="3287510313208355388">Скачать при подключении к Интернету</translation>
 <translation id="3293642807462928945">Подробнее о политике <ph name="POLICY_NAME" />…</translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">Перевести</translation>
 <translation id="6839929833149231406">Административный район</translation>
 <translation id="6852204201400771460">Перезапустить приложение?</translation>
+<translation id="6865412394715372076">Невозможно подтвердить карту.</translation>
 <translation id="6874604403660855544">&amp;Повторить добавление</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" />, <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Значение правила не поддерживается.</translation>
@@ -1048,6 +1050,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, ответ, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Соединение с <ph name="DOMAIN" /> не зашифровано.</translation>
 <translation id="8718314106902482036">Не удалось обработать платеж</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, подсказка</translation>
 <translation id="8725066075913043281">Повторить попытку</translation>
 <translation id="8728672262656704056">Вы перешли в режим инкогнито</translation>
 <translation id="8730621377337864115">Готово</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 9ff046f3..6752cfe 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -329,6 +329,7 @@
 <translation id="3234666976984236645">Vždy na tomto webe zisťovať dôležitý obsah</translation>
 <translation id="3254409185687681395">Vytvoriť záložku pre túto stránku</translation>
 <translation id="3270847123878663523">&amp;Vrátiť späť zmenu poradia</translation>
+<translation id="3280511504953918101">Toto meno sa použije aj pri vytváraní platobného účtu Google.</translation>
 <translation id="3282497668470633863">Pridanie mena na karte</translation>
 <translation id="3287510313208355388">Stiahnuť po obnovení pripojenia</translation>
 <translation id="3293642807462928945">Ďalšie informácie o pravidle <ph name="POLICY_NAME" /></translation>
@@ -798,6 +799,7 @@
 <translation id="6831043979455480757">Preložiť</translation>
 <translation id="6839929833149231406">Oblasť</translation>
 <translation id="6852204201400771460">Načítať znova aplikáciu?</translation>
+<translation id="6865412394715372076">Táto karta sa momentálne nedá overiť</translation>
 <translation id="6874604403660855544">&amp;Znova pridať</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Úroveň pravidla nie je podporovaná.</translation>
@@ -1045,6 +1047,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, odpoveď, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Vaše pripojenie k doméne <ph name="DOMAIN" /> sa nešifruje.</translation>
 <translation id="8718314106902482036">Platba nebola dokončená</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, návrh vyhľadávania</translation>
 <translation id="8725066075913043281">Skúsiť znova</translation>
 <translation id="8728672262656704056">Ste v režime inkognito</translation>
 <translation id="8730621377337864115">Hotovo</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 46ae7e9..e45fcb4 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Увек откривај важан садржај на овом сајту</translation>
 <translation id="3254409185687681395">Обележите ову страницу</translation>
 <translation id="3270847123878663523">&amp;Опозови промену редоследа</translation>
+<translation id="3280511504953918101">Ово име ће се користити и за отварање налога за Google плаћања.</translation>
 <translation id="3282497668470633863">Додајте име на картици</translation>
 <translation id="3287510313208355388">Преузми када сам онлајн</translation>
 <translation id="3293642807462928945">Сазнајте више о смерницама <ph name="POLICY_NAME" /></translation>
@@ -802,6 +803,7 @@
 <translation id="6831043979455480757">Преведи</translation>
 <translation id="6839929833149231406">Област</translation>
 <translation id="6852204201400771460">Желите ли да поново учитате апликацију?</translation>
+<translation id="6865412394715372076">Тренутно не можемо да верификујемо ову картицу</translation>
 <translation id="6874604403660855544">&amp;Понови додавање</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Ниво смерница није подржан.</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, одговор, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Ваша веза са доменом <ph name="DOMAIN" /> није шифрована.</translation>
 <translation id="8718314106902482036">Плаћање није довршено</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, предлог за претрагу</translation>
 <translation id="8725066075913043281">Пробајте поново</translation>
 <translation id="8728672262656704056">Прешли сте у режим Без архивирања</translation>
 <translation id="8730621377337864115">Готово</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index 3db677a..08cdf3fb 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">ตรวจหาเนื้อหาที่สำคัญบนไซต์นี้เสมอ</translation>
 <translation id="3254409185687681395">บุ๊กมาร์กหน้านี้</translation>
 <translation id="3270847123878663523">&amp;เลิกทำการจัดลำดับใหม่</translation>
+<translation id="3280511504953918101">ระบบจะใช้ชื่อนี้เมื่อสร้างบัญชีการชำระเงินผ่าน Google ของคุณด้วย</translation>
 <translation id="3282497668470633863">เพิ่มชื่อบนบัตร</translation>
 <translation id="3287510313208355388">ดาวน์โหลดเมื่อออนไลน์</translation>
 <translation id="3293642807462928945">ดูข้อมูลเพิ่มเติมเกี่ยวกับนโยบาย <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">แปลภาษา</translation>
 <translation id="6839929833149231406">พื้นที่</translation>
 <translation id="6852204201400771460">โหลดแอปซ้ำไหม</translation>
+<translation id="6865412394715372076">ยืนยันบัตรนี้ไม่ได้ในขณะนี้</translation>
 <translation id="6874604403660855544">&amp;ทำซ้ำการเพิ่ม</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">ระดับนโยบายไม่ได้รับการสนับสนุน</translation>
@@ -1050,6 +1052,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, คำตอบ, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">การเชื่อมต่อของคุณไปยัง <ph name="DOMAIN" /> ไม่ได้รับการเข้ารหัส</translation>
 <translation id="8718314106902482036">การชำระเงินไม่เสร็จสมบูรณ์</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, คำแนะนำการค้นหา</translation>
 <translation id="8725066075913043281">ลองอีกครั้ง</translation>
 <translation id="8728672262656704056">คุณได้เข้าสู่โหมดไม่ระบุตัวตนแล้ว</translation>
 <translation id="8730621377337864115">เสร็จสิ้น</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index 0e41a9f..dbb361fd 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Завжди виявляти важливий вміст на цьому сайті</translation>
 <translation id="3254409185687681395">Додати цю сторінку до закладок</translation>
 <translation id="3270847123878663523">&amp;Відмінити перевпорядкування</translation>
+<translation id="3280511504953918101">Це ім’я також використовуватиметься під час створення платіжного профілю Google Payments.</translation>
 <translation id="3282497668470633863">Додати ім’я на кредитній картці</translation>
 <translation id="3287510313208355388">Завантажити після відновлення інтернет-з’єднання</translation>
 <translation id="3293642807462928945">Докладніше про правило <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Перекласти</translation>
 <translation id="6839929833149231406">Регіон або територія</translation>
 <translation id="6852204201400771460">Перезапустити додаток?</translation>
+<translation id="6865412394715372076">Зараз цю картку не можна підтвердити</translation>
 <translation id="6874604403660855544">&amp;Повторити додавання</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Правило не підтримується.</translation>
@@ -1050,6 +1052,7 @@
 <translation id="8680536109547170164">"<ph name="QUERY" />", відповідь: "<ph name="ANSWER" />"</translation>
 <translation id="8703575177326907206">Ваше з’єднання з <ph name="DOMAIN" /> не зашифровано.</translation>
 <translation id="8718314106902482036">Оплату не завершено</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, пропозиція пошуку</translation>
 <translation id="8725066075913043281">Повторити спробу</translation>
 <translation id="8728672262656704056">Ви перейшли в режим анонімного перегляду</translation>
 <translation id="8730621377337864115">Готово</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index ef398d0..6361992 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">Luôn luôn phát hiện nội dung quan trọng trên trang web này</translation>
 <translation id="3254409185687681395">Đánh dấu trang này</translation>
 <translation id="3270847123878663523">&amp;Hoàn tác sắp xếp lại</translation>
+<translation id="3280511504953918101">Tên này cũng sẽ được sử dụng khi bạn tạo tài khoản thanh toán Google.</translation>
 <translation id="3282497668470633863">Thêm tên trên thẻ</translation>
 <translation id="3287510313208355388">Tải xuống khi trực tuyến</translation>
 <translation id="3293642807462928945">Hãy tìm hiểu thêm về chính sách <ph name="POLICY_NAME" /></translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">Dịch</translation>
 <translation id="6839929833149231406">Khu vực</translation>
 <translation id="6852204201400771460">Tải lại ứng dụng?</translation>
+<translation id="6865412394715372076">Hiện không thể xác minh thẻ này</translation>
 <translation id="6874604403660855544">&amp;Làm lại thêm</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">Cấp chính sách không được hỗ trợ.</translation>
@@ -1050,6 +1052,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />, câu trả lời, <ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">Kết nối của bạn đến <ph name="DOMAIN" /> không được mã hóa.</translation>
 <translation id="8718314106902482036">Thanh toán chưa hoàn tất</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />, <ph name="DESCRIPTION" />, đề xuất tìm kiếm</translation>
 <translation id="8725066075913043281">Thử lại</translation>
 <translation id="8728672262656704056">Bạn đã chuyển sang chế độ ẩn danh</translation>
 <translation id="8730621377337864115">Hoàn tất</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 36f2bd2..e0493c9 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -332,6 +332,7 @@
 <translation id="3234666976984236645">一律偵測這個網站的重要內容</translation>
 <translation id="3254409185687681395">把此頁加入書籤</translation>
 <translation id="3270847123878663523">復原重新排序(&amp;U)</translation>
+<translation id="3280511504953918101">系統也會使用這個名稱建立你的 Google 付款帳戶。</translation>
 <translation id="3282497668470633863">新增持卡人姓名</translation>
 <translation id="3287510313208355388">上線時進行下載</translation>
 <translation id="3293642807462928945">進一步瞭解 <ph name="POLICY_NAME" /> 政策</translation>
@@ -803,6 +804,7 @@
 <translation id="6831043979455480757">翻譯</translation>
 <translation id="6839929833149231406">區</translation>
 <translation id="6852204201400771460">要重新載入應用程式嗎?</translation>
+<translation id="6865412394715372076">目前無法驗證這張信用卡</translation>
 <translation id="6874604403660855544">重做新增(&amp;R)</translation>
 <translation id="6886577214605505410"><ph name="LOCATION_TITLE" /> <ph name="SHORT_URL" /></translation>
 <translation id="6891596781022320156">系統不支援這項政策的層級。</translation>
@@ -1049,6 +1051,7 @@
 <translation id="8680536109547170164"><ph name="QUERY" />,答案:<ph name="ANSWER" /></translation>
 <translation id="8703575177326907206">你到 <ph name="DOMAIN" /> 的連線未加密。</translation>
 <translation id="8718314106902482036">未完成付款程序</translation>
+<translation id="8719263113926255150"><ph name="ENTITY" />,<ph name="DESCRIPTION" />,搜尋建議</translation>
 <translation id="8725066075913043281">再試一次</translation>
 <translation id="8728672262656704056">你已進入無痕模式</translation>
 <translation id="8730621377337864115">完成</translation>
diff --git a/components/test/data/autofill/automated_integration/action_recorder_extension/content/action_handler.js b/components/test/data/autofill/automated_integration/action_recorder_extension/content/action_handler.js
index 071b39b3..30e9b01 100644
--- a/components/test/data/autofill/automated_integration/action_recorder_extension/content/action_handler.js
+++ b/components/test/data/autofill/automated_integration/action_recorder_extension/content/action_handler.js
@@ -373,6 +373,18 @@
   }
 
   function onKeyUpActionHandler(event) {
+    if (event.key === 'Enter') {
+      const elementReadyState =
+          automation_helper.getElementState(event.target);
+      const selector = buildXPathForElement(event.target);
+      addActionToRecipe({
+        selector: selector,
+        visibility: elementReadyState,
+        context: frameContext,
+        type: 'pressEnter'
+      });
+    }
+
     if (isEditableInputElement(event.target)) {
       lastTypingEventTargetValue = event.target.value;
     } else {
diff --git a/components/test/data/autofill/automated_integration/action_recorder_extension/content/panel.js b/components/test/data/autofill/automated_integration/action_recorder_extension/content/panel.js
index 119a4f9d..f2460c1c 100644
--- a/components/test/data/autofill/automated_integration/action_recorder_extension/content/panel.js
+++ b/components/test/data/autofill/automated_integration/action_recorder_extension/content/panel.js
@@ -53,6 +53,10 @@
     selectorDetailLabel.textContent = action.selector;
 
     switch (action.type) {
+      case 'autofill':
+        actionLabel.textContent = 'trigger autofill';
+        actionDetailLabel.textContent = `trigger autofill`;
+        break;
       case 'click':
         actionLabel.textContent = 'left-click';
         actionDetailLabel.textContent = `left click element`;
@@ -61,9 +65,9 @@
         actionLabel.textContent = 'hover';
         actionDetailLabel.textContent = `hover over element`;
         break;
-      case 'autofill':
-        actionLabel.textContent = 'trigger autofill';
-        actionDetailLabel.textContent = `trigger autofill`;
+      case 'pressEnter':
+        actionLabel.textContent = 'enter';
+        actionDetailLabel.textContent = `press enter`;
         break;
       case 'select':
         actionLabel.textContent = 'select dropdown option';
diff --git a/components/unified_consent/unified_consent_service.cc b/components/unified_consent/unified_consent_service.cc
index 80f0a99..3142dc1 100644
--- a/components/unified_consent/unified_consent_service.cc
+++ b/components/unified_consent/unified_consent_service.cc
@@ -17,11 +17,11 @@
 namespace unified_consent {
 
 UnifiedConsentService::UnifiedConsentService(
-    UnifiedConsentServiceClient* service_client,
+    std::unique_ptr<UnifiedConsentServiceClient> service_client,
     PrefService* pref_service,
     identity::IdentityManager* identity_manager,
     syncer::SyncService* sync_service)
-    : service_client_(service_client),
+    : service_client_(std::move(service_client)),
       pref_service_(pref_service),
       identity_manager_(identity_manager),
       sync_service_(sync_service) {
@@ -112,7 +112,8 @@
 }
 
 void UnifiedConsentService::OnStateChanged(syncer::SyncService* sync) {
-  if (IsUnifiedConsentGiven())
+  syncer::SyncPrefs sync_prefs(pref_service_);
+  if (IsUnifiedConsentGiven() && !sync_prefs.HasKeepEverythingSynced())
     EnableAllSyncDataTypesIfPossible();
 }
 
@@ -156,7 +157,7 @@
 }
 
 void UnifiedConsentService::EnableAllSyncDataTypesIfPossible() {
-  if (sync_service_->GetState() != syncer::SyncService::State::ACTIVE)
+  if (!sync_service_->IsEngineInitialized())
     return;
   pref_service_->SetBoolean(autofill::prefs::kAutofillWalletImportEnabled,
                             true);
diff --git a/components/unified_consent/unified_consent_service.h b/components/unified_consent/unified_consent_service.h
index f2bd639..a48d9dd 100644
--- a/components/unified_consent/unified_consent_service.h
+++ b/components/unified_consent/unified_consent_service.h
@@ -42,10 +42,11 @@
                               public identity::IdentityManager::Observer,
                               public syncer::SyncServiceObserver {
  public:
-  UnifiedConsentService(UnifiedConsentServiceClient* service_client,
-                        PrefService* pref_service,
-                        identity::IdentityManager* identity_manager,
-                        syncer::SyncService* sync_service);
+  UnifiedConsentService(
+      std::unique_ptr<UnifiedConsentServiceClient> service_client,
+      PrefService* pref_service,
+      identity::IdentityManager* identity_manager,
+      syncer::SyncService* sync_service);
   ~UnifiedConsentService() override;
 
   // Register the prefs used by this UnifiedConsentService.
@@ -82,14 +83,14 @@
   // non-personalized services. Otherwise it does nothing.
   void OnUnifiedConsentGivenPrefChanged();
 
-  // Enables all sync data types if sync is active.
+  // Enables all sync data types if the sync engine is initialized.
   void EnableAllSyncDataTypesIfPossible();
 
   // Called when the unified consent service is created to resolve
   // inconsistencies with sync-related prefs.
   void MigrateProfileToUnifiedConsent();
 
-  UnifiedConsentServiceClient* service_client_;
+  std::unique_ptr<UnifiedConsentServiceClient> service_client_;
   PrefService* pref_service_;
   identity::IdentityManager* identity_manager_;
   syncer::SyncService* sync_service_;
diff --git a/components/unified_consent/unified_consent_service_unittest.cc b/components/unified_consent/unified_consent_service_unittest.cc
index f4cb701..7a39aa5 100644
--- a/components/unified_consent/unified_consent_service_unittest.cc
+++ b/components/unified_consent/unified_consent_service_unittest.cc
@@ -40,6 +40,9 @@
     if (observer_)
       observer_->OnStateChanged(this);
   }
+  // This is a helper if the value is set through |OnUserChoseDatatypes|, which
+  // is not implemented in |FakeSyncService|. Usually
+  // |sync_prefs_.HasKeepEverythingSynced()| is used.
   bool IsSyncingEverything() { return is_syncing_everything_; }
 
  private:
@@ -48,9 +51,36 @@
   bool is_syncing_everything_ = false;
 };
 
-class UnifiedConsentServiceTest : public testing::Test,
-                                  public UnifiedConsentServiceClient {
+class UnifiedConsentServiceTest : public testing::Test {
  public:
+  class FakeUnifiedConsentServiceClient : public UnifiedConsentServiceClient {
+   public:
+    FakeUnifiedConsentServiceClient(UnifiedConsentServiceTest* test)
+        : test_(test) {}
+    // UnifiedConsentServiceClient:
+    void SetAlternateErrorPagesEnabled(bool enabled) override {
+      test_->alternate_error_pages_enabled_ = enabled;
+    }
+    void SetMetricsReportingEnabled(bool enabled) override {
+      test_->metrics_reporting_enabled_ = enabled;
+    }
+    void SetNetworkPredictionEnabled(bool enabled) override {
+      test_->network_predictions_enabled_ = enabled;
+    }
+    void SetSafeBrowsingEnabled(bool enabled) override {
+      test_->safe_browsing_enabled_ = enabled;
+    }
+    void SetSafeBrowsingExtendedReportingEnabled(bool enabled) override {
+      test_->safe_browsing_extended_reporting_enabled_ = enabled;
+    }
+    void SetSearchSuggestEnabled(bool enabled) override {
+      test_->search_suggest_enabled_ = enabled;
+    }
+
+   private:
+    UnifiedConsentServiceTest* test_;
+  };
+
   // testing::Test:
   void SetUp() override {
     pref_service_.registry()->RegisterBooleanPref(
@@ -63,28 +93,8 @@
 
   void CreateConsentService() {
     consent_service_ = std::make_unique<UnifiedConsentService>(
-        this, &pref_service_, identity_test_environment_.identity_manager(),
-        &sync_service_);
-  }
-
-  // UnifiedConsentServiceClient:
-  void SetAlternateErrorPagesEnabled(bool enabled) override {
-    alternate_error_pages_enabled_ = enabled;
-  }
-  void SetMetricsReportingEnabled(bool enabled) override {
-    metrics_reporting_enabled_ = enabled;
-  }
-  void SetNetworkPredictionEnabled(bool enabled) override {
-    network_predictions_enabled_ = enabled;
-  }
-  void SetSafeBrowsingEnabled(bool enabled) override {
-    safe_browsing_enabled_ = enabled;
-  }
-  void SetSafeBrowsingExtendedReportingEnabled(bool enabled) override {
-    safe_browsing_extended_reporting_enabled_ = enabled;
-  }
-  void SetSearchSuggestEnabled(bool enabled) override {
-    search_suggest_enabled_ = enabled;
+        std::make_unique<FakeUnifiedConsentServiceClient>(this), &pref_service_,
+        identity_test_environment_.identity_manager(), &sync_service_);
   }
 
  protected:
@@ -146,6 +156,10 @@
   identity_test_environment_.SetPrimaryAccount("testaccount");
   EXPECT_FALSE(pref_service_.GetBoolean(prefs::kUnifiedConsentGiven));
   EXPECT_FALSE(sync_service_.IsSyncingEverything());
+  syncer::SyncPrefs sync_prefs(&pref_service_);
+  sync_prefs.SetKeepEverythingSynced(false);
+  EXPECT_FALSE(sync_prefs.HasKeepEverythingSynced());
+  EXPECT_FALSE(consent_service_->IsUnifiedConsentGiven());
 
   // Make sure sync is not active.
   sync_service_.SetEngineInitialized(false);
diff --git a/components/variations/variations_http_header_provider.cc b/components/variations/variations_http_header_provider.cc
index a473a40..a7a2097 100644
--- a/components/variations/variations_http_header_provider.cc
+++ b/components/variations/variations_http_header_provider.cc
@@ -21,6 +21,27 @@
 
 namespace variations {
 
+// The following documents how adding/removing http headers for web content
+// requests are implemented when Network Service is enabled or not enabled.
+//
+// When Network Service is not enabled, adding headers is implemented in
+// ChromeResourceDispatcherHostDelegate::RequestBeginning() by calling
+// variations::AppendVariationHeaders(), and removing headers is implemented in
+// ChromeNetworkDelegate::OnBeforeRedirect() by calling
+// variations::StripVariationHeaderIfNeeded().
+//
+// When Network Service is enabled, adding/removing headers is implemented by
+// request consumers, and how it is implemented depends on the request type.
+// There are three cases:
+// 1. Subresources request in renderer, it is implemented
+// in URLLoaderThrottleProviderImpl::CreateThrottles() by adding a
+// VariationsHeaderURLLoaderThrottle to a content::URLLoaderThrottle vector.
+// 2. Navigations/Downloads request in browser, it is implemented in
+// ChromeContentBrowserClient::CreateURLLoaderThrottles() by also adding a
+// VariationsHeaderURLLoaderThrottle to a content::URLLoaderThrottle vector.
+// 3. SimpleURLLoader in browser, it is implemented in a SimpleURLLoader wrapper
+// function variations::CreateSimpleURLLoaderWithVariationsHeaders().
+
 // static
 VariationsHttpHeaderProvider* VariationsHttpHeaderProvider::GetInstance() {
   return base::Singleton<VariationsHttpHeaderProvider>::get();
diff --git a/content/app/strings/translations/content_strings_am.xtb b/content/app/strings/translations/content_strings_am.xtb
index ef4359e111..fda2be1e 100644
--- a/content/app/strings/translations/content_strings_am.xtb
+++ b/content/app/strings/translations/content_strings_am.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">ቀጣዩን ወር አሳይ</translation>
 <translation id="512758898067543763">የረድፍ ራስጌ</translation>
 <translation id="5143125788380636750">ድሕረ ታሪክ</translation>
-<translation id="5153163864850940242">ይህ ቪዲዮ ስዕል-በስዕል ውስጥ እያጫወተ ነው</translation>
 <translation id="5164977714490026579">ዋጋ ከ<ph name="MINIMUM" /> የሚበልጥ ወይም ከእሱ እኩል መሆን አለበት።</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> ፔታ</translation>
 <translation id="5307600278924710095">እባክዎ አንድ ክፍል ያስገቡና «<ph name="ATSIGN" />»ን ያስከትሉ። «<ph name="INVALIDADDRESS" />» ያልተሟላ ነው።</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">ሜትር</translation>
 <translation id="6166809985690652833">ድሕረ ቃል</translation>
 <translation id="6213469881011901533">ሙዳየ ቃላት</translation>
-<translation id="6310801910862476708">ከስዕል-ውስጥ-ስዕል ውጣ</translation>
 <translation id="6398862346408813489">የወር መምረጫ ፓነል አሳይ</translation>
 <translation id="6404546809543547843">የኦዲዮ ሰዓት አንፏቃቂ</translation>
 <translation id="6453774872122745852">ምስጋና</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">ማህደረ መረጃን አውርድ</translation>
 <translation id="6981594929165378967">ማስገባት</translation>
 <translation id="6989848892321993519">እባክዎ ይህን ጽሑፍ ወደ <ph name="MIN_CHARACTERS" /> ወይም ከዚያ በላይ ቁምፊዎች ያራዝሙት (አሁን እየተጠቀሙ ያሉት 1 ቁምፊ ነው)።</translation>
+<translation id="7090364526657522309">Linux የቅርጸ-ቁምፊ አገልግሎት</translation>
 <translation id="709897737746224366">እባክዎ የተጠየቀውን ቅርጸት ያዛምዱ።</translation>
 <translation id="7139483182332611405">መቅድም</translation>
 <translation id="7223624360433298498">ያለፈው ጊዜ</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">ማውጫ</translation>
 <translation id="8613126697340063924">በርቀት መልሶ ማጫወትን ተቆጣጠር</translation>
 <translation id="862370744433916922">የግርጌ ጽሑፍ</translation>
-<translation id="8741316211671074806">በስዕል-ውስጥ-ስዕል</translation>
 <translation id="8750798805984357768">እባክዎ ከእነዚህ አማራጮች ውስጥ አንዱን ይምረጡ።</translation>
 <translation id="8785498733064193001">መልሶ ማጫወት ይጀምሩ</translation>
 <translation id="8808573423886751634">ምዕራፍ</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">ሌላ...</translation>
 <translation id="9138385573473225930">ማንቂያ</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />፣ የሚጀምረው በ<ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">በሥዕል ላይ ሥዕል</translation>
 <translation id="9168329111483466115">የግርጌ ማስታወሻ</translation>
 <translation id="954003015749068518">ወደ ስዕል-ውስጥ-ስዕል ይግቡ</translation>
 <translation id="966787709310836684">ምናሌ</translation>
diff --git a/content/app/strings/translations/content_strings_ar.xtb b/content/app/strings/translations/content_strings_ar.xtb
index e3f25b6..c5b663f 100644
--- a/content/app/strings/translations/content_strings_ar.xtb
+++ b/content/app/strings/translations/content_strings_ar.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">عرض الشهر التالي</translation>
 <translation id="512758898067543763">عنوان الصف</translation>
 <translation id="5143125788380636750">تتِّمة</translation>
-<translation id="5153163864850940242">يتم تشغيل هذا الفيديو في الوضع "نافذة ضمن النافذة".</translation>
 <translation id="5164977714490026579">يجب أن تكون القيمة أكبر من أو تساوي <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> بيتابايت</translation>
 <translation id="5307600278924710095">يُرجى إدخال جزء متبوع بعلامة "<ph name="ATSIGN" />"، حيث إن "<ph name="INVALIDADDRESS" />" غير مكتمل.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">متر</translation>
 <translation id="6166809985690652833">كلمة ختامية</translation>
 <translation id="6213469881011901533">مسرد مصطلحات</translation>
-<translation id="6310801910862476708">الخروج من وضع "نافذة ضمن نافذة"</translation>
 <translation id="6398862346408813489">عرض لوحة تحديد الشهر</translation>
 <translation id="6404546809543547843">شريط تمرير وقت الصوت</translation>
 <translation id="6453774872122745852">شكر وتقدير</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">جدول المحتويات</translation>
 <translation id="8613126697340063924">التحكم في التشغيل عن بعد</translation>
 <translation id="862370744433916922">ترجمة مصاحِبة</translation>
-<translation id="8741316211671074806">نافذة ضمن النافذة</translation>
 <translation id="8750798805984357768">يُرجى اختيار أحد هذه الخيارات.</translation>
 <translation id="8785498733064193001">بدء التشغيل</translation>
 <translation id="8808573423886751634">فصل</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">آخر...</translation>
 <translation id="9138385573473225930">تنبيه</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />، ابتداء من <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">نافذة ضمن النافذة</translation>
 <translation id="9168329111483466115">حاشية سُفلية</translation>
 <translation id="954003015749068518">الدخول في وضع "نافذة ضمن نافذة"</translation>
 <translation id="966787709310836684">القائمة</translation>
diff --git a/content/app/strings/translations/content_strings_bg.xtb b/content/app/strings/translations/content_strings_bg.xtb
index 72b0d3e..77b6612 100644
--- a/content/app/strings/translations/content_strings_bg.xtb
+++ b/content/app/strings/translations/content_strings_bg.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Показване на следващия месец</translation>
 <translation id="512758898067543763">заглавка на ред</translation>
 <translation id="5143125788380636750">епилог</translation>
-<translation id="5153163864850940242">Този видеоклип се възпроизвежда в режим „Картина в картината“</translation>
 <translation id="5164977714490026579">Стойността трябва да е по-голяма или равна на <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> ПБ</translation>
 <translation id="5307600278924710095">Моля, въведете текст преди „<ph name="ATSIGN" />“. „<ph name="INVALIDADDRESS" />“ е непълно.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">индикатор</translation>
 <translation id="6166809985690652833">послеслов</translation>
 <translation id="6213469881011901533">терминологичен речник</translation>
-<translation id="6310801910862476708">Изход от „Картина в картината“</translation>
 <translation id="6398862346408813489">Показване на панела за избиране на месец</translation>
 <translation id="6404546809543547843">времеви плъзгач за аудиозаписа</translation>
 <translation id="6453774872122745852">признания</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">изтегляне на мултимедията</translation>
 <translation id="6981594929165378967">вмъкване</translation>
 <translation id="6989848892321993519">Моля, удължете този текст до поне <ph name="MIN_CHARACTERS" /> знака (понастоящем използвате 1 знак).</translation>
+<translation id="7090364526657522309">Услуга за шрифтове на Linux</translation>
 <translation id="709897737746224366">Моля, спазвайте изисквания формат.</translation>
 <translation id="7139483182332611405">предисловие</translation>
 <translation id="7223624360433298498">изминало време</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">съдържание</translation>
 <translation id="8613126697340063924">управление на отдалеченото възпроизвеждане</translation>
 <translation id="862370744433916922">подзаглавие</translation>
-<translation id="8741316211671074806">Картина в картината</translation>
 <translation id="8750798805984357768">Моля, изберете една от тези опции.</translation>
 <translation id="8785498733064193001">начало на възпроизвеждането</translation>
 <translation id="8808573423886751634">глава</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Други...</translation>
 <translation id="9138385573473225930">сигнал</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> – започва от <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Картина в картината</translation>
 <translation id="9168329111483466115">бележка под линия</translation>
 <translation id="954003015749068518">вход в режима „Картина в картината“</translation>
 <translation id="966787709310836684">меню</translation>
diff --git a/content/app/strings/translations/content_strings_bn.xtb b/content/app/strings/translations/content_strings_bn.xtb
index 0767b307..5ce005c 100644
--- a/content/app/strings/translations/content_strings_bn.xtb
+++ b/content/app/strings/translations/content_strings_bn.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">পরবর্তী মাস দেখান</translation>
 <translation id="512758898067543763">সারি শিরোলেখ</translation>
 <translation id="5143125788380636750">উপসংহার</translation>
-<translation id="5153163864850940242">এই ভিডিওটি ছবির-মধ্যে-ছবিতে চালানো হচ্ছে</translation>
 <translation id="5164977714490026579">মানটি অবশ্যই <ph name="MINIMUM" />এর চেয়ে বেশি বা সমান হবে৷</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">'<ph name="ATSIGN" />' অনুসরণ করে একটি অংশ লিখুন৷ '<ph name="INVALIDADDRESS" />' অসম্পূর্ণ৷</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">মিটার</translation>
 <translation id="6166809985690652833">পরিশিষ্ট</translation>
 <translation id="6213469881011901533">শব্দকোষ</translation>
-<translation id="6310801910862476708">ছবির-মধ্যে-ছবি মোড থেকে বেরিয়ে আসুন</translation>
 <translation id="6398862346408813489">মাস নির্বাচনের প্যানেল দেখান</translation>
 <translation id="6404546809543547843">অডিও সময় স্ক্রাবার</translation>
 <translation id="6453774872122745852">কৃতজ্ঞতা স্বীকার</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">সূচিপত্র</translation>
 <translation id="8613126697340063924">রিমোট প্লেব্যাক নিয়ন্ত্রণ করুন</translation>
 <translation id="862370744433916922">সাবটাইটেল</translation>
-<translation id="8741316211671074806">ছবির-মধ্যে-ছবি</translation>
 <translation id="8750798805984357768">দয়া করে বিকল্পগুলির একটি নির্বাচন করুন৷</translation>
 <translation id="8785498733064193001">প্লেব্যাক শুরু করুন</translation>
 <translation id="8808573423886751634">অধ্যায়</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">অন্যান্য...</translation>
 <translation id="9138385573473225930">সতর্কতা</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" /> এ শুরু</translation>
+<translation id="916607977885256133">ছবির-মধ্যে-ছবি</translation>
 <translation id="9168329111483466115">ফুটনোট</translation>
 <translation id="954003015749068518">ছবির-মধ্যে-ছবি মোডে যান</translation>
 <translation id="966787709310836684">মেনু</translation>
diff --git a/content/app/strings/translations/content_strings_ca.xtb b/content/app/strings/translations/content_strings_ca.xtb
index 3c45b9c..b44fc61 100644
--- a/content/app/strings/translations/content_strings_ca.xtb
+++ b/content/app/strings/translations/content_strings_ca.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Mostra el mes següent</translation>
 <translation id="512758898067543763">capçalera de la fila</translation>
 <translation id="5143125788380636750">epíleg</translation>
-<translation id="5153163864850940242">Aquest vídeo s'està reproduint en mode de pantalla en pantalla</translation>
 <translation id="5164977714490026579">El valor ha de ser més gran o igual que <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Introduïu un nom d'usuari seguit de "<ph name="ATSIGN" />". "<ph name="INVALIDADDRESS" />" no és una adreça completa.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">comptador</translation>
 <translation id="6166809985690652833">cloenda</translation>
 <translation id="6213469881011901533">glossari</translation>
-<translation id="6310801910862476708">Surt del mode de pantalla en pantalla</translation>
 <translation id="6398862346408813489">Mostra el tauler de la selecció de mes</translation>
 <translation id="6404546809543547843">barra de moment de l'àudio</translation>
 <translation id="6453774872122745852">agraïments</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">baixa els fitxers multimèdia</translation>
 <translation id="6981594929165378967">inserció</translation>
 <translation id="6989848892321993519">Allarga aquest text fins a <ph name="MIN_CHARACTERS" /> caràcters o més (ara n'utilitzes 1).</translation>
+<translation id="7090364526657522309">Servei de tipus de lletra de Linux</translation>
 <translation id="709897737746224366">Feu servir el format sol·licitat.</translation>
 <translation id="7139483182332611405">prefaci</translation>
 <translation id="7223624360433298498">temps transcorregut</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">taula de continguts</translation>
 <translation id="8613126697340063924">reproducció amb comandament</translation>
 <translation id="862370744433916922">subtítol</translation>
-<translation id="8741316211671074806">Pantalla en pantalla</translation>
 <translation id="8750798805984357768">Seleccioneu una d'aquestes opcions.</translation>
 <translation id="8785498733064193001">inicia la reproducció</translation>
 <translation id="8808573423886751634">capítol</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Altres...</translation>
 <translation id="9138385573473225930">alerta</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, a partir del dia <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Pantalla en pantalla</translation>
 <translation id="9168329111483466115">nota al peu</translation>
 <translation id="954003015749068518">ves al mode de pantalla en pantalla</translation>
 <translation id="966787709310836684">menú</translation>
diff --git a/content/app/strings/translations/content_strings_cs.xtb b/content/app/strings/translations/content_strings_cs.xtb
index f8da1eae..beac6d5 100644
--- a/content/app/strings/translations/content_strings_cs.xtb
+++ b/content/app/strings/translations/content_strings_cs.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Zobrazit další měsíc</translation>
 <translation id="512758898067543763">záhlaví řádku</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Toto video se přehrává v režimu obrazu v obraze</translation>
 <translation id="5164977714490026579">Hodnota musí být větší nebo rovna <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Zadejte část před znakem <ph name="ATSIGN" />. Adresa <ph name="INVALIDADDRESS" /> není úplná.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">měřič</translation>
 <translation id="6166809985690652833">doslov</translation>
 <translation id="6213469881011901533">glosář</translation>
-<translation id="6310801910862476708">Ukončit režim obrazu v obraze</translation>
 <translation id="6398862346408813489">Zobrazit panel pro výběr měsíců</translation>
 <translation id="6404546809543547843">posuvník času zvuku</translation>
 <translation id="6453774872122745852">poděkování</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">obsah</translation>
 <translation id="8613126697340063924">ovládání vzdáleného přehrávání</translation>
 <translation id="862370744433916922">titulek</translation>
-<translation id="8741316211671074806">Obraz v obraze</translation>
 <translation id="8750798805984357768">Vyberte jednu z těchto možností.</translation>
 <translation id="8785498733064193001">zahájit přehrávání</translation>
 <translation id="8808573423886751634">kapitola</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Jiné…</translation>
 <translation id="9138385573473225930">upozornění</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, začíná <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Obraz v obraze</translation>
 <translation id="9168329111483466115">poznámka pod čarou</translation>
 <translation id="954003015749068518">spustit režim obrazu v obraze</translation>
 <translation id="966787709310836684">nabídka</translation>
diff --git a/content/app/strings/translations/content_strings_da.xtb b/content/app/strings/translations/content_strings_da.xtb
index d7b4642..2128488a 100644
--- a/content/app/strings/translations/content_strings_da.xtb
+++ b/content/app/strings/translations/content_strings_da.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Vis næste måned</translation>
 <translation id="512758898067543763">rækkeoverskrift</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Denne video afspilles som integreret billede</translation>
 <translation id="5164977714490026579">Værdien skal være større end eller lig med <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Angiv den del, der kommer før "<ph name="ATSIGN" />". "<ph name="INVALIDADDRESS" />" er ufuldstændig.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">måler</translation>
 <translation id="6166809985690652833">efterskrift</translation>
 <translation id="6213469881011901533">ordliste</translation>
-<translation id="6310801910862476708">Afslut integreret billede</translation>
 <translation id="6398862346408813489">Vis panel til valg af måned</translation>
 <translation id="6404546809543547843">afspilningsbjælke for lyd</translation>
 <translation id="6453774872122745852">tak</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">indholdsfortegnelse</translation>
 <translation id="8613126697340063924">kontrollér afspilning via fjernadgang</translation>
 <translation id="862370744433916922">undertitel</translation>
-<translation id="8741316211671074806">Integreret billede</translation>
 <translation id="8750798805984357768">Vælg en af disse muligheder.</translation>
 <translation id="8785498733064193001">start afspilning</translation>
 <translation id="8808573423886751634">kapitel</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Andet...</translation>
 <translation id="9138385573473225930">underretning</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, med start <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Integreret billede</translation>
 <translation id="9168329111483466115">fodnote</translation>
 <translation id="954003015749068518">start integreret billede</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_de.xtb b/content/app/strings/translations/content_strings_de.xtb
index 8f0459c5..36ecc4e 100644
--- a/content/app/strings/translations/content_strings_de.xtb
+++ b/content/app/strings/translations/content_strings_de.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Nächsten Monat anzeigen</translation>
 <translation id="512758898067543763">Zeilenüberschrift</translation>
 <translation id="5143125788380636750">Epilog</translation>
-<translation id="5153163864850940242">Dieses Video wird im Bild-in-Bild-Modus wiedergegeben</translation>
 <translation id="5164977714490026579">Wert muss größer als oder gleich <ph name="MINIMUM" /> sein.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Geben Sie etwas vor dem <ph name="ATSIGN" />-Zeichen ein. Die Angabe "<ph name="INVALIDADDRESS" />" ist unvollständig.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">Messinstrument</translation>
 <translation id="6166809985690652833">Nachwort</translation>
 <translation id="6213469881011901533">Glossar</translation>
-<translation id="6310801910862476708">Bild-im-Bild-Modus beenden</translation>
 <translation id="6398862346408813489">Auswahlbereich für Monatsanzeige</translation>
 <translation id="6404546809543547843">Audio-Zeitachse</translation>
 <translation id="6453774872122745852">Danksagung</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">Medien herunterladen</translation>
 <translation id="6981594929165378967">Einfügen</translation>
 <translation id="6989848892321993519">Verlängern Sie diesen Text auf mindestens <ph name="MIN_CHARACTERS" /> Zeichen. Derzeit verwenden Sie 1 Zeichen.</translation>
+<translation id="7090364526657522309">Linux-Schriftartendienst</translation>
 <translation id="709897737746224366">Ihre Eingabe muss mit dem geforderten Format übereinstimmen.</translation>
 <translation id="7139483182332611405">Vorbemerkung</translation>
 <translation id="7223624360433298498">Vergangene Zeit</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">Inhaltsverzeichnis</translation>
 <translation id="8613126697340063924">Remote-Wiedergabe steuern</translation>
 <translation id="862370744433916922">Untertitel</translation>
-<translation id="8741316211671074806">Bild im Bild</translation>
 <translation id="8750798805984357768">Wählen Sie eine dieser Optionen aus.</translation>
 <translation id="8785498733064193001">Wiedergabe starten</translation>
 <translation id="8808573423886751634">Kapitel</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Andere...</translation>
 <translation id="9138385573473225930">Benachrichtigung</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> ab dem <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Bild-in-Bild</translation>
 <translation id="9168329111483466115">Fußnote</translation>
 <translation id="954003015749068518">Bild-im-Bild-Modus aktivieren</translation>
 <translation id="966787709310836684">Menü</translation>
diff --git a/content/app/strings/translations/content_strings_el.xtb b/content/app/strings/translations/content_strings_el.xtb
index d04a343..58e6b975 100644
--- a/content/app/strings/translations/content_strings_el.xtb
+++ b/content/app/strings/translations/content_strings_el.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Εμφάνιση επόμενου μήνα</translation>
 <translation id="512758898067543763">κεφαλίδα σειράς</translation>
 <translation id="5143125788380636750">επίλογος</translation>
-<translation id="5153163864850940242">Η αναπαραγωγή αυτού του βίντεο γίνεται σε λειτουργία Picture-in-Picture</translation>
 <translation id="5164977714490026579">Η τιμή πρέπει να είναι μεγαλύτερη ή ίση του <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Καταχωρίστε το τμήμα της διεύθυνσης πριν το σύμβολο "<ph name="ATSIGN" />". Η διεύθυνση "<ph name="INVALIDADDRESS" />" δεν είναι πλήρης.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">μετρητής</translation>
 <translation id="6166809985690652833">επίλογος</translation>
 <translation id="6213469881011901533">γλωσσάρι</translation>
-<translation id="6310801910862476708">Έξοδος από τη λειτουργία Picture-in-Picture</translation>
 <translation id="6398862346408813489">Εμφάνιση παραθύρου επιλογής μήνα</translation>
 <translation id="6404546809543547843">δείκτης χρόνου ήχου</translation>
 <translation id="6453774872122745852">ευχαριστίες</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">λήψη μέσων</translation>
 <translation id="6981594929165378967">εισαγωγή</translation>
 <translation id="6989848892321993519">Αυξήστε την έκταση αυτού του κειμένου στους <ph name="MIN_CHARACTERS" /> χαρακτήρες ή περισσότερο (αυτήν τη στιγμή χρησιμοποιείτε 1 χαρακτήρα).</translation>
+<translation id="7090364526657522309">Υπηρεσία γραμματοσειρών Linux</translation>
 <translation id="709897737746224366">Αντιστοιχίστε τη ζητούμενη μορφή.</translation>
 <translation id="7139483182332611405">πρόλογος</translation>
 <translation id="7223624360433298498">χρόνος που παρήλθε</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">πίνακας περιεχομένων</translation>
 <translation id="8613126697340063924">έλεγχος απομακρυσμένης αναπαραγωγής</translation>
 <translation id="862370744433916922">υπότιτλος</translation>
-<translation id="8741316211671074806">Picture-in-picture</translation>
 <translation id="8750798805984357768">Ορίστε μία από αυτές τις επιλογές.</translation>
 <translation id="8785498733064193001">έναρξη αναπαραγωγής</translation>
 <translation id="8808573423886751634">κεφάλαιο</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Άλλες…</translation>
 <translation id="9138385573473225930">ειδοποίηση</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, από τις <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Παράθεση εικόνων</translation>
 <translation id="9168329111483466115">υποσημείωση</translation>
 <translation id="954003015749068518">είσοδος στη λειτουργία picture-in-picture</translation>
 <translation id="966787709310836684">μενού</translation>
diff --git a/content/app/strings/translations/content_strings_en-GB.xtb b/content/app/strings/translations/content_strings_en-GB.xtb
index acb40f9..a39f2297 100644
--- a/content/app/strings/translations/content_strings_en-GB.xtb
+++ b/content/app/strings/translations/content_strings_en-GB.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Show next month</translation>
 <translation id="512758898067543763">row header</translation>
 <translation id="5143125788380636750">epilogue</translation>
-<translation id="5153163864850940242">This video is playing in Picture-in-Picture</translation>
 <translation id="5164977714490026579">Value must be greater than or equal to <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Please enter a part followed by '<ph name="ATSIGN" />'. '<ph name="INVALIDADDRESS" />' is incomplete.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">meter</translation>
 <translation id="6166809985690652833">afterword</translation>
 <translation id="6213469881011901533">glossary</translation>
-<translation id="6310801910862476708">Exit picture-in-picture</translation>
 <translation id="6398862346408813489">Show month selection panel</translation>
 <translation id="6404546809543547843">audio time scrubber</translation>
 <translation id="6453774872122745852">acknowledgements</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">download media</translation>
 <translation id="6981594929165378967">insertion</translation>
 <translation id="6989848892321993519">Please lengthen this text to <ph name="MIN_CHARACTERS" /> characters or more (you are currently using 1 character).</translation>
+<translation id="7090364526657522309">Linux Font Service</translation>
 <translation id="709897737746224366">Please match the format requested.</translation>
 <translation id="7139483182332611405">preface</translation>
 <translation id="7223624360433298498">elapsed time</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">table of contents</translation>
 <translation id="8613126697340063924">control remote playback</translation>
 <translation id="862370744433916922">subtitle</translation>
-<translation id="8741316211671074806">Picture-in-picture</translation>
 <translation id="8750798805984357768">Please select one of these options.</translation>
 <translation id="8785498733064193001">begin playback</translation>
 <translation id="8808573423886751634">chapter</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Other...</translation>
 <translation id="9138385573473225930">alert</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, starting on <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picture in Picture</translation>
 <translation id="9168329111483466115">footnote</translation>
 <translation id="954003015749068518">enter picture-in-picture</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_es-419.xtb b/content/app/strings/translations/content_strings_es-419.xtb
index 2b4a39b..34f71c44 100644
--- a/content/app/strings/translations/content_strings_es-419.xtb
+++ b/content/app/strings/translations/content_strings_es-419.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Mostrar el mes siguiente</translation>
 <translation id="512758898067543763">encabezado de fila</translation>
 <translation id="5143125788380636750">epílogo</translation>
-<translation id="5153163864850940242">Este video se reproduce en el modo de pantalla en pantalla</translation>
 <translation id="5164977714490026579">El valor debe ser mayor de o igual a <ph name="MINIMUM" /></translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Ingresa texto antes del signo "<ph name="ATSIGN" />". La dirección "<ph name="INVALIDADDRESS" />" está incompleta.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">medidor</translation>
 <translation id="6166809985690652833">posfacio</translation>
 <translation id="6213469881011901533">glosario</translation>
-<translation id="6310801910862476708">Salir del modo de pantalla en pantalla</translation>
 <translation id="6398862346408813489">Mostrar el panel de selección de meses</translation>
 <translation id="6404546809543547843">control deslizante de duración del audio</translation>
 <translation id="6453774872122745852">reconocimientos</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">índice</translation>
 <translation id="8613126697340063924">controlar la reproducción remota</translation>
 <translation id="862370744433916922">subtítulo</translation>
-<translation id="8741316211671074806">Pantalla en pantalla</translation>
 <translation id="8750798805984357768">Selecciona una de estas opciones.</translation>
 <translation id="8785498733064193001">comenzar la reproducción</translation>
 <translation id="8808573423886751634">capítulo</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Otra...</translation>
 <translation id="9138385573473225930">alerta</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, a partir del <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Pantalla en pantalla</translation>
 <translation id="9168329111483466115">nota a pie de página</translation>
 <translation id="954003015749068518">ingresar al modo de pantalla en pantalla</translation>
 <translation id="966787709310836684">menú</translation>
diff --git a/content/app/strings/translations/content_strings_es.xtb b/content/app/strings/translations/content_strings_es.xtb
index e03488f..c98fd0f0 100644
--- a/content/app/strings/translations/content_strings_es.xtb
+++ b/content/app/strings/translations/content_strings_es.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Mostrar mes siguiente</translation>
 <translation id="512758898067543763">encabezado de fila</translation>
 <translation id="5143125788380636750">epílogo</translation>
-<translation id="5153163864850940242">Este vídeo se está reproduciendo en modo imagen en imagen</translation>
 <translation id="5164977714490026579">El valor debe ser superior o igual a <ph name="MINIMUM" /></translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Introduce texto seguido del signo "<ph name="ATSIGN" />". La dirección "<ph name="INVALIDADDRESS" />" está incompleta.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">medidor</translation>
 <translation id="6166809985690652833">epílogo</translation>
 <translation id="6213469881011901533">glosario</translation>
-<translation id="6310801910862476708">Salir del modo imagen en imagen</translation>
 <translation id="6398862346408813489">Mostrar panel para seleccionar el mes</translation>
 <translation id="6404546809543547843">control deslizante de duración de audio</translation>
 <translation id="6453774872122745852">agradecimientos</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">descargar archivos multimedia</translation>
 <translation id="6981594929165378967">inserción</translation>
 <translation id="6989848892321993519">Aumenta la longitud de este texto a <ph name="MIN_CHARACTERS" /> caracteres o más (actualmente, el texto tiene 1 carácter).</translation>
+<translation id="7090364526657522309">Servicio de fuentes de Linux</translation>
 <translation id="709897737746224366">Utiliza un formato que coincida con el solicitado</translation>
 <translation id="7139483182332611405">prefacio</translation>
 <translation id="7223624360433298498">tiempo transcurrido</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">índice</translation>
 <translation id="8613126697340063924">reproducción de control remoto</translation>
 <translation id="862370744433916922">subtítulo</translation>
-<translation id="8741316211671074806">Imagen en imagen</translation>
 <translation id="8750798805984357768">Selecciona una de estas opciones</translation>
 <translation id="8785498733064193001">iniciar reproducción</translation>
 <translation id="8808573423886751634">capítulo</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Otra...</translation>
 <translation id="9138385573473225930">alerta</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, a partir del <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Imagen en imagen</translation>
 <translation id="9168329111483466115">nota al pie</translation>
 <translation id="954003015749068518">abrir el modo imagen en imagen</translation>
 <translation id="966787709310836684">menú</translation>
diff --git a/content/app/strings/translations/content_strings_et.xtb b/content/app/strings/translations/content_strings_et.xtb
index 6c5e37636..f858923 100644
--- a/content/app/strings/translations/content_strings_et.xtb
+++ b/content/app/strings/translations/content_strings_et.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Järgmise kuu kuvamine</translation>
 <translation id="512758898067543763">rea päis</translation>
 <translation id="5143125788380636750">epiloog</translation>
-<translation id="5153163864850940242">Videot esitatakse pilt-pildis-režiimis</translation>
 <translation id="5164977714490026579">Väärtus peab olema suurem või võrdne <ph name="MINIMUM" />-ga.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Sisestage märgile „<ph name="ATSIGN" />” eelnev osa. Aadress „<ph name="INVALIDADDRESS" />” pole täielik.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mõõdik</translation>
 <translation id="6166809985690652833">järelsõna</translation>
 <translation id="6213469881011901533">sõnastik</translation>
-<translation id="6310801910862476708">Välju režiimist Pilt pildis</translation>
 <translation id="6398862346408813489">Kuu valikupaneeli kuvamine</translation>
 <translation id="6404546809543547843">heli ajamõõdik</translation>
 <translation id="6453774872122745852">tunnustused</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">laadi meedia alla</translation>
 <translation id="6981594929165378967">lisamine</translation>
 <translation id="6989848892321993519">Pikendage teksti vähemalt <ph name="MIN_CHARACTERS" /> tähemärgini (kasutate praegu ühte tähemärki).</translation>
+<translation id="7090364526657522309">Linuxi fonditeenus</translation>
 <translation id="709897737746224366">Vastendage nõutav vorming.</translation>
 <translation id="7139483182332611405">eessõna</translation>
 <translation id="7223624360433298498">möödunud aeg</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">sisukord</translation>
 <translation id="8613126697340063924">kaugesituse juhtimine</translation>
 <translation id="862370744433916922">alapealkiri</translation>
-<translation id="8741316211671074806">Pilt pildis</translation>
 <translation id="8750798805984357768">Tehke üks nendest valikutest.</translation>
 <translation id="8785498733064193001">taasesituse alustamine</translation>
 <translation id="8808573423886751634">peatükk</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Muu ...</translation>
 <translation id="9138385573473225930">hoiatus</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> alates kuupäevast <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Pilt pildis</translation>
 <translation id="9168329111483466115">allmärkus</translation>
 <translation id="954003015749068518">aktiveeri režiim Pilt pildis</translation>
 <translation id="966787709310836684">menüü</translation>
diff --git a/content/app/strings/translations/content_strings_fa.xtb b/content/app/strings/translations/content_strings_fa.xtb
index 32be808a..7f96e84 100644
--- a/content/app/strings/translations/content_strings_fa.xtb
+++ b/content/app/strings/translations/content_strings_fa.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">نمایش ماه بعدی</translation>
 <translation id="512758898067543763">عنوان ردیف</translation>
 <translation id="5143125788380636750">گفتار پایانی</translation>
-<translation id="5153163864850940242">این ویدیو درحال پخش شدن در حالت «تصویر در تصویر» است</translation>
 <translation id="5164977714490026579">مقدار باید بیشتر یا مساوی با <ph name="MINIMUM" /> باشد.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> پتابایت</translation>
 <translation id="5307600278924710095">لطفاً قسمت قبل از «<ph name="ATSIGN" />» را وارد کنید. «<ph name="INVALIDADDRESS" />» ناقص است.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">متر</translation>
 <translation id="6166809985690652833">سخن پایانی</translation>
 <translation id="6213469881011901533">واژه‌نامه</translation>
-<translation id="6310801910862476708">خروج از تصویر در تصویر</translation>
 <translation id="6398862346408813489">نمایش پانل انتخاب ماه</translation>
 <translation id="6404546809543547843">انتخابگر زمان صدا</translation>
 <translation id="6453774872122745852">قدردانی</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">فهرست مطالب</translation>
 <translation id="8613126697340063924">کنترل بازپخش راه دور</translation>
 <translation id="862370744433916922">زیرنویس</translation>
-<translation id="8741316211671074806">تصویردرتصویر</translation>
 <translation id="8750798805984357768">لطفاً یکی از این گزینه‌ها را انتخاب کنید.</translation>
 <translation id="8785498733064193001">شروع بازپخش</translation>
 <translation id="8808573423886751634">فصل</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">موارد دیگر...</translation>
 <translation id="9138385573473225930">هشدار</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />، شروع از <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">تصویر در تصویر</translation>
 <translation id="9168329111483466115">پانویس</translation>
 <translation id="954003015749068518">ورود به تصویر در تصویر</translation>
 <translation id="966787709310836684">منو</translation>
diff --git a/content/app/strings/translations/content_strings_fi.xtb b/content/app/strings/translations/content_strings_fi.xtb
index 34d01f87..909e5cc 100644
--- a/content/app/strings/translations/content_strings_fi.xtb
+++ b/content/app/strings/translations/content_strings_fi.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Näytä seuraava kuukausi</translation>
 <translation id="512758898067543763">rivin otsikko</translation>
 <translation id="5143125788380636750">epilogi</translation>
-<translation id="5153163864850940242">Video toistetaan Kuva kuvassa ‑tilassa</translation>
 <translation id="5164977714490026579">Arvon tulee olla suurempi tai yhtä suuri kuin <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> Pt</translation>
 <translation id="5307600278924710095">Lisää <ph name="ATSIGN" />-osaa ennen tuleva osa. <ph name="INVALIDADDRESS" /> on puutteellinen.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mittari</translation>
 <translation id="6166809985690652833">jälkipuhe</translation>
 <translation id="6213469881011901533">sanasto</translation>
-<translation id="6310801910862476708">Sulje kuva kuvassa ‑tila</translation>
 <translation id="6398862346408813489">Näytä kuukaudenvalintapaneeli</translation>
 <translation id="6404546809543547843">äänen ajan liukusäädin</translation>
 <translation id="6453774872122745852">kiitokset</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">sisällysluettelo</translation>
 <translation id="8613126697340063924">hallinnoi etätoistoa</translation>
 <translation id="862370744433916922">alaotsikko</translation>
-<translation id="8741316211671074806">Kuva kuvassa</translation>
 <translation id="8750798805984357768">Valitse yksi vaihtoehdoista.</translation>
 <translation id="8785498733064193001">aloita toisto</translation>
 <translation id="8808573423886751634">luku</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Muu...</translation>
 <translation id="9138385573473225930">ilmoitus</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, alkupäivä: <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Kuva kuvassa</translation>
 <translation id="9168329111483466115">alaviite</translation>
 <translation id="954003015749068518">avaa kuva kuvassa ‑tila</translation>
 <translation id="966787709310836684">valikko</translation>
diff --git a/content/app/strings/translations/content_strings_fil.xtb b/content/app/strings/translations/content_strings_fil.xtb
index 60c9162..5640452 100644
--- a/content/app/strings/translations/content_strings_fil.xtb
+++ b/content/app/strings/translations/content_strings_fil.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Ipakita ang susunod na buwan</translation>
 <translation id="512758898067543763">header ng row</translation>
 <translation id="5143125788380636750">epilogue</translation>
-<translation id="5153163864850940242">Nagpe-play ang video na ito sa Picture-in-Picture</translation>
 <translation id="5164977714490026579">Dapat mas mataas kaysa sa o katumbas ng <ph name="MINIMUM" /> ang halaga.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> (na) PB</translation>
 <translation id="5307600278924710095">Mangyaring maglagay ng isang bahagi na sinusundan ng '<ph name="ATSIGN" />.' Hindi kumpleto ang '<ph name="INVALIDADDRESS" />.'</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">metro</translation>
 <translation id="6166809985690652833">afterword</translation>
 <translation id="6213469881011901533">glosaryo</translation>
-<translation id="6310801910862476708">Lumabas sa Picture-in-Picture</translation>
 <translation id="6398862346408813489">Ipakita ang panel ng pagpipilian ng buwan</translation>
 <translation id="6404546809543547843">scrubber ng oras ng audio</translation>
 <translation id="6453774872122745852">mga pagkilala</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">i-download ang media</translation>
 <translation id="6981594929165378967">paglagay</translation>
 <translation id="6989848892321993519">Pakidagdagan ang text na ito nang hanggang <ph name="MIN_CHARACTERS" /> (na) character o higit pa (kasalukuyan kang gumagamit ng 1 character).</translation>
+<translation id="7090364526657522309">Serbisyo sa Font ng Linux</translation>
 <translation id="709897737746224366">Pakitugma ang hiniling na format.</translation>
 <translation id="7139483182332611405">preface</translation>
 <translation id="7223624360433298498">lumipas na oras</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">talaan ng nilalaman</translation>
 <translation id="8613126697340063924">kontrolin ang malayuang pag-playback</translation>
 <translation id="862370744433916922">subtitle</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8750798805984357768">Mangyaring pumili ng isa sa mga opsyong ito.</translation>
 <translation id="8785498733064193001">simulan ang pag-playback</translation>
 <translation id="8808573423886751634">kabanata</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Iba pa...</translation>
 <translation id="9138385573473225930">alerto</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, na magsisimula sa <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picture in Picture</translation>
 <translation id="9168329111483466115">footnote</translation>
 <translation id="954003015749068518">pumasok sa picture-in-picture</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_fr.xtb b/content/app/strings/translations/content_strings_fr.xtb
index 97cad062..cdc40a5 100644
--- a/content/app/strings/translations/content_strings_fr.xtb
+++ b/content/app/strings/translations/content_strings_fr.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Afficher le mois suivant</translation>
 <translation id="512758898067543763">en-tête de ligne</translation>
 <translation id="5143125788380636750">épilogue</translation>
-<translation id="5153163864850940242">Cette vidéo est diffusée en mode PIP (Picture-in-Picture)</translation>
 <translation id="5164977714490026579">Cette valeur doit être supérieure ou égale à <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> Po</translation>
 <translation id="5307600278924710095">Veuillez saisir la partie manquante avant le caractère "<ph name="ATSIGN" />". L'adresse "<ph name="INVALIDADDRESS" />" est incomplète.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">outil de mesure</translation>
 <translation id="6166809985690652833">postface</translation>
 <translation id="6213469881011901533">glossaire</translation>
-<translation id="6310801910862476708">Quitter le mode PIP (Picture-in-picture)</translation>
 <translation id="6398862346408813489">Afficher le panneau de sélection du mois</translation>
 <translation id="6404546809543547843">curseur durée audio</translation>
 <translation id="6453774872122745852">remerciements</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">télécharger des contenus multimédias</translation>
 <translation id="6981594929165378967">insertion</translation>
 <translation id="6989848892321993519">Veuillez allonger ce texte pour qu'il comporte au moins <ph name="MIN_CHARACTERS" /> caractères. Il en compte actuellement un seul.</translation>
+<translation id="7090364526657522309">Service de polices Linux</translation>
 <translation id="709897737746224366">Veuillez respecter le format requis.</translation>
 <translation id="7139483182332611405">préface</translation>
 <translation id="7223624360433298498">temps écoulé</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">sommaire</translation>
 <translation id="8613126697340063924">contrôler la lecture à distance</translation>
 <translation id="862370744433916922">sous-titre</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8750798805984357768">Veuillez sélectionner l'une de ces options.</translation>
 <translation id="8785498733064193001">commencer la lecture</translation>
 <translation id="8808573423886751634">chapitre</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Autre…</translation>
 <translation id="9138385573473225930">alerte</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> (premier jour de la semaine : <ph name="WEEK_START_DATE" />)</translation>
+<translation id="916607977885256133">Picture-in-picture</translation>
 <translation id="9168329111483466115">note de bas de page</translation>
 <translation id="954003015749068518">utiliser le mode PIP</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_gu.xtb b/content/app/strings/translations/content_strings_gu.xtb
index 36d94b2..cc354e1 100644
--- a/content/app/strings/translations/content_strings_gu.xtb
+++ b/content/app/strings/translations/content_strings_gu.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">આગલો મહિનો દર્શાવો</translation>
 <translation id="512758898067543763">પંક્તિ હેડર</translation>
 <translation id="5143125788380636750">ઉપસંહાર</translation>
-<translation id="5153163864850940242">આ વીડિઓ ચિત્ર-માં-ચિત્ર મોડમાં ચાલી રહ્યો છે</translation>
 <translation id="5164977714490026579">મૂલ્ય <ph name="MINIMUM" /> જેટલું અથવા આનાથી વધુ હોવું આવશ્યક છે.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">કૃપા કરીને '<ph name="ATSIGN" />' ની આગળનો ભાગ દાખલ કરો. '<ph name="INVALIDADDRESS" />' અપૂર્ણ છે.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">મીટર</translation>
 <translation id="6166809985690652833">સમાપન ભાષણ</translation>
 <translation id="6213469881011901533">શબ્દાવલી</translation>
-<translation id="6310801910862476708">ચિત્ર-માં-ચિત્રમાંથી બહાર નીકળો</translation>
 <translation id="6398862346408813489">મહિના પસંદગી પેનલ દર્શાવો</translation>
 <translation id="6404546809543547843">ઑડિઓ સમય સ્ક્રબર</translation>
 <translation id="6453774872122745852">સ્વીકૃતિઓ</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">અનુક્રમણિકા</translation>
 <translation id="8613126697340063924">રિમોટ પ્લેબેકનું નિયંત્રણ કરો</translation>
 <translation id="862370744433916922">(સબટાઇટલ)</translation>
-<translation id="8741316211671074806">ચિત્ર-માં-ચિત્ર</translation>
 <translation id="8750798805984357768">કૃપા કરીને આ વિકલ્પોમાંથી કોઈ એક પસંદ કરો.</translation>
 <translation id="8785498733064193001">પ્લેબૅક શરૂ કરો</translation>
 <translation id="8808573423886751634">પ્રકરણ</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">અન્ય...</translation>
 <translation id="9138385573473225930">ચેતવણી</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" /> થી શરૂ કરીને</translation>
+<translation id="916607977885256133">ચિત્ર-માં-ચિત્ર</translation>
 <translation id="9168329111483466115">ફૂટનોટ</translation>
 <translation id="954003015749068518">ચિત્ર-માં-ચિત્રમાં પ્રવેશ કરો</translation>
 <translation id="966787709310836684">મેનૂ</translation>
diff --git a/content/app/strings/translations/content_strings_hi.xtb b/content/app/strings/translations/content_strings_hi.xtb
index 7575b15..cb47bd3 100644
--- a/content/app/strings/translations/content_strings_hi.xtb
+++ b/content/app/strings/translations/content_strings_hi.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">अगला माह दिखाएं</translation>
 <translation id="512758898067543763">पंक्ति शीर्षलेख</translation>
 <translation id="5143125788380636750">उपसंहार</translation>
-<translation id="5153163864850940242">यह वीडियो पिक्चर में पिक्चर मोड में चल रहा है</translation>
 <translation id="5164977714490026579">मान <ph name="MINIMUM" /> से कम या इसके बराबर होना चाहिए.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">कृपया '<ph name="ATSIGN" />' के पहले वाला भाग डालें. '<ph name="INVALIDADDRESS" />' अधूरा है.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">मीटर</translation>
 <translation id="6166809985690652833">उपसंहार</translation>
 <translation id="6213469881011901533">शब्दावली</translation>
-<translation id="6310801910862476708">'पिक्चर में पिक्चर से बाहर निकलें'</translation>
 <translation id="6398862346408813489">माह चयन फलक दिखाएं</translation>
 <translation id="6404546809543547843">ऑडियो समय स्क्रबर</translation>
 <translation id="6453774872122745852">धन्यवाद</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">मीडिया डाउनलोड करें</translation>
 <translation id="6981594929165378967">डालना</translation>
 <translation id="6989848892321993519">कृपया इस लेख को <ph name="MIN_CHARACTERS" /> या उससे ज़्यादा वर्णों तक बढ़ाएं (आप इस समय 1 वर्ण का उपयोग कर रहे हैं).</translation>
+<translation id="7090364526657522309">Linux फ़ॉन्ट सेवा</translation>
 <translation id="709897737746224366">कृपया अनुरोधित प्रारूप का मिलान करें.</translation>
 <translation id="7139483182332611405">आमुख</translation>
 <translation id="7223624360433298498">बीता हुआ समय</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">विषय सूची</translation>
 <translation id="8613126697340063924">दूरस्थ प्लेबैक नियंत्रित करें</translation>
 <translation id="862370744433916922">सबटाइटल</translation>
-<translation id="8741316211671074806">पिक्चर में पिक्चर</translation>
 <translation id="8750798805984357768">कृपया इनमें से कोई विकल्प चुनें.</translation>
 <translation id="8785498733064193001">प्लेबैक शुरू करें</translation>
 <translation id="8808573423886751634">पाठ</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">अन्य...</translation>
 <translation id="9138385573473225930">सूचना</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" /> से प्रारंभ हो रहा है</translation>
+<translation id="916607977885256133">पिक्चर में पिक्चर</translation>
 <translation id="9168329111483466115">फ़ुटनोट</translation>
 <translation id="954003015749068518">पिक्चर में पिक्चर चालू करें</translation>
 <translation id="966787709310836684">मेनू</translation>
diff --git a/content/app/strings/translations/content_strings_hr.xtb b/content/app/strings/translations/content_strings_hr.xtb
index 4226377..2b336ef0 100644
--- a/content/app/strings/translations/content_strings_hr.xtb
+++ b/content/app/strings/translations/content_strings_hr.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Prikaži sljedeći mjesec</translation>
 <translation id="512758898067543763">zaglavlje retka</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Ovaj se videozapis prikazuje u značajci slike u slici</translation>
 <translation id="5164977714490026579">Vrijednost mora biti <ph name="MINIMUM" /> ili veća.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Unesite dio adrese ispred znaka "<ph name="ATSIGN" />". "<ph name="INVALIDADDRESS" />" nije potpuna e-adresa.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mjerač</translation>
 <translation id="6166809985690652833">pogovor</translation>
 <translation id="6213469881011901533">pojmovnik</translation>
-<translation id="6310801910862476708">Izlaz iz načina slika u slici</translation>
 <translation id="6398862346408813489">Prikaži ploču za odabir mjeseca</translation>
 <translation id="6404546809543547843">klizač vremena audiozapisa</translation>
 <translation id="6453774872122745852">zahvale</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">preuzmi medij</translation>
 <translation id="6981594929165378967">umetanje</translation>
 <translation id="6989848892321993519">Produljite broj znakova u tekstu na minimalno <ph name="MIN_CHARACTERS" /> (trenutačno imate 1 znak).</translation>
+<translation id="7090364526657522309">Linuxova usluga fonta</translation>
 <translation id="709897737746224366">Udovoljite zadanom formatu.</translation>
 <translation id="7139483182332611405">predgovor</translation>
 <translation id="7223624360433298498">proteklo vrijeme</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">sadržaj</translation>
 <translation id="8613126697340063924">upravljaj daljinskom reprodukcijom</translation>
 <translation id="862370744433916922">titl</translation>
-<translation id="8741316211671074806">Slika u slici</translation>
 <translation id="8750798805984357768">Izaberite jednu od tih opcija.</translation>
 <translation id="8785498733064193001">početak reprodukcije</translation>
 <translation id="8808573423886751634">poglavlje</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Drugo...</translation>
 <translation id="9138385573473225930">upozorenje</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, počevši od <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Slika u slici</translation>
 <translation id="9168329111483466115">fusnota</translation>
 <translation id="954003015749068518">pokretanje načina slika u slici</translation>
 <translation id="966787709310836684">izbornik</translation>
diff --git a/content/app/strings/translations/content_strings_hu.xtb b/content/app/strings/translations/content_strings_hu.xtb
index 005b3fa..41fcbac 100644
--- a/content/app/strings/translations/content_strings_hu.xtb
+++ b/content/app/strings/translations/content_strings_hu.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">A következő hónap megjelenítése</translation>
 <translation id="512758898067543763">sorfejléc</translation>
 <translation id="5143125788380636750">végszó</translation>
-<translation id="5153163864850940242">A videó lejátszása kép a képben módban történik</translation>
 <translation id="5164977714490026579">Az érték legyen nagyobb vagy egyenlő, mint <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Kérjük, adja meg a „<ph name="ATSIGN" />” előtti részt is. A „<ph name="INVALIDADDRESS" />” cím nem teljes.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mérő</translation>
 <translation id="6166809985690652833">utószó</translation>
 <translation id="6213469881011901533">szószedet</translation>
-<translation id="6310801910862476708">Kilépés a kép a képben funkcióból</translation>
 <translation id="6398862346408813489">A hónapválasztási panel megjelenítése</translation>
 <translation id="6404546809543547843">hang idővonalának vezérlője</translation>
 <translation id="6453774872122745852">köszönetnyilvánítás</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">médiafájlok letöltése</translation>
 <translation id="6981594929165378967">beszúrás</translation>
 <translation id="6989848892321993519">Legalább <ph name="MIN_CHARACTERS" /> karakter hosszú szöveget adjon meg (jelenleg 1 karaktert használ).</translation>
+<translation id="7090364526657522309">Linux betűtípus-szolgáltatás</translation>
 <translation id="709897737746224366">Kérjük, tartsa magát a kívánt formátumhoz.</translation>
 <translation id="7139483182332611405">bevezető</translation>
 <translation id="7223624360433298498">eltelt idő</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">tartalomjegyzék</translation>
 <translation id="8613126697340063924">távoli lejátszás kezelése</translation>
 <translation id="862370744433916922">felirat</translation>
-<translation id="8741316211671074806">Kép a képben</translation>
 <translation id="8750798805984357768">Kérjük, válassza ki az egyik opciót.</translation>
 <translation id="8785498733064193001">lejátszás indítása</translation>
 <translation id="8808573423886751634">fejezet</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Más...</translation>
 <translation id="9138385573473225930">értesítés</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />. hét (<ph name="WEEK_START_DATE" />-i dátummal kezdődik)</translation>
+<translation id="916607977885256133">Kép a képben</translation>
 <translation id="9168329111483466115">lábjegyzet</translation>
 <translation id="954003015749068518">belépés a kép a képben funkcióba</translation>
 <translation id="966787709310836684">menü</translation>
diff --git a/content/app/strings/translations/content_strings_id.xtb b/content/app/strings/translations/content_strings_id.xtb
index 4e6bfce..36df26ee 100644
--- a/content/app/strings/translations/content_strings_id.xtb
+++ b/content/app/strings/translations/content_strings_id.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Tampilkan bulan berikutnya</translation>
 <translation id="512758898067543763">judul baris</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Video ini diputar dalam Picture-in-Picture</translation>
 <translation id="5164977714490026579">Nilai harus lebih besar daripada atau sama dengan <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Masukkan bagian yang diikuti dengan '<ph name="ATSIGN" />'. '<ph name="INVALIDADDRESS" />' tidak lengkap.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">pengukur</translation>
 <translation id="6166809985690652833">penutup</translation>
 <translation id="6213469881011901533">glosarium</translation>
-<translation id="6310801910862476708">Keluar dari Mode Picture-in-Picture</translation>
 <translation id="6398862346408813489">Tampilkan panel pilihan bulan</translation>
 <translation id="6404546809543547843">scrubber waktu audio</translation>
 <translation id="6453774872122745852">ucapan terima kasih</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">download media</translation>
 <translation id="6981594929165378967">penyisipan</translation>
 <translation id="6989848892321993519">Perpanjang teks ini menjadi <ph name="MIN_CHARACTERS" /> karakter atau lebih (saat ini Anda menggunakan 1 karakter).</translation>
+<translation id="7090364526657522309">Linux Font Service</translation>
 <translation id="709897737746224366">Sesuaikan dengan format yang diminta.</translation>
 <translation id="7139483182332611405">kata pengantar</translation>
 <translation id="7223624360433298498">waktu berlalu</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">daftar isi</translation>
 <translation id="8613126697340063924">kontrol pemutaran jarak jauh</translation>
 <translation id="862370744433916922">subjudul</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8750798805984357768">Pilih salah satu opsi berikut.</translation>
 <translation id="8785498733064193001">mulai pemutaran</translation>
 <translation id="8808573423886751634">bab</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Lainnya...</translation>
 <translation id="9138385573473225930">notifikasi</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, dimulai pada <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picture-in-Picture</translation>
 <translation id="9168329111483466115">catatan kaki</translation>
 <translation id="954003015749068518">masuk mode picture-in-picture</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_it.xtb b/content/app/strings/translations/content_strings_it.xtb
index 7bd4377..ee30593d 100644
--- a/content/app/strings/translations/content_strings_it.xtb
+++ b/content/app/strings/translations/content_strings_it.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Mostra mese successivo</translation>
 <translation id="512758898067543763">intestazione di riga</translation>
 <translation id="5143125788380636750">epilogo</translation>
-<translation id="5153163864850940242">Questo video è riprodotto in modalità picture in picture</translation>
 <translation id="5164977714490026579">Il valore deve essere superiore o uguale a <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Inserisci una parte seguita da "<ph name="ATSIGN" />". Il valore "<ph name="INVALIDADDRESS" />" è incompleto.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">indicatore</translation>
 <translation id="6166809985690652833">postfazione</translation>
 <translation id="6213469881011901533">glossario</translation>
-<translation id="6310801910862476708">Esci da Picture in picture</translation>
 <translation id="6398862346408813489">Mostra il riquadro di selezione del mese</translation>
 <translation id="6404546809543547843">dispositivo di scorrimento durata audio</translation>
 <translation id="6453774872122745852">riconoscimenti</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">scarica contenuti multimediali</translation>
 <translation id="6981594929165378967">inserimento</translation>
 <translation id="6989848892321993519">Prolunga questo testo a <ph name="MIN_CHARACTERS" /> o più caratteri (al momento stai utilizzando 1 carattere).</translation>
+<translation id="7090364526657522309">Servizio di gestione caratteri Linux</translation>
 <translation id="709897737746224366">Rispetta il formato richiesto.</translation>
 <translation id="7139483182332611405">prefazione</translation>
 <translation id="7223624360433298498">tempo trascorso</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">sommario</translation>
 <translation id="8613126697340063924">gestisci riproduzione remota</translation>
 <translation id="862370744433916922">sottotitolo</translation>
-<translation id="8741316211671074806">Picture in picture</translation>
 <translation id="8750798805984357768">Seleziona una di queste opzioni.</translation>
 <translation id="8785498733064193001">inizia riproduzione</translation>
 <translation id="8808573423886751634">capitolo</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Altro...</translation>
 <translation id="9138385573473225930">avviso</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, a partire dal giorno <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picture in picture</translation>
 <translation id="9168329111483466115">piè di pagina</translation>
 <translation id="954003015749068518">attiva picture in picture</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_iw.xtb b/content/app/strings/translations/content_strings_iw.xtb
index d1e9818..4a7d7b9 100644
--- a/content/app/strings/translations/content_strings_iw.xtb
+++ b/content/app/strings/translations/content_strings_iw.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">הצג את החודש הבא</translation>
 <translation id="512758898067543763">כותרת שורה</translation>
 <translation id="5143125788380636750">אפילוג</translation>
-<translation id="5153163864850940242">הסרטון הזה פועל במצב תמונה בתוך תמונה</translation>
 <translation id="5164977714490026579">הערך חייב להיות גדול מ-<ph name="MINIMUM" /> או שווה לו.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">הזן חלק ולאחריו '<ph name="ATSIGN" />'‏. השדה '<ph name="INVALIDADDRESS" />' אינו מלא.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">מד</translation>
 <translation id="6166809985690652833">אחרית דבר</translation>
 <translation id="6213469881011901533">מילון מונחים</translation>
-<translation id="6310801910862476708">יציאה ממצב 'תמונה בתוך תמונה'</translation>
 <translation id="6398862346408813489">הצג חלונית לבחירת חודש</translation>
 <translation id="6404546809543547843">מסתיר משך אודיו</translation>
 <translation id="6453774872122745852">תודות</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">הורד מדיה</translation>
 <translation id="6981594929165378967">הוספה</translation>
 <translation id="6989848892321993519">עליך להאריך את הטקסט ל-<ph name="MIN_CHARACTERS" /> תווים או יותר (אתה משתמש כרגע בתו אחד).</translation>
+<translation id="7090364526657522309">Linux Font Service</translation>
 <translation id="709897737746224366">התאם את הפורמט המבוקש.</translation>
 <translation id="7139483182332611405">הקדמה</translation>
 <translation id="7223624360433298498">זמן שחלף</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">תוכן העניינים</translation>
 <translation id="8613126697340063924">שליטה בהפעלה מרחוק</translation>
 <translation id="862370744433916922">כותרת משנה</translation>
-<translation id="8741316211671074806">תמונה בתוך תמונה</translation>
 <translation id="8750798805984357768">בחר אחת מהאפשרויות הבאות.</translation>
 <translation id="8785498733064193001">התחל בהפעלה</translation>
 <translation id="8808573423886751634">פרק</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">אחר...</translation>
 <translation id="9138385573473225930">התראה</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, שמתחיל בתאריך <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">תמונה בתוך תמונה</translation>
 <translation id="9168329111483466115">הערת שוליים</translation>
 <translation id="954003015749068518">מעבר אל מצב 'תמונה בתוך תמונה'</translation>
 <translation id="966787709310836684">תפריט</translation>
diff --git a/content/app/strings/translations/content_strings_ja.xtb b/content/app/strings/translations/content_strings_ja.xtb
index 13d56486..8f29ed5 100644
--- a/content/app/strings/translations/content_strings_ja.xtb
+++ b/content/app/strings/translations/content_strings_ja.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">次の月を表示</translation>
 <translation id="512758898067543763">行見出し</translation>
 <translation id="5143125788380636750">エピローグ</translation>
-<translation id="5153163864850940242">この動画はピクチャー イン ピクチャーで再生されています</translation>
 <translation id="5164977714490026579">値は <ph name="MINIMUM" /> 以上にする必要があります。</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">「<ph name="ATSIGN" />」の前の文字列を入力してください。「<ph name="INVALIDADDRESS" />」は完全なメール アドレスではありません。</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">メーター</translation>
 <translation id="6166809985690652833">後書き</translation>
 <translation id="6213469881011901533">用語集</translation>
-<translation id="6310801910862476708">ピクチャー イン ピクチャーを終了</translation>
 <translation id="6398862346408813489">月選択パネルを表示</translation>
 <translation id="6404546809543547843">オーディオ再生バー</translation>
 <translation id="6453774872122745852">謝辞</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">目次</translation>
 <translation id="8613126697340063924">リモート再生をコントロール</translation>
 <translation id="862370744433916922">副題</translation>
-<translation id="8741316211671074806">ピクチャー イン ピクチャー</translation>
 <translation id="8750798805984357768">これらのオプションから 1 つ選択してください。</translation>
 <translation id="8785498733064193001">再生を開始</translation>
 <translation id="8808573423886751634">章</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">その他...</translation>
 <translation id="9138385573473225930">アラート</translation>
 <translation id="9155987714137265666"><ph name="WEEK_START_DATE" /> から始まる <ph name="WEEK" /></translation>
+<translation id="916607977885256133">ピクチャー イン ピクチャー</translation>
 <translation id="9168329111483466115">脚注</translation>
 <translation id="954003015749068518">ピクチャー イン ピクチャーを開始します</translation>
 <translation id="966787709310836684">メニュー</translation>
diff --git a/content/app/strings/translations/content_strings_kn.xtb b/content/app/strings/translations/content_strings_kn.xtb
index 72dc956e..3a7a947 100644
--- a/content/app/strings/translations/content_strings_kn.xtb
+++ b/content/app/strings/translations/content_strings_kn.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">ಮುಂದಿನ ತಿಂಗಳು ತೋರಿಸಿ</translation>
 <translation id="512758898067543763">ಸಾಲಿನ ಶಿರೋನಾಮೆ</translation>
 <translation id="5143125788380636750">ಹಿನ್ನುಡಿ</translation>
-<translation id="5153163864850940242">ಚಿತ್ರದಲ್ಲಿನ ಚಿತ್ರದಲ್ಲಿ ಈ ವೀಡಿಯೊ ಪ್ಲೇ ಆಗುತ್ತಿದೆ</translation>
 <translation id="5164977714490026579">ಮೌಲ್ಯವು <ph name="MINIMUM" /> ಕ್ಕಿಂತಲೂ ಹೆಚ್ಚಾಗಿರಬೇಕು ಅಥವಾ ಸಮನಾಗಿರಬೇಕು.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">'<ph name="ATSIGN" />' ನಂತರದ ಭಾಗವನ್ನು ನಮೂದಿಸಿ. '<ph name="INVALIDADDRESS" />' ಅಪೂರ್ಣವಾಗಿದೆ.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">ಮೀಟರ್</translation>
 <translation id="6166809985690652833">ನಂತರದ</translation>
 <translation id="6213469881011901533">ಪದಕೋಶ</translation>
-<translation id="6310801910862476708">ಚಿತ್ರದಲ್ಲಿನ ಚಿತ್ರದಿಂದ ನಿರ್ಗಮಿಸಿ</translation>
 <translation id="6398862346408813489">ತಿಂಗಳ ಆಯ್ಕೆ ಪ್ಯಾನಲ್ ತೋರಿಸಿ</translation>
 <translation id="6404546809543547843">ಆಡಿಯೊ ಸಮಯ ಸ್ಕ್ರಬ್ಬರ್</translation>
 <translation id="6453774872122745852">ಅಂಗೀಕಾರಗಳು</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">ಮಾಧ್ಯಮ ಡೌನ್‌ಲೋಡ್</translation>
 <translation id="6981594929165378967">ಅಳವಡಿಕೆ</translation>
 <translation id="6989848892321993519">ಈ ಪಠ್ಯವನ್ನು <ph name="MIN_CHARACTERS" /> ಅಥವಾ ಇದಕ್ಕಿಂತಲೂ ಹೆಚ್ಚಿನ ಅಕ್ಷರಗಳಿಗೆ ಉದ್ದಗೊಳಿಸಿ (ನೀವು ಪ್ರಸ್ತುತ 1 ಅಕ್ಷರಗಳನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ).</translation>
+<translation id="7090364526657522309">Linux ಫಾಂಟ್ ಸೇವೆ</translation>
 <translation id="709897737746224366">ದಯವಿಟ್ಟು ವಿನಂತಿಸಿದ ಸ್ವರೂಪವನ್ನು ಹೊಂದಿಸಿ.</translation>
 <translation id="7139483182332611405">ಮುನ್ನುಡಿ</translation>
 <translation id="7223624360433298498">ಕಳೆದುಹೋದ ಸಮಯ</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">ಪರಿವಿಡಿ</translation>
 <translation id="8613126697340063924">ರಿಮೋಟ್ ಪ್ಲೇಬ್ಯಾಕ್ ನಿಯಂತ್ರಿಸಿ</translation>
 <translation id="862370744433916922">ಉಪಶೀರ್ಷಿಕೆ</translation>
-<translation id="8741316211671074806">ಚಿತ್ರದಲ್ಲಿ ಚಿತ್ರ</translation>
 <translation id="8750798805984357768">ದಯವಿಟ್ಟು ಈ ಕೆಳಗಿನ ಆಯ್ಕೆಗಳಲ್ಲಿ ಒಂದನ್ನು ಆರಿಸಿ.</translation>
 <translation id="8785498733064193001">ಪ್ಲೇಬ್ಯಾಕ್ ಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="8808573423886751634">ಅಧ್ಯಾಯ</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">ಇತರೆ...</translation>
 <translation id="9138385573473225930">ಎಚ್ಚರಿಕೆ</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" /> ರಂದು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ</translation>
+<translation id="916607977885256133">ಚಿತ್ರದಲ್ಲಿ ಚಿತ್ರ</translation>
 <translation id="9168329111483466115">ಅಡಿಟಿಪ್ಪಣಿ</translation>
 <translation id="954003015749068518">ಚಿತ್ರದಲ್ಲಿನ ಚಿತ್ರವನ್ನು ಪ್ರವೇಶಿಸಿ</translation>
 <translation id="966787709310836684">ಮೆನು</translation>
diff --git a/content/app/strings/translations/content_strings_ko.xtb b/content/app/strings/translations/content_strings_ko.xtb
index 0a15e05..208da2f 100644
--- a/content/app/strings/translations/content_strings_ko.xtb
+++ b/content/app/strings/translations/content_strings_ko.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">다음 달 표시</translation>
 <translation id="512758898067543763">행 헤더</translation>
 <translation id="5143125788380636750">에필로그</translation>
-<translation id="5153163864850940242">이 동영상은 PIP 모드에서 재생 중입니다.</translation>
 <translation id="5164977714490026579">값은 <ph name="MINIMUM" /> 이상이어야 합니다.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" />PB</translation>
 <translation id="5307600278924710095">'<ph name="ATSIGN" />' 앞 부분을 입력해 주세요. '<ph name="INVALIDADDRESS" />'(이)가 완전하지 않습니다.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">미터</translation>
 <translation id="6166809985690652833">후기</translation>
 <translation id="6213469881011901533">용어설명</translation>
-<translation id="6310801910862476708">PIP 모드 종료</translation>
 <translation id="6398862346408813489">월 선택 패널 표시</translation>
 <translation id="6404546809543547843">오디오 시간 스크러버</translation>
 <translation id="6453774872122745852">감사의 말</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">목차</translation>
 <translation id="8613126697340063924">원격 재생 제어</translation>
 <translation id="862370744433916922">부제</translation>
-<translation id="8741316211671074806">PIP 모드</translation>
 <translation id="8750798805984357768">다음 옵션 중 하나를 선택하세요.</translation>
 <translation id="8785498733064193001">재생 시작</translation>
 <translation id="8808573423886751634">장</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">다른 달...</translation>
 <translation id="9138385573473225930">알림</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />(<ph name="WEEK_START_DATE" />에 시작)</translation>
+<translation id="916607977885256133">PIP 모드</translation>
 <translation id="9168329111483466115">각주</translation>
 <translation id="954003015749068518">PIP 모드 시작</translation>
 <translation id="966787709310836684">메뉴</translation>
diff --git a/content/app/strings/translations/content_strings_lt.xtb b/content/app/strings/translations/content_strings_lt.xtb
index f9fb071..ac65783 100644
--- a/content/app/strings/translations/content_strings_lt.xtb
+++ b/content/app/strings/translations/content_strings_lt.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Rodyti kitą mėnesį</translation>
 <translation id="512758898067543763">eilutės antraštė</translation>
 <translation id="5143125788380636750">epilogas</translation>
-<translation id="5153163864850940242">Šis vaizdo įrašas leidžiamas kaip vaizdas vaizde</translation>
 <translation id="5164977714490026579">Vertė turi būti <ph name="MINIMUM" /> arba didesnė.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Įveskite el. pašto adreso dalį iki „<ph name="ATSIGN" />“. „<ph name="INVALIDADDRESS" />“ nėra visas el. pašto adresas.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">matuoklis</translation>
 <translation id="6166809985690652833">baigiamasis žodis</translation>
 <translation id="6213469881011901533">aiškinamasis terminų žodynas</translation>
-<translation id="6310801910862476708">Išeiti iš vaizdo vaizde</translation>
 <translation id="6398862346408813489">Rodyti mėnesio pasirinkimo skydelį</translation>
 <translation id="6404546809543547843">garso laiko valdiklis</translation>
 <translation id="6453774872122745852">padėka</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">atsisiųsti mediją</translation>
 <translation id="6981594929165378967">įterpimas</translation>
 <translation id="6989848892321993519">Pailginkite šį tekstą iki <ph name="MIN_CHARACTERS" /> simb. ar daugiau (šiuo metu naudojate 1 simbolį).</translation>
+<translation id="7090364526657522309">„Linux“ šriftų paslauga</translation>
 <translation id="709897737746224366">Priderinkite reikalaujamą formatą.</translation>
 <translation id="7139483182332611405">įvadas</translation>
 <translation id="7223624360433298498">praėjęs laikas</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">turinys</translation>
 <translation id="8613126697340063924">valdyti nuotolinį atkūrimą</translation>
 <translation id="862370744433916922">paantraštė</translation>
-<translation id="8741316211671074806">Vaizdas vaizde</translation>
 <translation id="8750798805984357768">Pasirinkite vieną iš šių parinkčių.</translation>
 <translation id="8785498733064193001">pradėti atkūrimą</translation>
 <translation id="8808573423886751634">skyrius</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Kita...</translation>
 <translation id="9138385573473225930">įspėjimas</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, nuo <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Vaizdas vaizde</translation>
 <translation id="9168329111483466115">išnaša</translation>
 <translation id="954003015749068518">įeiti į vaizdą vaizde</translation>
 <translation id="966787709310836684">meniu</translation>
diff --git a/content/app/strings/translations/content_strings_lv.xtb b/content/app/strings/translations/content_strings_lv.xtb
index 931e1a7f..8c6169d9 100644
--- a/content/app/strings/translations/content_strings_lv.xtb
+++ b/content/app/strings/translations/content_strings_lv.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Rādīt nākamo mēnesi</translation>
 <translation id="512758898067543763">rindas virsraksts</translation>
 <translation id="5143125788380636750">epilogs</translation>
-<translation id="5153163864850940242">Videoklips tiek atskaņots režīmā Attēls attēlā</translation>
 <translation id="5164977714490026579">Vērtībai ir jābūt lielākai vai vienādai ar <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Lūdzu, ievadiet daļu, kas atrodas pirms zīmes <ph name="ATSIGN" />. “<ph name="INVALIDADDRESS" />” ir nepilna adrese.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mērītājs</translation>
 <translation id="6166809985690652833">pēcvārds</translation>
 <translation id="6213469881011901533">glosārijs</translation>
-<translation id="6310801910862476708">Aizvērt režīmu “Attēls attēlā”</translation>
 <translation id="6398862346408813489">Rādīt mēneša atlases paneli</translation>
 <translation id="6404546809543547843">audio laika skalas slīdnis</translation>
 <translation id="6453774872122745852">pateicības</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">lejupielādēt multivides failus</translation>
 <translation id="6981594929165378967">ievietošana</translation>
 <translation id="6989848892321993519">Lūdzu, papildiniet šo tekstu līdz vismaz <ph name="MIN_CHARACTERS" /> rakstzīmēm (pašlaik tas ietver 1 rakstzīmi).</translation>
+<translation id="7090364526657522309">Linux fontu pakalpojums</translation>
 <translation id="709897737746224366">Pieskaņojiet vērtību prasītajam formātam.</translation>
 <translation id="7139483182332611405">ievadraksts</translation>
 <translation id="7223624360433298498">pagājušais laiks</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">satura rādītājs</translation>
 <translation id="8613126697340063924">kontrolēt attālināto atskaņošanu</translation>
 <translation id="862370744433916922">apakšvirsraksts</translation>
-<translation id="8741316211671074806">Attēls attēlā</translation>
 <translation id="8750798805984357768">Lūdzu, atlasiet vienu no šīm opcijām.</translation>
 <translation id="8785498733064193001">sākt atskaņošanu</translation>
 <translation id="8808573423886751634">nodaļa</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Cits...</translation>
 <translation id="9138385573473225930">brīdinājums</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, sākot no: <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Attēls attēlā</translation>
 <translation id="9168329111483466115">vēre</translation>
 <translation id="954003015749068518">atvērt režīmu “attēls attēlā”</translation>
 <translation id="966787709310836684">izvēlne</translation>
diff --git a/content/app/strings/translations/content_strings_ml.xtb b/content/app/strings/translations/content_strings_ml.xtb
index bbef014..52ac3a8 100644
--- a/content/app/strings/translations/content_strings_ml.xtb
+++ b/content/app/strings/translations/content_strings_ml.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">അടുത്ത മാസം കാണിക്കുക</translation>
 <translation id="512758898067543763">വരി ശീർഷകം</translation>
 <translation id="5143125788380636750">ഉപസംഹാരം</translation>
-<translation id="5153163864850940242">'ചിത്രത്തിനുള്ളിലെ ചിത്രം' മോഡിലാണ് ഈ വീഡിയോ പ്ലേ ചേയ്യുന്നത്</translation>
 <translation id="5164977714490026579">മൂല്യം <ph name="MINIMUM" /> എന്നതില്‍ കൂടുതലോ സമമോ ആയിരിക്കണം.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">'<ph name="ATSIGN" />' എന്നതിനുശേഷം ഒരു ഭാഗം നൽകുക.'<ph name="INVALIDADDRESS" />' അപൂർണ്ണമാണ്.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">മീറ്റർ</translation>
 <translation id="6166809985690652833">പിൻ കുറിപ്പ്</translation>
 <translation id="6213469881011901533">പദസഞ്ചയം</translation>
-<translation id="6310801910862476708">ചിത്രത്തിനുള്ളിലെ ചിത്രത്തിന് പുറത്ത് കടക്കുക</translation>
 <translation id="6398862346408813489">മാസം തിരഞ്ഞെടുക്കുന്ന പാനൽ കാണിക്കുക</translation>
 <translation id="6404546809543547843">ഓഡിയോ സമയ സ്‌ക്രബർ</translation>
 <translation id="6453774872122745852">കടപ്പാട്</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">മീഡിയ ഡൗൺലോഡുചെയ്യുക</translation>
 <translation id="6981594929165378967">ചേർക്കൽ</translation>
 <translation id="6989848892321993519">ഈ ടെക്‌സ്റ്റിന്റെ ദൈർഘ്യം <ph name="MIN_CHARACTERS" /> പ്രതീകങ്ങളോ അതിൽ കൂടുതലോ ആയി വർദ്ധിപ്പിക്കുക (നിങ്ങൾ നിലവിൽ ഒരു പ്രതീകം മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ).</translation>
+<translation id="7090364526657522309">Linux ഫോണ്ട് സേവനം</translation>
 <translation id="709897737746224366">അഭ്യര്‍ത്ഥി ച്ചഫോര്‍മാറ്റ് ദയവായി പൊരുത്തപ്പെടുത്തുക.</translation>
 <translation id="7139483182332611405">പീഠിക</translation>
 <translation id="7223624360433298498">കഴിഞ്ഞ സമയം</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">ഉള്ളടക്ക പട്ടിക</translation>
 <translation id="8613126697340063924">വിദൂര പ്ലേബാക്ക് നിയന്ത്രിക്കുക</translation>
 <translation id="862370744433916922">ഉപശീർഷകം</translation>
-<translation id="8741316211671074806">ചിത്രത്തിനുള്ളിലെ ചിത്രം</translation>
 <translation id="8750798805984357768">ഈ ഓപ്ഷനുകളിലൊന്ന് ദയവായി തിരഞ്ഞെടുക്കുക.</translation>
 <translation id="8785498733064193001">പ്ലേബാക്ക് ആരംഭിക്കുക</translation>
 <translation id="8808573423886751634">അധ്യായം</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">മറ്റുള്ളവ...</translation>
 <translation id="9138385573473225930">അലേർട്ട്</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" />-ന് ആരംഭിക്കുന്നു</translation>
+<translation id="916607977885256133">ചിത്രത്തിനുള്ളിൽ ചിത്രം</translation>
 <translation id="9168329111483466115">അടിക്കുറിപ്പ്</translation>
 <translation id="954003015749068518">ചിത്രത്തിനുള്ളിലെ ചിത്രത്തിലേക്ക് പ്രവേശിക്കുക</translation>
 <translation id="966787709310836684">മെനു</translation>
diff --git a/content/app/strings/translations/content_strings_mr.xtb b/content/app/strings/translations/content_strings_mr.xtb
index 739e5be..b3ae9790 100644
--- a/content/app/strings/translations/content_strings_mr.xtb
+++ b/content/app/strings/translations/content_strings_mr.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">पुढील महिना दर्शवा</translation>
 <translation id="512758898067543763">पंक्ती शीर्षलेख</translation>
 <translation id="5143125788380636750">उपसंहार</translation>
-<translation id="5153163864850940242">हा व्हिडिओ पिक्चर-इन-पिक्चर मध्ये सुरू आहे</translation>
 <translation id="5164977714490026579">मूल्य <ph name="MINIMUM" /> पेक्षा मोठे किंवा समान असावे.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">कृपया '<ph name="ATSIGN" />' मागुन येणारा भाग एंटर करा. '<ph name="INVALIDADDRESS" />' अपूर्ण आहे.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">मीटर</translation>
 <translation id="6166809985690652833">अंतिम शब्द</translation>
 <translation id="6213469881011901533">शब्दावली</translation>
-<translation id="6310801910862476708">चित्रात-चित्र मधून बाहेर पडा</translation>
 <translation id="6398862346408813489">महिना निवड पॅनेल दर्शवा</translation>
 <translation id="6404546809543547843">ऑडिओ वेळ स्क्रबर</translation>
 <translation id="6453774872122745852">श्रेयनिर्देश</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">अनुक्रमणिका</translation>
 <translation id="8613126697340063924">दूरस्थ प्लेबॅक नियंत्रित करा</translation>
 <translation id="862370744433916922">उपशीर्षक</translation>
-<translation id="8741316211671074806">चित्रात-चित्र</translation>
 <translation id="8750798805984357768">कृपया या पर्यायांपैकी एक निवडा.</translation>
 <translation id="8785498733064193001">प्लेबॅक आरंभ करा</translation>
 <translation id="8808573423886751634">प्रकरण</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">अन्य...</translation>
 <translation id="9138385573473225930">सूचना</translation>
 <translation id="9155987714137265666"><ph name="WEEK_START_DATE" /> रोजी प्रारंभ होणारा, <ph name="WEEK" /></translation>
+<translation id="916607977885256133">चित्रात-चित्र</translation>
 <translation id="9168329111483466115">तळटीप</translation>
 <translation id="954003015749068518">चित्रात-चित्र एंटर करा</translation>
 <translation id="966787709310836684">मेनू</translation>
diff --git a/content/app/strings/translations/content_strings_ms.xtb b/content/app/strings/translations/content_strings_ms.xtb
index c93a5a11..db90cb4 100644
--- a/content/app/strings/translations/content_strings_ms.xtb
+++ b/content/app/strings/translations/content_strings_ms.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Tunjukkan bulan seterusnya</translation>
 <translation id="512758898067543763">pengepala baris</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Video ini dimainkan dalam Gambar dalam Gambar</translation>
 <translation id="5164977714490026579">Nilai mesti lebih besar daripada atau sama dengan <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Sila masukkan bahagian diikuti oleh '<ph name="ATSIGN" />'. '<ph name="INVALIDADDRESS" />' tidak lengkap.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">meter</translation>
 <translation id="6166809985690652833">kata hujungan</translation>
 <translation id="6213469881011901533">glosari</translation>
-<translation id="6310801910862476708">Keluar daripada Gambar dalam Gambar</translation>
 <translation id="6398862346408813489">Tunjukkan panel pilihan bulan</translation>
 <translation id="6404546809543547843">pembersih masa audio</translation>
 <translation id="6453774872122745852">perakuan</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">muat turun media</translation>
 <translation id="6981594929165378967">penyisipan</translation>
 <translation id="6989848892321993519">Sila panjangkan teks ini kepada <ph name="MIN_CHARACTERS" /> aksara atau lebih (anda sedang menggunakan 1 aksara).</translation>
+<translation id="7090364526657522309">Perkhidmatan Fon Linux</translation>
 <translation id="709897737746224366">Sila padankan dengan format yang diminta.</translation>
 <translation id="7139483182332611405">kata penghantar</translation>
 <translation id="7223624360433298498">masa berlalu</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">isi kandungan</translation>
 <translation id="8613126697340063924">kawal main balik jauh</translation>
 <translation id="862370744433916922">sari kata</translation>
-<translation id="8741316211671074806">Gambar dalam Gambar</translation>
 <translation id="8750798805984357768">Sila pilih salah satu pilihan ini.</translation>
 <translation id="8785498733064193001">mulakan main balik</translation>
 <translation id="8808573423886751634">bab</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Lain-lain...</translation>
 <translation id="9138385573473225930">makluman</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, bermula pada <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Gambar dalam Gambar</translation>
 <translation id="9168329111483466115">nota kaki</translation>
 <translation id="954003015749068518">masuk ke gambar dalam gambar</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_nl.xtb b/content/app/strings/translations/content_strings_nl.xtb
index 9820bdb..58cccb9 100644
--- a/content/app/strings/translations/content_strings_nl.xtb
+++ b/content/app/strings/translations/content_strings_nl.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Volgende maand weergeven</translation>
 <translation id="512758898067543763">rijkop</translation>
 <translation id="5143125788380636750">epiloog</translation>
-<translation id="5153163864850940242">Deze video wordt in de scherm-in-scherm-modus afgespeeld</translation>
 <translation id="5164977714490026579">Waarde moet groter dan of gelijk zijn aan <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Geef een naamgedeelte op, gevolgd door '<ph name="ATSIGN" />'. '<ph name="INVALIDADDRESS" />' is onvolledig.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">meter</translation>
 <translation id="6166809985690652833">nawoord</translation>
 <translation id="6213469881011901533">woordenlijst</translation>
-<translation id="6310801910862476708">Scherm-in-scherm afsluiten</translation>
 <translation id="6398862346408813489">Deelvenster voor maandselectie weergeven</translation>
 <translation id="6404546809543547843">scrollbar met audiotijd</translation>
 <translation id="6453774872122745852">dankwoord</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">media downloaden</translation>
 <translation id="6981594929165378967">invoeging</translation>
 <translation id="6989848892321993519">Breid deze tekst uit tot <ph name="MIN_CHARACTERS" /> tekens of meer (je gebruikt momenteel één teken).</translation>
+<translation id="7090364526657522309">Linux-lettertypeservice</translation>
 <translation id="709897737746224366">Zorg dat de indeling voldoet aan de gevraagde indeling.</translation>
 <translation id="7139483182332611405">voorwoord</translation>
 <translation id="7223624360433298498">verstreken tijd</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">inhoudsopgave</translation>
 <translation id="8613126697340063924">afspelen bedienen op afstand</translation>
 <translation id="862370744433916922">ondertitel</translation>
-<translation id="8741316211671074806">Scherm-in-scherm</translation>
 <translation id="8750798805984357768">Selecteer een van deze opties.</translation>
 <translation id="8785498733064193001">afspelen starten</translation>
 <translation id="8808573423886751634">hoofdstuk</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Anders...</translation>
 <translation id="9138385573473225930">melding</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, die begint op <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Scherm-in-scherm</translation>
 <translation id="9168329111483466115">voetnoot</translation>
 <translation id="954003015749068518">scherm-in-scherm openen</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_no.xtb b/content/app/strings/translations/content_strings_no.xtb
index b457a30..d2da111 100644
--- a/content/app/strings/translations/content_strings_no.xtb
+++ b/content/app/strings/translations/content_strings_no.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Se neste måned</translation>
 <translation id="512758898067543763">radoverskrift</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Denne videoen spilles av i bilde-i-bilde</translation>
 <translation id="5164977714490026579">Verdien må være større enn eller lik <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Skriv inn en del etterfulgt av «<ph name="ATSIGN" />». «<ph name="INVALIDADDRESS" />» er ufullstendig.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">måler</translation>
 <translation id="6166809985690652833">etterord</translation>
 <translation id="6213469881011901533">ordliste</translation>
-<translation id="6310801910862476708">Avslutt bilde-i-bilde</translation>
 <translation id="6398862346408813489">Se panelet for valg av måned</translation>
 <translation id="6404546809543547843">lydtidslinje</translation>
 <translation id="6453774872122745852">omtale</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">innholdsfortegnelse</translation>
 <translation id="8613126697340063924">kontrollér ekstern avspilling</translation>
 <translation id="862370744433916922">undertittel</translation>
-<translation id="8741316211671074806">Bilde-i-bilde</translation>
 <translation id="8750798805984357768">Velg ett av følgende alternativer.</translation>
 <translation id="8785498733064193001">start avspillingen</translation>
 <translation id="8808573423886751634">kapittel</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Andre</translation>
 <translation id="9138385573473225930">varsel</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, med start <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Bilde i bilde</translation>
 <translation id="9168329111483466115">fotnote</translation>
 <translation id="954003015749068518">start bilde-i-bilde</translation>
 <translation id="966787709310836684">meny</translation>
diff --git a/content/app/strings/translations/content_strings_pl.xtb b/content/app/strings/translations/content_strings_pl.xtb
index cc53879..c4033948 100644
--- a/content/app/strings/translations/content_strings_pl.xtb
+++ b/content/app/strings/translations/content_strings_pl.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Pokaż przyszły miesiąc</translation>
 <translation id="512758898067543763">nagłówek wiersza</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Ten film jest odtwarzany w trybie obrazu w obrazie</translation>
 <translation id="5164977714490026579">Wartość nie może być mniejsza niż <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Podaj część przed znakiem „<ph name="ATSIGN" />”. Adres „<ph name="INVALIDADDRESS" />” jest niepełny.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">miernik</translation>
 <translation id="6166809985690652833">posłowie</translation>
 <translation id="6213469881011901533">słownik</translation>
-<translation id="6310801910862476708">Wyłącz tryb obrazu w obrazie</translation>
 <translation id="6398862346408813489">Pokaż panel wyboru miesiąca</translation>
 <translation id="6404546809543547843">pasek czasu odtwarzania dźwięku</translation>
 <translation id="6453774872122745852">podziękowania</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">pobierz multimedia</translation>
 <translation id="6981594929165378967">wstawienie</translation>
 <translation id="6989848892321993519">Wydłuż ten tekst co najmniej do <ph name="MIN_CHARACTERS" /> znaków (teraz używasz jednego znaku).</translation>
+<translation id="7090364526657522309">Usługa czcionek Linuksa</translation>
 <translation id="709897737746224366">Podaj wartość w wymaganym formacie.</translation>
 <translation id="7139483182332611405">wstęp</translation>
 <translation id="7223624360433298498">upłynęło czasu</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">spis treści</translation>
 <translation id="8613126697340063924">sterowanie zdalnym odtwarzaniem</translation>
 <translation id="862370744433916922">podtytuł</translation>
-<translation id="8741316211671074806">Obraz w obrazie</translation>
 <translation id="8750798805984357768">Wybierz jedną z opcji.</translation>
 <translation id="8785498733064193001">rozpocznij odtwarzanie</translation>
 <translation id="8808573423886751634">rozdział</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Inny...</translation>
 <translation id="9138385573473225930">alert</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, początek <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Obraz w obrazie</translation>
 <translation id="9168329111483466115">przypis</translation>
 <translation id="954003015749068518">włącz tryb obrazu w obrazie</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_pt-BR.xtb b/content/app/strings/translations/content_strings_pt-BR.xtb
index a3daa5da..a421cd8 100644
--- a/content/app/strings/translations/content_strings_pt-BR.xtb
+++ b/content/app/strings/translations/content_strings_pt-BR.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Mostrar próximo mês</translation>
 <translation id="512758898067543763">cabeçalho de linha</translation>
 <translation id="5143125788380636750">epílogo</translation>
-<translation id="5153163864850940242">Este vídeo está sendo reproduzido em picture-in-picture</translation>
 <translation id="5164977714490026579">O valor deve ser maior ou igual a <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Insira uma parte seguida por "<ph name="ATSIGN" />". "<ph name="INVALIDADDRESS" />" está incompleto.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">medidor</translation>
 <translation id="6166809985690652833">posfácio</translation>
 <translation id="6213469881011901533">glossário</translation>
-<translation id="6310801910862476708">Sair de picture-in-picture</translation>
 <translation id="6398862346408813489">Mostrar painel de seleção de mês</translation>
 <translation id="6404546809543547843">barra de progressão do áudio</translation>
 <translation id="6453774872122745852">agradecimentos</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">sumário</translation>
 <translation id="8613126697340063924">controlar reprodução remota</translation>
 <translation id="862370744433916922">subtítulo</translation>
-<translation id="8741316211671074806">Picture-in-picture</translation>
 <translation id="8750798805984357768">Selecione uma das opções.</translation>
 <translation id="8785498733064193001">iniciar reprodução</translation>
 <translation id="8808573423886751634">capítulo</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Outras...</translation>
 <translation id="9138385573473225930">alerta</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, que começa em <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picture-in-picture</translation>
 <translation id="9168329111483466115">nota de rodapé</translation>
 <translation id="954003015749068518">entrar no modo picture-in-picture</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_pt-PT.xtb b/content/app/strings/translations/content_strings_pt-PT.xtb
index a85d28c..b171dbbc 100644
--- a/content/app/strings/translations/content_strings_pt-PT.xtb
+++ b/content/app/strings/translations/content_strings_pt-PT.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Mostrar mês seguinte</translation>
 <translation id="512758898067543763">cabeçalho da linha</translation>
 <translation id="5143125788380636750">epílogo</translation>
-<translation id="5153163864850940242">Este vídeo está a ser reproduzido no modo ecrã no ecrã</translation>
 <translation id="5164977714490026579">O valor tem de ser superior ou igual a <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Introduza uma parte seguida de "<ph name="ATSIGN" />". "<ph name="INVALIDADDRESS" />" está incompleto.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">contador</translation>
 <translation id="6166809985690652833">posfácio</translation>
 <translation id="6213469881011901533">glossário</translation>
-<translation id="6310801910862476708">Sair do modo ecrã no ecrã</translation>
 <translation id="6398862346408813489">Mostrar painel de seleção do mês</translation>
 <translation id="6404546809543547843">controlo de arrasto do tempo do áudio</translation>
 <translation id="6453774872122745852">agradecimentos</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">índice</translation>
 <translation id="8613126697340063924">controlar a reprodução remota</translation>
 <translation id="862370744433916922">legenda</translation>
-<translation id="8741316211671074806">Ecrã no ecrã</translation>
 <translation id="8750798805984357768">Seleccione uma destas opções.</translation>
 <translation id="8785498733064193001">iniciar reprodução</translation>
 <translation id="8808573423886751634">capítulo</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Outra...</translation>
 <translation id="9138385573473225930">alerta</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, a partir de <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Ecrã no ecrã</translation>
 <translation id="9168329111483466115">nota de rodapé</translation>
 <translation id="954003015749068518">entrar no modo ecrã no ecrã</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_ro.xtb b/content/app/strings/translations/content_strings_ro.xtb
index 542d53f..aa77f62 100644
--- a/content/app/strings/translations/content_strings_ro.xtb
+++ b/content/app/strings/translations/content_strings_ro.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Afișează luna următoare</translation>
 <translation id="512758898067543763">antet rând</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Videoclipul se redă în modul imagine în imagine</translation>
 <translation id="5164977714490026579">Valoarea trebuie să fie mai mare sau egală cu <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Introduceți o valoare urmată de semnul „<ph name="ATSIGN" />”. Adresa „<ph name="INVALIDADDRESS" />” nu este completă.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">instrument de măsurare</translation>
 <translation id="6166809985690652833">postfață</translation>
 <translation id="6213469881011901533">glosar</translation>
-<translation id="6310801910862476708">Ieși din modul Picture-in-Picture</translation>
 <translation id="6398862346408813489">Afișează panoul de selectare a lunii</translation>
 <translation id="6404546809543547843">glisor redare audio</translation>
 <translation id="6453774872122745852">lista colaboratorilor</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">descarcă conținut media</translation>
 <translation id="6981594929165378967">inserare</translation>
 <translation id="6989848892321993519">Mărește acest text la cel puțin <ph name="MIN_CHARACTERS" /> caractere (în prezent folosești 1 caracter).</translation>
+<translation id="7090364526657522309">Serviciul de fonturi Linux</translation>
 <translation id="709897737746224366">Respectă formatul solicitat.</translation>
 <translation id="7139483182332611405">prefață</translation>
 <translation id="7223624360433298498">timp scurs</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">cuprins</translation>
 <translation id="8613126697340063924">controlează redarea la distanță</translation>
 <translation id="862370744433916922">subtitlu</translation>
-<translation id="8741316211671074806">Picture-in-Picture</translation>
 <translation id="8750798805984357768">Selectează una dintre aceste opțiuni.</translation>
 <translation id="8785498733064193001">începeți redarea</translation>
 <translation id="8808573423886751634">capitol</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Altele...</translation>
 <translation id="9138385573473225930">alertă</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, începând de pe <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picture-in-Picture</translation>
 <translation id="9168329111483466115">notă de subsol</translation>
 <translation id="954003015749068518">intră în modul picture-in-picture</translation>
 <translation id="966787709310836684">meniu</translation>
diff --git a/content/app/strings/translations/content_strings_ru.xtb b/content/app/strings/translations/content_strings_ru.xtb
index 758d0f672..159a012 100644
--- a/content/app/strings/translations/content_strings_ru.xtb
+++ b/content/app/strings/translations/content_strings_ru.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Показать следующий месяц</translation>
 <translation id="512758898067543763">заголовок строки</translation>
 <translation id="5143125788380636750">эпилог</translation>
-<translation id="5153163864850940242">Видео воспроизводится в режиме "Картинка в картинке"</translation>
 <translation id="5164977714490026579">Значение должно быть больше или равно <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> ПБ</translation>
 <translation id="5307600278924710095">Введите часть адреса до символа "<ph name="ATSIGN" />". Адрес "<ph name="INVALIDADDRESS" />" неполный.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">счетчик</translation>
 <translation id="6166809985690652833">послесловие</translation>
 <translation id="6213469881011901533">словарь</translation>
-<translation id="6310801910862476708">Выйти из режима "Картинка в картинке"</translation>
 <translation id="6398862346408813489">Показать панель выбора месяца</translation>
 <translation id="6404546809543547843">полоса воспроизведения</translation>
 <translation id="6453774872122745852">благодарности</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">скачать файл</translation>
 <translation id="6981594929165378967">вставка</translation>
 <translation id="6989848892321993519">Текст должен быть не короче <ph name="MIN_CHARACTERS" /> симв. Длина текста сейчас: 1 символ.</translation>
+<translation id="7090364526657522309">Сервис шрифтов Linux</translation>
 <translation id="709897737746224366">Введите данные в указанном формате.</translation>
 <translation id="7139483182332611405">вступление</translation>
 <translation id="7223624360433298498">прошедшее время</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">оглавление</translation>
 <translation id="8613126697340063924">управлять воспроизведением на удаленных устройствах</translation>
 <translation id="862370744433916922">подзаголовок</translation>
-<translation id="8741316211671074806">Картинка в картинке</translation>
 <translation id="8750798805984357768">Выберите один из вариантов.</translation>
 <translation id="8785498733064193001">начать воспроизведение</translation>
 <translation id="8808573423886751634">глава</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Другое…</translation>
 <translation id="9138385573473225930">оповещение</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, начинается <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Картинка в картинке</translation>
 <translation id="9168329111483466115">сноска</translation>
 <translation id="954003015749068518">включить режим "Картинка в картинке"</translation>
 <translation id="966787709310836684">меню</translation>
diff --git a/content/app/strings/translations/content_strings_sk.xtb b/content/app/strings/translations/content_strings_sk.xtb
index 931df9d7..097c642 100644
--- a/content/app/strings/translations/content_strings_sk.xtb
+++ b/content/app/strings/translations/content_strings_sk.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Zobraziť ďalší mesiac</translation>
 <translation id="512758898067543763">hlavička riadka</translation>
 <translation id="5143125788380636750">epilóg</translation>
-<translation id="5153163864850940242">Toto video sa prehráva v režime Obraz v obraze</translation>
 <translation id="5164977714490026579">Hodnota musí byť väčšia alebo rovná hodnote <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Zadajte časť pred znakom <ph name="ATSIGN" />. Adresa <ph name="INVALIDADDRESS" /> je neúplná.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">meter</translation>
 <translation id="6166809985690652833">doslov</translation>
 <translation id="6213469881011901533">glosár</translation>
-<translation id="6310801910862476708">Ukončiť obraz v obraze</translation>
 <translation id="6398862346408813489">Zobraziť panel na výber mesiaca</translation>
 <translation id="6404546809543547843">posúvač časovej osi zvuku</translation>
 <translation id="6453774872122745852">poďakovanie</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">stiahnuť médiá</translation>
 <translation id="6981594929165378967">vloženie</translation>
 <translation id="6989848892321993519">Predĺžte tento text aspoň na <ph name="MIN_CHARACTERS" /> alebo viac znakov (momentálne používate jeden znak).</translation>
+<translation id="7090364526657522309">Služba písiem Linux</translation>
 <translation id="709897737746224366">Zadajte hodnotu zodpovedajúcu požadovanému formátu.</translation>
 <translation id="7139483182332611405">predslov</translation>
 <translation id="7223624360433298498">uplynutý čas</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">obsah</translation>
 <translation id="8613126697340063924">ovládať vzdialené prehrávanie</translation>
 <translation id="862370744433916922">podnadpis</translation>
-<translation id="8741316211671074806">Obraz v obraze</translation>
 <translation id="8750798805984357768">Vyberte jednu z týchto možností.</translation>
 <translation id="8785498733064193001">začať prehrávanie</translation>
 <translation id="8808573423886751634">kapitola</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Iné...</translation>
 <translation id="9138385573473225930">upozornenie</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> začínajúci <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Obraz v obraze</translation>
 <translation id="9168329111483466115">poznámka pod čiarou</translation>
 <translation id="954003015749068518">zapnúť obraz v obraze</translation>
 <translation id="966787709310836684">ponuka</translation>
diff --git a/content/app/strings/translations/content_strings_sl.xtb b/content/app/strings/translations/content_strings_sl.xtb
index 79a2540..a31af02 100644
--- a/content/app/strings/translations/content_strings_sl.xtb
+++ b/content/app/strings/translations/content_strings_sl.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Prikaz naslednjega meseca</translation>
 <translation id="512758898067543763">glava vrstice</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Ta videoposnetek se predvaja v načinu slike v sliki</translation>
 <translation id="5164977714490026579">Vrednost mora biti večja od <ph name="MINIMUM" /> ali enaka.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Vnesite nekaj in nato <ph name="ATSIGN" />. Naslov »<ph name="INVALIDADDRESS" />« je nepopoln.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">merilnik</translation>
 <translation id="6166809985690652833">spremna beseda</translation>
 <translation id="6213469881011901533">glosar</translation>
-<translation id="6310801910862476708">Zapri način slike v sliki</translation>
 <translation id="6398862346408813489">Prikaz podokna za izbiro meseca</translation>
 <translation id="6404546809543547843">časovni krmilnik za predvajanje zvoka</translation>
 <translation id="6453774872122745852">zahvala</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">kazalo</translation>
 <translation id="8613126697340063924">upravljanje oddaljenega predvajanja</translation>
 <translation id="862370744433916922">podnaslov</translation>
-<translation id="8741316211671074806">Slika v sliki</translation>
 <translation id="8750798805984357768">Izberite eno od teh možnosti.</translation>
 <translation id="8785498733064193001">začetek predvajanja</translation>
 <translation id="8808573423886751634">poglavje</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Drugo ...</translation>
 <translation id="9138385573473225930">opozorilo</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, začne se <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Slika v sliki</translation>
 <translation id="9168329111483466115">sprotna opomba</translation>
 <translation id="954003015749068518">odpiranje načina slike v sliki</translation>
 <translation id="966787709310836684">meni</translation>
diff --git a/content/app/strings/translations/content_strings_sr.xtb b/content/app/strings/translations/content_strings_sr.xtb
index f519037..2d3a86bf 100644
--- a/content/app/strings/translations/content_strings_sr.xtb
+++ b/content/app/strings/translations/content_strings_sr.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Прикажи следећи месец</translation>
 <translation id="512758898067543763">заглавље реда</translation>
 <translation id="5143125788380636750">епилог</translation>
-<translation id="5153163864850940242">Видео се репродукује у режиму слике у слици</translation>
 <translation id="5164977714490026579">Вредност сме да буде најмање <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Унесите неки део пре „<ph name="ATSIGN" />“. Адреса „<ph name="INVALIDADDRESS" />“ је непотпуна.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">мерач</translation>
 <translation id="6166809985690652833">поговор</translation>
 <translation id="6213469881011901533">речник термина</translation>
-<translation id="6310801910862476708">Изађи из режима слике у слици</translation>
 <translation id="6398862346408813489">Прикажи таблу за избор месеца</translation>
 <translation id="6404546809543547843">клизач за трајање аудио-садржаја</translation>
 <translation id="6453774872122745852">признања</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">преузми медије</translation>
 <translation id="6981594929165378967">уметање</translation>
 <translation id="6989848892321993519">Продужите овај текст на бар <ph name="MIN_CHARACTERS" /> знак(ов)а (тренутно користите 1 знак).</translation>
+<translation id="7090364526657522309">Linux услуга за фонтове</translation>
 <translation id="709897737746224366">Изаберите захтевани формат.</translation>
 <translation id="7139483182332611405">предговор</translation>
 <translation id="7223624360433298498">протекло време</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">садржај</translation>
 <translation id="8613126697340063924">контролишите репродукцију на удаљеном уређају</translation>
 <translation id="862370744433916922">титл</translation>
-<translation id="8741316211671074806">Слика у слици</translation>
 <translation id="8750798805984357768">Изаберите неку од ових опција.</translation>
 <translation id="8785498733064193001">започните репродукцију</translation>
 <translation id="8808573423886751634">поглавље</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Друго...</translation>
 <translation id="9138385573473225930">обавештење</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, од <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Слика у слици</translation>
 <translation id="9168329111483466115">фуснота</translation>
 <translation id="954003015749068518">уђи у режим слике у слици</translation>
 <translation id="966787709310836684">мени</translation>
diff --git a/content/app/strings/translations/content_strings_sv.xtb b/content/app/strings/translations/content_strings_sv.xtb
index 6b6950b..12d7b16 100644
--- a/content/app/strings/translations/content_strings_sv.xtb
+++ b/content/app/strings/translations/content_strings_sv.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Visa nästa månad</translation>
 <translation id="512758898067543763">radrubrik</translation>
 <translation id="5143125788380636750">epilog</translation>
-<translation id="5153163864850940242">Videon spelas upp i läget bild-i-bild</translation>
 <translation id="5164977714490026579">Värdet måste vara större än eller lika med <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Ange en del följt av <ph name="ATSIGN" />. <ph name="INVALIDADDRESS" /> är ofullständig.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mätare</translation>
 <translation id="6166809985690652833">efterord</translation>
 <translation id="6213469881011901533">ordlista</translation>
-<translation id="6310801910862476708">Avsluta bild-i-bild-läge</translation>
 <translation id="6398862346408813489">Visa panelen för val av månad</translation>
 <translation id="6404546809543547843">tidsreglage för ljud</translation>
 <translation id="6453774872122745852">författarens tack</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">innehållsförteckning</translation>
 <translation id="8613126697340063924">styra fjärruppspelning</translation>
 <translation id="862370744433916922">undertext</translation>
-<translation id="8741316211671074806">Bild i bild</translation>
 <translation id="8750798805984357768">Välj ett av följande alternativ.</translation>
 <translation id="8785498733064193001">starta uppspelning</translation>
 <translation id="8808573423886751634">kapitel</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Annat ...</translation>
 <translation id="9138385573473225930">varning</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> som börjar den <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Bild-i-bild</translation>
 <translation id="9168329111483466115">fotnot</translation>
 <translation id="954003015749068518">öppna bild-i-bild-läge</translation>
 <translation id="966787709310836684">meny</translation>
diff --git a/content/app/strings/translations/content_strings_sw.xtb b/content/app/strings/translations/content_strings_sw.xtb
index 0dff05b..39b73f9 100644
--- a/content/app/strings/translations/content_strings_sw.xtb
+++ b/content/app/strings/translations/content_strings_sw.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Onyesha mwezi unaofuata</translation>
 <translation id="512758898067543763">kichwa cha safu mlalo</translation>
 <translation id="5143125788380636750">hitimisho</translation>
-<translation id="5153163864850940242">Video hii inacheza katika hali ya Picha Ndani ya Picha</translation>
 <translation id="5164977714490026579">Lazima thamani iwe kubwa kuliko au sawa na <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650">PB <ph name="QUANTITY" /></translation>
 <translation id="5307600278924710095">Tafadhali ingiza sehemu ikifuatiwa na '<ph name="ATSIGN" />'. '<ph name="INVALIDADDRESS" />' haijakamilika.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">mita</translation>
 <translation id="6166809985690652833">maelezo kuhusu kitabu</translation>
 <translation id="6213469881011901533">faharasa</translation>
-<translation id="6310801910862476708">Funga hali ya Picha ndani ya Picha</translation>
 <translation id="6398862346408813489">Onyesha kisanduku cha uchaguzi wa mwezi</translation>
 <translation id="6404546809543547843">kitelezi cha muda cha sauti</translation>
 <translation id="6453774872122745852">shukrani</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">jedwali la yaliyomo</translation>
 <translation id="8613126697340063924">dhibiti kucheza kwa mbali</translation>
 <translation id="862370744433916922">kichwa kidogo</translation>
-<translation id="8741316211671074806">Picha ndani ya picha</translation>
 <translation id="8750798805984357768">Tafadhali chagua moja wapo ya chaguo hizi.</translation>
 <translation id="8785498733064193001">anza kucheza</translation>
 <translation id="8808573423886751634">sura</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Nyingine...</translation>
 <translation id="9138385573473225930">arifa</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, itaanza tarehe <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Picha ndani ya Picha</translation>
 <translation id="9168329111483466115">tanbihi</translation>
 <translation id="954003015749068518">washa hali ya picha ndani ya picha</translation>
 <translation id="966787709310836684">menyu</translation>
diff --git a/content/app/strings/translations/content_strings_ta.xtb b/content/app/strings/translations/content_strings_ta.xtb
index 67b8a77..c533d7e 100644
--- a/content/app/strings/translations/content_strings_ta.xtb
+++ b/content/app/strings/translations/content_strings_ta.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">அடுத்த மாதத்தைக் காட்டு</translation>
 <translation id="512758898067543763">வரிசை மேற்தலைப்பு</translation>
 <translation id="5143125788380636750">முடிவுரை</translation>
-<translation id="5153163864850940242">பிக்ச்சர்-இன்-பிக்ச்சர் பயன்முறையில் இந்த வீடியோ இயக்கப்படுகிறது</translation>
 <translation id="5164977714490026579">மதிப்பானது, கண்டிப்பாக <ph name="MINIMUM" /> ஐ விட அதிகமாக அல்லது அதற்குச் சமமாக இருக்க வேண்டும்.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> பெ.பை</translation>
 <translation id="5307600278924710095">'<ph name="ATSIGN" />' ஐத் தொடர்ந்து ஒரு பகுதியை உள்ளிடவும். '<ph name="INVALIDADDRESS" />' முழுமைப் பெறாமல் உள்ளது.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">மீட்டர்</translation>
 <translation id="6166809985690652833">பின்னுரை</translation>
 <translation id="6213469881011901533">அருஞ்சொல் திரட்டு</translation>
-<translation id="6310801910862476708">பிக்ச்சர்-இன்-பிக்ச்சர் பயன்முறையிலிருந்து வெளியேறு</translation>
 <translation id="6398862346408813489">மாதம் தேர்ந்தெடுப்புப் பலகத்தைக் காட்டு</translation>
 <translation id="6404546809543547843">ஆடியோ நேர ஸ்கிரப்பர்</translation>
 <translation id="6453774872122745852">அங்கீகாரங்கள்</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">உள்ளடக்க அட்டவணை</translation>
 <translation id="8613126697340063924">தொலைநிலை இயக்கத்தைக் கட்டுப்படுத்தவும்</translation>
 <translation id="862370744433916922">துணை தலைப்பு</translation>
-<translation id="8741316211671074806">பிக்ச்சர்-இன்-பிக்ச்சர்</translation>
 <translation id="8750798805984357768">தயவுசெய்து இந்த விருப்பங்களில் ஒன்றைத் தேர்ந்தெடுங்கள்.</translation>
 <translation id="8785498733064193001">மறுஇயக்கத்தைத் தொடங்கு</translation>
 <translation id="8808573423886751634">அத்தியாயம்</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">மற்றவை…</translation>
 <translation id="9138385573473225930">விழிப்பூட்டல்</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" /> அன்று தொடங்குவது</translation>
+<translation id="916607977885256133">பிக்ச்சர்-இன்-பிக்ச்சர்</translation>
 <translation id="9168329111483466115">அடிக்குறிப்பு</translation>
 <translation id="954003015749068518">பிக்ச்சர்-இன்-பிக்ச்சர் பயன்முறைக்குச் செல்லும்</translation>
 <translation id="966787709310836684">மெனு</translation>
diff --git a/content/app/strings/translations/content_strings_te.xtb b/content/app/strings/translations/content_strings_te.xtb
index 2bb404a0..d2b40697 100644
--- a/content/app/strings/translations/content_strings_te.xtb
+++ b/content/app/strings/translations/content_strings_te.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">తదుపరి నెలను చూపుతుంది</translation>
 <translation id="512758898067543763">అడ్డు వరుస శీర్షిక</translation>
 <translation id="5143125788380636750">ఉపసంహారం</translation>
-<translation id="5153163864850940242">ఈ వీడియో చిత్రంలో-చిత్రంలో ప్లే అవుతోంది</translation>
 <translation id="5164977714490026579">విలువ ఖచ్చితంగా <ph name="MINIMUM" /> కంటే ఎక్కువగా లేదా సమానంగా ఉండాలి.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">దయచేసి '<ph name="ATSIGN" />'కి ముందు ఉన్న భాగాన్ని నమోదు చేయండి. '<ph name="INVALIDADDRESS" />' అసంపూర్ణంగా ఉంది.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">మీటర్</translation>
 <translation id="6166809985690652833">చివరిమాట</translation>
 <translation id="6213469881011901533">పదకోశం</translation>
-<translation id="6310801910862476708">చిత్రంలో చిత్రం మోడ్ నుండి నిష్క్రమించు</translation>
 <translation id="6398862346408813489">నెల ఎంపిక ప్యానెల్‌ను చూపుతుంది</translation>
 <translation id="6404546809543547843">ఆడియో సమయ స్క్రబ్బర్</translation>
 <translation id="6453774872122745852">గుర్తింపులు</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">విషయ పట్టిక</translation>
 <translation id="8613126697340063924">రిమోట్ ప్లేబ్యాక్‌ను నియంత్రిస్తుంది</translation>
 <translation id="862370744433916922">ఉపశీర్షిక</translation>
-<translation id="8741316211671074806">చిత్రంలో చిత్రం</translation>
 <translation id="8750798805984357768">దయచేసి ఈ ఎంపికలలో ఒకదాన్ని ఎంచుకోండి.</translation>
 <translation id="8785498733064193001">ప్లేబ్యాక్‌ను ప్రారంభించు</translation>
 <translation id="8808573423886751634">అధ్యాయం</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">ఇతర...</translation>
 <translation id="9138385573473225930">హెచ్చరిక</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, <ph name="WEEK_START_DATE" /> నుండి ప్రారంభమవుతుంది</translation>
+<translation id="916607977885256133">చిత్రంలో చిత్రం</translation>
 <translation id="9168329111483466115">ఫుట్‌నోట్</translation>
 <translation id="954003015749068518">చిత్రంలో చిత్రం మోడ్‌లోకి ప్రవేశిస్తుంది</translation>
 <translation id="966787709310836684">మెను</translation>
diff --git a/content/app/strings/translations/content_strings_th.xtb b/content/app/strings/translations/content_strings_th.xtb
index 0752d93c..03eb656 100644
--- a/content/app/strings/translations/content_strings_th.xtb
+++ b/content/app/strings/translations/content_strings_th.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">แสดงเดือนถัดไป</translation>
 <translation id="512758898067543763">ส่วนหัวของแถว</translation>
 <translation id="5143125788380636750">ปัจฉิมบท</translation>
-<translation id="5153163864850940242">กำลังเล่นวิดีโอในโหมดการแสดงภาพซ้อนภาพ</translation>
 <translation id="5164977714490026579">ค่าต้องมากกว่าหรือเท่ากับ <ph name="MINIMUM" /></translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">โปรดป้อนส่วนหนึ่งโดยตามด้วย "<ph name="ATSIGN" />" "<ph name="INVALIDADDRESS" />" นั้นไม่สมบูรณ์</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">เมตร</translation>
 <translation id="6166809985690652833">คำแถลงท้ายเล่ม</translation>
 <translation id="6213469881011901533">อภิธานศัพท์</translation>
-<translation id="6310801910862476708">ออกจากการแสดงภาพซ้อนภาพ</translation>
 <translation id="6398862346408813489">แสดงแผงการเลือกเดือน</translation>
 <translation id="6404546809543547843">ตัวควบคุมเวลาของเสียง</translation>
 <translation id="6453774872122745852">กิตติกรรมประกาศ</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">ดาวน์โหลดสื่อ</translation>
 <translation id="6981594929165378967">การแทรก</translation>
 <translation id="6989848892321993519">โปรดกรอกข้อความนี้ให้มีอักขระอย่างน้อย <ph name="MIN_CHARACTERS" /> ตัว (ตอนนี้คุณมี 1 ตัว)</translation>
+<translation id="7090364526657522309">บริการแบบอักษรของ Linux</translation>
 <translation id="709897737746224366">โปรดจับคู่รูปแบบที่ร้องขอ</translation>
 <translation id="7139483182332611405">ส่วนนำ</translation>
 <translation id="7223624360433298498">เวลาที่ผ่านไป</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">สารบัญ</translation>
 <translation id="8613126697340063924">ควบคุมการเล่นระยะไกล</translation>
 <translation id="862370744433916922">คำบรรยาย</translation>
-<translation id="8741316211671074806">การแสดงภาพซ้อนภาพ</translation>
 <translation id="8750798805984357768">โปรดเลือกตัวเลือกอย่างหนึ่งอย่างใดเหล่านี้</translation>
 <translation id="8785498733064193001">เริ่มเล่น</translation>
 <translation id="8808573423886751634">บท</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">อื่นๆ...</translation>
 <translation id="9138385573473225930">การแจ้งเตือน</translation>
 <translation id="9155987714137265666"><ph name="WEEK" /> เริ่มวันที่ <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">การแสดงภาพซ้อนภาพ</translation>
 <translation id="9168329111483466115">เชิงอรรถ</translation>
 <translation id="954003015749068518">เข้าสู่การแสดงภาพซ้อนภาพ</translation>
 <translation id="966787709310836684">เมนู</translation>
diff --git a/content/app/strings/translations/content_strings_tr.xtb b/content/app/strings/translations/content_strings_tr.xtb
index a141a10e..48eea3f 100644
--- a/content/app/strings/translations/content_strings_tr.xtb
+++ b/content/app/strings/translations/content_strings_tr.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Sonraki ayı göster</translation>
 <translation id="512758898067543763">satır başlığı</translation>
 <translation id="5143125788380636750">son söz</translation>
-<translation id="5153163864850940242">Bu video Pencere İçinde Pencere modunda oynatılıyor</translation>
 <translation id="5164977714490026579">Değer <ph name="MINIMUM" /> veya daha büyük olmalıdır.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Lütfen başına "<ph name="ATSIGN" />" ekleyin. "<ph name="INVALIDADDRESS" />" adresi eksik.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">ölçüm aracı</translation>
 <translation id="6166809985690652833">sonsöz</translation>
 <translation id="6213469881011901533">terimler sözlüğü</translation>
-<translation id="6310801910862476708">Pencere İçinde Pencereden Çık</translation>
 <translation id="6398862346408813489">Ay seçim panelini göster</translation>
 <translation id="6404546809543547843">ses zaman çizelgesi temizleyici</translation>
 <translation id="6453774872122745852">teşekkür</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">içindekiler</translation>
 <translation id="8613126697340063924">uzaktan oynatmayı kontrol et</translation>
 <translation id="862370744433916922">alt başlık</translation>
-<translation id="8741316211671074806">Pencere İçinde Pencere</translation>
 <translation id="8750798805984357768">Lütfen bu seçeneklerden birini belirleyin.</translation>
 <translation id="8785498733064193001">oynatmayı başlat</translation>
 <translation id="8808573423886751634">bölüm</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">Diğer...</translation>
 <translation id="9138385573473225930">uyarı</translation>
 <translation id="9155987714137265666"><ph name="WEEK_START_DATE" /> tarihinde başlayan <ph name="WEEK" /></translation>
+<translation id="916607977885256133">Pencere içinde Pencere</translation>
 <translation id="9168329111483466115">dipnot</translation>
 <translation id="954003015749068518">pencere içinde pencere moduna gir</translation>
 <translation id="966787709310836684">menü</translation>
diff --git a/content/app/strings/translations/content_strings_uk.xtb b/content/app/strings/translations/content_strings_uk.xtb
index 4208cc2..a294cb3 100644
--- a/content/app/strings/translations/content_strings_uk.xtb
+++ b/content/app/strings/translations/content_strings_uk.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Показати наступний місяць</translation>
 <translation id="512758898067543763">заголовок рядка</translation>
 <translation id="5143125788380636750">епілог</translation>
-<translation id="5153163864850940242">Це відео відтворюється в режимі "Картинка в картинці"</translation>
 <translation id="5164977714490026579">Значення має бути більшим або дорівнювати <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> Пб</translation>
 <translation id="5307600278924710095">Введіть частину електронної адреси до знака "<ph name="ATSIGN" />". Електронна адреса "<ph name="INVALIDADDRESS" />" неповна.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">вимірювач</translation>
 <translation id="6166809985690652833">післямова</translation>
 <translation id="6213469881011901533">глосарій</translation>
-<translation id="6310801910862476708">Вийти з режиму "Картинка в картинці"</translation>
 <translation id="6398862346408813489">Показати панель вибору місяців</translation>
 <translation id="6404546809543547843">повзунок часу відтворення аудіо</translation>
 <translation id="6453774872122745852">слова подяки</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">завантажити медіафайл</translation>
 <translation id="6981594929165378967">вставлення</translation>
 <translation id="6989848892321993519">У тексті має бути не менше стількох символів: <ph name="MIN_CHARACTERS" />. Наразі ви ввели 1 символ.</translation>
+<translation id="7090364526657522309">Сервіс шрифту Linux</translation>
 <translation id="709897737746224366">Виберіть потрібний формат.</translation>
 <translation id="7139483182332611405">передмова</translation>
 <translation id="7223624360433298498">минуло часу</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">зміст</translation>
 <translation id="8613126697340063924">керувати віддаленим відтворенням</translation>
 <translation id="862370744433916922">підзаголовок</translation>
-<translation id="8741316211671074806">Картинка в картинці</translation>
 <translation id="8750798805984357768">Виберіть один із запропонованих варіантів.</translation>
 <translation id="8785498733064193001">розпочати відтворення</translation>
 <translation id="8808573423886751634">розділ</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Інші...</translation>
 <translation id="9138385573473225930">сповіщення</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, починається <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Картинка в картинці</translation>
 <translation id="9168329111483466115">виноска</translation>
 <translation id="954003015749068518">увімкнути режим "Картинка в картинці"</translation>
 <translation id="966787709310836684">меню</translation>
diff --git a/content/app/strings/translations/content_strings_vi.xtb b/content/app/strings/translations/content_strings_vi.xtb
index bf74c51..5356d35 100644
--- a/content/app/strings/translations/content_strings_vi.xtb
+++ b/content/app/strings/translations/content_strings_vi.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">Hiển thị tháng tiếp theo</translation>
 <translation id="512758898067543763">tiêu đề hàng</translation>
 <translation id="5143125788380636750">lời kết</translation>
-<translation id="5153163864850940242">Video này đang phát ở chế độ Hình trong hình</translation>
 <translation id="5164977714490026579">Giá trị phải lớn hơn hoặc bằng <ph name="MINIMUM" />.</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">Vui lòng nhập phần đứng trước '<ph name="ATSIGN" />'. '<ph name="INVALIDADDRESS" />' không hoàn chỉnh.</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">thước đo</translation>
 <translation id="6166809985690652833">lời bạt</translation>
 <translation id="6213469881011901533">bảng thuật ngữ</translation>
-<translation id="6310801910862476708">Thoát chế độ hình trong hình</translation>
 <translation id="6398862346408813489">Hiển thị bảng lựa chọn tháng</translation>
 <translation id="6404546809543547843">trình kiểm soát thời gian âm thanh</translation>
 <translation id="6453774872122745852">lời cảm ơn</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">tải xuống phương tiện</translation>
 <translation id="6981594929165378967">chèn</translation>
 <translation id="6989848892321993519">Vui lòng kéo dài văn bản này thành <ph name="MIN_CHARACTERS" /> ký tự trở lên (bạn hiện đang sử dụng 1 ký tự).</translation>
+<translation id="7090364526657522309">Dịch vụ phông chữ trên Linux</translation>
 <translation id="709897737746224366">Vui lòng khớp với định dạng được yêu cầu.</translation>
 <translation id="7139483182332611405">lời nói đầu</translation>
 <translation id="7223624360433298498">thời gian trôi qua</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">mục lục</translation>
 <translation id="8613126697340063924">điều khiển phát lại từ xa</translation>
 <translation id="862370744433916922">phụ đề</translation>
-<translation id="8741316211671074806">Chế độ hình trong hình</translation>
 <translation id="8750798805984357768">Vui lòng chọn một trong các tùy chọn sau.</translation>
 <translation id="8785498733064193001">bắt đầu phát lại</translation>
 <translation id="8808573423886751634">chương</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">Khác...</translation>
 <translation id="9138385573473225930">thông báo</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />, bắt đầu vào <ph name="WEEK_START_DATE" /></translation>
+<translation id="916607977885256133">Ảnh trong ảnh</translation>
 <translation id="9168329111483466115">chú thích cuối trang</translation>
 <translation id="954003015749068518">vào chế độ hình trong hình</translation>
 <translation id="966787709310836684">menu</translation>
diff --git a/content/app/strings/translations/content_strings_zh-CN.xtb b/content/app/strings/translations/content_strings_zh-CN.xtb
index 9b051d6..a24a954 100644
--- a/content/app/strings/translations/content_strings_zh-CN.xtb
+++ b/content/app/strings/translations/content_strings_zh-CN.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">显示下一个月</translation>
 <translation id="512758898067543763">行标题</translation>
 <translation id="5143125788380636750">结语</translation>
-<translation id="5153163864850940242">此视频正在“画中画”模式中播放</translation>
 <translation id="5164977714490026579">值必须大于或等于 <ph name="MINIMUM" />。</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">请在“<ph name="ATSIGN" />”前面输入内容。“<ph name="INVALIDADDRESS" />”不完整。</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">计量条</translation>
 <translation id="6166809985690652833">后记</translation>
 <translation id="6213469881011901533">词汇表</translation>
-<translation id="6310801910862476708">退出“画中画”模式</translation>
 <translation id="6398862346408813489">显示月份选择面板</translation>
 <translation id="6404546809543547843">音频时间进度条</translation>
 <translation id="6453774872122745852">致谢</translation>
@@ -220,7 +218,6 @@
 <translation id="860475260694818407">目录</translation>
 <translation id="8613126697340063924">控制远程播放</translation>
 <translation id="862370744433916922">副标题</translation>
-<translation id="8741316211671074806">画中画</translation>
 <translation id="8750798805984357768">请从这些选项中选择一个。</translation>
 <translation id="8785498733064193001">开始播放</translation>
 <translation id="8808573423886751634">章节</translation>
@@ -238,6 +235,7 @@
 <translation id="9132465097189459683">其他...</translation>
 <translation id="9138385573473225930">提醒</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />,从 <ph name="WEEK_START_DATE" />开始</translation>
+<translation id="916607977885256133">画中画</translation>
 <translation id="9168329111483466115">脚注</translation>
 <translation id="954003015749068518">进入“画中画”模式</translation>
 <translation id="966787709310836684">菜单</translation>
diff --git a/content/app/strings/translations/content_strings_zh-TW.xtb b/content/app/strings/translations/content_strings_zh-TW.xtb
index 30047bf..04f5cc2 100644
--- a/content/app/strings/translations/content_strings_zh-TW.xtb
+++ b/content/app/strings/translations/content_strings_zh-TW.xtb
@@ -114,7 +114,6 @@
 <translation id="5117590920725113268">顯示下一個月</translation>
 <translation id="512758898067543763">列標題</translation>
 <translation id="5143125788380636750">結尾</translation>
-<translation id="5153163864850940242">目前在子母畫面模式中播放這部影片</translation>
 <translation id="5164977714490026579">值必須大於或等於 <ph name="MINIMUM" />。</translation>
 <translation id="520299402983819650"><ph name="QUANTITY" /> PB</translation>
 <translation id="5307600278924710095">請輸入「<ph name="ATSIGN" />」後面的部分。「<ph name="INVALIDADDRESS" />」不是完整值。</translation>
@@ -146,7 +145,6 @@
 <translation id="6164829606128959761">計量器</translation>
 <translation id="6166809985690652833">後記</translation>
 <translation id="6213469881011901533">詞彙解釋</translation>
-<translation id="6310801910862476708">離開子母畫面</translation>
 <translation id="6398862346408813489">顯示月份選取面板</translation>
 <translation id="6404546809543547843">音訊時間點拖曳工具</translation>
 <translation id="6453774872122745852">鳴謝</translation>
@@ -171,6 +169,7 @@
 <translation id="6941933287844615239">下載媒體</translation>
 <translation id="6981594929165378967">插入</translation>
 <translation id="6989848892321993519">請將這段文字加長到 <ph name="MIN_CHARACTERS" /> 個字元以上 (目前已有 1 個字元)。</translation>
+<translation id="7090364526657522309">Linux 字型服務</translation>
 <translation id="709897737746224366">請符合要求的格式。</translation>
 <translation id="7139483182332611405">前言</translation>
 <translation id="7223624360433298498">已播放時間</translation>
@@ -220,7 +219,6 @@
 <translation id="860475260694818407">目錄</translation>
 <translation id="8613126697340063924">控制遠端播放</translation>
 <translation id="862370744433916922">副標題</translation>
-<translation id="8741316211671074806">子母畫面</translation>
 <translation id="8750798805984357768">請選取其中一個選項。</translation>
 <translation id="8785498733064193001">開始播放</translation>
 <translation id="8808573423886751634">章節</translation>
@@ -238,6 +236,7 @@
 <translation id="9132465097189459683">其他...</translation>
 <translation id="9138385573473225930">警示</translation>
 <translation id="9155987714137265666"><ph name="WEEK" />,從 <ph name="WEEK_START_DATE" />開始</translation>
+<translation id="916607977885256133">子母畫面</translation>
 <translation id="9168329111483466115">註腳</translation>
 <translation id="954003015749068518">進入子母畫面</translation>
 <translation id="966787709310836684">選單</translation>
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index c81e294..56d9200 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1212,6 +1212,8 @@
     "payments/payment_instrument_icon_fetcher.h",
     "payments/payment_manager.cc",
     "payments/payment_manager.h",
+    "permissions/permission_controller_impl.cc",
+    "permissions/permission_controller_impl.h",
     "permissions/permission_service_context.cc",
     "permissions/permission_service_context.h",
     "permissions/permission_service_impl.cc",
diff --git a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
index f932b9a3..628058d 100644
--- a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
+++ b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
@@ -31,7 +31,6 @@
 #include "testing/gmock/include/gmock/gmock.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "third_party/skia/include/core/SkColor.h"
-#include "ui/gfx/image/image.h"
 
 namespace content {
 namespace {
@@ -146,23 +145,6 @@
   return requests;
 }
 
-// TODO(crbug.com/855789): Remove this helper function when icon deserialization
-// is added.
-void CheckSerializedIcon(const std::string& bytes, const SkBitmap& test_icon) {
-  SkBitmap icon =
-      gfx::Image::CreateFrom1xPNGBytes(
-          reinterpret_cast<const unsigned char*>(bytes.c_str()), bytes.size())
-          .AsBitmap();
-
-  EXPECT_FALSE(icon.isNull());
-  EXPECT_EQ(icon.width(), test_icon.width());
-  EXPECT_EQ(icon.height(), test_icon.height());
-  for (int i = 0; i < icon.width(); i++) {
-    for (int j = 0; j < icon.height(); j++)
-      EXPECT_EQ(icon.getColor(i, j), SK_ColorGREEN);
-  }
-}
-
 }  // namespace
 
 class BackgroundFetchDataManagerTest
@@ -745,12 +727,8 @@
   BackgroundFetchOptions options;
   blink::mojom::BackgroundFetchError error;
 
-  SkBitmap icon;
-  icon.allocN32Pixels(42, 42);
-  icon.eraseColor(SK_ColorGREEN);
-
   // Create a single registration.
-  CreateRegistration(registration_id, requests, options, icon, &error);
+  CreateRegistration(registration_id, requests, options, SkBitmap(), &error);
   EXPECT_EQ(error, blink::mojom::BackgroundFetchError::NONE);
 
   // Verify that the metadata can be retrieved.
@@ -760,7 +738,6 @@
   EXPECT_EQ(metadata->origin(), origin().Serialize());
   EXPECT_NE(metadata->creation_microseconds_since_unix_epoch(), 0);
   EXPECT_EQ(metadata->num_fetches(), static_cast<int>(requests.size()));
-  ASSERT_NO_FATAL_FAILURE(CheckSerializedIcon(metadata->icon(), icon));
 
   // Verify that retrieving using the wrong developer id doesn't work.
   metadata = GetMetadata(sw_id, origin(), kAlternativeDeveloperId, &error);
@@ -1373,8 +1350,10 @@
   // Register a Background Fetch.
   BackgroundFetchRegistrationId registration_id(
       sw_id, origin(), kExampleDeveloperId, kExampleUniqueId);
-
-  CreateRegistration(registration_id, requests, options, SkBitmap(), &error);
+  SkBitmap icon;
+  icon.allocN32Pixels(42, 42);
+  icon.eraseColor(SK_ColorGREEN);
+  CreateRegistration(registration_id, requests, options, icon, &error);
   ASSERT_EQ(error, blink::mojom::BackgroundFetchError::NONE);
   UpdateRegistrationUI(registration_id, kUpdatedTitle, &error);
   ASSERT_EQ(error, blink::mojom::BackgroundFetchError::NONE);
@@ -1382,16 +1361,26 @@
     std::vector<BackgroundFetchInitializationData> data =
         GetInitializationData();
     ASSERT_EQ(data.size(), 1u);
+    const BackgroundFetchInitializationData& init = data[0];
 
-    EXPECT_EQ(data[0].registration_id, registration_id);
-    EXPECT_EQ(data[0].registration.unique_id, kExampleUniqueId);
-    EXPECT_EQ(data[0].registration.developer_id, kExampleDeveloperId);
-    EXPECT_EQ(data[0].options.title, kInitialTitle);
-    EXPECT_EQ(data[0].options.download_total, 42u);
-    EXPECT_EQ(data[0].ui_title, kUpdatedTitle);
-    EXPECT_EQ(data[0].num_requests, requests.size());
-    EXPECT_EQ(data[0].num_completed_requests, 0u);
-    EXPECT_TRUE(data[0].active_fetch_guids.empty());
+    EXPECT_EQ(init.registration_id, registration_id);
+    EXPECT_EQ(init.registration.unique_id, kExampleUniqueId);
+    EXPECT_EQ(init.registration.developer_id, kExampleDeveloperId);
+    EXPECT_EQ(init.options.title, kInitialTitle);
+    EXPECT_EQ(init.options.download_total, 42u);
+    EXPECT_EQ(init.ui_title, kUpdatedTitle);
+    EXPECT_EQ(init.num_requests, requests.size());
+    EXPECT_EQ(init.num_completed_requests, 0u);
+    EXPECT_TRUE(init.active_fetch_guids.empty());
+
+    // Check icon.
+    ASSERT_FALSE(init.icon.drawsNothing());
+    EXPECT_EQ(icon.width(), init.icon.width());
+    EXPECT_EQ(icon.height(), init.icon.height());
+    for (int i = 0; i < icon.width(); i++) {
+      for (int j = 0; j < icon.height(); j++)
+        EXPECT_EQ(init.icon.getColor(i, j), SK_ColorGREEN);
+    }
   }
 
   // Mark one request as complete and start another.
diff --git a/content/browser/background_fetch/storage/get_initialization_data_task.cc b/content/browser/background_fetch/storage/get_initialization_data_task.cc
index 40d3975..5a2e88c4 100644
--- a/content/browser/background_fetch/storage/get_initialization_data_task.cc
+++ b/content/browser/background_fetch/storage/get_initialization_data_task.cc
@@ -6,10 +6,13 @@
 
 #include "base/barrier_closure.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/task_scheduler/post_task.h"
+#include "base/task_scheduler/task_traits.h"
 #include "content/browser/background_fetch/background_fetch.pb.h"
 #include "content/browser/background_fetch/storage/database_helpers.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
 #include "third_party/blink/public/common/manifest/manifest.h"
+#include "ui/gfx/image/image.h"
 #include "url/origin.h"
 
 namespace content {
@@ -199,6 +202,48 @@
   DISALLOW_COPY_AND_ASSIGN(GetActiveRequestsTask);
 };
 
+// Deserializes the icon and creates an SkBitmap from it.
+class DeserializeIconTask : public InitializationSubTask {
+ public:
+  DeserializeIconTask(DatabaseTaskHost* host,
+                      const SubTaskInit& sub_task_init,
+                      base::OnceClosure done_closure,
+                      std::string* serialized_icon)
+      : InitializationSubTask(host, sub_task_init, std::move(done_closure)),
+        serialized_icon_(serialized_icon),
+        weak_factory_(this) {}
+
+  ~DeserializeIconTask() override = default;
+
+  void Start() override {
+    base::PostTaskWithTraitsAndReplyWithResult(
+        FROM_HERE,
+        {base::MayBlock(), base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN,
+         base::TaskPriority::BACKGROUND},
+        base::BindOnce(&DeserializeIcon, std::move(serialized_icon_)),
+        base::BindOnce(&DeserializeIconTask::StoreIcon,
+                       weak_factory_.GetWeakPtr()));
+  }
+
+ private:
+  static SkBitmap DeserializeIcon(
+      std::unique_ptr<std::string> serialized_icon) {
+    return gfx::Image::CreateFrom1xPNGBytes(
+               reinterpret_cast<const unsigned char*>(serialized_icon->c_str()),
+               serialized_icon->size())
+        .AsBitmap();
+  }
+
+  void StoreIcon(SkBitmap icon) {
+    sub_task_init().initialization_data->icon = std::move(icon);
+    FinishTask();
+  }
+
+  std::unique_ptr<std::string> serialized_icon_;
+
+  base::WeakPtrFactory<DeserializeIconTask> weak_factory_;  // Keep as last.
+};
+
 // Fills the BackgroundFetchInitializationData with all the relevant information
 // stored in the BackgroundFetchMetadata proto.
 class FillFromMetadataTask : public InitializationSubTask {
@@ -304,7 +349,17 @@
       }
     }
 
-    FinishTask();
+    if (!metadata.icon().empty()) {
+      // Start an icon deserialization SubTask on another thread, then finish.
+      AddSubTask(std::make_unique<DeserializeIconTask>(
+          this, sub_task_init(),
+          base::BindOnce(&FillFromMetadataTask::FinishTask,
+                         weak_factory_.GetWeakPtr()),
+          metadata.release_icon()));
+    } else {
+      // Immediately finish.
+      FinishTask();
+    }
   }
 
   base::WeakPtrFactory<FillFromMetadataTask> weak_factory_;  // Keep as last.
@@ -325,7 +380,7 @@
   ~FillBackgroundFetchInitializationDataTask() override = default;
 
   void Start() override {
-    // We need 4 queries to get the initialization data. These are wrapped
+    // We need 3 queries to get the initialization data. These are wrapped
     // in a BarrierClosure to avoid querying them serially.
     // 1. Metadata
     // 2. Active Requests
diff --git a/content/browser/background_fetch/storage/get_initialization_data_task.h b/content/browser/background_fetch/storage/get_initialization_data_task.h
index 380323e6..e141cff 100644
--- a/content/browser/background_fetch/storage/get_initialization_data_task.h
+++ b/content/browser/background_fetch/storage/get_initialization_data_task.h
@@ -37,8 +37,6 @@
   size_t num_requests;
   size_t num_completed_requests;
   std::vector<std::string> active_fetch_guids;
-  // The most recent title. This can be different from |options.title| if the
-  // developer called `updateUI` on the BackgroundFetchUpdateEvent.
   std::string ui_title;
 
   DISALLOW_COPY_AND_ASSIGN(BackgroundFetchInitializationData);
diff --git a/content/browser/background_sync/background_sync_manager.cc b/content/browser/background_sync/background_sync_manager.cc
index 6ee9d5a..4668b39 100644
--- a/content/browser/background_sync/background_sync_manager.cc
+++ b/content/browser/background_sync/background_sync_manager.cc
@@ -27,7 +27,7 @@
 #include "content/public/browser/background_sync_controller.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "third_party/blink/public/common/service_worker/service_worker_type_converters.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_event_status.mojom.h"
@@ -80,8 +80,6 @@
   return browser_context->GetBackgroundSyncController();
 }
 
-// Returns PermissionStatus::DENIED if the permission manager cannot be
-// accessed for any reason.
 blink::mojom::PermissionStatus GetBackgroundSyncPermissionOnUIThread(
     scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
     const GURL& origin) {
@@ -92,13 +90,12 @@
   if (!browser_context)
     return blink::mojom::PermissionStatus::DENIED;
 
-  PermissionManager* permission_manager =
-      browser_context->GetPermissionManager();
-  if (!permission_manager)
-    return blink::mojom::PermissionStatus::DENIED;
+  PermissionController* permission_controller =
+      BrowserContext::GetPermissionController(browser_context);
+  DCHECK(permission_controller);
 
   // The requesting origin always matches the embedding origin.
-  return permission_manager->GetPermissionStatus(
+  return permission_controller->GetPermissionStatus(
       PermissionType::BACKGROUND_SYNC, origin, origin);
 }
 
diff --git a/content/browser/browser_context.cc b/content/browser/browser_context.cc
index 47d76e8..199a676 100644
--- a/content/browser/browser_context.cc
+++ b/content/browser/browser_context.cc
@@ -33,6 +33,7 @@
 #include "content/browser/download/download_manager_impl.h"
 #include "content/browser/indexed_db/indexed_db_context_impl.h"
 #include "content/browser/loader/resource_dispatcher_host_impl.h"
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/browser/push_messaging/push_messaging_router.h"
 #include "content/browser/service_manager/common_browser_interfaces.h"
 #include "content/browser/storage_partition_impl_map.h"
@@ -105,6 +106,7 @@
 // Key names on BrowserContext.
 const char kBrowsingDataRemoverKey[] = "browsing-data-remover";
 const char kContentServiceDelegateKey[] = "content-service-delegate";
+const char kPermissionControllerKey[] = "permission-controller";
 const char kDownloadManagerKeyName[] = "download_manager";
 const char kMojoWasInitialized[] = "mojo-was-initialized";
 const char kServiceManagerConnection[] = "service-manager-connection";
@@ -288,6 +290,20 @@
       context->GetUserData(kBrowsingDataRemoverKey));
 }
 
+// static
+content::PermissionController* content::BrowserContext::GetPermissionController(
+    BrowserContext* context) {
+  DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+  if (!context->GetUserData(kPermissionControllerKey)) {
+    context->SetUserData(kPermissionControllerKey,
+                         std::make_unique<PermissionControllerImpl>(context));
+  }
+
+  return static_cast<PermissionControllerImpl*>(
+      context->GetUserData(kPermissionControllerKey));
+}
+
 StoragePartition* BrowserContext::GetStoragePartition(
     BrowserContext* browser_context,
     SiteInstance* site_instance,
diff --git a/content/browser/dom_storage/dom_storage_context_wrapper.cc b/content/browser/dom_storage/dom_storage_context_wrapper.cc
index d7fe71e..3d71c01 100644
--- a/content/browser/dom_storage/dom_storage_context_wrapper.cc
+++ b/content/browser/dom_storage/dom_storage_context_wrapper.cc
@@ -21,6 +21,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/task_scheduler/post_task.h"
 #include "base/threading/thread_task_runner_handle.h"
+#include "build/build_config.h"
 #include "content/browser/dom_storage/dom_storage_area.h"
 #include "content/browser/dom_storage/dom_storage_context_impl.h"
 #include "content/browser/dom_storage/dom_storage_task_runner.h"
@@ -154,9 +155,18 @@
   if (base::FeatureList::IsEnabled(features::kMojoSessionStorage)) {
     mojo_session_state_ = new SessionStorageContextMojo(
         mojo_task_runner_, connector,
-        profile_path.empty() ? base::nullopt
-                             : base::make_optional(local_partition_path),
-        std::string(kSessionStorageDirectory));
+
+#if defined(OS_ANDROID)
+        // On Android there is no support for session storage restoring, and
+        // since the restoring code is responsible for database cleanup, we must
+        // manually delete the old database here before we open it.
+        SessionStorageContextMojo::BackingMode::kClearDiskStateOnOpen,
+#else
+        profile_path.empty()
+            ? SessionStorageContextMojo::BackingMode::kNoDisk
+            : SessionStorageContextMojo::BackingMode::kRestoreDiskState,
+#endif
+        local_partition_path, std::string(kSessionStorageDirectory));
   }
 
   if (base::FeatureList::IsEnabled(features::kMemoryCoordinator)) {
diff --git a/content/browser/dom_storage/session_storage_context_mojo.cc b/content/browser/dom_storage/session_storage_context_mojo.cc
index b3734e1..a3998a491 100644
--- a/content/browser/dom_storage/session_storage_context_mojo.cc
+++ b/content/browser/dom_storage/session_storage_context_mojo.cc
@@ -94,9 +94,11 @@
 SessionStorageContextMojo::SessionStorageContextMojo(
     scoped_refptr<base::SequencedTaskRunner> memory_dump_task_runner,
     service_manager::Connector* connector,
-    base::Optional<base::FilePath> local_partition_directory,
+    BackingMode backing_mode,
+    base::FilePath local_partition_directory,
     std::string leveldb_name)
     : connector_(connector ? connector->Clone() : nullptr),
+      backing_mode_(backing_mode),
       partition_directory_path_(std::move(local_partition_directory)),
       leveldb_name_(std::move(leveldb_name)),
       memory_dump_id_(base::StringPrintf("SessionStorage/0x%" PRIXPTR,
@@ -607,12 +609,12 @@
     return;
   }
 
-  if (partition_directory_path_ && !in_memory_only) {
+  if (backing_mode_ != BackingMode::kNoDisk && !in_memory_only) {
     // We were given a subdirectory to write to. Get it and use a disk backed
     // database.
     connector_->BindInterface(file::mojom::kServiceName, &file_system_);
     file_system_->GetSubDirectory(
-        partition_directory_path_.value().AsUTF8Unsafe(),
+        partition_directory_path_.AsUTF8Unsafe(),
         MakeRequest(&partition_directory_),
         base::BindOnce(&SessionStorageContextMojo::OnDirectoryOpened,
                        weak_ptr_factory_.GetWeakPtr()));
@@ -645,6 +647,14 @@
   filesystem::mojom::DirectoryPtr partition_directory_clone;
   partition_directory_->Clone(MakeRequest(&partition_directory_clone));
 
+  if (backing_mode_ == BackingMode::kClearDiskStateOnOpen) {
+    filesystem::mojom::DirectoryPtr partition_directory_clone_for_deletion;
+    partition_directory_->Clone(
+        MakeRequest(&partition_directory_clone_for_deletion));
+    leveldb_service_->Destroy(std::move(partition_directory_clone_for_deletion),
+                              leveldb_name_, base::DoNothing());
+  }
+
   leveldb_env::Options options;
   options.create_if_missing = true;
   options.max_open_files = 0;  // use minimum
@@ -843,7 +853,7 @@
 
   // If tried to recreate database on disk already, try again but this time
   // in memory.
-  if (tried_to_recreate_during_open_ && !!partition_directory_path_) {
+  if (tried_to_recreate_during_open_ && backing_mode_ != BackingMode::kNoDisk) {
     recreate_in_memory = true;
   } else if (tried_to_recreate_during_open_) {
     // Give up completely, run without any database.
diff --git a/content/browser/dom_storage/session_storage_context_mojo.h b/content/browser/dom_storage/session_storage_context_mojo.h
index da97c9c..9a4c3aa 100644
--- a/content/browser/dom_storage/session_storage_context_mojo.h
+++ b/content/browser/dom_storage/session_storage_context_mojo.h
@@ -59,10 +59,25 @@
     kImmediate
   };
 
+  enum class BackingMode {
+    // Use an in-memory leveldb database to store our state.
+    kNoDisk,
+    // Use disk for the leveldb database, but clear its contents before we open
+    // it. This is used for platforms like Android where the session restore
+    // code is never used, ScavengeUnusedNamespace is never called, and old
+    // session storage data will never be reused.
+    kClearDiskStateOnOpen,
+    // Use disk for the leveldb database, restore all saved namespaces from
+    // disk. This assumes that ScavengeUnusedNamespace will eventually be called
+    // to clean up unused namespaces on disk.
+    kRestoreDiskState
+  };
+
   SessionStorageContextMojo(
       scoped_refptr<base::SequencedTaskRunner> task_runner,
       service_manager::Connector* connector,
-      base::Optional<base::FilePath> local_partition_directory,
+      BackingMode backing_option,
+      base::FilePath local_partition_directory,
       std::string leveldb_name);
 
   void OpenSessionStorage(int process_id,
@@ -198,7 +213,8 @@
   SessionStorageMetadata metadata_;
 
   std::unique_ptr<service_manager::Connector> connector_;
-  const base::Optional<base::FilePath> partition_directory_path_;
+  BackingMode backing_mode_;
+  base::FilePath partition_directory_path_;
   std::string leveldb_name_;
 
   enum ConnectionState {
diff --git a/content/browser/dom_storage/session_storage_context_mojo_unittest.cc b/content/browser/dom_storage/session_storage_context_mojo_unittest.cc
index b904fd3..f09686f 100644
--- a/content/browser/dom_storage/session_storage_context_mojo_unittest.cc
+++ b/content/browser/dom_storage/session_storage_context_mojo_unittest.cc
@@ -74,11 +74,16 @@
 
   void OnBadMessage(const std::string& reason) { bad_message_called_ = true; }
 
+  void SetBackingMode(SessionStorageContextMojo::BackingMode backing_mode) {
+    DCHECK(!context_);
+    backing_mode_ = backing_mode;
+  }
+
   SessionStorageContextMojo* context() {
     if (!context_) {
       context_ = new SessionStorageContextMojo(
-          base::SequencedTaskRunnerHandle::Get(), connector(), base::FilePath(),
-          kSessionStorageDirectory);
+          base::SequencedTaskRunnerHandle::Get(), connector(), backing_mode_,
+          base::FilePath(), kSessionStorageDirectory);
     }
     return context_;
   }
@@ -144,6 +149,8 @@
   bool bad_message_called_ = false;
 
  private:
+  SessionStorageContextMojo::BackingMode backing_mode_ =
+      SessionStorageContextMojo::BackingMode::kRestoreDiskState;
   base::test::ScopedFeatureList features_;
   SessionStorageContextMojo* context_ = nullptr;
 
@@ -973,6 +980,47 @@
   EXPECT_EQ(0ul, data.size());
 }
 
+TEST_F(SessionStorageContextMojoTest, ClearDiskState) {
+  SetBackingMode(SessionStorageContextMojo::BackingMode::kClearDiskStateOnOpen);
+  std::string namespace_id1 = base::GenerateGUID();
+  url::Origin origin1 = url::Origin::Create(GURL("http://foobar.com"));
+  context()->CreateSessionNamespace(namespace_id1);
+
+  blink::mojom::SessionStorageNamespacePtr ss_namespace1;
+  context()->OpenSessionStorage(kTestProcessId, namespace_id1,
+                                mojo::MakeRequest(&ss_namespace1));
+
+  blink::mojom::StorageAreaAssociatedPtr leveldb_n1_o1;
+  ss_namespace1->OpenArea(origin1, mojo::MakeRequest(&leveldb_n1_o1));
+
+  // Verify no data.
+  std::vector<blink::mojom::KeyValuePtr> data;
+  EXPECT_TRUE(test::GetAllSync(leveldb_n1_o1.get(), &data));
+  EXPECT_EQ(0ul, data.size());
+
+  // Put some data.
+  EXPECT_TRUE(test::PutSync(
+      leveldb_n1_o1.get(), leveldb::StringPieceToUint8Vector("key1"),
+      leveldb::StringPieceToUint8Vector("value1"), base::nullopt, "source1"));
+
+  // Delete the namespace and shutdown the context, BUT persist the namespace on
+  // disk.
+  context()->DeleteSessionNamespace(namespace_id1, true);
+  ShutdownContext();
+
+  // This will re-open the context, and load the persisted namespace, but it
+  // should have been deleted due to our backing mode.
+  context()->CreateSessionNamespace(namespace_id1);
+  context()->OpenSessionStorage(kTestProcessId, namespace_id1,
+                                mojo::MakeRequest(&ss_namespace1));
+  ss_namespace1->OpenArea(origin1, mojo::MakeRequest(&leveldb_n1_o1));
+
+  // The data from before should not be here, because the context clears disk
+  // space on open.
+  EXPECT_TRUE(test::GetAllSync(leveldb_n1_o1.get(), &data));
+  EXPECT_EQ(0ul, data.size());
+}
+
 }  // namespace
 
 TEST_F(SessionStorageContextMojoTest, PurgeMemoryDoesNotCrashOrHang) {
diff --git a/content/browser/frame_host/render_frame_host_feature_policy_unittest.cc b/content/browser/frame_host/render_frame_host_feature_policy_unittest.cc
index e4a6d38..b730cee3 100644
--- a/content/browser/frame_host/render_frame_host_feature_policy_unittest.cc
+++ b/content/browser/frame_host/render_frame_host_feature_policy_unittest.cc
@@ -113,7 +113,7 @@
   EXPECT_TRUE(parent->IsFeatureEnabled(kDefaultSelfFeature));
   EXPECT_TRUE(child->IsFeatureEnabled(kDefaultSelfFeature));
 
-  // Set an empty whitelist in the child to test that the policies combine
+  // Set an empty allowlist in the child to test that the policies combine
   // correctly.
   RefreshPageAndSetHeaderPolicy(&child, kDefaultSelfFeature,
                                 std::vector<std::string>());
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 3aabf43..f3dbe5f 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -65,6 +65,7 @@
 #include "content/browser/media/media_interface_proxy.h"
 #include "content/browser/media/session/media_session_service_impl.h"
 #include "content/browser/payments/payment_app_context_impl.h"
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/browser/permissions/permission_service_context.h"
 #include "content/browser/permissions/permission_service_impl.h"
 #include "content/browser/presentation/presentation_service_impl.h"
@@ -117,7 +118,6 @@
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_plugin_guest_manager.h"
 #include "content/public/browser/content_browser_client.h"
-#include "content/public/browser/permission_manager.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/render_widget_host_view.h"
@@ -785,8 +785,13 @@
 
 void RenderFrameHostImpl::GetCanonicalUrlForSharing(
     mojom::Frame::GetCanonicalUrlForSharingCallback callback) {
-  DCHECK(frame_);
-  frame_->GetCanonicalUrlForSharing(std::move(callback));
+  // TODO(https://crbug.com/859110): Remove this once frame_ can no longer be
+  // null.
+  if (IsRenderFrameLive()) {
+    frame_->GetCanonicalUrlForSharing(std::move(callback));
+  } else {
+    std::move(callback).Run(base::nullopt);
+  }
 }
 
 blink::mojom::PauseSubresourceLoadingHandlePtr
@@ -3244,14 +3249,14 @@
   registry_->AddInterface(base::Bind(&InstalledAppProviderImplDefault::Create));
 #endif  // !defined(OS_ANDROID)
 
-  PermissionManager* permission_manager =
-      GetProcess()->GetBrowserContext()->GetPermissionManager();
-
+  PermissionControllerImpl* permission_controller =
+      PermissionControllerImpl::FromBrowserContext(
+          GetProcess()->GetBrowserContext());
   if (delegate_) {
     auto* geolocation_context = delegate_->GetGeolocationContext();
-    if (geolocation_context && permission_manager) {
+    if (geolocation_context) {
       geolocation_service_.reset(new GeolocationServiceImpl(
-          geolocation_context, permission_manager, this));
+          geolocation_context, permission_controller, this));
       // NOTE: Both the |interface_registry_| and |geolocation_service_| are
       // owned by |this|, so their destruction will be triggered together.
       // |interface_registry_| is declared after |geolocation_service_|, so it
@@ -3373,19 +3378,16 @@
   }
 #endif  // !defined(OS_ANDROID)
 
-  if (permission_manager) {
-    sensor_provider_proxy_.reset(
-        new SensorProviderProxyImpl(permission_manager, this));
-    registry_->AddInterface(
-        base::Bind(&SensorProviderProxyImpl::Bind,
-                   base::Unretained(sensor_provider_proxy_.get())));
-  }
+  sensor_provider_proxy_.reset(
+      new SensorProviderProxyImpl(permission_controller, this));
+  registry_->AddInterface(
+      base::Bind(&SensorProviderProxyImpl::Bind,
+                 base::Unretained(sensor_provider_proxy_.get())));
 
-  // Only save decode stats when BrowserContext is on-the-record and provides a
-  // VideoPerfHistory.
+  // Only save decode stats when BrowserContext provides a VideoPerfHistory.
+  // Off-the-record contexts will internally use an ephemeral history DB.
   media::VideoDecodePerfHistory::SaveCallback save_stats_cb;
-  if (!GetSiteInstance()->GetBrowserContext()->IsOffTheRecord() &&
-      GetSiteInstance()->GetBrowserContext()->GetVideoDecodePerfHistory()) {
+  if (GetSiteInstance()->GetBrowserContext()->GetVideoDecodePerfHistory()) {
     save_stats_cb = GetSiteInstance()
                         ->GetBrowserContext()
                         ->GetVideoDecodePerfHistory()
diff --git a/content/browser/frame_host/render_frame_host_impl_browsertest.cc b/content/browser/frame_host/render_frame_host_impl_browsertest.cc
index 5b37999c..ca71741 100644
--- a/content/browser/frame_host/render_frame_host_impl_browsertest.cc
+++ b/content/browser/frame_host/render_frame_host_impl_browsertest.cc
@@ -1322,4 +1322,25 @@
   wait_until_connection_error_loop_2.Run();
 }
 
+// Regression test for https://crbug.com/852350
+IN_PROC_BROWSER_TEST_F(RenderFrameHostImplBrowserTest,
+                       GetCanonicalUrlAfterRendererCrash) {
+  EXPECT_TRUE(NavigateToURL(
+      shell(), GetTestUrl("render_frame_host", "beforeunload.html")));
+  EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
+
+  WebContentsImpl* wc = static_cast<WebContentsImpl*>(shell()->web_contents());
+  RenderFrameHostImpl* main_frame =
+      static_cast<RenderFrameHostImpl*>(wc->GetMainFrame());
+
+  // Make the renderer crash.
+  RenderProcessHost* renderer_process = main_frame->GetProcess();
+  RenderProcessHostWatcher crash_observer(
+      renderer_process, RenderProcessHostWatcher::WATCH_FOR_PROCESS_EXIT);
+  renderer_process->Shutdown(0);
+  crash_observer.Wait();
+
+  main_frame->GetCanonicalUrlForSharing(base::DoNothing());
+}
+
 }  // namespace content
diff --git a/content/browser/generic_sensor/sensor_provider_proxy_impl.cc b/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
index d643df7..174388b 100644
--- a/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
+++ b/content/browser/generic_sensor/sensor_provider_proxy_impl.cc
@@ -8,8 +8,8 @@
 #include <utility>
 #include <vector>
 
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/public/browser/browser_context.h"
-#include "content/public/browser/permission_manager.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
@@ -26,12 +26,12 @@
 namespace content {
 
 SensorProviderProxyImpl::SensorProviderProxyImpl(
-    PermissionManager* permission_manager,
+    PermissionControllerImpl* permission_controller,
     RenderFrameHost* render_frame_host)
-    : permission_manager_(permission_manager),
+    : permission_controller_(permission_controller),
       render_frame_host_(render_frame_host),
       weak_factory_(this) {
-  DCHECK(permission_manager);
+  DCHECK(permission_controller);
   DCHECK(render_frame_host);
 }
 
@@ -65,9 +65,9 @@
   }
 
   // TODO(shalamov): base::BindOnce should be used (https://crbug.com/714018),
-  // however, PermissionManager::RequestPermission enforces use of repeating
+  // however, PermissionController::RequestPermission enforces use of repeating
   // callback.
-  permission_manager_->RequestPermission(
+  permission_controller_->RequestPermission(
       PermissionType::SENSORS, render_frame_host_,
       render_frame_host_->GetLastCommittedURL().GetOrigin(), false,
       base::BindRepeating(
diff --git a/content/browser/generic_sensor/sensor_provider_proxy_impl.h b/content/browser/generic_sensor/sensor_provider_proxy_impl.h
index 69efa72..41e673bd 100644
--- a/content/browser/generic_sensor/sensor_provider_proxy_impl.h
+++ b/content/browser/generic_sensor/sensor_provider_proxy_impl.h
@@ -13,15 +13,15 @@
 
 namespace content {
 
-class PermissionManager;
+class PermissionControllerImpl;
 class RenderFrameHost;
 
 // This proxy acts as a gatekeeper to the real sensor provider so that this
 // proxy can intercept sensor requests and allow or deny them based on
-// the permission statuses retrieved from a permission manager.
+// the permission statuses retrieved from a permission controller.
 class SensorProviderProxyImpl final : public device::mojom::SensorProvider {
  public:
-  SensorProviderProxyImpl(PermissionManager* permission_manager,
+  SensorProviderProxyImpl(PermissionControllerImpl* permission_controller,
                           RenderFrameHost* render_frame_host);
   ~SensorProviderProxyImpl() override;
 
@@ -39,7 +39,7 @@
   void OnConnectionError();
 
   mojo::BindingSet<device::mojom::SensorProvider> binding_set_;
-  PermissionManager* permission_manager_;
+  PermissionControllerImpl* permission_controller_;
   RenderFrameHost* render_frame_host_;
   device::mojom::SensorProviderPtr sensor_provider_;
 
diff --git a/content/browser/geolocation/geolocation_service_impl.cc b/content/browser/geolocation/geolocation_service_impl.cc
index 80bdba29..342e68a 100644
--- a/content/browser/geolocation/geolocation_service_impl.cc
+++ b/content/browser/geolocation/geolocation_service_impl.cc
@@ -4,7 +4,7 @@
 
 #include "content/browser/geolocation/geolocation_service_impl.h"
 
-#include "content/public/browser/permission_manager.h"
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/common/content_features.h"
@@ -13,9 +13,9 @@
 namespace content {
 
 GeolocationServiceImplContext::GeolocationServiceImplContext(
-    PermissionManager* permission_manager)
-    : permission_manager_(permission_manager),
-      request_id_(PermissionManager::kNoPendingOperation),
+    PermissionControllerImpl* permission_controller)
+    : permission_controller_(permission_controller),
+      request_id_(PermissionController::kNoPendingOperation),
       weak_factory_(this) {}
 
 GeolocationServiceImplContext::~GeolocationServiceImplContext() {
@@ -25,14 +25,14 @@
     RenderFrameHost* render_frame_host,
     bool user_gesture,
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
-  if (request_id_ != PermissionManager::kNoPendingOperation) {
+  if (request_id_ != PermissionController::kNoPendingOperation) {
     mojo::ReportBadMessage(
         "GeolocationService client may only create one Geolocation at a "
         "time.");
     return;
   }
 
-  request_id_ = permission_manager_->RequestPermission(
+  request_id_ = permission_controller_->RequestPermission(
       PermissionType::GEOLOCATION, render_frame_host,
       render_frame_host->GetLastCommittedOrigin().GetURL(), user_gesture,
       // NOTE: The permission request is canceled in the destructor, so it is
@@ -44,19 +44,19 @@
 void GeolocationServiceImplContext::HandlePermissionStatus(
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback,
     blink::mojom::PermissionStatus permission_status) {
-  request_id_ = PermissionManager::kNoPendingOperation;
+  request_id_ = PermissionController::kNoPendingOperation;
   callback.Run(permission_status);
 }
 
 GeolocationServiceImpl::GeolocationServiceImpl(
     device::mojom::GeolocationContext* geolocation_context,
-    PermissionManager* permission_manager,
+    PermissionControllerImpl* permission_controller,
     RenderFrameHost* render_frame_host)
     : geolocation_context_(geolocation_context),
-      permission_manager_(permission_manager),
+      permission_controller_(permission_controller),
       render_frame_host_(render_frame_host) {
   DCHECK(geolocation_context);
-  DCHECK(permission_manager);
+  DCHECK(permission_controller);
   DCHECK(render_frame_host);
 }
 
@@ -66,7 +66,7 @@
     blink::mojom::GeolocationServiceRequest request) {
   binding_set_.AddBinding(
       this, std::move(request),
-      std::make_unique<GeolocationServiceImplContext>(permission_manager_));
+      std::make_unique<GeolocationServiceImplContext>(permission_controller_));
 }
 
 void GeolocationServiceImpl::CreateGeolocation(
diff --git a/content/browser/geolocation/geolocation_service_impl.h b/content/browser/geolocation/geolocation_service_impl.h
index 68f6a20..42548d9 100644
--- a/content/browser/geolocation/geolocation_service_impl.h
+++ b/content/browser/geolocation/geolocation_service_impl.h
@@ -20,11 +20,12 @@
 
 namespace content {
 class RenderFrameHost;
-class PermissionManager;
+class PermissionControllerImpl;
 
 class GeolocationServiceImplContext {
  public:
-  GeolocationServiceImplContext(PermissionManager* permission_manager_);
+  explicit GeolocationServiceImplContext(
+      PermissionControllerImpl* permission_controller);
   ~GeolocationServiceImplContext();
   void RequestPermission(
       RenderFrameHost* render_frame_host,
@@ -32,7 +33,7 @@
       const base::Callback<void(blink::mojom::PermissionStatus)>& callback);
 
  private:
-  PermissionManager* permission_manager_;
+  PermissionControllerImpl* permission_controller_;
   int request_id_;
 
   void HandlePermissionStatus(
@@ -48,7 +49,7 @@
     : public blink::mojom::GeolocationService {
  public:
   GeolocationServiceImpl(device::mojom::GeolocationContext* geolocation_context,
-                         PermissionManager* permission_manager,
+                         PermissionControllerImpl* permission_controller,
                          RenderFrameHost* render_frame_host);
   ~GeolocationServiceImpl() override;
 
@@ -68,7 +69,7 @@
       blink::mojom::PermissionStatus permission_status);
 
   device::mojom::GeolocationContext* geolocation_context_;
-  PermissionManager* permission_manager_;
+  PermissionControllerImpl* permission_controller_;
   RenderFrameHost* render_frame_host_;
 
   // Along with each GeolocationService, we store a
diff --git a/content/browser/geolocation/geolocation_service_impl_unittest.cc b/content/browser/geolocation/geolocation_service_impl_unittest.cc
index e3a1314..6f2230c 100644
--- a/content/browser/geolocation/geolocation_service_impl_unittest.cc
+++ b/content/browser/geolocation/geolocation_service_impl_unittest.cc
@@ -7,12 +7,14 @@
 #include "base/bind_helpers.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_feature_list.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/browser/permissions/permission_controller_impl.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/common/content_features.h"
 #include "content/public/common/service_manager_connection.h"
 #include "content/public/test/mock_permission_manager.h"
 #include "content/public/test/navigation_simulator.h"
+#include "content/public/test/test_browser_context.h"
 #include "content/public/test/test_service_manager_context.h"
 #include "content/test/test_render_frame_host.h"
 #include "services/device/public/cpp/test/scoped_geolocation_overrider.h"
@@ -45,7 +47,7 @@
 class TestPermissionManager : public MockPermissionManager {
  public:
   TestPermissionManager()
-      : request_id_(PermissionManager::kNoPendingOperation) {}
+      : request_id_(PermissionController::kNoPendingOperation) {}
   ~TestPermissionManager() override = default;
 
   int RequestPermission(PermissionType permissions,
@@ -81,7 +83,11 @@
   void SetUp() override {
     RenderViewHostImplTestHarness::SetUp();
     NavigateAndCommit(kMainUrl);
-    permission_manager_.reset(new TestPermissionManager);
+    browser_context_.reset(new content::TestBrowserContext());
+    browser_context_->SetPermissionManager(
+        std::make_unique<TestPermissionManager>());
+    permission_controller_.reset(
+        new PermissionControllerImpl(browser_context_.get()));
 
     service_manager_context_ = std::make_unique<TestServiceManagerContext>();
     geolocation_overrider_ =
@@ -97,6 +103,7 @@
     context_ptr_.reset();
     geolocation_overrider_.reset();
     service_manager_context_.reset();
+    browser_context_.reset();
     RenderViewHostImplTestHarness::TearDown();
   }
 
@@ -116,7 +123,7 @@
     embedded_rfh = navigation_simulator->GetFinalRenderFrameHost();
 
     service_.reset(new GeolocationServiceImpl(
-        context_ptr_.get(), permission_manager_.get(), embedded_rfh));
+        context_ptr_.get(), permission_controller_.get(), embedded_rfh));
     service_->Bind(mojo::MakeRequest(&service_ptr_));
   }
 
@@ -125,7 +132,8 @@
   GeolocationService* service() { return &*service_ptr_; }
 
   TestPermissionManager* permission_manager() {
-    return permission_manager_.get();
+    return static_cast<TestPermissionManager*>(
+        browser_context_->GetPermissionManager());
   }
 
  private:
@@ -134,7 +142,8 @@
 
   // The |permission_manager_| needs to come before the |service_| since
   // GeolocationService calls PermissionManager in its destructor.
-  std::unique_ptr<TestPermissionManager> permission_manager_;
+  std::unique_ptr<TestBrowserContext> browser_context_;
+  std::unique_ptr<PermissionControllerImpl> permission_controller_;
   std::unique_ptr<GeolocationServiceImpl> service_;
   GeolocationServicePtr service_ptr_;
   device::mojom::GeolocationContextPtr context_ptr_;
diff --git a/content/browser/media/flinging_renderer.cc b/content/browser/media/flinging_renderer.cc
index 8828939..b6119358 100644
--- a/content/browser/media/flinging_renderer.cc
+++ b/content/browser/media/flinging_renderer.cc
@@ -14,7 +14,8 @@
 
 namespace content {
 
-FlingingRenderer::FlingingRenderer(std::unique_ptr<MediaController> controller)
+FlingingRenderer::FlingingRenderer(
+    std::unique_ptr<media::MediaController> controller)
     : controller_(std::move(controller)) {}
 
 FlingingRenderer::~FlingingRenderer() = default;
diff --git a/content/browser/media/flinging_renderer.h b/content/browser/media/flinging_renderer.h
index 59a12b8..38c411c 100644
--- a/content/browser/media/flinging_renderer.h
+++ b/content/browser/media/flinging_renderer.h
@@ -7,7 +7,7 @@
 
 #include "base/callback.h"
 #include "content/common/content_export.h"
-#include "content/public/browser/media_controller.h"
+#include "media/base/media_controller.h"
 #include "media/base/media_resource.h"
 #include "media/base/renderer.h"
 #include "media/base/renderer_client.h"
@@ -50,9 +50,9 @@
  private:
   friend class FlingingRendererTest;
 
-  explicit FlingingRenderer(std::unique_ptr<MediaController> controller);
+  explicit FlingingRenderer(std::unique_ptr<media::MediaController> controller);
 
-  std::unique_ptr<MediaController> controller_;
+  std::unique_ptr<media::MediaController> controller_;
 
   DISALLOW_COPY_AND_ASSIGN(FlingingRenderer);
 };
diff --git a/content/browser/media/flinging_renderer_unittest.cc b/content/browser/media/flinging_renderer_unittest.cc
index 923415d..680ac22 100644
--- a/content/browser/media/flinging_renderer_unittest.cc
+++ b/content/browser/media/flinging_renderer_unittest.cc
@@ -5,7 +5,7 @@
 #include "content/browser/media/flinging_renderer.h"
 
 #include "base/version.h"
-#include "content/public/browser/media_controller.h"
+#include "media/base/media_controller.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -14,7 +14,7 @@
 
 namespace content {
 
-class MockMediaController : public MediaController {
+class MockMediaController : public media::MediaController {
  public:
   MOCK_METHOD0(Play, void());
   MOCK_METHOD0(Pause, void());
@@ -27,7 +27,7 @@
  public:
   FlingingRendererTest()
       : media_controller_(new StrictMock<MockMediaController>()),
-        renderer_(std::unique_ptr<MediaController>(media_controller_)) {}
+        renderer_(std::unique_ptr<media::MediaController>(media_controller_)) {}
 
  protected:
   StrictMock<MockMediaController>* media_controller_;
diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc
index f9711053..66566da 100644
--- a/content/browser/notifications/blink_notification_service_impl.cc
+++ b/content/browser/notifications/blink_notification_service_impl.cc
@@ -14,7 +14,7 @@
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/browser/notification_database_data.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/platform_notification_service.h"
 #include "content/public/common/content_client.h"
@@ -128,11 +128,9 @@
 blink::mojom::PermissionStatus
 BlinkNotificationServiceImpl::CheckPermissionStatus() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (!browser_context_->GetPermissionManager())
-    return blink::mojom::PermissionStatus::DENIED;
-
-  return browser_context_->GetPermissionManager()->GetPermissionStatus(
-      PermissionType::NOTIFICATIONS, origin_.GetURL(), origin_.GetURL());
+  return BrowserContext::GetPermissionController(browser_context_)
+      ->GetPermissionStatus(PermissionType::NOTIFICATIONS, origin_.GetURL(),
+                            origin_.GetURL());
 }
 
 void BlinkNotificationServiceImpl::DisplayPersistentNotification(
diff --git a/content/browser/payments/payment_app_provider_impl.cc b/content/browser/payments/payment_app_provider_impl.cc
index 6d28562..7ef9019 100644
--- a/content/browser/payments/payment_app_provider_impl.cc
+++ b/content/browser/payments/payment_app_provider_impl.cc
@@ -14,7 +14,7 @@
 #include "content/browser/storage_partition_impl.h"
 #include "content/common/service_worker/service_worker_utils.h"
 #include "content/public/browser/browser_thread.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
@@ -401,18 +401,15 @@
     PaymentAppProvider::PaymentApps apps) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
-  PermissionManager* permission_manager =
-      browser_context->GetPermissionManager();
-  if (!permission_manager) {
-    std::move(callback).Run(PaymentAppProvider::PaymentApps());
-    return;
-  }
+  PermissionController* permission_controller =
+      BrowserContext::GetPermissionController(browser_context);
+  DCHECK(permission_controller);
 
   PaymentAppProvider::PaymentApps permitted_apps;
   for (auto& app : apps) {
     GURL origin = app.second->scope.GetOrigin();
-    if (permission_manager->GetPermissionStatus(PermissionType::PAYMENT_HANDLER,
-                                                origin, origin) ==
+    if (permission_controller->GetPermissionStatus(
+            PermissionType::PAYMENT_HANDLER, origin, origin) ==
         blink::mojom::PermissionStatus::GRANTED) {
       permitted_apps[app.first] = std::move(app.second);
     }
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
new file mode 100644
index 0000000..5c2a3a2
--- /dev/null
+++ b/content/browser/permissions/permission_controller_impl.cc
@@ -0,0 +1,119 @@
+// 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 CONTENT_BROWSER_PERMISSIONS_PERMISSION_CONTROLLER_IMPL_CC_
+#define CONTENT_BROWSER_PERMISSIONS_PERMISSION_CONTROLLER_IMPL_CC_
+
+#include "content/browser/permissions/permission_controller_impl.h"
+#include "content/common/content_export.h"
+#include "content/public/browser/browser_context.h"
+#include "content/public/browser/permission_manager.h"
+#include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
+
+class GURL;
+
+namespace content {
+
+PermissionControllerImpl::PermissionControllerImpl(
+    BrowserContext* browser_context)
+    : browser_context_(browser_context) {}
+
+// static
+PermissionControllerImpl* PermissionControllerImpl::FromBrowserContext(
+    BrowserContext* browser_context) {
+  return static_cast<PermissionControllerImpl*>(
+      BrowserContext::GetPermissionController(browser_context));
+}
+
+PermissionControllerImpl::~PermissionControllerImpl() = default;
+
+int PermissionControllerImpl::RequestPermission(
+    PermissionType permission,
+    RenderFrameHost* render_frame_host,
+    const GURL& requesting_origin,
+    bool user_gesture,
+    const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate) {
+    callback.Run(blink::mojom::PermissionStatus::DENIED);
+    return kNoPendingOperation;
+  }
+  return delegate->RequestPermission(permission, render_frame_host,
+                                     requesting_origin, user_gesture, callback);
+}
+
+int PermissionControllerImpl::RequestPermissions(
+    const std::vector<PermissionType>& permissions,
+    RenderFrameHost* render_frame_host,
+    const GURL& requesting_origin,
+    bool user_gesture,
+    const base::Callback<
+        void(const std::vector<blink::mojom::PermissionStatus>&)>& callback) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate) {
+    std::vector<blink::mojom::PermissionStatus> result(
+        permissions.size(), blink::mojom::PermissionStatus::DENIED);
+    callback.Run(result);
+    return kNoPendingOperation;
+  }
+  return delegate->RequestPermissions(permissions, render_frame_host,
+                                      requesting_origin, user_gesture,
+                                      callback);
+}
+
+blink::mojom::PermissionStatus PermissionControllerImpl::GetPermissionStatus(
+    PermissionType permission,
+    const GURL& requesting_origin,
+    const GURL& embedding_origin) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate)
+    return blink::mojom::PermissionStatus::DENIED;
+  return delegate->GetPermissionStatus(permission, requesting_origin,
+                                       embedding_origin);
+}
+
+blink::mojom::PermissionStatus
+PermissionControllerImpl::GetPermissionStatusForFrame(
+    PermissionType permission,
+    RenderFrameHost* render_frame_host,
+    const GURL& requesting_origin) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate)
+    return blink::mojom::PermissionStatus::DENIED;
+  return delegate->GetPermissionStatusForFrame(permission, render_frame_host,
+                                               requesting_origin);
+}
+
+void PermissionControllerImpl::ResetPermission(PermissionType permission,
+                                               const GURL& requesting_origin,
+                                               const GURL& embedding_origin) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate)
+    return;
+  delegate->ResetPermission(permission, requesting_origin, embedding_origin);
+}
+
+int PermissionControllerImpl::SubscribePermissionStatusChange(
+    PermissionType permission,
+    const GURL& requesting_origin,
+    const GURL& embedding_origin,
+    const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate)
+    return kNoPendingOperation;
+  return delegate->SubscribePermissionStatusChange(
+      permission, requesting_origin, embedding_origin, callback);
+}
+
+void PermissionControllerImpl::UnsubscribePermissionStatusChange(
+    int subscription_id) {
+  PermissionManager* delegate = browser_context_->GetPermissionManager();
+  if (!delegate)
+    return;
+  delegate->UnsubscribePermissionStatusChange(subscription_id);
+}
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_PERMISSIONS_PERMISSION_CONTROLLER_IMPL_CC_
diff --git a/content/browser/permissions/permission_controller_impl.h b/content/browser/permissions/permission_controller_impl.h
new file mode 100644
index 0000000..460f0335
--- /dev/null
+++ b/content/browser/permissions/permission_controller_impl.h
@@ -0,0 +1,72 @@
+// 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 CONTENT_BROWSER_PERMISSIONS_PERMISSION_CONTROLLER_IMPL_H_
+#define CONTENT_BROWSER_PERMISSIONS_PERMISSION_CONTROLLER_IMPL_H_
+
+#include "content/common/content_export.h"
+#include "content/public/browser/permission_controller.h"
+
+namespace content {
+
+class BrowserContext;
+
+// Implementation of the PermissionController interface. This
+// is used by content/ layer to manage permissions.
+// There is one instance of this class per BrowserContext.
+class CONTENT_EXPORT PermissionControllerImpl : public PermissionController {
+ public:
+  explicit PermissionControllerImpl(BrowserContext* browser_context);
+  ~PermissionControllerImpl() override;
+
+  static PermissionControllerImpl* FromBrowserContext(
+      BrowserContext* browser_context);
+
+  // PermissionController implementation.
+  blink::mojom::PermissionStatus GetPermissionStatus(
+      PermissionType permission,
+      const GURL& requesting_origin,
+      const GURL& embedding_origin) override;
+
+  blink::mojom::PermissionStatus GetPermissionStatusForFrame(
+      PermissionType permission,
+      RenderFrameHost* render_frame_host,
+      const GURL& requesting_origin) override;
+
+  int RequestPermission(
+      PermissionType permission,
+      RenderFrameHost* render_frame_host,
+      const GURL& requesting_origin,
+      bool user_gesture,
+      const base::Callback<void(blink::mojom::PermissionStatus)>& callback);
+
+  int RequestPermissions(
+      const std::vector<PermissionType>& permission,
+      RenderFrameHost* render_frame_host,
+      const GURL& requesting_origin,
+      bool user_gesture,
+      const base::Callback<
+          void(const std::vector<blink::mojom::PermissionStatus>&)>& callback);
+
+  void ResetPermission(PermissionType permission,
+                       const GURL& requesting_origin,
+                       const GURL& embedding_origin);
+
+  int SubscribePermissionStatusChange(
+      PermissionType permission,
+      const GURL& requesting_origin,
+      const GURL& embedding_origin,
+      const base::Callback<void(blink::mojom::PermissionStatus)>& callback);
+
+  void UnsubscribePermissionStatusChange(int subscription_id);
+
+ private:
+  BrowserContext* browser_context_;
+
+  DISALLOW_COPY_AND_ASSIGN(PermissionControllerImpl);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_PERMISSIONS_PERMISSION_CONTROLLER_IMPL_H_
diff --git a/content/browser/permissions/permission_service_context.cc b/content/browser/permissions/permission_service_context.cc
index e115a1a..05cd21b 100644
--- a/content/browser/permissions/permission_service_context.cc
+++ b/content/browser/permissions/permission_service_context.cc
@@ -6,10 +6,11 @@
 
 #include <utility>
 
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/browser/permissions/permission_service_impl.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/navigation_handle.h"
-#include "content/public/browser/permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/web_contents.h"
@@ -30,8 +31,8 @@
   ~PermissionSubscription() {
     DCHECK_NE(id_, 0);
     BrowserContext* browser_context = context_->GetBrowserContext();
-    if (browser_context && browser_context->GetPermissionManager()) {
-      browser_context->GetPermissionManager()
+    if (browser_context) {
+      PermissionControllerImpl::FromBrowserContext(browser_context)
           ->UnsubscribePermissionStatusChange(id_);
     }
   }
@@ -90,7 +91,7 @@
     const url::Origin& origin,
     PermissionObserverPtr observer) {
   BrowserContext* browser_context = GetBrowserContext();
-  if (!browser_context || !browser_context->GetPermissionManager())
+  if (!browser_context)
     return;
 
   auto subscription =
@@ -98,12 +99,15 @@
   GURL requesting_origin(origin.Serialize());
   GURL embedding_origin = GetEmbeddingOrigin();
   int subscription_id =
-      browser_context->GetPermissionManager()->SubscribePermissionStatusChange(
-          permission_type, requesting_origin,
-          // If the embedding_origin is empty, we'll use the |origin| instead.
-          embedding_origin.is_empty() ? requesting_origin : embedding_origin,
-          base::Bind(&PermissionSubscription::OnPermissionStatusChanged,
-                     base::Unretained(subscription.get())));
+      PermissionControllerImpl::FromBrowserContext(browser_context)
+          ->SubscribePermissionStatusChange(
+              permission_type, requesting_origin,
+              // If the embedding_origin is empty, we'll use the |origin|
+              // instead.
+              embedding_origin.is_empty() ? requesting_origin
+                                          : embedding_origin,
+              base::Bind(&PermissionSubscription::OnPermissionStatusChanged,
+                         base::Unretained(subscription.get())));
   subscription->set_id(subscription_id);
   subscriptions_[subscription_id] = std::move(subscription);
 }
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
index 4c86c799..f84599d 100644
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
@@ -14,8 +14,8 @@
 #include "base/memory/ptr_util.h"
 #include "build/build_config.h"
 #include "content/browser/bad_message.h"
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/public/browser/browser_context.h"
-#include "content/public/browser/permission_manager.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/render_frame_host.h"
 
@@ -121,7 +121,7 @@
   }
 
  private:
-  // Request ID received from the PermissionManager.
+  // Request ID received from the PermissionController.
   int id_;
   RequestPermissionsCallback callback_;
   size_t request_size_;
@@ -159,8 +159,7 @@
   if (!browser_context)
     return;
 
-  if (!context_->render_frame_host() ||
-      !browser_context->GetPermissionManager()) {
+  if (!context_->render_frame_host()) {
     std::vector<PermissionStatus> result(permissions.size());
     for (size_t i = 0; i < permissions.size(); ++i)
       result[i] = GetPermissionStatus(permissions[i]);
@@ -187,10 +186,13 @@
       std::make_unique<PendingRequest>(types, std::move(callback));
 
   int pending_request_id = pending_requests_.Add(std::move(pending_request));
-  int id = browser_context->GetPermissionManager()->RequestPermissions(
-      types, context_->render_frame_host(), origin_.GetURL(), user_gesture,
-      base::Bind(&PermissionServiceImpl::OnRequestPermissionsResponse,
-                 weak_factory_.GetWeakPtr(), pending_request_id));
+  int id =
+      PermissionControllerImpl::FromBrowserContext(browser_context)
+          ->RequestPermissions(
+              types, context_->render_frame_host(), origin_.GetURL(),
+              user_gesture,
+              base::Bind(&PermissionServiceImpl::OnRequestPermissionsResponse,
+                         weak_factory_.GetWeakPtr(), pending_request_id));
 
   // Check if the request still exists. It may have been removed by the
   // the response callback.
@@ -271,18 +273,16 @@
   if (!browser_context)
     return PermissionStatus::DENIED;
 
-  if (!browser_context->GetPermissionManager())
-    return PermissionStatus::DENIED;
-
   GURL requesting_origin(origin_.GetURL());
   if (context_->render_frame_host()) {
-    return browser_context->GetPermissionManager()->GetPermissionStatusForFrame(
-        type, context_->render_frame_host(), requesting_origin);
+    return BrowserContext::GetPermissionController(browser_context)
+        ->GetPermissionStatusForFrame(type, context_->render_frame_host(),
+                                      requesting_origin);
   }
 
   DCHECK(context_->GetEmbeddingOrigin().is_empty());
-  return browser_context->GetPermissionManager()->GetPermissionStatus(
-      type, requesting_origin, requesting_origin);
+  return BrowserContext::GetPermissionController(browser_context)
+      ->GetPermissionStatus(type, requesting_origin, requesting_origin);
 }
 
 void PermissionServiceImpl::ResetPermissionStatus(PermissionType type) {
@@ -290,15 +290,13 @@
   if (!browser_context)
     return;
 
-  if (!browser_context->GetPermissionManager())
-    return;
-
   GURL requesting_origin(origin_.GetURL());
   // If the embedding_origin is empty we'll use |origin_| instead.
   GURL embedding_origin = context_->GetEmbeddingOrigin();
-  browser_context->GetPermissionManager()->ResetPermission(
-      type, requesting_origin,
-      embedding_origin.is_empty() ? requesting_origin : embedding_origin);
+  PermissionControllerImpl::FromBrowserContext(browser_context)
+      ->ResetPermission(
+          type, requesting_origin,
+          embedding_origin.is_empty() ? requesting_origin : embedding_origin);
 }
 
 void PermissionServiceImpl::ReceivedBadMessage() {
diff --git a/content/browser/presentation/presentation_service_impl_unittest.cc b/content/browser/presentation/presentation_service_impl_unittest.cc
index ad4ff3ef..a635d44 100644
--- a/content/browser/presentation/presentation_service_impl_unittest.cc
+++ b/content/browser/presentation/presentation_service_impl_unittest.cc
@@ -132,7 +132,7 @@
                     int render_frame_id,
                     const std::string& presentation_id));
   MOCK_METHOD3(GetMediaController,
-               std::unique_ptr<content::MediaController>(
+               std::unique_ptr<media::MediaController>(
                    int render_process_id,
                    int render_frame_id,
                    const std::string& presentation_id));
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
index fb88127..bc6ee59 100644
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -14,13 +14,13 @@
 #include "base/macros.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
+#include "content/browser/permissions/permission_controller_impl.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/browser/service_worker/service_worker_context_core.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
 #include "content/browser/service_worker/service_worker_storage.h"
 #include "content/common/push_messaging.mojom.h"
 #include "content/public/browser/browser_context.h"
-#include "content/public/browser/permission_manager.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/push_messaging_service.h"
 #include "content/public/browser/render_frame_host.h"
@@ -445,29 +445,17 @@
 
           BrowserContext* browser_context = web_contents->GetBrowserContext();
 
-          // It's valid for embedders to return a null permission manager.
-          // Immediately reject the permission request when this happens.
-          if (!browser_context->GetPermissionManager()) {
-            BrowserThread::PostTask(
-                BrowserThread::IO, FROM_HERE,
-                base::BindOnce(&PushMessagingManager::SendSubscriptionError,
-                               io_parent_, std::move(data),
-                               mojom::PushRegistrationStatus::
-                                   INCOGNITO_PERMISSION_DENIED));
-
-            return;
-          }
-
           // Request notifications permission (which will fail, since
           // notifications aren't supported in incognito), so the website can't
           // detect whether incognito is active.
-          GURL requesting_origin = data.requesting_origin;
-          browser_context->GetPermissionManager()->RequestPermission(
-              PermissionType::NOTIFICATIONS, render_frame_host,
-              requesting_origin, data.user_gesture,
-              base::Bind(
-                  &PushMessagingManager::Core::DidRequestPermissionInIncognito,
-                  weak_factory_ui_to_ui_.GetWeakPtr(), base::Passed(&data)));
+          PermissionControllerImpl::FromBrowserContext(browser_context)
+              ->RequestPermission(
+                  PermissionType::NOTIFICATIONS, render_frame_host,
+                  data.requesting_origin, data.user_gesture,
+                  base::Bind(&PushMessagingManager::Core::
+                                 DidRequestPermissionInIncognito,
+                             weak_factory_ui_to_ui_.GetWeakPtr(),
+                             base::Passed(&data)));
         }
       }
     }
diff --git a/content/browser/renderer_host/input/input_router_impl.h b/content/browser/renderer_host/input/input_router_impl.h
index fd4f06a..53605ce 100644
--- a/content/browser/renderer_host/input/input_router_impl.h
+++ b/content/browser/renderer_host/input/input_router_impl.h
@@ -113,6 +113,7 @@
  private:
   friend class InputRouterImplTest;
   friend class MockRenderWidgetHost;
+  friend class RenderWidgetHostBrowserTest;
 
   // Keeps track of last position of touch points and sets MovementXY for them.
   void SetMovementXYForTouchPoints(blink::WebTouchEvent* event);
diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
index dcad957..270b2aae 100644
--- a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
+++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
@@ -14,7 +14,6 @@
 #include "content/browser/renderer_host/p2p/socket_host.h"
 #include "content/common/p2p_messages.h"
 #include "content/public/browser/browser_thread.h"
-#include "content/public/browser/resource_context.h"
 #include "net/base/address_list.h"
 #include "net/base/completion_callback.h"
 #include "net/base/net_errors.h"
@@ -26,6 +25,7 @@
 #include "net/socket/client_socket_factory.h"
 #include "net/socket/datagram_client_socket.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
+#include "net/url_request/url_request_context.h"
 #include "net/url_request/url_request_context_getter.h"
 #include "services/network/proxy_resolving_client_socket_factory.h"
 
@@ -119,10 +119,8 @@
 };
 
 P2PSocketDispatcherHost::P2PSocketDispatcherHost(
-    content::ResourceContext* resource_context,
     net::URLRequestContextGetter* url_context)
     : BrowserMessageFilter(P2PMsgStart),
-      resource_context_(resource_context),
       url_context_(url_context),
       monitoring_networks_(false),
       dump_incoming_rtp_packet_(false),
@@ -243,7 +241,7 @@
 void P2PSocketDispatcherHost::OnGetHostAddress(const std::string& host_name,
                                                int32_t request_id) {
   std::unique_ptr<DnsRequest> request = std::make_unique<DnsRequest>(
-      request_id, resource_context_->GetHostResolver());
+      request_id, url_context_->GetURLRequestContext()->host_resolver());
   DnsRequest* request_ptr = request.get();
   dns_requests_.insert(std::move(request));
   request_ptr->Resolve(host_name,
diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.h b/content/browser/renderer_host/p2p/socket_dispatcher_host.h
index 120adbe..288c834 100644
--- a/content/browser/renderer_host/p2p/socket_dispatcher_host.h
+++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.h
@@ -36,14 +36,12 @@
 namespace content {
 
 class P2PSocketHost;
-class ResourceContext;
 
 class P2PSocketDispatcherHost
     : public content::BrowserMessageFilter,
       public net::NetworkChangeNotifier::NetworkChangeObserver {
  public:
-  P2PSocketDispatcherHost(content::ResourceContext* resource_context,
-                          net::URLRequestContextGetter* url_context);
+  explicit P2PSocketDispatcherHost(net::URLRequestContextGetter* url_context);
 
   // content::BrowserMessageFilter overrides.
   void OnChannelClosing() override;
@@ -111,7 +109,6 @@
 
   void StopRtpDumpOnIOThread(bool incoming, bool outgoing);
 
-  content::ResourceContext* resource_context_;
   scoped_refptr<net::URLRequestContextGetter> url_context_;
   // Initialized on browser IO thread.
   std::unique_ptr<network::ProxyResolvingClientSocketFactory>
diff --git a/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc b/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
index a7eb917..94a1f64 100644
--- a/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
@@ -15,10 +15,12 @@
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_process_host.h"
-#include "content/public/browser/resource_context.h"
+#include "content/public/browser/storage_partition.h"
 #include "content/public/common/socket_permission_request.h"
 #include "net/base/address_list.h"
 #include "net/dns/host_resolver.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
 #include "ppapi/c/pp_errors.h"
 #include "ppapi/c/private/ppb_host_resolver_private.h"
 #include "ppapi/c/private/ppb_net_address_private.h"
@@ -138,15 +140,14 @@
       RenderProcessHost::FromID(render_process_id_);
   if (!render_process_host)
     return PP_ERROR_FAILED;
-  BrowserContext* browser_context = render_process_host->GetBrowserContext();
-  if (!browser_context || !browser_context->GetResourceContext())
-    return PP_ERROR_FAILED;
+  auto* storage_partition = render_process_host->GetStoragePartition();
 
   BrowserThread::PostTask(
       BrowserThread::IO, FROM_HERE,
-      base::BindOnce(&PepperHostResolverMessageFilter::DoResolve, this,
-                     context->MakeReplyMessageContext(), host_port, hint,
-                     browser_context->GetResourceContext()));
+      base::BindOnce(
+          &PepperHostResolverMessageFilter::DoResolve, this,
+          context->MakeReplyMessageContext(), host_port, hint,
+          base::WrapRefCounted(storage_partition->GetURLRequestContext())));
   return PP_OK_COMPLETIONPENDING;
 }
 
@@ -154,10 +155,17 @@
     const ReplyMessageContext& context,
     const ppapi::HostPortPair& host_port,
     const PP_HostResolver_Private_Hint& hint,
-    ResourceContext* resource_context) {
+    scoped_refptr<net::URLRequestContextGetter> url_request_context_getter) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
-  net::HostResolver* host_resolver = resource_context->GetHostResolver();
+  auto* url_request_context =
+      url_request_context_getter->GetURLRequestContext();
+  if (!url_request_context) {
+    SendResolveError(PP_ERROR_FAILED, context);
+    return;
+  }
+
+  net::HostResolver* host_resolver = url_request_context->host_resolver();
   if (!host_resolver) {
     SendResolveError(PP_ERROR_FAILED, context);
     return;
diff --git a/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.h b/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.h
index 42f7569..cd9f212 100644
--- a/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.h
@@ -22,6 +22,7 @@
 
 namespace net {
 class AddressList;
+class URLRequestContextGetter;
 }
 
 namespace ppapi {
@@ -35,7 +36,6 @@
 namespace content {
 
 class BrowserPpapiHostImpl;
-class ResourceContext;
 
 class CONTENT_EXPORT PepperHostResolverMessageFilter
     : public ppapi::host::ResourceMessageFilter {
@@ -63,10 +63,11 @@
 
   // Backend for OnMsgResolve(). Delegates host resolution to the
   // Browser's HostResolver. Must be called on the IO thread.
-  void DoResolve(const ppapi::host::ReplyMessageContext& context,
-                 const ppapi::HostPortPair& host_port,
-                 const PP_HostResolver_Private_Hint& hint,
-                 ResourceContext* resource_context);
+  void DoResolve(
+      const ppapi::host::ReplyMessageContext& context,
+      const ppapi::HostPortPair& host_port,
+      const PP_HostResolver_Private_Hint& hint,
+      scoped_refptr<net::URLRequestContextGetter> url_request_context_getter);
 
   void OnLookupFinished(int net_result,
                         const net::AddressList& addresses,
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
index 81c7cc8..17d9f02 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.cc
@@ -19,7 +19,7 @@
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/render_process_host.h"
-#include "content/public/browser/resource_context.h"
+#include "content/public/browser/storage_partition.h"
 #include "content/public/common/socket_permission_request.h"
 #include "net/base/address_family.h"
 #include "net/base/host_port_pair.h"
@@ -33,6 +33,8 @@
 #include "net/socket/ssl_client_socket.h"
 #include "net/socket/tcp_client_socket.h"
 #include "net/traffic_annotation/network_traffic_annotation.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
 #include "ppapi/host/dispatch_host_message.h"
 #include "ppapi/host/error_conversion.h"
 #include "ppapi/host/ppapi_host.h"
@@ -264,15 +266,14 @@
       RenderProcessHost::FromID(render_process_id_);
   if (!render_process_host)
     return PP_ERROR_FAILED;
-  BrowserContext* browser_context = render_process_host->GetBrowserContext();
-  if (!browser_context || !browser_context->GetResourceContext())
-    return PP_ERROR_FAILED;
+  auto* storage_partition = render_process_host->GetStoragePartition();
 
   BrowserThread::PostTask(
       BrowserThread::IO, FROM_HERE,
-      base::BindOnce(&PepperTCPSocketMessageFilter::DoConnect, this,
-                     context->MakeReplyMessageContext(), host, port,
-                     browser_context->GetResourceContext()));
+      base::BindOnce(
+          &PepperTCPSocketMessageFilter::DoConnect, this,
+          context->MakeReplyMessageContext(), host, port,
+          base::WrapRefCounted(storage_partition->GetURLRequestContext())));
   return PP_OK_COMPLETIONPENDING;
 }
 
@@ -624,7 +625,7 @@
     const ppapi::host::ReplyMessageContext& context,
     const std::string& host,
     uint16_t port,
-    ResourceContext* resource_context) {
+    scoped_refptr<net::URLRequestContextGetter> url_request_context_getter) {
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   if (!state_.IsValidTransition(TCPSocketState::CONNECT)) {
@@ -632,12 +633,25 @@
     return;
   }
 
+  auto* url_request_context =
+      url_request_context_getter->GetURLRequestContext();
+  if (!url_request_context) {
+    SendConnectError(context, PP_ERROR_FAILED);
+    return;
+  }
+
+  net::HostResolver* host_resolver = url_request_context->host_resolver();
+  if (!host_resolver) {
+    SendConnectError(context, PP_ERROR_FAILED);
+    return;
+  }
+
   state_.SetPendingTransition(TCPSocketState::CONNECT);
   address_index_ = 0;
   address_list_.clear();
   net::HostResolver::RequestInfo request_info(net::HostPortPair(host, port));
-  net::HostResolver* resolver = resource_context->GetHostResolver();
-  int net_result = resolver->Resolve(
+
+  int net_result = host_resolver->Resolve(
       request_info, net::DEFAULT_PRIORITY, &address_list_,
       base::Bind(&PepperTCPSocketMessageFilter::OnResolveCompleted,
                  base::Unretained(this), context),
diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
index 936dd339..fec0b7c 100644
--- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
@@ -38,6 +38,7 @@
 class DrainableIOBuffer;
 class IOBuffer;
 class SSLClientSocket;
+class URLRequestContextGetter;
 }
 
 namespace ppapi {
@@ -52,7 +53,6 @@
 
 class BrowserPpapiHostImpl;
 class ContentBrowserPepperHostFactory;
-class ResourceContext;
 
 class CONTENT_EXPORT PepperTCPSocketMessageFilter
     : public ppapi::host::ResourceMessageFilter,
@@ -119,10 +119,11 @@
 
   void DoBind(const ppapi::host::ReplyMessageContext& context,
               const PP_NetAddress_Private& net_addr);
-  void DoConnect(const ppapi::host::ReplyMessageContext& context,
-                 const std::string& host,
-                 uint16_t port,
-                 ResourceContext* resource_context);
+  void DoConnect(
+      const ppapi::host::ReplyMessageContext& context,
+      const std::string& host,
+      uint16_t port,
+      scoped_refptr<net::URLRequestContextGetter> url_request_context_getter);
   void DoConnectWithNetAddress(const ppapi::host::ReplyMessageContext& context,
                                const PP_NetAddress_Private& net_addr);
   void DoWrite(const ppapi::host::ReplyMessageContext& context);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 137bf01..6dbaf62 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1847,8 +1847,8 @@
   AddFilter(new TextInputClientMessageFilter());
 #endif
 
-  p2p_socket_dispatcher_host_ = new P2PSocketDispatcherHost(
-      resource_context, request_context.get());
+  p2p_socket_dispatcher_host_ =
+      new P2PSocketDispatcherHost(request_context.get());
   AddFilter(p2p_socket_dispatcher_host_.get());
 
   AddFilter(new TraceMessageFilter(GetID()));
diff --git a/content/browser/renderer_host/render_widget_host_browsertest.cc b/content/browser/renderer_host/render_widget_host_browsertest.cc
index 2b5a683..373ecd28 100644
--- a/content/browser/renderer_host/render_widget_host_browsertest.cc
+++ b/content/browser/renderer_host/render_widget_host_browsertest.cc
@@ -15,6 +15,8 @@
 #include "components/viz/common/quads/render_pass.h"
 #include "components/viz/common/surfaces/local_surface_id.h"
 #include "content/browser/bad_message.h"
+#include "content/browser/renderer_host/input/input_router_impl.h"
+#include "content/browser/renderer_host/input/touch_action_filter.h"
 #include "content/browser/renderer_host/input/touch_emulator.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
@@ -22,10 +24,13 @@
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/common/input/synthetic_web_input_event_builders.h"
 #include "content/public/browser/web_contents.h"
+#include "content/public/browser/web_contents_observer.h"
 #include "content/public/test/content_browser_test.h"
 #include "content/public/test/content_browser_test_utils.h"
 #include "content/shell/browser/shell.h"
 #include "content/test/content_browser_test_utils_internal.h"
+#include "net/dns/mock_host_resolver.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/platform/web_input_event.h"
 #include "third_party/blink/public/platform/web_mouse_event.h"
@@ -37,7 +42,31 @@
 
 namespace content {
 
-class RenderWidgetHostBrowserTest : public ContentBrowserTest {};
+class RenderWidgetHostBrowserTest : public ContentBrowserTest {
+ protected:
+  WebContentsImpl* web_contents() const {
+    return static_cast<WebContentsImpl*>(shell()->web_contents());
+  }
+
+  TouchActionFilter* GetTouchActionFilterForWidget(RenderWidgetHostImpl* rwhi) {
+    return &static_cast<InputRouterImpl*>(rwhi->input_router())
+                ->touch_action_filter_;
+  }
+};
+
+// The --site-per-porcess version of RenderWidgetHostBrowserTest.
+class RenderWidgetHostSitePerProcessTest : public RenderWidgetHostBrowserTest {
+ public:
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    IsolateAllSitesForTesting(command_line);
+  }
+
+  void SetUpOnMainThread() override {
+    host_resolver()->AddRule("*", "127.0.0.1");
+    SetupCrossSiteRedirector(embedded_test_server());
+    ASSERT_TRUE(embedded_test_server()->Start());
+  }
+};
 
 IN_PROC_BROWSER_TEST_F(RenderWidgetHostBrowserTest,
                        ProhibitsCopyRequestsFromRenderer) {
@@ -370,4 +399,55 @@
   host()->RemoveInputEventObserver(&observer);
 }
 
+// Observes the WebContents until a frame finishes loading the contents of a
+// given GURL.
+class DocumentLoadObserver : WebContentsObserver {
+ public:
+  DocumentLoadObserver(WebContents* contents, const GURL& url)
+      : WebContentsObserver(contents), document_origin_(url) {}
+
+  void Wait() {
+    if (loaded_)
+      return;
+    run_loop_.reset(new base::RunLoop());
+    run_loop_->Run();
+  }
+
+ private:
+  void DidFinishLoad(RenderFrameHost* rfh, const GURL& url) override {
+    loaded_ |= (url == document_origin_);
+    if (loaded_ && run_loop_)
+      run_loop_->Quit();
+  }
+
+  bool loaded_ = false;
+  const GURL document_origin_;
+  std::unique_ptr<base::RunLoop> run_loop_;
+
+  DISALLOW_COPY_AND_ASSIGN(DocumentLoadObserver);
+};
+
+// This test verifies that when a cross-process child frame loads, the initial
+// updates for touch event handlers are sent from the renderer.
+IN_PROC_BROWSER_TEST_F(RenderWidgetHostSitePerProcessTest,
+                       OnHasTouchEventHandlers) {
+  GURL main_url(embedded_test_server()->GetURL(
+      "a.com", "/cross_site_iframe_factory.html?a(b)"));
+  GURL::Replacements replacement;
+  replacement.SetHostStr("b.com");
+  replacement.SetQueryStr("b()");
+  GURL target_child_url = main_url.ReplaceComponents(replacement);
+  DocumentLoadObserver child_frame_observer(shell()->web_contents(),
+                                            target_child_url);
+  NavigateToURL(shell(), main_url);
+  child_frame_observer.Wait();
+  auto* filter = GetTouchActionFilterForWidget(web_contents()
+                                                   ->GetFrameTree()
+                                                   ->root()
+                                                   ->child_at(0)
+                                                   ->current_frame_host()
+                                                   ->GetRenderWidgetHost());
+  EXPECT_TRUE(filter->allowed_touch_action().has_value());
+}
+
 }  // namespace content
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
index c7e802e..d39e1392 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.cc
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc
@@ -537,6 +537,8 @@
       gfx::ConvertPointToPixel(device_scale_factor, point);
   viz::SurfaceId surface_id = GetCurrentSurfaceId();
   if (!surface_id.is_valid()) {
+    // Force a query of the renderer if we don't have a surface id yet.
+    *out_query_renderer = true;
     return GetFrameSinkId();
   }
   viz::SurfaceHittest hittest(delegate,
diff --git a/content/browser/renderer_host/render_widget_host_view_cocoa.mm b/content/browser/renderer_host/render_widget_host_view_cocoa.mm
index 3b3ef0f..8b84322 100644
--- a/content/browser/renderer_host/render_widget_host_view_cocoa.mm
+++ b/content/browser/renderer_host/render_widget_host_view_cocoa.mm
@@ -593,20 +593,6 @@
   if (EventIsReservedBySystem(theEvent))
     return NO;
 
-  // If we return |NO| from this function, cocoa will send the key event to
-  // the menu and only if the menu does not process the event to |keyDown:|. We
-  // want to send the event to a renderer _before_ sending it to the menu, so
-  // we need to return |YES| for all events that might be swallowed by the menu.
-  // We do not return |YES| for every keypress because we don't get |keyDown:|
-  // events for keys that we handle this way.
-  NSUInteger modifierFlags = [theEvent modifierFlags];
-  if ((modifierFlags & NSCommandKeyMask) == 0) {
-    // Make sure the menu does not contain key equivalents that don't
-    // contain cmd.
-    DCHECK(![[NSApp mainMenu] performKeyEquivalent:theEvent]);
-    return NO;
-  }
-
   // Command key combinations are sent via performKeyEquivalent rather than
   // keyDown:. We just forward this on and if WebCore doesn't want to handle
   // it, we let the WebContentsView figure out how to reinject it.
@@ -656,9 +642,6 @@
   if (EventIsReservedBySystem(theEvent))
     return;
 
-  DCHECK(eventType != NSKeyDown ||
-         !equiv == !(modifierFlags & NSCommandKeyMask));
-
   if (eventType == NSFlagsChanged) {
     // Ignore NSFlagsChanged events from the NumLock and Fn keys as
     // Safari does in -[WebHTMLView flagsChanged:] (of "WebHTMLView.mm").
diff --git a/content/browser/site_per_process_hit_test_browsertest.cc b/content/browser/site_per_process_hit_test_browsertest.cc
index 76c3436..57daaba 100644
--- a/content/browser/site_per_process_hit_test_browsertest.cc
+++ b/content/browser/site_per_process_hit_test_browsertest.cc
@@ -1655,11 +1655,6 @@
   NestedSurfaceHitTestTestHelper(shell(), embedded_test_server());
 }
 
-IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
-                       OverlapSurfaceHitTestTest) {
-  OverlapSurfaceHitTestHelper(shell(), embedded_test_server());
-}
-
 #if defined(OS_LINUX)
 // Flaky timeouts and failures: https://crbug.com/833380
 #define MAYBE_OverlapSurfaceHitTestTest DISABLED_OverlapSurfaceHitTestTest
@@ -1671,6 +1666,11 @@
   OverlapSurfaceHitTestHelper(shell(), embedded_test_server());
 }
 
+IN_PROC_BROWSER_TEST_P(SitePerProcessHitTestBrowserTest,
+                       MAYBE_OverlapSurfaceHitTestTest) {
+  OverlapSurfaceHitTestHelper(shell(), embedded_test_server());
+}
+
 #if defined(OS_LINUX)
 // Flaky timeouts and failures: https://crbug.com/833380
 #define MAYBE_HitTestLayerSquashing DISABLED_HitTestLayerSquashing
diff --git a/content/browser/webauth/authenticator_impl.cc b/content/browser/webauth/authenticator_impl.cc
index 4eb0c32..bdd2e00 100644
--- a/content/browser/webauth/authenticator_impl.cc
+++ b/content/browser/webauth/authenticator_impl.cc
@@ -816,12 +816,15 @@
 std::unique_ptr<device::FidoAuthenticator>
 AuthenticatorImpl::MaybeCreatePlatformAuthenticator() {
 #if defined(OS_MACOSX)
-  return device::fido::mac::TouchIdAuthenticator::CreateIfAvailable(
-      request_delegate_->TouchIdAuthenticatorKeychainAccessGroup(),
-      request_delegate_->TouchIdMetadataSecret());
-#else
+  auto opt_authenticator_config =
+      request_delegate_->GetTouchIdAuthenticatorConfig();
+  if (opt_authenticator_config) {
+    return device::fido::mac::TouchIdAuthenticator::CreateIfAvailable(
+        std::move(opt_authenticator_config->keychain_access_group),
+        std::move(opt_authenticator_config->metadata_secret));
+  }
+#endif  // defined(OS_MACOSX)
   return nullptr;
-#endif
 }
 
 }  // namespace content
diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn
index d4e10f8..c507b76 100644
--- a/content/public/browser/BUILD.gn
+++ b/content/public/browser/BUILD.gn
@@ -156,7 +156,6 @@
     "login_delegate.h",
     "manifest_icon_downloader.h",
     "media_capture_devices.h",
-    "media_controller.h",
     "media_device_id.cc",
     "media_device_id.h",
     "media_request_state.h",
@@ -201,6 +200,7 @@
     "payment_app_provider.h",
     "pepper_flash_settings_helper.h",
     "pepper_vpn_provider_resource_host_proxy.h",
+    "permission_controller.h",
     "permission_manager.h",
     "permission_type.h",
     "picture_in_picture_window_controller.h",
diff --git a/content/public/browser/authenticator_request_client_delegate.cc b/content/public/browser/authenticator_request_client_delegate.cc
index 94704cb..2f06e05 100644
--- a/content/public/browser/authenticator_request_client_delegate.cc
+++ b/content/public/browser/authenticator_request_client_delegate.cc
@@ -32,15 +32,9 @@
 }
 
 #if defined(OS_MACOSX)
-std::string
-AuthenticatorRequestClientDelegate::TouchIdAuthenticatorKeychainAccessGroup() {
-  return std::string();
-}
-#endif
-
-#if defined(OS_MACOSX)
-std::string AuthenticatorRequestClientDelegate::TouchIdMetadataSecret() {
-  return std::string();
+base::Optional<AuthenticatorRequestClientDelegate::TouchIdAuthenticatorConfig>
+AuthenticatorRequestClientDelegate::GetTouchIdAuthenticatorConfig() const {
+  return base::nullopt;
 }
 #endif
 
diff --git a/content/public/browser/authenticator_request_client_delegate.h b/content/public/browser/authenticator_request_client_delegate.h
index f10cb72..55b4175 100644
--- a/content/public/browser/authenticator_request_client_delegate.h
+++ b/content/public/browser/authenticator_request_client_delegate.h
@@ -9,6 +9,7 @@
 
 #include "base/callback_forward.h"
 #include "base/macros.h"
+#include "base/optional.h"
 #include "build/build_config.h"
 #include "content/common/content_export.h"
 
@@ -55,20 +56,24 @@
   virtual bool IsFocused();
 
 #if defined(OS_MACOSX)
-  // Returns the kechain-access-group value used for WebAuthn credentials
-  // stored in the macOS keychain by the built-in Touch ID authenticator. For
-  // more information on this, refer to |device::fido::TouchIdAuthenticator|.
-  // This method may to return empty string or some other placeholder value on
-  // platforms where |TouchIdAuthenticator| is not used.
-  virtual std::string TouchIdAuthenticatorKeychainAccessGroup();
+  struct TouchIdAuthenticatorConfig {
+    // The keychain-access-group value used for WebAuthn credentials
+    // stored in the macOS keychain by the built-in Touch ID
+    // authenticator. For more information on this, refer to
+    // |device::fido::TouchIdAuthenticator|.
+    std::string keychain_access_group;
+    // The secret used to derive key material when encrypting WebAuthn
+    // credential metadata for storage in the macOS keychain. Chrome returns
+    // different secrets for each user profile in order to logically separate
+    // credentials per profile.
+    std::string metadata_secret;
+  };
 
-  // Returns the secret used to derive key material when encrypting WebAuthn
-  // credential metadata for storage in the macOS keychain. Chrome returns
-  // different secrets for each user profile in order to logically separate
-  // credentials per profile. This method may to return empty string or some
-  // other placeholder value on platforms where |TouchIdAuthenticator| is not
-  // used.
-  virtual std::string TouchIdMetadataSecret();
+  // Returns configuration data for the built-in Touch ID platform
+  // authenticator. May return nullopt if the authenticator is not used or not
+  // available.
+  virtual base::Optional<TouchIdAuthenticatorConfig>
+  GetTouchIdAuthenticatorConfig() const;
 #endif
 
  private:
diff --git a/content/public/browser/browser_context.h b/content/public/browser/browser_context.h
index faf278e..b833886 100644
--- a/content/public/browser/browser_context.h
+++ b/content/public/browser/browser_context.h
@@ -67,6 +67,7 @@
 class BrowsingDataRemoverDelegate;
 class DownloadManager;
 class DownloadManagerDelegate;
+class PermissionController;
 class PermissionManager;
 struct PushEventPayload;
 class PushMessagingService;
@@ -102,6 +103,10 @@
   // for this |context|.
   static BrowsingDataRemover* GetBrowsingDataRemover(BrowserContext* context);
 
+  // Returns the PermissionController associated with this context. There's
+  // always a PermissionController instance for each BrowserContext.
+  static PermissionController* GetPermissionController(BrowserContext* context);
+
   // Returns a StoragePartition for the given SiteInstance. By default this will
   // create a new StoragePartition if it doesn't exist, unless |can_create| is
   // false.
@@ -256,8 +261,14 @@
   // return nullptr, implementing the default exception storage strategy.
   virtual SSLHostStateDelegate* GetSSLHostStateDelegate() = 0;
 
-  // Returns the PermissionManager associated with that context if any, nullptr
-  // otherwise.
+  // Returns the PermissionManager associated with this context if
+  // any, nullptr otherwise.
+  //
+  // Note: if you want to check a permission status, you probably need
+  // BrowserContext::GetPermissionController() instead.
+  //
+  // TODO(lushnikov): This should be renamed into
+  // GetPermissionControllerDelegate().
   virtual PermissionManager* GetPermissionManager() = 0;
 
   // Returns the BackgroundFetchDelegate associated with that context if any,
diff --git a/content/public/browser/network_connection_tracker.cc b/content/public/browser/network_connection_tracker.cc
index 41e7327..1b1612e 100644
--- a/content/public/browser/network_connection_tracker.cc
+++ b/content/public/browser/network_connection_tracker.cc
@@ -35,30 +35,17 @@
 
 }  // namespace
 
-NetworkConnectionTracker::NetworkConnectionTracker()
-    : task_runner_(base::ThreadTaskRunnerHandle::Get()),
+NetworkConnectionTracker::NetworkConnectionTracker(
+    base::RepeatingCallback<network::mojom::NetworkService*()> callback)
+    : get_network_service_callback_(callback),
+      task_runner_(base::ThreadTaskRunnerHandle::Get()),
       connection_type_(kConnectionTypeInvalid),
       network_change_observer_list_(
           new base::ObserverListThreadSafe<NetworkConnectionObserver>(
               base::ObserverListPolicy::EXISTING_ONLY)),
-      binding_(this) {}
-
-void NetworkConnectionTracker::Initialize(
-    network::mojom::NetworkService* network_service) {
-  DCHECK(!binding_.is_bound());
-  DCHECK(network_service);
-  // Get NetworkChangeManagerPtr.
-  network::mojom::NetworkChangeManagerPtr manager_ptr;
-  network::mojom::NetworkChangeManagerRequest request(
-      mojo::MakeRequest(&manager_ptr));
-  network_service->GetNetworkChangeManager(std::move(request));
-
-  // Request notification from NetworkChangeManagerPtr.
-  network::mojom::NetworkChangeManagerClientPtr client_ptr;
-  network::mojom::NetworkChangeManagerClientRequest client_request(
-      mojo::MakeRequest(&client_ptr));
-  binding_.Bind(std::move(client_request));
-  manager_ptr->RequestNotifications(std::move(client_ptr));
+      binding_(this) {
+  Initialize();
+  DCHECK(binding_.is_bound());
 }
 
 NetworkConnectionTracker::~NetworkConnectionTracker() {
@@ -125,6 +112,13 @@
   network_change_observer_list_->RemoveObserver(observer);
 }
 
+NetworkConnectionTracker::NetworkConnectionTracker()
+    : connection_type_(kConnectionTypeInvalid),
+      network_change_observer_list_(
+          new base::ObserverListThreadSafe<NetworkConnectionObserver>(
+              base::ObserverListPolicy::EXISTING_ONLY)),
+      binding_(this) {}
+
 void NetworkConnectionTracker::OnInitialConnectionType(
     network::mojom::ConnectionType type) {
   base::AutoLock lock(lock_);
@@ -144,4 +138,40 @@
       FROM_HERE, &NetworkConnectionObserver::OnConnectionChanged, type);
 }
 
+void NetworkConnectionTracker::Initialize() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(!binding_.is_bound());
+
+  network::mojom::NetworkService* network_service =
+      get_network_service_callback_.Run();
+
+  // Get NetworkChangeManagerPtr.
+  network::mojom::NetworkChangeManagerPtr manager_ptr;
+  network::mojom::NetworkChangeManagerRequest request(
+      mojo::MakeRequest(&manager_ptr));
+  network_service->GetNetworkChangeManager(std::move(request));
+
+  // Request notification from NetworkChangeManagerPtr.
+  network::mojom::NetworkChangeManagerClientPtr client_ptr;
+  network::mojom::NetworkChangeManagerClientRequest client_request(
+      mojo::MakeRequest(&client_ptr));
+  binding_.Bind(std::move(client_request));
+  manager_ptr->RequestNotifications(std::move(client_ptr));
+
+  // base::Unretained is safe as |binding_| is owned by |this|.
+  binding_.set_connection_error_handler(base::BindRepeating(
+      &NetworkConnectionTracker::HandleNetworkServicePipeBroken,
+      base::Unretained(this)));
+}
+
+void NetworkConnectionTracker::HandleNetworkServicePipeBroken() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  binding_.Close();
+  // Reset |connection_type_| to invalid, so future GetConnectionType() can be
+  // delayed after network service has restarted, and that there isn't an
+  // incorrectly cached state.
+  base::subtle::NoBarrier_Store(&connection_type_, kConnectionTypeInvalid);
+  Initialize();
+}
+
 }  // namespace content
diff --git a/content/public/browser/network_connection_tracker.h b/content/public/browser/network_connection_tracker.h
index 0e40cba..86746d52 100644
--- a/content/public/browser/network_connection_tracker.h
+++ b/content/public/browser/network_connection_tracker.h
@@ -13,6 +13,7 @@
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
 #include "base/observer_list_threadsafe.h"
+#include "base/sequence_checker.h"
 #include "base/synchronization/lock.h"
 #include "content/common/content_export.h"
 #include "mojo/public/cpp/bindings/binding.h"
@@ -46,18 +47,14 @@
     DISALLOW_COPY_AND_ASSIGN(NetworkConnectionObserver);
   };
 
-  NetworkConnectionTracker();
+  // Constructs a NetworkConnectionTracker. |callback| should return the network
+  // service that is in use. NetworkConnectionTracker does not need to be
+  // destroyed before the network service.
+  explicit NetworkConnectionTracker(
+      base::RepeatingCallback<network::mojom::NetworkService*()> callback);
 
   ~NetworkConnectionTracker() override;
 
-  // Starts listening for connection notifications from |network_service|.
-  // Observers may be added and GetConnectionType called, but no network
-  // information will be provided until this method is called. For unit tests,
-  // this class can be subclassed, and OnInitialConnectionType /
-  // OnNetworkChanged may be called directly, instead of providing a
-  // NetworkService.
-  void Initialize(network::mojom::NetworkService* network_service);
-
   // If connection type can be retrieved synchronously, returns true and |type|
   // will contain the current connection type; Otherwise, returns false and
   // does not modify |type|, in which case, |callback| will be called on the
@@ -85,6 +82,9 @@
   void RemoveNetworkConnectionObserver(NetworkConnectionObserver* observer);
 
  protected:
+  // Constructor used in testing to mock out network service.
+  NetworkConnectionTracker();
+
   // NetworkChangeManagerClient implementation. Protected for testing.
   void OnInitialConnectionType(network::mojom::ConnectionType type) override;
   void OnNetworkChanged(network::mojom::ConnectionType type) override;
@@ -92,6 +92,24 @@
  private:
   FRIEND_TEST_ALL_PREFIXES(NetworkGetConnectionTest,
                            GetConnectionTypeOnDifferentThread);
+
+  // Starts listening for connection change notifications from
+  // |network_service|. Observers may be added and GetConnectionType called, but
+  // no network information will be provided until this method is called. For
+  // unit tests, this class can be subclassed, and OnInitialConnectionType /
+  // OnNetworkChanged may be called directly, instead of providing a
+  // NetworkService.
+  void Initialize();
+
+  // Serves as a connection error handler, and is invoked when network service
+  // restarts.
+  void HandleNetworkServicePipeBroken();
+
+  // Callback to get the current network service raw mojo pointer. This is to
+  // ensure that |this| can survive crashes and restarts of network service.
+  const base::RepeatingCallback<network::mojom::NetworkService*()>
+      get_network_service_callback_;
+
   // The task runner that |this| lives on.
   scoped_refptr<base::SequencedTaskRunner> task_runner_;
 
@@ -110,6 +128,10 @@
 
   mojo::Binding<network::mojom::NetworkChangeManagerClient> binding_;
 
+  // Only the initialization and re-initialization of |this| are required to
+  // be bound to the same sequence.
+  SEQUENCE_CHECKER(sequence_checker_);
+
   DISALLOW_COPY_AND_ASSIGN(NetworkConnectionTracker);
 };
 
diff --git a/content/public/browser/network_connection_tracker_unittest.cc b/content/public/browser/network_connection_tracker_unittest.cc
index cd86f1d..65689197f 100644
--- a/content/public/browser/network_connection_tracker_unittest.cc
+++ b/content/public/browser/network_connection_tracker_unittest.cc
@@ -138,12 +138,15 @@
     network_service_ =
         network::NetworkService::Create(std::move(network_service_request),
                                         /*netlog=*/nullptr);
-    tracker_ = std::make_unique<NetworkConnectionTracker>();
-    tracker_->Initialize(network_service_.get());
+    tracker_ = std::make_unique<NetworkConnectionTracker>(
+        base::BindRepeating(&NetworkConnectionTrackerTest::network_service,
+                            base::Unretained(this)));
     observer_ = std::make_unique<TestNetworkConnectionObserver>(tracker_.get());
   }
 
-  network::NetworkService* network_service() { return network_service_.get(); }
+  network::mojom::NetworkService* network_service() {
+    return network_service_.get();
+  }
 
   NetworkConnectionTracker* network_connection_tracker() {
     return tracker_.get();
@@ -249,13 +252,24 @@
 // Tests that GetConnectionType returns false and doesn't modify its |type|
 // parameter when the connection type is unavailable.
 TEST_F(NetworkConnectionTrackerTest, GetConnectionTypeUnavailable) {
-  auto tracker = std::make_unique<NetworkConnectionTracker>();
+  // Returns a dummy network service that has not been initialized.
+  network::mojom::NetworkServicePtr* network_service_ptr =
+      new network::mojom::NetworkServicePtr;
 
+  network::mojom::NetworkServiceRequest request =
+      mojo::MakeRequest(network_service_ptr);
+  base::RepeatingCallback<network::mojom::NetworkService*()> callback =
+      base::BindRepeating(
+          [](network::mojom::NetworkService* service) { return service; },
+          base::Unretained(network_service_ptr->get()));
+
+  auto tracker = std::make_unique<NetworkConnectionTracker>(callback);
   auto type = network::mojom::ConnectionType::CONNECTION_3G;
   bool sync = tracker->GetConnectionType(&type, base::DoNothing());
 
   EXPECT_FALSE(sync);
   EXPECT_EQ(type, network::mojom::ConnectionType::CONNECTION_3G);
+  delete network_service_ptr;
 }
 
 // Tests GetConnectionType() on a different thread.
diff --git a/content/public/browser/permission_controller.h b/content/public/browser/permission_controller.h
new file mode 100644
index 0000000..e018eb7
--- /dev/null
+++ b/content/public/browser/permission_controller.h
@@ -0,0 +1,51 @@
+// 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 CONTENT_PUBLIC_BROWSER_PERMISSION_CONTROLLER_H_
+#define CONTENT_PUBLIC_BROWSER_PERMISSION_CONTROLLER_H_
+
+#include "base/supports_user_data.h"
+#include "content/common/content_export.h"
+#include "content/public/browser/permission_type.h"
+#include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
+
+class GURL;
+
+namespace content {
+class RenderFrameHost;
+
+// This class allows the content layer to manipulate permissions. It's behavior
+// is defined by the embedder via PermissionManager implementation.
+class CONTENT_EXPORT PermissionController
+    : public base::SupportsUserData::Data {
+ public:
+  // Constant retured when registering and subscribing if
+  // cancelling/unsubscribing at a later stage would have no effect.
+  static const int kNoPendingOperation = -1;
+
+  ~PermissionController() override{};
+
+  // Returns the permission status of a given requesting_origin/embedding_origin
+  // tuple. This is not taking a RenderFrameHost because the call might happen
+  // outside of a frame context. Prefer GetPermissionStatusForFrame (below)
+  // whenever possible.
+  virtual blink::mojom::PermissionStatus GetPermissionStatus(
+      PermissionType permission,
+      const GURL& requesting_origin,
+      const GURL& embedding_origin) = 0;
+
+  // Returns the permission status for a given frame. Use this over
+  // GetPermissionStatus whenever possible.
+  // TODO(raymes): Currently we still pass the |requesting_origin| as a separate
+  // parameter because we can't yet guarantee that it matches the last committed
+  // origin of the RenderFrameHost. See https://crbug.com/698985.
+  virtual blink::mojom::PermissionStatus GetPermissionStatusForFrame(
+      PermissionType permission,
+      RenderFrameHost* render_frame_host,
+      const GURL& requesting_origin) = 0;
+};
+
+}  // namespace content
+
+#endif  // CONTENT_PUBLIC_BROWSER_PERMISSION_CONTROLLER_H_
diff --git a/content/public/browser/permission_manager.h b/content/public/browser/permission_manager.h
index f96a3ca..487b0c80 100644
--- a/content/public/browser/permission_manager.h
+++ b/content/public/browser/permission_manager.h
@@ -14,15 +14,8 @@
 enum class PermissionType;
 class RenderFrameHost;
 
-// This class allows the content layer to manipulate permissions. It has to be
-// implemented by the embedder which ultimately handles the permission
-// management for the content layer.
 class CONTENT_EXPORT PermissionManager {
  public:
-  // Constant retured when registering and subscribing if
-  // cancelling/unsubscribing at a later stage would have no effect.
-  static const int kNoPendingOperation = -1;
-
   virtual ~PermissionManager() = default;
 
   // Requests a permission on behalf of a frame identified by
@@ -103,4 +96,4 @@
 
 }  // namespace content
 
-#endif // CONTENT_PUBLIC_BROWSER_PERMISSION_MANAGER_H_
+#endif  // CONTENT_PUBLIC_BROWSER_PERMISSION_MANAGER_H_
diff --git a/content/public/browser/presentation_service_delegate.h b/content/public/browser/presentation_service_delegate.h
index 4c1b2249..03202644 100644
--- a/content/public/browser/presentation_service_delegate.h
+++ b/content/public/browser/presentation_service_delegate.h
@@ -12,8 +12,8 @@
 
 #include "base/callback.h"
 #include "content/common/content_export.h"
-#include "content/public/browser/media_controller.h"
 #include "content/public/common/presentation_connection_message.h"
+#include "media/base/media_controller.h"
 #include "third_party/blink/public/platform/modules/presentation/presentation.mojom.h"
 
 namespace content {
@@ -174,7 +174,7 @@
   // |render_process_id|, |render_frame_id|: ID of originating frame.
   // |presentation_id|: The ID of the presentation for which we want a
   // Controller.
-  virtual std::unique_ptr<MediaController> GetMediaController(
+  virtual std::unique_ptr<media::MediaController> GetMediaController(
       int render_process_id,
       int render_frame_id,
       const std::string& presentation_id) = 0;
diff --git a/content/public/browser/resource_context.h b/content/public/browser/resource_context.h
index 44b829b..2e0006c 100644
--- a/content/public/browser/resource_context.h
+++ b/content/public/browser/resource_context.h
@@ -9,7 +9,6 @@
 #include "content/common/content_export.h"
 
 namespace net {
-class HostResolver;
 class URLRequestContext;
 }
 
@@ -23,7 +22,6 @@
  public:
   ResourceContext();
   ~ResourceContext() override;
-  virtual net::HostResolver* GetHostResolver() = 0;
 
   // DEPRECATED: This is no longer a valid given isolated apps/sites and
   // storage partitioning. This getter returns the default context associated
diff --git a/content/public/test/mock_permission_manager.cc b/content/public/test/mock_permission_manager.cc
index 39cd64bd..9157b1b 100644
--- a/content/public/test/mock_permission_manager.cc
+++ b/content/public/test/mock_permission_manager.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "content/public/test/mock_permission_manager.h"
+#include "content/public/browser/permission_controller.h"
 
 #include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
 
@@ -18,7 +19,7 @@
     const GURL& requesting_origin,
     bool user_gesture,
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 int MockPermissionManager::RequestPermissions(
@@ -28,7 +29,7 @@
     bool user_gesture,
     const base::Callback<
         void(const std::vector<blink::mojom::PermissionStatus>&)>& callback) {
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 int MockPermissionManager::SubscribePermissionStatusChange(
diff --git a/content/public/test/mock_resource_context.cc b/content/public/test/mock_resource_context.cc
index 9bdf4e0..18d7e0d 100644
--- a/content/public/test/mock_resource_context.cc
+++ b/content/public/test/mock_resource_context.cc
@@ -17,10 +17,6 @@
 
 MockResourceContext::~MockResourceContext() {}
 
-net::HostResolver* MockResourceContext::GetHostResolver()  {
-  return nullptr;
-}
-
 net::URLRequestContext* MockResourceContext::GetRequestContext()  {
   CHECK(test_request_context_);
   return test_request_context_;
diff --git a/content/public/test/mock_resource_context.h b/content/public/test/mock_resource_context.h
index 62f116d..163e8f9 100644
--- a/content/public/test/mock_resource_context.h
+++ b/content/public/test/mock_resource_context.h
@@ -27,7 +27,6 @@
   ~MockResourceContext() override;
 
   // ResourceContext implementation:
-  net::HostResolver* GetHostResolver() override;
   net::URLRequestContext* GetRequestContext() override;
 
  private:
diff --git a/content/renderer/loader/web_worker_fetch_context_impl.cc b/content/renderer/loader/web_worker_fetch_context_impl.cc
index 0ae13e764..e4c11a8 100644
--- a/content/renderer/loader/web_worker_fetch_context_impl.cc
+++ b/content/renderer/loader/web_worker_fetch_context_impl.cc
@@ -181,21 +181,38 @@
 
 std::unique_ptr<blink::WebWorkerFetchContext>
 WebWorkerFetchContextImpl::CloneForNestedWorker() {
-  // TODO(japhet?): This doens't plumb service worker state to nested workers,
-  // because dedicated workers in service worker-controlled documents are
-  // currently not spec compliant and we don't want to propagate the wrong
-  // behavior. See https://crbug.com/731604
+  mojom::ServiceWorkerWorkerClientRequest service_worker_client_request;
+  mojom::ServiceWorkerWorkerClientPtr service_worker_client_ptr;
+  service_worker_client_request = mojo::MakeRequest(&service_worker_client_ptr);
+  service_worker_worker_client_registry_->RegisterWorkerClient(
+      std::move(service_worker_client_ptr));
+
+  mojom::ServiceWorkerWorkerClientRegistryPtrInfo
+      service_worker_worker_client_registry_ptr_info;
+  service_worker_worker_client_registry_->CloneWorkerClientRegistry(
+      mojo::MakeRequest(&service_worker_worker_client_registry_ptr_info));
+
+  mojom::ServiceWorkerContainerHostPtrInfo host_ptr_info;
+  if (blink::ServiceWorkerUtils::IsServicificationEnabled()) {
+    service_worker_container_host_->CloneForWorker(
+        mojo::MakeRequest(&host_ptr_info));
+  }
+
   auto new_context = std::make_unique<WebWorkerFetchContextImpl>(
-      renderer_preferences_, mojom::ServiceWorkerWorkerClientRequest(),
-      mojom::ServiceWorkerWorkerClientRegistryPtrInfo(),
-      mojom::ServiceWorkerContainerHostPtrInfo(), loader_factory_->Clone(),
+      renderer_preferences_, std::move(service_worker_client_request),
+      std::move(service_worker_worker_client_registry_ptr_info),
+      std::move(host_ptr_info), loader_factory_->Clone(),
       fallback_factory_->Clone(),
       throttle_provider_ ? throttle_provider_->Clone() : nullptr,
       websocket_handshake_throttle_provider_
           ? websocket_handshake_throttle_provider_->Clone()
           : nullptr,
       thread_safe_sender_.get(), service_manager_connection_->Clone());
+  new_context->service_worker_provider_id_ = service_worker_provider_id_;
+  new_context->is_controlled_by_service_worker_ =
+      is_controlled_by_service_worker_;
   new_context->is_on_sub_frame_ = is_on_sub_frame_;
+  new_context->ancestor_frame_id_ = ancestor_frame_id_;
   new_context->appcache_host_id_ = appcache_host_id_;
   return new_context;
 }
@@ -263,11 +280,11 @@
 
   auto extra_data = std::make_unique<RequestExtraData>();
   extra_data->set_service_worker_provider_id(service_worker_provider_id_);
-  extra_data->set_render_frame_id(parent_frame_id_);
+  extra_data->set_render_frame_id(ancestor_frame_id_);
   extra_data->set_initiated_in_secure_context(is_secure_context_);
   if (throttle_provider_) {
     extra_data->set_url_loader_throttles(throttle_provider_->CreateThrottles(
-        parent_frame_id_, request, WebURLRequestToResourceType(request)));
+        ancestor_frame_id_, request, WebURLRequestToResourceType(request)));
   }
   request.SetExtraData(std::move(extra_data));
   request.SetAppCacheHostID(appcache_host_id_);
@@ -306,19 +323,19 @@
 }
 
 void WebWorkerFetchContextImpl::DidRunContentWithCertificateErrors() {
-  Send(new FrameHostMsg_DidRunContentWithCertificateErrors(parent_frame_id_));
+  Send(new FrameHostMsg_DidRunContentWithCertificateErrors(ancestor_frame_id_));
 }
 
 void WebWorkerFetchContextImpl::DidDisplayContentWithCertificateErrors() {
   Send(new FrameHostMsg_DidDisplayContentWithCertificateErrors(
-      parent_frame_id_));
+      ancestor_frame_id_));
 }
 
 void WebWorkerFetchContextImpl::DidRunInsecureContent(
     const blink::WebSecurityOrigin& origin,
     const blink::WebURL& url) {
   Send(new FrameHostMsg_DidRunInsecureContent(
-      parent_frame_id_, GURL(origin.ToString().Utf8()), url));
+      ancestor_frame_id_, GURL(origin.ToString().Utf8()), url));
 }
 
 void WebWorkerFetchContextImpl::SetSubresourceFilterBuilder(
@@ -339,7 +356,7 @@
   if (!websocket_handshake_throttle_provider_)
     return nullptr;
   return websocket_handshake_throttle_provider_->CreateThrottle(
-      parent_frame_id_);
+      ancestor_frame_id_);
 }
 
 void WebWorkerFetchContextImpl::set_service_worker_provider_id(int id) {
@@ -351,8 +368,8 @@
   is_controlled_by_service_worker_ = mode;
 }
 
-void WebWorkerFetchContextImpl::set_parent_frame_id(int id) {
-  parent_frame_id_ = id;
+void WebWorkerFetchContextImpl::set_ancestor_frame_id(int id) {
+  ancestor_frame_id_ = id;
 }
 
 void WebWorkerFetchContextImpl::set_site_for_cookies(
diff --git a/content/renderer/loader/web_worker_fetch_context_impl.h b/content/renderer/loader/web_worker_fetch_context_impl.h
index 6a5ec92..95239ba 100644
--- a/content/renderer/loader/web_worker_fetch_context_impl.h
+++ b/content/renderer/loader/web_worker_fetch_context_impl.h
@@ -106,12 +106,14 @@
   // mojom::ServiceWorkerWorkerClient implementation:
   void OnControllerChanged(blink::mojom::ControllerServiceWorkerMode) override;
 
-  // Sets the fetch context status copied from the frame; the parent frame for a
-  // dedicated worker, the main frame of the shadow page for a shared worker.
+  // Sets the fetch context status copied from a frame. For dedicated workers,
+  // it's copied from the ancestor frame (directly for non-nested workers, or
+  // indirectly via its parent worker for nested workers). For shared workers,
+  // it's copied from the shadow page.
   void set_service_worker_provider_id(int id);
   void set_is_controlled_by_service_worker(
       blink::mojom::ControllerServiceWorkerMode mode);
-  void set_parent_frame_id(int id);
+  void set_ancestor_frame_id(int id);
   void set_site_for_cookies(const blink::WebURL& site_for_cookies);
   // Sets whether the worker context is a secure context.
   // https://w3c.github.io/webappsec-secure-contexts/
@@ -188,8 +190,11 @@
   scoped_refptr<ThreadSafeSender> thread_safe_sender_;
   std::unique_ptr<blink::WebDocumentSubresourceFilter::Builder>
       subresource_filter_builder_;
+  // For dedicated workers, this is the ancestor frame (the parent frame for
+  // non-nested workers, the closest ancestor for nested workers). For shared
+  // workers, this is the shadow page.
   bool is_on_sub_frame_ = false;
-  int parent_frame_id_ = MSG_ROUTING_NONE;
+  int ancestor_frame_id_ = MSG_ROUTING_NONE;
   GURL site_for_cookies_;
   bool is_secure_context_ = false;
   GURL origin_url_;
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 39f42d884..2b0914a 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -3573,7 +3573,7 @@
       ChildThreadImpl::current()->thread_safe_sender(),
       ChildThreadImpl::current()->GetConnector()->Clone());
 
-  worker_fetch_context->set_parent_frame_id(routing_id_);
+  worker_fetch_context->set_ancestor_frame_id(routing_id_);
   worker_fetch_context->set_site_for_cookies(
       frame_->GetDocument().SiteForCookies());
   worker_fetch_context->set_is_secure_context(
diff --git a/content/shell/browser/layout_test/layout_test_permission_manager.cc b/content/shell/browser/layout_test/layout_test_permission_manager.cc
index 4b65cb1..995219b 100644
--- a/content/shell/browser/layout_test/layout_test_permission_manager.cc
+++ b/content/shell/browser/layout_test/layout_test_permission_manager.cc
@@ -11,6 +11,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/web_contents.h"
 #include "content/shell/browser/layout_test/layout_test_content_browser_client.h"
@@ -56,8 +57,7 @@
 }
 
 LayoutTestPermissionManager::LayoutTestPermissionManager()
-    : PermissionManager() {
-}
+    : PermissionManager() {}
 
 LayoutTestPermissionManager::~LayoutTestPermissionManager() {
 }
@@ -74,7 +74,7 @@
       permission, requesting_origin,
       WebContents::FromRenderFrameHost(render_frame_host)
           ->GetLastCommittedURL().GetOrigin()));
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 int LayoutTestPermissionManager::RequestPermissions(
@@ -97,7 +97,7 @@
   }
 
   callback.Run(result);
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 void LayoutTestPermissionManager::ResetPermission(
diff --git a/content/shell/browser/shell_browser_context.cc b/content/shell/browser/shell_browser_context.cc
index 3281f7e..361ad8e 100644
--- a/content/shell/browser/shell_browser_context.cc
+++ b/content/shell/browser/shell_browser_context.cc
@@ -42,12 +42,6 @@
 ShellBrowserContext::ShellResourceContext::~ShellResourceContext() {
 }
 
-net::HostResolver*
-ShellBrowserContext::ShellResourceContext::GetHostResolver() {
-  CHECK(getter_);
-  return getter_->host_resolver();
-}
-
 net::URLRequestContext*
 ShellBrowserContext::ShellResourceContext::GetRequestContext() {
   CHECK(getter_);
diff --git a/content/shell/browser/shell_browser_context.h b/content/shell/browser/shell_browser_context.h
index 567ab19..1cd7107 100644
--- a/content/shell/browser/shell_browser_context.h
+++ b/content/shell/browser/shell_browser_context.h
@@ -83,7 +83,6 @@
     ~ShellResourceContext() override;
 
     // ResourceContext implementation:
-    net::HostResolver* GetHostResolver() override;
     net::URLRequestContext* GetRequestContext() override;
 
     void set_url_request_context_getter(ShellURLRequestContextGetter* getter) {
diff --git a/content/shell/browser/shell_permission_manager.cc b/content/shell/browser/shell_permission_manager.cc
index 25036ee..25d33b9 100644
--- a/content/shell/browser/shell_permission_manager.cc
+++ b/content/shell/browser/shell_permission_manager.cc
@@ -6,6 +6,7 @@
 
 #include "base/callback.h"
 #include "base/command_line.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/content_switches.h"
@@ -31,9 +32,7 @@
 
 }  // namespace
 
-ShellPermissionManager::ShellPermissionManager()
-    : PermissionManager() {
-}
+ShellPermissionManager::ShellPermissionManager() = default;
 
 ShellPermissionManager::~ShellPermissionManager() {
 }
@@ -47,7 +46,7 @@
   callback.Run(IsWhitelistedPermissionType(permission)
                    ? blink::mojom::PermissionStatus::GRANTED
                    : blink::mojom::PermissionStatus::DENIED);
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 int ShellPermissionManager::RequestPermissions(
@@ -64,7 +63,7 @@
                          : blink::mojom::PermissionStatus::DENIED);
   }
   callback.Run(result);
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 void ShellPermissionManager::ResetPermission(
@@ -107,7 +106,7 @@
     const GURL& requesting_origin,
     const GURL& embedding_origin,
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
-  return kNoPendingOperation;
+  return PermissionController::kNoPendingOperation;
 }
 
 void ShellPermissionManager::UnsubscribePermissionStatusChange(
diff --git a/content/shell/browser/shell_url_request_context_getter.cc b/content/shell/browser/shell_url_request_context_getter.cc
index e9d67ea..9b7a435 100644
--- a/content/shell/browser/shell_url_request_context_getter.cc
+++ b/content/shell/browser/shell_url_request_context_getter.cc
@@ -208,8 +208,4 @@
   return BrowserThread::GetTaskRunnerForThread(BrowserThread::IO);
 }
 
-net::HostResolver* ShellURLRequestContextGetter::host_resolver() {
-  return url_request_context_->host_resolver();
-}
-
 }  // namespace content
diff --git a/content/shell/browser/shell_url_request_context_getter.h b/content/shell/browser/shell_url_request_context_getter.h
index 3b592a2..fff1231 100644
--- a/content/shell/browser/shell_url_request_context_getter.h
+++ b/content/shell/browser/shell_url_request_context_getter.h
@@ -20,7 +20,6 @@
 
 namespace net {
 class CertVerifier;
-class HostResolver;
 class NetLog;
 class NetworkDelegate;
 class ProxyConfigService;
@@ -46,8 +45,6 @@
   scoped_refptr<base::SingleThreadTaskRunner> GetNetworkTaskRunner()
       const override;
 
-  net::HostResolver* host_resolver();
-
   void NotifyContextShuttingDown();
 
  protected:
diff --git a/device/fido/mac/authenticator.h b/device/fido/mac/authenticator.h
index b042869e..4804525 100644
--- a/device/fido/mac/authenticator.h
+++ b/device/fido/mac/authenticator.h
@@ -28,13 +28,14 @@
   static std::unique_ptr<TouchIdAuthenticator> CreateIfAvailable(
       std::string keychain_access_group,
       std::string metadata_secret);
+
   static std::unique_ptr<TouchIdAuthenticator> CreateForTesting(
       std::string keychain_access_group,
       std::string metadata_secret);
 
   ~TouchIdAuthenticator() override;
 
-  // TouchIdAuthenticator
+  // FidoAuthenticator
   void MakeCredential(
       AuthenticatorSelectionCriteria authenticator_selection_criteria,
       CtapMakeCredentialRequest request,
@@ -42,7 +43,6 @@
   void GetAssertion(CtapGetAssertionRequest request,
                     GetAssertionCallback callback) override;
   void Cancel() override;
-
   std::string GetId() const override;
 
  private:
@@ -52,7 +52,8 @@
   // The keychain access group under which credentials are stored in the macOS
   // keychain for access control. The set of all access groups that the
   // application belongs to is stored in the entitlements file that gets
-  // embedded into the application during code signing. For more information see
+  // embedded into the application during code signing. For more information
+  // see
   // https://developer.apple.com/documentation/security/ksecattraccessgroup?language=objc.
   std::string keychain_access_group_;
 
diff --git a/device/vr/vr_device_base.cc b/device/vr/vr_device_base.cc
index cd7c8e0..686f5eb3 100644
--- a/device/vr/vr_device_base.cc
+++ b/device/vr/vr_device_base.cc
@@ -62,19 +62,6 @@
   OnMagicWindowFrameDataRequest(std::move(callback));
 }
 
-void VRDeviceBase::GetFrameData(
-    const gfx::Size& frame_size,
-    display::Display::Rotation display_rotation,
-    mojom::VRMagicWindowProvider::GetFrameDataCallback callback) {
-  if (!magic_window_enabled_) {
-    std::move(callback).Run(nullptr);
-    return;
-  }
-
-  OnMagicWindowFrameDataRequest(frame_size, display_rotation,
-                                std::move(callback));
-}
-
 void VRDeviceBase::SetVRDisplayInfo(mojom::VRDisplayInfoPtr display_info) {
   DCHECK(display_info);
   DCHECK(display_info->index == id_);
@@ -112,13 +99,6 @@
   std::move(callback).Run(nullptr);
 }
 
-void VRDeviceBase::OnMagicWindowFrameDataRequest(
-    const gfx::Size& frame_size,
-    display::Display::Rotation display_rotation,
-    mojom::VRMagicWindowProvider::GetFrameDataCallback callback) {
-  std::move(callback).Run(nullptr);
-}
-
 void VRDeviceBase::SetListeningForActivate(bool is_listening) {
   OnListeningForActivate(is_listening);
 }
diff --git a/device/vr/vr_device_base.h b/device/vr/vr_device_base.h
index 008293e..370b0c9 100644
--- a/device/vr/vr_device_base.h
+++ b/device/vr/vr_device_base.h
@@ -33,10 +33,6 @@
 
   void GetFrameData(
       mojom::VRMagicWindowProvider::GetFrameDataCallback callback);
-  void GetFrameData(
-      const gfx::Size& frame_size,
-      display::Display::Rotation display_rotation,
-      mojom::VRMagicWindowProvider::GetFrameDataCallback callback);
 
   virtual void RequestHitTest(
       mojom::XRRayPtr ray,
@@ -78,15 +74,14 @@
   void SetVRDisplayInfo(mojom::VRDisplayInfoPtr display_info);
   void OnActivate(mojom::VRDisplayEventReason reason,
                   base::Callback<void(bool)> on_handled);
+
+  std::vector<std::unique_ptr<VRDisplayImpl>> magic_window_sessions_;
+
  private:
   // TODO(https://crbug.com/842227): Rename methods to HandleOnXXX
   virtual void OnListeningForActivate(bool listening);
   virtual void OnMagicWindowFrameDataRequest(
       mojom::VRMagicWindowProvider::GetFrameDataCallback callback);
-  virtual void OnMagicWindowFrameDataRequest(
-      const gfx::Size& frame_size,
-      display::Display::Rotation rotation,
-      mojom::VRMagicWindowProvider::GetFrameDataCallback callback);
 
   // XRRuntime
   void RequestMagicWindowSession(
@@ -105,8 +100,6 @@
 
   mojo::Binding<mojom::XRRuntime> runtime_binding_;
 
-  std::vector<std::unique_ptr<VRDisplayImpl>> magic_window_sessions_;
-
   DISALLOW_COPY_AND_ASSIGN(VRDeviceBase);
 };
 
diff --git a/device/vr/vr_display_impl.cc b/device/vr/vr_display_impl.cc
index cc408278..b4e482b 100644
--- a/device/vr/vr_display_impl.cc
+++ b/device/vr/vr_display_impl.cc
@@ -41,21 +41,15 @@
     return;
   }
 
-  // If a valid frame_size has been set, use the GetFrameData with session
-  // geometry.
-  if (!session_frame_size_.IsEmpty()) {
-    device_->GetFrameData(session_frame_size_, session_rotation_,
-                          std::move(callback));
-  } else {
-    device_->GetFrameData(std::move(callback));
-  }
+  device_->GetFrameData(std::move(callback));
 }
 
 void VRDisplayImpl::UpdateSessionGeometry(const gfx::Size& frame_size,
                                           display::Display::Rotation rotation) {
   // Check for a valid frame size.
-  // While Mojo should handle negative values, we also do not want to allow 0.
-  // TODO(https://crbug.com/841062): Reconsider how we check the sizes.
+
+  // TODO(https://crbug.com/841062, https://crbug.com/836496): Reconsider how we
+  // check the sizes.
   if (frame_size.width() <= 0 || frame_size.height() <= 0 ||
       frame_size.width() > kMaxImageHeightOrWidth ||
       frame_size.height() > kMaxImageHeightOrWidth) {
diff --git a/device/vr/vr_display_impl.h b/device/vr/vr_display_impl.h
index 4ab80c61..0d0bd8f 100644
--- a/device/vr/vr_display_impl.h
+++ b/device/vr/vr_display_impl.h
@@ -32,6 +32,9 @@
                 mojom::XRSessionControllerRequest);
   ~VRDisplayImpl() override;
 
+  gfx::Size sessionFrameSize() { return session_frame_size_; };
+  display::Display::Rotation sessionRotation() { return session_rotation_; };
+
   device::VRDeviceBase* device() { return device_; };
 
   // Accessible to tests.
@@ -53,8 +56,6 @@
   device::VRDeviceBase* device_;
   bool restrict_frame_data_ = true;
 
-  // TODO(offenwanger) When device tracks it's own sessions, let it track this
-  // data.
   gfx::Size session_frame_size_ = gfx::Size(0, 0);
   display::Display::Rotation session_rotation_ = display::Display::ROTATE_0;
 };
diff --git a/docs/gpu/pixel_wrangling.md b/docs/gpu/pixel_wrangling.md
index 94d7773..d661137 100644
--- a/docs/gpu/pixel_wrangling.md
+++ b/docs/gpu/pixel_wrangling.md
@@ -23,7 +23,7 @@
 *   [Windows 10 Intel HD 630 Pool](http://shortn/_QsoGIGIFYd)
 *   [Linux Quadro P400 Pool](http://shortn/_fNgNs1uROQ)
 *   [Linux Intel HD 630 Pool](http://shortn/_dqEGjCGMHT)
-*   [Mac AMD Retina 10.12.6 GPU Pool](http://shortn/_BcrVmfRoSo)
+*   [Mac AMD Retina 10.13.5 GPU Pool](http://shortn/_c2CCVyT6Uj)
 *   [Mac Mini Chrome Pool](http://shortn/_Ru8NESapPM)
 *   [Android Nexus 5X Chrome Pool](http://shortn/_G3j7AVmuNR)
 
@@ -31,7 +31,7 @@
 
 *   [Windows 7 Quadro P400 Pool](http://shortn/_cuxSKC15UX)
 *   [Windows AMD R7 240 GPU Pool](http://shortn/_XET7RTMHQm)
-*   [Mac NVIDIA Retina 10.12.6 GPU Pool](http://shortn/_jQWG7W71Ek)
+*   [Mac NVIDIA Retina 10.13.5 GPU Pool](http://shortn/_sun7ISEg3F)
 
 ## GPU Bots' Waterfalls
 
diff --git a/extensions/browser/api/dns/dns_api.cc b/extensions/browser/api/dns/dns_api.cc
index da0d350..8fc6557e 100644
--- a/extensions/browser/api/dns/dns_api.cc
+++ b/extensions/browser/api/dns/dns_api.cc
@@ -8,12 +8,14 @@
 #include "base/values.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
-#include "content/public/browser/resource_context.h"
+#include "content/public/browser/storage_partition.h"
 #include "extensions/browser/api/dns/host_resolver_wrapper.h"
 #include "extensions/common/api/dns.h"
 #include "net/base/host_port_pair.h"
 #include "net/base/net_errors.h"
 #include "net/log/net_log_with_source.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
 
 using content::BrowserThread;
 using extensions::api::dns::ResolveCallbackResolveInfo;
@@ -23,7 +25,7 @@
 namespace extensions {
 
 DnsResolveFunction::DnsResolveFunction()
-    : resource_context_(), response_(false), addresses_(new net::AddressList) {}
+    : response_(false), addresses_(new net::AddressList) {}
 
 DnsResolveFunction::~DnsResolveFunction() {}
 
@@ -32,7 +34,9 @@
   EXTENSION_FUNCTION_VALIDATE(params.get());
 
   hostname_ = params->hostname;
-  resource_context_ = browser_context()->GetResourceContext();
+  url_request_context_getter_ =
+      content::BrowserContext::GetDefaultStoragePartition(browser_context())
+          ->GetURLRequestContext();
 
   bool result = BrowserThread::PostTask(
       BrowserThread::IO,
@@ -46,7 +50,8 @@
   DCHECK_CURRENTLY_ON(BrowserThread::IO);
 
   net::HostResolver* host_resolver =
-      HostResolverWrapper::GetInstance()->GetHostResolver(resource_context_);
+      HostResolverWrapper::GetInstance()->GetHostResolver(
+          url_request_context_getter_.get());
   DCHECK(host_resolver);
 
   // Yes, we are passing zero as the port. There are some interesting but not
diff --git a/extensions/browser/api/dns/dns_api.h b/extensions/browser/api/dns/dns_api.h
index 4b4874e..e301fd2 100644
--- a/extensions/browser/api/dns/dns_api.h
+++ b/extensions/browser/api/dns/dns_api.h
@@ -12,8 +12,8 @@
 #include "net/base/completion_callback.h"
 #include "net/dns/host_resolver.h"
 
-namespace content {
-class ResourceContext;
+namespace net {
+class URLRequestContextGetter;
 }
 
 namespace extensions {
@@ -38,8 +38,7 @@
 
   std::string hostname_;
 
-  // Not owned.
-  content::ResourceContext* resource_context_;
+  scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
 
   bool response_;  // The value sent in SendResponse().
 
diff --git a/extensions/browser/api/dns/host_resolver_wrapper.cc b/extensions/browser/api/dns/host_resolver_wrapper.cc
index 1b3e6a3..9278bfc 100644
--- a/extensions/browser/api/dns/host_resolver_wrapper.cc
+++ b/extensions/browser/api/dns/host_resolver_wrapper.cc
@@ -4,8 +4,9 @@
 
 #include "extensions/browser/api/dns/host_resolver_wrapper.h"
 
-#include "content/public/browser/resource_context.h"
 #include "net/dns/host_resolver.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
 
 namespace extensions {
 
@@ -17,8 +18,10 @@
 }
 
 net::HostResolver* HostResolverWrapper::GetHostResolver(
-    content::ResourceContext* context) {
-  return resolver_ ? resolver_ : context->GetHostResolver();
+    net::URLRequestContextGetter* url_request_context_getter) {
+  return resolver_ ? resolver_
+                   : url_request_context_getter->GetURLRequestContext()
+                         ->host_resolver();
 }
 
 void HostResolverWrapper::SetHostResolverForTesting(
diff --git a/extensions/browser/api/dns/host_resolver_wrapper.h b/extensions/browser/api/dns/host_resolver_wrapper.h
index 7b7d8d5..770cbdbf 100644
--- a/extensions/browser/api/dns/host_resolver_wrapper.h
+++ b/extensions/browser/api/dns/host_resolver_wrapper.h
@@ -8,12 +8,9 @@
 #include "base/macros.h"
 #include "base/memory/singleton.h"
 
-namespace content {
-class ResourceContext;
-}
-
 namespace net {
 class HostResolver;
+class URLRequestContextGetter;
 }
 
 namespace extensions {
@@ -31,10 +28,11 @@
  public:
   static HostResolverWrapper* GetInstance();
 
-  // Given a pointer to a ResourceContext, returns its HostResolver if
+  // Given a pointer to a URLRequestContextGetter, returns its HostResolver if
   // SetHostResolverForTesting() hasn't been called, or else a
   // a substitute MockHostResolver to use instead.
-  net::HostResolver* GetHostResolver(content::ResourceContext* context);
+  net::HostResolver* GetHostResolver(
+      net::URLRequestContextGetter* url_request_context_getter);
 
   // Sets the MockHostResolver to return in GetHostResolver().
   void SetHostResolverForTesting(net::HostResolver* mock_resolver);
diff --git a/extensions/browser/api/socket/socket_api.cc b/extensions/browser/api/socket/socket_api.cc
index 13796f27..647fa587 100644
--- a/extensions/browser/api/socket/socket_api.cc
+++ b/extensions/browser/api/socket/socket_api.cc
@@ -13,7 +13,6 @@
 #include "base/values.h"
 #include "build/build_config.h"
 #include "content/public/browser/browser_context.h"
-#include "content/public/browser/resource_context.h"
 #include "content/public/browser/storage_partition.h"
 #include "extensions/browser/api/dns/host_resolver_wrapper.h"
 #include "extensions/browser/api/socket/socket.h"
@@ -31,6 +30,8 @@
 #include "net/base/network_interfaces.h"
 #include "net/base/url_util.h"
 #include "net/log/net_log_with_source.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
 
 namespace extensions {
 
@@ -177,9 +178,7 @@
 
 #endif  // OS_CHROMEOS
 
-SocketExtensionWithDnsLookupFunction::SocketExtensionWithDnsLookupFunction()
-    : resource_context_(NULL) {
-}
+SocketExtensionWithDnsLookupFunction::SocketExtensionWithDnsLookupFunction() {}
 
 SocketExtensionWithDnsLookupFunction::~SocketExtensionWithDnsLookupFunction() {
 }
@@ -187,14 +186,17 @@
 bool SocketExtensionWithDnsLookupFunction::PrePrepare() {
   if (!SocketAsyncApiFunction::PrePrepare())
     return false;
-  resource_context_ = browser_context()->GetResourceContext();
-  return resource_context_ != NULL;
+  url_request_context_getter_ =
+      content::BrowserContext::GetDefaultStoragePartition(browser_context())
+          ->GetURLRequestContext();
+  return true;
 }
 
 void SocketExtensionWithDnsLookupFunction::StartDnsLookup(
     const net::HostPortPair& host_port_pair) {
   net::HostResolver* host_resolver =
-      HostResolverWrapper::GetInstance()->GetHostResolver(resource_context_);
+      HostResolverWrapper::GetInstance()->GetHostResolver(
+          url_request_context_getter_.get());
   DCHECK(host_resolver);
 
   net::HostResolver::RequestInfo request_info(host_port_pair);
diff --git a/extensions/browser/api/socket/socket_api.h b/extensions/browser/api/socket/socket_api.h
index b89380a..eae243f 100644
--- a/extensions/browser/api/socket/socket_api.h
+++ b/extensions/browser/api/socket/socket_api.h
@@ -33,11 +33,11 @@
 
 namespace content {
 class BrowserContext;
-class ResourceContext;
 }
 
 namespace net {
 class IOBuffer;
+class URLRequestContextGetter;
 }
 
 namespace extensions {
@@ -164,8 +164,7 @@
  private:
   void OnDnsLookup(int resolve_result);
 
-  // Weak pointer to the resource context.
-  content::ResourceContext* resource_context_;
+  scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
 };
 
 class SocketCreateFunction : public SocketAsyncApiFunction {
diff --git a/extensions/browser/renderer_startup_helper.cc b/extensions/browser/renderer_startup_helper.cc
index da26e33..38d9896 100644
--- a/extensions/browser/renderer_startup_helper.cc
+++ b/extensions/browser/renderer_startup_helper.cc
@@ -235,9 +235,9 @@
   // was just loaded.
   // Uninitialized renderers will be informed of the extension load during the
   // first batch of messages.
-  std::vector<ExtensionMsg_Loaded_Params> params(
-      1,
-      ExtensionMsg_Loaded_Params(&extension, false /* no tab permissions */));
+  std::vector<ExtensionMsg_Loaded_Params> params;
+  params.emplace_back(&extension, false /* no tab permissions */);
+
   for (content::RenderProcessHost* process : initialized_processes_) {
     if (!IsExtensionVisibleToContext(extension, process->GetBrowserContext()))
       continue;
diff --git a/extensions/common/extension_messages.cc b/extensions/common/extension_messages.cc
index 3e0367c4..8f8ca1b 100644
--- a/extensions/common/extension_messages.cc
+++ b/extensions/common/extension_messages.cc
@@ -8,7 +8,6 @@
 
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "content/public/common/common_param_traits.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/manifest.h"
@@ -46,8 +45,8 @@
 
 std::unique_ptr<const PermissionSet>
 ExtensionMsg_PermissionSetStruct::ToPermissionSet() const {
-  return base::WrapUnique(new PermissionSet(apis, manifest_permissions,
-                                            explicit_hosts, scriptable_hosts));
+  return std::make_unique<PermissionSet>(apis, manifest_permissions,
+                                         explicit_hosts, scriptable_hosts);
 }
 
 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params()
@@ -59,7 +58,8 @@
 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
     const Extension* extension,
     bool include_tab_permissions)
-    : manifest(extension->manifest()->value()->DeepCopy()),
+    : manifest(static_cast<base::DictionaryValue&&>(
+          extension->manifest()->value()->Clone())),
       location(extension->location()),
       path(extension->path()),
       active_permissions(extension->permissions_data()->active_permissions()),
@@ -83,7 +83,9 @@
 }
 
 ExtensionMsg_Loaded_Params::ExtensionMsg_Loaded_Params(
-    const ExtensionMsg_Loaded_Params& other) = default;
+    ExtensionMsg_Loaded_Params&& other) = default;
+ExtensionMsg_Loaded_Params& ExtensionMsg_Loaded_Params::operator=(
+    ExtensionMsg_Loaded_Params&& other) = default;
 
 scoped_refptr<Extension> ExtensionMsg_Loaded_Params::ConvertToExtension(
     std::string* error) const {
@@ -91,7 +93,7 @@
   // normal case, and because in tests, extensions may not have paths or keys,
   // but it's important to retain the same id.
   scoped_refptr<Extension> extension =
-      Extension::Create(path, location, *manifest, creation_flags, id, error);
+      Extension::Create(path, location, manifest, creation_flags, id, error);
   if (extension.get()) {
     const extensions::PermissionsData* permissions_data =
         extension->permissions_data();
@@ -316,7 +318,7 @@
                                                     const param_type& p) {
   WriteParam(m, p.location);
   WriteParam(m, p.path);
-  WriteParam(m, *(p.manifest));
+  WriteParam(m, p.manifest);
   WriteParam(m, p.creation_flags);
   WriteParam(m, p.id);
   WriteParam(m, p.active_permissions);
@@ -330,9 +332,9 @@
 bool ParamTraits<ExtensionMsg_Loaded_Params>::Read(const base::Pickle* m,
                                                    base::PickleIterator* iter,
                                                    param_type* p) {
-  p->manifest.reset(new base::DictionaryValue());
+  p->manifest.Clear();
   return ReadParam(m, iter, &p->location) && ReadParam(m, iter, &p->path) &&
-         ReadParam(m, iter, p->manifest.get()) &&
+         ReadParam(m, iter, &p->manifest) &&
          ReadParam(m, iter, &p->creation_flags) && ReadParam(m, iter, &p->id) &&
          ReadParam(m, iter, &p->active_permissions) &&
          ReadParam(m, iter, &p->withheld_permissions) &&
diff --git a/extensions/common/extension_messages.h b/extensions/common/extension_messages.h
index 8ffcd074..4d418ab 100644
--- a/extensions/common/extension_messages.h
+++ b/extensions/common/extension_messages.h
@@ -327,14 +327,16 @@
   ~ExtensionMsg_Loaded_Params();
   ExtensionMsg_Loaded_Params(const extensions::Extension* extension,
                              bool include_tab_permissions);
-  ExtensionMsg_Loaded_Params(const ExtensionMsg_Loaded_Params& other);
+
+  ExtensionMsg_Loaded_Params(ExtensionMsg_Loaded_Params&& other);
+  ExtensionMsg_Loaded_Params& operator=(ExtensionMsg_Loaded_Params&& other);
 
   // Creates a new extension from the data in this object.
   scoped_refptr<extensions::Extension> ConvertToExtension(
       std::string* error) const;
 
   // The subset of the extension manifest data we send to renderers.
-  linked_ptr<base::DictionaryValue> manifest;
+  base::DictionaryValue manifest;
 
   // The location the extension was installed from.
   extensions::Manifest::Location location;
@@ -361,6 +363,9 @@
 
   // Send creation flags so extension is initialized identically.
   int creation_flags;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(ExtensionMsg_Loaded_Params);
 };
 
 struct ExtensionHostMsg_AutomationQuerySelector_Error {
diff --git a/extensions/common/extension_messages_unittest.cc b/extensions/common/extension_messages_unittest.cc
index bfd0a138..98ffbbf6 100644
--- a/extensions/common/extension_messages_unittest.cc
+++ b/extensions/common/extension_messages_unittest.cc
@@ -102,7 +102,7 @@
         &msg, &iter, &params_out));
 
     EXPECT_EQ(params_in.id, params_out.id);
-    EXPECT_TRUE(params_in.manifest->Equals(params_out.manifest.get()));
+    EXPECT_TRUE(params_in.manifest.Equals(&params_out.manifest));
     EXPECT_EQ(params_in.location, params_out.location);
     EXPECT_EQ(params_in.path, params_out.path);
     EXPECT_EQ(params_in.creation_flags, params_out.creation_flags);
diff --git a/headless/lib/browser/headless_browser_context_impl.cc b/headless/lib/browser/headless_browser_context_impl.cc
index e61d46c..55d6af0 100644
--- a/headless/lib/browser/headless_browser_context_impl.cc
+++ b/headless/lib/browser/headless_browser_context_impl.cc
@@ -35,7 +35,6 @@
   ~HeadlessResourceContext() override;
 
   // ResourceContext implementation:
-  net::HostResolver* GetHostResolver() override;
   net::URLRequestContext* GetRequestContext() override;
 
   // Configure the URL request context getter to be used for resource fetching.
@@ -65,11 +64,6 @@
   DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
 }
 
-net::HostResolver* HeadlessResourceContext::GetHostResolver() {
-  CHECK(url_request_context_getter_);
-  return url_request_context_getter_->GetURLRequestContext()->host_resolver();
-}
-
 net::URLRequestContext* HeadlessResourceContext::GetRequestContext() {
   CHECK(url_request_context_getter_);
   return url_request_context_getter_->GetURLRequestContext();
diff --git a/headless/lib/browser/headless_permission_manager.cc b/headless/lib/browser/headless_permission_manager.cc
index 006b584..ce2b687 100644
--- a/headless/lib/browser/headless_permission_manager.cc
+++ b/headless/lib/browser/headless_permission_manager.cc
@@ -6,6 +6,7 @@
 
 #include "base/callback.h"
 #include "content/public/browser/browser_context.h"
+#include "content/public/browser/permission_controller.h"
 #include "content/public/browser/permission_type.h"
 
 namespace headless {
@@ -28,11 +29,11 @@
   if (browser_context_->IsOffTheRecord() &&
       permission == content::PermissionType::NOTIFICATIONS) {
     callback.Run(blink::mojom::PermissionStatus::DENIED);
-    return kNoPendingOperation;
+    return content::PermissionController::kNoPendingOperation;
   }
 
   callback.Run(blink::mojom::PermissionStatus::ASK);
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 int HeadlessPermissionManager::RequestPermissions(
@@ -47,7 +48,7 @@
   std::vector<blink::mojom::PermissionStatus> result(
       permissions.size(), blink::mojom::PermissionStatus::ASK);
   callback.Run(result);
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 void HeadlessPermissionManager::ResetPermission(
@@ -75,7 +76,7 @@
     const GURL& requesting_origin,
     const GURL& embedding_origin,
     const base::Callback<void(blink::mojom::PermissionStatus)>& callback) {
-  return kNoPendingOperation;
+  return content::PermissionController::kNoPendingOperation;
 }
 
 void HeadlessPermissionManager::UnsubscribePermissionStatusChange(
diff --git a/headless/test/DEPS b/headless/test/DEPS
index 77c0dd46..cb553ed 100644
--- a/headless/test/DEPS
+++ b/headless/test/DEPS
@@ -4,5 +4,10 @@
     "+components/viz/common/features.h",
     "+components/viz/common/switches.h",
     "+third_party/skia/include",
+  ],
+  "headless_protocol_browsertest.cc": [
+    "+cc/base/switches.h",
+    "+components/viz/common/features.h",
+    "+components/viz/common/switches.h",
   ]
 }
diff --git a/headless/test/data/protocol/emulation/compositor-basic-raf-expected.txt b/headless/test/data/protocol/emulation/compositor-basic-raf-expected.txt
new file mode 100644
index 0000000..ba9193c
--- /dev/null
+++ b/headless/test/data/protocol/emulation/compositor-basic-raf-expected.txt
@@ -0,0 +1,23 @@
+Tests compositor basic rAF operation.
+Advanced to 10ms
+Advanced to 510ms
+Advanced to 1000ms
+Elasped time: 1000
+Requesting first animation frame
+Animation frame callback #1
+Advanced to 1100ms
+Elasped time: 1100
+Animation frame callback #2
+Advanced to 1200ms
+Elasped time: 1200
+Animation frame callback #3
+Advanced to 1300ms
+Elasped time: 1300
+Animation frame callback #4
+Advanced to 1400ms
+Elasped time: 1400
+Animation frame count: 4
+
+Animation frame callback #5
+Screenshot size: 800 x 600
+Screenshot rgba: 0,0,50,255
\ No newline at end of file
diff --git a/headless/test/data/protocol/emulation/compositor-basic-raf.js b/headless/test/data/protocol/emulation/compositor-basic-raf.js
new file mode 100644
index 0000000..bc7c8e53
--- /dev/null
+++ b/headless/test/data/protocol/emulation/compositor-basic-raf.js
@@ -0,0 +1,115 @@
+// 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.
+
+(async function(testRunner) {
+  var {page, session, dp} = await testRunner.startBlank(
+      'Tests compositor basic rAF operation.');
+  await dp.Target.enable();
+
+  // Open the test page in a new tab with BeginFrameControl enabled.
+  await testTargetPage(await session.createTargetInNewContext(
+      800, 600, 'about:blank', true));
+
+  // This runs requestAnimationFrame five times without updating display then
+  // takes a screenshotin in a newly created tab with BeginFrame control.
+  async function testTargetPage(session) {
+    dp = session.protocol;
+    await dp.Runtime.enable();
+    await dp.HeadlessExperimental.enable();
+
+    dp.Runtime.onConsoleAPICalled(data => {
+      const text = data.params.args[0].value;
+      testRunner.log(text);
+    });
+
+    dp.Emulation.onVirtualTimeAdvanced(data => {
+      // Debug chrome schedules stray tasks that break this test.
+      // Our numbers are round, so we prevent this flake 999 times of 1000.
+      const time = data.params.virtualTimeElapsed;
+      if (time !== Math.round(time))
+        return;
+      testRunner.log(`Advanced to ${time}ms`);
+    });
+
+    let virtualTimeBase = 0;
+    let totalElapsedTime = 0;
+    let frameTimeTicks = 0;
+    let lastGrantedChunk = 0;
+
+    dp.Emulation.onVirtualTimePaused(data => {
+      // Remember the base time for frame time calculation.
+      virtualTimeBase = data.params.virtualTimeElapsed;
+    });
+
+    await dp.Emulation.setVirtualTimePolicy({policy: 'pause'});
+    lastGrantedChunk = 1000;
+    await dp.Emulation.setVirtualTimePolicy({
+        policy: 'pauseIfNetworkFetchesPending',
+        budget: lastGrantedChunk, waitForNavigation: true});
+
+    dp.Page.navigate(
+        {url: testRunner.url('/resources/compositor-basic-raf.html')});
+
+    // Renderer wants the very first frame to be fully updated.
+    await AdvanceTime();
+    await session.evaluate('startRAF()');
+    await dp.HeadlessExperimental.beginFrame({frameTimeTicks});
+    await GrantMoreTime(100);
+
+    // Send 3 updateless frames.
+    for (var n = 0; n < 3; ++n) {
+      await AdvanceTime();
+      await dp.HeadlessExperimental.beginFrame({frameTimeTicks,
+          noDisplayUpdates: true});
+      await GrantMoreTime(100);
+    }
+
+    // Grab screenshot, expected size 800x600, rgba: 0,0,50,255.
+    await AdvanceTime();
+    testRunner.log(await session.evaluate('displayRAFCount();'));
+    const screenshotData =
+        (await dp.HeadlessExperimental.beginFrame(
+            {frameTimeTicks, screenshot: {format: 'png'}}))
+        .result.screenshotData;
+    await logScreenShotInfo(screenshotData);
+
+    testRunner.completeTest();
+
+    async function AdvanceTime() {
+      await dp.Emulation.onceVirtualTimeBudgetExpired();
+      totalElapsedTime += lastGrantedChunk;
+      testRunner.log(`Elasped time: ${totalElapsedTime}`);
+      frameTimeTicks = virtualTimeBase + totalElapsedTime;
+    }
+
+    async function GrantMoreTime(budget) {
+      lastGrantedChunk = budget;
+      await dp.Emulation.setVirtualTimePolicy({
+          policy: 'pauseIfNetworkFetchesPending', budget});
+    }
+
+    function logScreenShotInfo(pngBase64) {
+      const image = new Image();
+
+      let callback;
+      let promise = new Promise(fulfill => callback = fulfill);
+      image.onload = function() {
+        testRunner.log(`Screenshot size: `
+            + `${image.naturalWidth} x ${image.naturalHeight}`);
+        const canvas = document.createElement('canvas');
+        canvas.width = image.naturalWidth;
+        canvas.height = image.naturalHeight;
+        const ctx = canvas.getContext('2d');
+        ctx.drawImage(image, 0, 0);
+        const rgba = ctx.getImageData(0, 0, 1, 1).data;
+        testRunner.log(`Screenshot rgba: ${rgba}`);
+        callback();
+      }
+
+      image.src = `data:image/png;base64,${pngBase64}`;
+
+      return promise;
+    }
+  }
+})
diff --git a/headless/test/data/protocol/emulation/compositor-css-animation-test-expected.txt b/headless/test/data/protocol/emulation/compositor-css-animation-test-expected.txt
new file mode 100644
index 0000000..5e0d8b0d
--- /dev/null
+++ b/headless/test/data/protocol/emulation/compositor-css-animation-test-expected.txt
@@ -0,0 +1,22 @@
+Tests compositor animated css handling.
+Expired count: 1, elaspedTime: 500
+Expired count: 2, elaspedTime: 1000
+Event [animationstart] at 0 sec
+Screenshot rgba: 255,0,0,255
+Expired count: 3, elaspedTime: 1500
+Event [animationiteration] at 1 sec
+Screenshot rgba: 1,0,254,255
+Expired count: 4, elaspedTime: 2000
+Expired count: 5, elaspedTime: 2500
+Event [animationiteration] at 2 sec
+Expired count: 6, elaspedTime: 3000
+Expired count: 7, elaspedTime: 3500
+Event [animationiteration] at 3 sec
+Screenshot rgba: 1,0,254,255
+Expired count: 8, elaspedTime: 4000
+Screenshot rgba: 255,0,0,255
+Expired count: 9, elaspedTime: 4500
+Event [animationend] at 4 sec
+Screenshot rgba: 0,0,255,255
+Expired count: 10, elaspedTime: 5000
+Screenshot rgba: 0,0,255,255
\ No newline at end of file
diff --git a/headless/test/data/protocol/emulation/compositor-css-animation-test.js b/headless/test/data/protocol/emulation/compositor-css-animation-test.js
new file mode 100644
index 0000000..d5aa302
--- /dev/null
+++ b/headless/test/data/protocol/emulation/compositor-css-animation-test.js
@@ -0,0 +1,118 @@
+// 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.
+
+(async function(testRunner) {
+  var {page, session, dp} = await testRunner.startBlank(
+      'Tests compositor animated css handling.');
+  await dp.Target.enable();
+
+  // Open the test page in a new tab with BeginFrameControl enabled.
+  await testTargetPage(await session.createTargetInNewContext(
+      800, 600, 'about:blank', true));
+
+  // Loads a page with css animation into a a newly created tab with BeginFrame
+  // control and verifies that animation is advanced according to virtual time.
+  async function testTargetPage(session) {
+    dp = session.protocol;
+    await dp.Runtime.enable();
+    await dp.HeadlessExperimental.enable();
+
+    dp.Runtime.onConsoleAPICalled(data => {
+      const text = data.params.args[0].value;
+      testRunner.log(text);
+    });
+
+    let virtualTimeBase = 0;
+    let totalElapsedTime = 0;
+    let lastGrantedChunk = 0;
+    let expiredCount = 0;
+
+    dp.Emulation.onVirtualTimeBudgetExpired(async data => {
+      ++expiredCount;
+      totalElapsedTime += lastGrantedChunk;
+      testRunner.log(`Expired count: ${expiredCount}`
+          + `, elaspedTime: ${totalElapsedTime}`);
+
+      let grantVirtualTime = 500;
+      let frameTimeTicks = virtualTimeBase + totalElapsedTime;
+
+      if (expiredCount == 1) {
+        // Renderer wants the very first frame to be fully updated.
+        await dp.HeadlessExperimental.beginFrame({frameTimeTicks});
+      } else {
+        if (expiredCount >= 4 && expiredCount <= 6) {
+          // Issue updateless frames.
+          await dp.HeadlessExperimental.beginFrame(
+              {frameTimeTicks, noDisplayUpdates: true});
+        } else {
+          // Update frame and grab a screenshot, logging background color.
+          const {result: {screenshotData}} =
+              await dp.HeadlessExperimental.beginFrame(
+                  {frameTimeTicks, screenshot: {format: 'png'}});
+          await logScreenShotInfo(screenshotData);
+        }
+      }
+
+      // Grant more time or quit test.
+      if (expiredCount < 10) {
+        await dp.Emulation.setVirtualTimePolicy({
+          policy: 'pauseIfNetworkFetchesPending',
+          budget: grantVirtualTime});
+        lastGrantedChunk = grantVirtualTime;
+      } else {
+        testRunner.completeTest();
+      }
+    });
+
+    // Pause for the first time and remember base virtual time.
+    const {result: {virtualTimeTicksBase}} =
+        await dp.Emulation.setVirtualTimePolicy({policy: 'pause'});
+    virtualTimeBase = virtualTimeTicksBase;
+
+    lastGrantedChunk = 500;
+    await dp.Emulation.setVirtualTimePolicy({
+        policy: 'pauseIfNetworkFetchesPending',
+        budget: lastGrantedChunk, waitForNavigation: true});
+
+    // Animates opacity of a blue 100px square on red blackground over 4
+    // seconds (1.0 -> 0 -> 1.0 four times). Logs events to console.
+    //
+    // Timeline:
+    //      0 ms:  --- animation starts at 500ms ---
+    //    500 ms:  1.0 opacity  -> blue background.
+    //   1000 ms:    0 opacity  ->  red background.
+    //   1500 ms:  1.0 opacity  -> blue background.
+    //   2000 ms:    0 opacity  ->  red background.
+    //   2500 ms:  1.0 opacity  -> blue background.
+    //   3000 ms:    0 opacity  ->  red background.
+    //   3500 ms:  1.0 opacity  -> blue background.
+    //   4000 ms:    0 opacity  ->  red background.
+    //   4500 ms:  1.0 opacity  -> blue background.
+    //
+    // The animation will start with the first BeginFrame after load.
+    dp.Page.navigate(
+        {url: testRunner.url('/resources/compositor-css-animation.html')});
+
+    function logScreenShotInfo(pngBase64) {
+      const image = new Image();
+
+      let callback;
+      let promise = new Promise(fulfill => callback = fulfill);
+      image.onload = function() {
+        const canvas = document.createElement('canvas');
+        canvas.width = image.naturalWidth;
+        canvas.height = image.naturalHeight;
+        const ctx = canvas.getContext('2d');
+        ctx.drawImage(image, 0, 0);
+        const rgba = ctx.getImageData(0, 0, 1, 1).data;
+        testRunner.log(`Screenshot rgba: ${rgba}`);
+        callback();
+      }
+
+      image.src = `data:image/png;base64,${pngBase64}`;
+
+      return promise;
+    }
+  }
+})
diff --git a/headless/test/data/protocol/emulation/compositor-image-animation-test-expected.txt b/headless/test/data/protocol/emulation/compositor-image-animation-test-expected.txt
new file mode 100644
index 0000000..47494d2
--- /dev/null
+++ b/headless/test/data/protocol/emulation/compositor-image-animation-test-expected.txt
@@ -0,0 +1,24 @@
+Tests compositor animated image handling.
+Expired count: 1, elaspedTime: 500
+Expired count: 2, elaspedTime: 1000
+Expired count: 3, elaspedTime: 1500
+Expired count: 4, elaspedTime: 2000
+Expired count: 5, elaspedTime: 2500
+Expired count: 6, elaspedTime: 3000
+Expired count: 7, elaspedTime: 3500
+Expired count: 8, elaspedTime: 4000
+Screenshot rgba: 0,0,255,255
+Expired count: 9, elaspedTime: 4500
+Expired count: 10, elaspedTime: 5000
+Expired count: 11, elaspedTime: 5500
+Expired count: 12, elaspedTime: 6000
+Expired count: 13, elaspedTime: 6500
+Screenshot rgba: 255,255,0,255
+Expired count: 14, elaspedTime: 7000
+Expired count: 15, elaspedTime: 7500
+Expired count: 16, elaspedTime: 8000
+Expired count: 17, elaspedTime: 8500
+Expired count: 18, elaspedTime: 9000
+Expired count: 19, elaspedTime: 9500
+Screenshot rgba: 255,255,0,255
+Expired count: 20, elaspedTime: 10000
\ No newline at end of file
diff --git a/headless/test/data/protocol/emulation/compositor-image-animation-test.js b/headless/test/data/protocol/emulation/compositor-image-animation-test.js
new file mode 100644
index 0000000..1793457
--- /dev/null
+++ b/headless/test/data/protocol/emulation/compositor-image-animation-test.js
@@ -0,0 +1,130 @@
+// 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.
+
+(async function(testRunner) {
+  var {page, session, dp} = await testRunner.startBlank(
+      'Tests compositor animated image handling.');
+  await dp.Target.enable();
+
+  // Open the test page in a new tab with BeginFrameControl enabled.
+  await testTargetPage(await session.createTargetInNewContext(
+      800, 600, 'about:blank', true));
+
+  // Loads an animated GIF into a a newly created tab with BeginFrame control
+  // and verifies that:
+  // - animate_only BeginFrames don't produce CompositorFrames,
+  // - first screenshot starts the GIF animation,
+  // - animation is advanced according to virtual time.
+  // - the animation is not resynced after the first iteration.
+  async function testTargetPage(session) {
+    dp = session.protocol;
+    await dp.Runtime.enable();
+    await dp.HeadlessExperimental.enable();
+
+    dp.Runtime.onConsoleAPICalled(data => {
+      const text = data.params.args[0].value;
+      testRunner.log(text);
+    });
+
+    let virtualTimeBase = 0;
+    let totalElapsedTime = 0;
+    let lastGrantedChunk = 0;
+    let expiredCount = 0;
+
+    dp.Emulation.onVirtualTimeBudgetExpired(async data => {
+      ++expiredCount;
+      totalElapsedTime += lastGrantedChunk;
+      testRunner.log(`Expired count: ${expiredCount}, `
+          + `elaspedTime: ${totalElapsedTime}`);
+
+      let grantVirtualTime = 500;
+      let frameTimeTicks = virtualTimeBase + totalElapsedTime;
+
+      if (expiredCount === 1 + 7
+        || expiredCount === 1 + 7 + 5
+        || expiredCount === 1 + 7 + 5 + 6) {
+        // Animation starts when first screenshot is taken, so the first
+        // screenshot should be blue. Screenshot #2 is taken on the third second
+        // of the animation, so it should be yellow. Screenshot #3 is taken two
+        // animation cycles later, so it should be yelloe again.
+        const {result: {screenshotData}} =
+            await dp.HeadlessExperimental.beginFrame(
+                {frameTimeTicks, screenshot: {format: 'png'}});
+        await logScreenShotInfo(screenshotData);
+      } else {
+        await dp.HeadlessExperimental.beginFrame(
+            {frameTimeTicks, noDisplayUpdates: true});
+      }
+
+      // Grant more time or quit test.
+      if (expiredCount < 20) {
+        await dp.Emulation.setVirtualTimePolicy({
+          policy: 'pauseIfNetworkFetchesPending',
+          budget: grantVirtualTime});
+        lastGrantedChunk = grantVirtualTime;
+      } else {
+        testRunner.completeTest();
+      }
+    });
+
+    // Pause for the first time and remember base virtual time.
+    const {result: {virtualTimeTicksBase}} =
+        await dp.Emulation.setVirtualTimePolicy(
+              {initialVirtualTime: 100, policy: 'pause'});
+    virtualTimeBase = virtualTimeTicksBase;
+
+    // Renderer wants the very first frame to be fully updated.
+    await dp.HeadlessExperimental.beginFrame({noDisplayUpdates: false});
+
+    // Grant initial time.
+    lastGrantedChunk = 500;
+    await dp.Emulation.setVirtualTimePolicy({
+        policy: 'pauseIfNetworkFetchesPending',
+        budget: lastGrantedChunk, waitForNavigation: true});
+
+    // The loaded GIF is 100x100px and has 1 second of blue, 1 second of red and
+    // 1 second of yellow.
+    dp.Page.navigate(
+          {url: testRunner.url('/resources/compositor-image-animation.html')});
+
+    async function AdvanceTime() {
+      await dp.Emulation.onceVirtualTimeBudgetExpired();
+      totalElapsedTime += lastGrantedChunk;
+      testRunner.log(`Elasped time: ${totalElapsedTime}`);
+      frameTimeTicks = virtualTimeBase + totalElapsedTime;
+    }
+
+    async function GrantMoreTime(budget) {
+      lastGrantedChunk = budget;
+      await dp.Emulation.setVirtualTimePolicy({
+          policy: 'pauseIfNetworkFetchesPending', budget});
+    }
+
+    function logScreenShotInfo(pngBase64) {
+      const image = new Image();
+
+      let callback;
+      let promise = new Promise(fulfill => callback = fulfill);
+      image.onload = function() {
+        const canvas = document.createElement('canvas');
+        canvas.width = image.naturalWidth;
+        canvas.height = image.naturalHeight;
+        const ctx = canvas.getContext('2d');
+        ctx.drawImage(image, 0, 0);
+        const rgba = ctx.getImageData(0, 0, 1, 1).data;
+        testRunner.log(`Screenshot rgba: ${rgba}`);
+        callback();
+      }
+
+      image.src = `data:image/png;base64,${pngBase64}`;
+
+      return promise;
+    }
+
+    setTimeout(() => {
+      testRunner.log('Forced test termination');
+      testRunner.completeTest();
+    }, 10 * 1000);
+  }
+})
diff --git a/headless/test/data/protocol/emulation/resources/animated_square.gif b/headless/test/data/protocol/emulation/resources/animated_square.gif
new file mode 100644
index 0000000..c990dec
--- /dev/null
+++ b/headless/test/data/protocol/emulation/resources/animated_square.gif
Binary files differ
diff --git a/headless/test/data/protocol/emulation/resources/compositor-basic-raf.html b/headless/test/data/protocol/emulation/resources/compositor-basic-raf.html
new file mode 100644
index 0000000..e5480405
--- /dev/null
+++ b/headless/test/data/protocol/emulation/resources/compositor-basic-raf.html
@@ -0,0 +1,22 @@
+<html>
+<script>
+  window.rafCount = 0;
+  function animationCallback() {
+    ++window.rafCount;
+    console.log(`Animation frame callback #${window.rafCount}`);
+    // Change document body background in a predictable manner.
+    document.body.style.background = '#0000' + (window.rafCount * 10).toString(16);
+    window.requestAnimationFrame(animationCallback);
+  }
+
+  function startRAF() {
+    console.log('Requesting first animation frame');
+    window.requestAnimationFrame(animationCallback);
+  }
+
+  function displayRAFCount() {
+    console.log(`Animation frame count: ${window.rafCount}`);
+  }
+</script>
+<body></body>
+</html>
diff --git a/headless/test/data/protocol/emulation/resources/compositor-css-animation.html b/headless/test/data/protocol/emulation/resources/compositor-css-animation.html
new file mode 100644
index 0000000..868bcb6
--- /dev/null
+++ b/headless/test/data/protocol/emulation/resources/compositor-css-animation.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<style>
+* {
+  margin: 0px;
+  background-color: red;
+}
+
+#box {
+  width: 100px;
+  height: 100px;
+  background-color: blue;
+
+  animation: flash 1s steps(1, end) 4;
+}
+
+@keyframes flash {
+  0% { opacity: 1; }
+  50% { opacity: 0; }
+  100% { opacity: 1; }
+}
+</style>
+<div id="box"></div>
+<script>
+  var baseTime = Date.now();
+
+  var box = document.getElementById("box");
+  box.addEventListener("animationstart", onAnimationEvent, false);
+  box.addEventListener("animationiteration", onAnimationEvent, false);
+  box.addEventListener("animationend", onAnimationEvent, false);
+
+  function onAnimationEvent(event) {
+    console.log(`Event [${event.type}]`
+      + ` at ${event.elapsedTime} sec`);
+  }
+
+</script>
diff --git a/headless/test/data/protocol/emulation/resources/compositor-image-animation.html b/headless/test/data/protocol/emulation/resources/compositor-image-animation.html
new file mode 100644
index 0000000..ba32a4a3
--- /dev/null
+++ b/headless/test/data/protocol/emulation/resources/compositor-image-animation.html
@@ -0,0 +1,3 @@
+<!doctype html>
+<style>* { margin: 0; }</style>
+<img id='image' src='animated_square.gif'>
diff --git a/headless/test/data/protocol/inspector-protocol-test.html b/headless/test/data/protocol/inspector-protocol-test.html
index 1b6e6f33..e0c46263 100644
--- a/headless/test/data/protocol/inspector-protocol-test.html
+++ b/headless/test/data/protocol/inspector-protocol-test.html
@@ -26,13 +26,6 @@
 <script src="../../resources/inspector-protocol-test.js"></script>
 <script>
 DevToolsAPI._log = text => output.push(text);
-DevToolsAPI._fetch = url => {
-  var params = new URLSearchParams(window.location.search);
-  var testScriptURL = params.get('test');
-  if (url === testScriptURL)
-    return Promise.resolve(decodeURIComponent(params.get('script')));
-  throw new Error('Can not fetch ' + url);
-};
 
 function onmessage(json) { DevToolsAPI.dispatchMessage(json); }
 </script>
diff --git a/headless/test/headless_protocol_browsertest.cc b/headless/test/headless_protocol_browsertest.cc
index 1310816d..b6cd78d7 100644
--- a/headless/test/headless_protocol_browsertest.cc
+++ b/headless/test/headless_protocol_browsertest.cc
@@ -10,8 +10,13 @@
 #include "base/files/file_util.h"
 #include "base/json/json_reader.h"
 #include "base/path_service.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/threading/thread_restrictions.h"
 #include "build/build_config.h"
+#include "cc/base/switches.h"
+#include "components/viz/common/features.h"
+#include "components/viz/common/switches.h"
+#include "content/public/common/content_switches.h"
 #include "content/public/test/browser_test.h"
 #include "headless/public/devtools/domains/runtime.h"
 #include "headless/public/headless_browser.h"
@@ -50,12 +55,6 @@
     browser_devtools_client_->SetRawProtocolListener(this);
   }
 
-  std::string EncodeQuery(const std::string& query) {
-    url::RawCanonOutputT<char> buffer;
-    url::EncodeURIComponent(query.data(), query.size(), &buffer);
-    return std::string(buffer.data(), buffer.length());
-  }
-
   void RunDevTooledTest() override {
     base::ScopedAllowBlockingForTesting allow_blocking;
     base::FilePath src_dir;
@@ -70,10 +69,13 @@
       FinishTest();
       return;
     }
-    GURL test_url = embedded_test_server()->GetURL("/protocol/" + script_name_);
+    GURL test_url = embedded_test_server()->GetURL("harness.test",
+                                                   "/protocol/" + script_name_);
+    GURL target_url = embedded_test_server()->GetURL(
+        "127.0.0.1", "/protocol/" + script_name_);
     GURL page_url = embedded_test_server()->GetURL(
         "harness.test", "/protocol/inspector-protocol-test.html?test=" +
-                            test_url.spec() + "&script=" + EncodeQuery(script));
+                            test_url.spec() + "&target=" + target_url.spec());
     devtools_client_->GetPage()->Navigate(page_url.spec());
   }
 
@@ -215,16 +217,13 @@
 HEADLESS_PROTOCOL_TEST(VirtualTimeStarvation,
                        "emulation/virtual-time-starvation.js");
 HEADLESS_PROTOCOL_TEST(VirtualTimeVideo, "emulation/virtual-time-video.js");
+HEADLESS_PROTOCOL_TEST(VirtualTimeErrorLoop,
+                       "emulation/virtual-time-error-loop.js");
 
 // Flaky Test crbug.com/859382
 HEADLESS_PROTOCOL_TEST(DISABLED_VirtualTimeHistoryNavigation,
                        "emulation/virtual-time-history-navigation.js");
 
-// Flaky Test crbug.com/860123. See also failing on MacOS10.13 (dbg)
-// crbug.com/859382
-HEADLESS_PROTOCOL_TEST(DISABLED_VirtualTimeErrorLoop,
-                       "emulation/virtual-time-error-loop.js");
-
 // http://crbug.com/633321
 #if defined(OS_ANDROID)
 #define MAYBE_VirtualTimeTimerOrder DISABLED_VirtualTimeTimerOrder
@@ -240,4 +239,78 @@
 #undef MAYBE_VirtualTimeTimerOrder
 #undef MAYBE_VirtualTimeTimerSuspend
 
+class HeadlessProtocolCompositorBrowserTest
+    : public HeadlessProtocolBrowserTest {
+ public:
+  HeadlessProtocolCompositorBrowserTest() = default;
+
+ private:
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    HeadlessProtocolBrowserTest::SetUpCommandLine(command_line);
+    // The following switches are recommended for BeginFrameControl required by
+    // compositor tests, see https://goo.gl/3zHXhB for details
+    static const char* const compositor_switches[] = {
+        // We control BeginFrames ourselves and need all compositing stages to
+        // run.
+        switches::kRunAllCompositorStagesBeforeDraw,
+        switches::kDisableNewContentRenderingTimeout,
+
+        // Animtion-only BeginFrames are only supported when updates from the
+        // impl-thread are disabled, see go/headless-rendering.
+        cc::switches::kDisableThreadedAnimation,
+        cc::switches::kDisableCheckerImaging,
+        switches::kDisableThreadedScrolling,
+
+        // Ensure that image animations don't resync their animation timestamps
+        // when looping back around.
+        switches::kDisableImageAnimationResync,
+    };
+
+    for (auto* compositor_switch : compositor_switches) {
+      command_line->AppendSwitch(compositor_switch);
+    }
+
+    // In surface synchronization, child surface IDs are allocated by
+    // parents and new CompositorFrames only activate once all their child
+    // surfaces exist. In --run-all-compositor-stages-before-draw mode, this
+    // means that child surface initialization and resize fully propagates
+    // within a single BeginFrame.
+    scoped_feature_list_.InitAndEnableFeature(
+        features::kEnableSurfaceSynchronization);
+  }
+
+ protected:
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
+#define HEADLESS_PROTOCOL_COMPOSITOR_TEST(TEST_NAME, SCRIPT_NAME)            \
+  IN_PROC_BROWSER_TEST_F(HeadlessProtocolCompositorBrowserTest, TEST_NAME) { \
+    test_folder_ = "/protocol/";                                             \
+    script_name_ = SCRIPT_NAME;                                              \
+    RunTest();                                                               \
+  }
+
+// BeginFrameControl is not supported on MacOS yet, see: https://cs.chromium.org
+// chromium/src/headless/lib/browser/protocol/target_handler.cc?
+// rcl=5811aa08e60ba5ac7622f029163213cfbdb682f7&l=32
+#if defined(OS_MACOSX)
+#define MAYBE_CompositorBasicRaf DISABLED_CompositorBasicRaf
+#define MAYBE_CompositorImageAnimation DISABLED_CompositorImageAnimation
+#define MAYBE_CompositorCssAnimation DISABLED_CompositorCssAnimation
+#else
+#define MAYBE_CompositorBasicRaf CompositorBasicRaf
+#define MAYBE_CompositorImageAnimation CompositorImageAnimation
+#define MAYBE_CompositorCssAnimation CompositorCssAnimation
+#endif
+HEADLESS_PROTOCOL_COMPOSITOR_TEST(MAYBE_CompositorBasicRaf,
+                                  "emulation/compositor-basic-raf.js");
+HEADLESS_PROTOCOL_COMPOSITOR_TEST(
+    MAYBE_CompositorImageAnimation,
+    "emulation/compositor-image-animation-test.js");
+HEADLESS_PROTOCOL_COMPOSITOR_TEST(MAYBE_CompositorCssAnimation,
+                                  "emulation/compositor-css-animation-test.js");
+#undef MAYBE_CompositorBasicRaf
+#undef MAYBE_CompositorImageAnimation
+#undef MAYBE_CompositorCssAnimation
+
 }  // namespace headless
diff --git a/infra/config/global/luci-milo.cfg b/infra/config/global/luci-milo.cfg
index 05954f7e..964949a 100644
--- a/infra/config/global/luci-milo.cfg
+++ b/infra/config/global/luci-milo.cfg
@@ -175,6 +175,16 @@
       alt: "Angle"
     }
     links {
+      text: "blink"
+      url: "/p/chromium/g/tryserver.blink/builders"
+      alt: "Blink"
+    }
+    links {
+      text: "chromiumos"
+      url: "/p/chromium/g/tryserver.chromium.chromiumos/builders"
+      alt: "ChromiumOS"
+    }
+    links {
       text: "linux"
       url: "/p/chromium/g/tryserver.chromium.linux/builders"
       alt: "Linux"
@@ -189,11 +199,6 @@
       url: "/p/chromium/g/tryserver.chromium.win/builders"
       alt: "Win"
     }
-    links {
-      text: "blink"
-      url: "/p/chromium/g/tryserver.blink/builders"
-      alt: "Blink"
-    }
   }
   links {
     name: "Navigate"
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index d5033d2..0065aa6 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -510,6 +510,9 @@
       <message name="IDS_IOS_CLEAR_BUTTON" desc="Title for the button used to clear data. [Length: 20em] [iOS only]">
         Clear Browsing Data
       </message>
+      <message name="IDS_IOS_CONFIRM_CLEAR_BUTTON_TITLE" desc="Title for the UIAlertController indicating browsing data selected will be removed. [Length: 20em] [iOS only]">
+        The items you selected will be removed
+      </message>
       <message name="IDS_IOS_CONFIRM_CLEAR_BUTTON" desc="Accessibility label for the button used to confirm clearing data. [iOS only]">
         Confirm Clear Browsing Data
       </message>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_am.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_am.xtb
index 9aef82c..240c17b 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_am.xtb
@@ -23,6 +23,7 @@
 <translation id="3805899903892079518">Chromium የእርስዎ ፎቶዎች ወይም ቪዲዮዎች መዳረሻ የለውም። በiOS ቅንብሮች &gt; ግላዊነት &gt; ፎቶዎች ውስጥ መዳረሻን ያንቁ።</translation>
 <translation id="4024541897090868497">የእርስዎን ትሮች በሁሉም መሣሪያዎችዎ ላይ ለማግኘት ወደ Chromium ይግቡ።</translation>
 <translation id="4241912885070669028">በ<ph name="SIGNOUT_MANAGED_DOMAIN" /> ከሚተዳደር መለያ ዘግተው እየወጡ ነው። ይሄ Chromium ውሂብዎን ከዚህ መሣሪያ ይሰርዘዋል፣ ነገር ግን ውሂብዎ አሁንም በእርስዎ የGoogle መለያ ውስጥ እንዳለ ይቆያል።</translation>
+<translation id="4272892696084633551">የChromium ባህሪያት እና አፈጻጸም እንዲሻሻል ያግዙ</translation>
 <translation id="4555020257205549924">ይህ ባህሪ ሲበራ Chromium በሌሎች ቋንቋዎች የተጻፉ ገጾች Google ትርጉምን በመጠቀም እንዲተረጎምልዎ ይጠይቀዎታል። <ph name="BEGIN_LINK" />የበለጠ ለመረዳት<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">በሌሎች መሣሪያዎችዎ ላይ ባለ Chromium ላይ የከፈቷቸው ትሮች እዚህ ይመጣሉ።</translation>
 <translation id="495292094137889840">የChromium ኪውአር መቃኛውን መጠቀም ይጀምሩ</translation>
@@ -32,6 +33,7 @@
 <translation id="5945387852661427312">በ<ph name="DOMAIN" /> ከሚተዳደር መለያ ዘግተው እየወጡና ለአስተዳዳሪው ሙሉውን በChromium ውሂብዎ ቁጥጥር እየሰጡ ነው። የእርስዎ ውሂብ እስከመጨረሻው ከዚህ መለያ ጋር ይተሳሰራል። ከChromium ዘግቶ መውጣት ውሂብዎን ከዚህ መሣሪያ ይሰርዘዋል፣ ነገር ግን በእርስዎ Google መለያ ላይ እንደተከማቸ ይቆያል።</translation>
 <translation id="6068866989048414399">የChromium አገልግሎት ውል</translation>
 <translation id="6268381023930128611">ከChromium ተዘግቶ ይውጣ?</translation>
+<translation id="641451971369018375">አሰሳን እና Chromiumን ለማሻሻል ከGoogle ጋር ይገናኛል</translation>
 <translation id="6424492062988593837">Chromium አሁን ተሻሽሏል! አዲስ ስሪት አለ።</translation>
 <translation id="6604711459180487467">Chromium ውስጥ በአካባቢዎ ላይ የተመሠረተ የተሻለ ተሞክሮ ያግኙ።</translation>
 <translation id="6626296268883197964">ይህን መተግበሪያ በመጠቀምዎ በChromium <ph name="BEGIN_LINK_TOS" />አገልግሎት ውል<ph name="END_LINK_TOS" /> እና <ph name="BEGIN_LINK_PRIVACY" />የግላዊነት ማስታወቂያ<ph name="END_LINK_PRIVACY" /> ተስማምተዋል።</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_bg.xtb
index b916ca3f..d16852d 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_bg.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium няма достъп до снимките или видеоклиповете ви. Активирайте го от „Settings“ &gt; „Privacy“ &gt; „Photos“ в iOS.</translation>
 <translation id="4024541897090868497">Влезте в Chromium, за да получите разделите си на всичките си устройства.</translation>
 <translation id="4241912885070669028">Излизате от профил, управляван от <ph name="SIGNOUT_MANAGED_DOMAIN" />. Данните ви в Chromium ще се изтрият от това устройство, но ще останат в профила ви в Google.</translation>
+<translation id="4272892696084633551">Помощ за подобряването на функциите и ефективността на Chromium</translation>
 <translation id="4555020257205549924">Когато тази функция е включена, Chromium ще предлага да преведе страниците, написани на други езици, посредством Google Преводач. <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Тук ще се показват разделите, които сте отворили в Chromium на другите си устройства.</translation>
 <translation id="495292094137889840">Използване на скенера за QR кодове в Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Влизате с профил, управляван от <ph name="DOMAIN" />, и предоставяте на администратора му контрол над данните си в Chromium. Те ще се свържат за постоянно с този профил. При излизане от браузъра информацията ви ще се изтрие от устройството, но ще продължи да се съхранява в профила ви в Google.</translation>
 <translation id="6068866989048414399">Общи условия на Chromium</translation>
 <translation id="6268381023930128611">Искате ли да излезете от Chromium?</translation>
+<translation id="641451971369018375">Комуникира с Google с цел подобряване на сърфирането и на Chromium</translation>
 <translation id="6424492062988593837">Chromium току-що се подобри! Налице е нова версия.</translation>
 <translation id="6604711459180487467">Подобрете работата си в Chromium въз основа на местоположението си.</translation>
 <translation id="6626296268883197964">С използването на това приложение приемате <ph name="BEGIN_LINK_TOS" />Общите условия<ph name="END_LINK_TOS" /> и <ph name="BEGIN_LINK_PRIVACY" />Съобщението за поверителност<ph name="END_LINK_PRIVACY" /> на Chromium.</translation>
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 0f05b3a..7491d768 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ca.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium no té accés als vostres vídeos o fotos. Permeteu-li l'accés a iOS, a Configuració &gt; Privadesa &gt; Fotos.</translation>
 <translation id="4024541897090868497">Per veure les teves pestanyes en tots els dispositius, inicia la sessió a Chromium.</translation>
 <translation id="4241912885070669028">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 al teu compte de Google.</translation>
+<translation id="4272892696084633551">Ajuda a millorar les funcions i el rendiment de Chromium</translation>
 <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="4787850887676698916">Les pestanyes que tinguis obertes a Chromium als altres dispositius es mostraran aquí.</translation>
 <translation id="495292094137889840">Comença a utilitzar l'escàner QR de Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Estàs iniciant la sessió amb un compte gestionat per <ph name="DOMAIN" /> i estàs donant a l'administrador el control de les teves dades de Chromium. Les dades passaran a estar vinculades a aquest compte permanentment. Si tanques la sessió de Chromium, se suprimiran les teves dades d'aquest dispositiu, però continuaran emmagatzemades al teu compte de Google.</translation>
 <translation id="6068866989048414399">Condicions del servei de Chromium</translation>
 <translation id="6268381023930128611">Voleu tancar la sessió de Chromium?</translation>
+<translation id="641451971369018375">Es comunica amb Google per millorar Chromium i la navegació</translation>
 <translation id="6424492062988593837">Chrome ara és millor. Hi ha una versió nova disponible.</translation>
 <translation id="6604711459180487467">Comparteix la teva ubicació per gaudir dels avantatges de Chromium.</translation>
 <translation id="6626296268883197964">En fer servir aquesta aplicació, acceptes les <ph name="BEGIN_LINK_TOS" />condicions del servei<ph name="END_LINK_TOS" /> i l'<ph name="BEGIN_LINK_PRIVACY" />avís de privadesa<ph name="END_LINK_PRIVACY" /> de Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_de.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_de.xtb
index 17a3e02c..2247c54 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_de.xtb
@@ -23,6 +23,7 @@
 <translation id="3805899903892079518">Chromium hat keinen Zugriff auf Ihre Fotos und Videos. Aktivieren Sie den Zugriff unter "iOS-Einstellungen &gt; Datenschutz &gt; Fotos".</translation>
 <translation id="4024541897090868497">Melden Sie sich in Chromium an, um Ihre Tabs auf sämtlichen Geräten zu haben.</translation>
 <translation id="4241912885070669028">Sie melden sich von einem Konto ab, das von <ph name="SIGNOUT_MANAGED_DOMAIN" /> verwaltet wird. Dadurch werden Ihre Chromium-Daten von diesem Gerät gelöscht, bleiben jedoch in Ihrem Google-Konto erhalten.</translation>
+<translation id="4272892696084633551">Dabei helfen, die Funktionen und die Leistung von Chromium zu verbessern</translation>
 <translation id="4555020257205549924">Wenn diese Funktion aktiviert ist, haben Sie in Chromium die Möglichkeit, Seiten in anderen Sprachen mithilfe von Google Übersetzer zu übersetzen. <ph name="BEGIN_LINK" />Weitere Informationen<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Hier werden Tabs angezeigt, die Sie auf Ihren anderen Geräten in Chromium geöffnet haben.</translation>
 <translation id="495292094137889840">Chromium QR-Scanner nutzen</translation>
@@ -32,6 +33,7 @@
 <translation id="5945387852661427312">Sie melden sich mit einem von <ph name="DOMAIN" /> verwalteten Konto an und geben dem Administrator der Domain Kontrolle über Ihre Chromium-Daten. Die Daten werden diesem Konto dauerhaft zugeordnet. Wenn Sie sich von Chromium abmelden, werden Ihre Daten auf dem Gerät gelöscht, bleiben jedoch in Ihrem Google-Konto erhalten.</translation>
 <translation id="6068866989048414399">Chromium-Nutzungsbedingungen</translation>
 <translation id="6268381023930128611">Von Chromium abmelden?</translation>
+<translation id="641451971369018375">Mit Google kommunizieren, um das Surferlebnis und Chromium zu verbessern</translation>
 <translation id="6424492062988593837">Chromium ist jetzt noch besser! Es ist eine neue Version verfügbar.</translation>
 <translation id="6604711459180487467">Profitieren Sie von einer besseren Nutzererfahrung in Chromium auf Grundlage Ihres Standorts.</translation>
 <translation id="6626296268883197964">Durch die Verwendung dieser App stimmen Sie den <ph name="BEGIN_LINK_TOS" />Nutzungsbedingungen<ph name="END_LINK_TOS" /> und <ph name="BEGIN_LINK_PRIVACY" />Datenschutzhinweisen<ph name="END_LINK_PRIVACY" /> von Chromium zu.</translation>
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 b8d5f79..cf2677c 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_el.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Το Chromium δεν έχει πρόσβαση σε φωτογραφίες ή βίντεό σας. Ενεργ. πρόσβασης στις Ρυθμίσεις iOS &gt; Απόρρητο &gt; Φωτογραφίες.</translation>
 <translation id="4024541897090868497">Για να εμφανίζονται οι ρυθμίσεις σας σε όλες τις συσκευές σας, συνδεθείτε στο Chromium</translation>
 <translation id="4241912885070669028">Πρόκειται να αποσυνδεθείτε από έναν λογαριασμό του οποίου η διαχείριση γίνεται από <ph name="SIGNOUT_MANAGED_DOMAIN" />. Αυτό θα διαγράψει τα δεδομένα σας Chromium από αυτήν τη συσκευή, αλλά θα διατηρηθούν στον Λογαριασμό σας Google.</translation>
+<translation id="4272892696084633551">Συμβάλετε στη βελτίωση των λειτουργιών και της απόδοσης του Chromium</translation>
 <translation id="4555020257205549924">Όταν αυτή η λειτουργία είναι ενεργοποιημένη, το Chromium θα προσφέρει τη μετάφραση σελίδων που είναι γραμμένες σε άλλες γλώσσες χρησιμοποιώντας τη Μετάφραση Google. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Οι καρτέλες που έχετε ανοίξει στο Chromium στις άλλες συσκευές σας θα εμφανίζονται εδώ.</translation>
 <translation id="495292094137889840">Έναρξη χρήσης σαρωτή QR Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Συνδέεστε με έναν λογαριασμό του οποίου η διαχείριση γίνεται από <ph name="DOMAIN" /> και παραχωρείτε τον έλεγχο της διαχείρισης των δεδομένων σας Chromium. Τα δεδομένα θα συσχετιστούν με τον λογαριασμό. Η αποσύνδεση από το Chromium θα διαγράψει τα δεδομένα από τη συσκευή, αλλά θα διατηρηθούν στο Λογαριασμό σας Google.</translation>
 <translation id="6068866989048414399">Όροι Παροχ. Υπηρεσιών Chromium</translation>
 <translation id="6268381023930128611">Θέλετε να αποσυνδεθείτε από το Chromium;</translation>
+<translation id="641451971369018375">Επικοινωνεί με την Google για τη βελτίωση της περιήγησης και του Chromium</translation>
 <translation id="6424492062988593837">Το Chromium μόλις βελτιώθηκε! Μια νέα έκδοση είναι διαθέσιμη.</translation>
 <translation id="6604711459180487467">Απολαύστε μια καλύτερη εμπειρία στο Chromium βάσει της τοποθεσίας σας.</translation>
 <translation id="6626296268883197964">Χρησιμοποιώντας αυτήν την εφαρμογή, συμφωνείτε με τους <ph name="BEGIN_LINK_TOS" />Όρους Παροχής Υπηρεσιών<ph name="END_LINK_TOS" /> και τη <ph name="BEGIN_LINK_PRIVACY" />Σημείωση απορρήτου<ph name="END_LINK_PRIVACY" /> του Chromium.</translation>
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 324775de..40d2a3f5 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
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium does not have access to your photos or videos. Enable access in iOS Settings &gt; Privacy &gt; Photos.</translation>
 <translation id="4024541897090868497">To get your tabs on all your devices, sign in to Chromium.</translation>
 <translation id="4241912885070669028">You are signing out of an account managed by <ph name="SIGNOUT_MANAGED_DOMAIN" />. This will delete your Chromium data from this device, but your data will remain in your Google account.</translation>
+<translation id="4272892696084633551">Help improve Chromium's features and performance</translation>
 <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="4787850887676698916">Tabs that you've opened in Chromium on your other devices will appear here.</translation>
 <translation id="495292094137889840">Start using Chromium QR Scanner</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">You are signing in with an account managed by <ph name="DOMAIN" /> and giving its administrator control over your Chromium data. Your data will become permanently tied to this account. Signing out of Chromium will delete your data from this device, but it will remain stored in your Google account.</translation>
 <translation id="6068866989048414399">Chromium Terms of Service</translation>
 <translation id="6268381023930128611">Sign out of Chromium?</translation>
+<translation id="641451971369018375">Communicates with Google to improve browsing and Chromium</translation>
 <translation id="6424492062988593837">Chromium just got better! A new version is available.</translation>
 <translation id="6604711459180487467">Get a better experience in Chromium based on your location.</translation>
 <translation id="6626296268883197964">By using this application, you agree to Chromium’s <ph name="BEGIN_LINK_TOS" />Terms of Service<ph name="END_LINK_TOS" /> and <ph name="BEGIN_LINK_PRIVACY" />Privacy Notice<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb
index bc13d49..43d90ec 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_es.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium no puede acceder a tus fotos y vídeos (para permitirlo, ve a Ajustes de iOS &gt; Privacidad &gt; Fotos).</translation>
 <translation id="4024541897090868497">Inicia sesión en Chromium para ver tus pestañas en todos tus dispositivos.</translation>
 <translation id="4241912885070669028">Estás cerrando sesión en una cuenta gestionada por <ph name="SIGNOUT_MANAGED_DOMAIN" />. Tus datos de Chromium se eliminarán de este dispositivo, pero permanecerán en tu cuenta de Google.</translation>
+<translation id="4272892696084633551">Ayudar a mejorar las funciones y el rendimiento de Chromium</translation>
 <translation id="4555020257205549924">Si esta función está activada, Chromium ofrecerá la posibilidad de traducir páginas escritas en otros idiomas con el Traductor de Google. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Aquí aparecerán las pestañas que hayas abierto en Chromium en otros dispositivos.</translation>
 <translation id="495292094137889840">Empezar a usar el escáner de QR de Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Estás iniciando sesión con una cuenta gestionada por <ph name="DOMAIN" /> y vas a otorgar a su administrador el control sobre tus datos de Chromium. Tus datos se vincularán de forma permanente a esta cuenta. Al cerrar sesión en Chromium, tus datos se eliminarán de este dispositivo, pero permanecerán almacenados en tu cuenta de Google.</translation>
 <translation id="6068866989048414399">Condiciones de Servicio de Chromium</translation>
 <translation id="6268381023930128611">¿Cerrar sesión en Chromium?</translation>
+<translation id="641451971369018375">Se comunica con Google para mejorar la navegación y Chromium</translation>
 <translation id="6424492062988593837">Chromium sigue mejorando. Hay una nueva versión disponible.</translation>
 <translation id="6604711459180487467">Disfruta de una mejor experiencia en Chromium según tu ubicación.</translation>
 <translation id="6626296268883197964">Al usar esta aplicación, aceptas las <ph name="BEGIN_LINK_TOS" />condiciones de servicio<ph name="END_LINK_TOS" /> y el <ph name="BEGIN_LINK_PRIVACY" />aviso de privacidad<ph name="END_LINK_PRIVACY" /> de Chromium.</translation>
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 74daa12..459e89d 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_et.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromiumil pole juurdepääsu fotodele ega videotele. Lubage iOS-is juurdepääs valikutega Seaded &gt; Privaatsus &gt; Fotod.</translation>
 <translation id="4024541897090868497">Kõikidesse seadmetesse vahelehtede hankimiseks logige Chromiumi sisse.</translation>
 <translation id="4241912885070669028">Logite välja kontolt, mida haldab <ph name="SIGNOUT_MANAGED_DOMAIN" />. Selle tulemusel kustutatakse seadmes olevad Chromiumi andmed, kuid need jäävad alles teie Google'i kontole.</translation>
+<translation id="4272892696084633551">Aidake täiustada Chromiumi funktsioone ja toimivust</translation>
 <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="4787850887676698916">Siin kuvatakse teie teistes seadmetes Chromiumis avatud vahelehed.</translation>
 <translation id="495292094137889840">Chromiumi QR-skanneri kasutamise alustamine</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Logite sisse kontoga, mida haldab <ph name="DOMAIN" />, ja annate selle administraatorile üle Chromiumi andmete juhtimise. Teie andmed seotakse jäädavalt selle kontoga. Chromiumist väljalogimisel kustutatakse teie andmed sellest seadmest, kuid need jäävad alles teie Google'i kontole.</translation>
 <translation id="6068866989048414399">Chromiumi teenusetingimused</translation>
 <translation id="6268381023930128611">Kas logida Chromiumist välja?</translation>
+<translation id="641451971369018375">Antakse Google'ile tagasisidet, et sirvimist ja Chromiumi paremaks muuta</translation>
 <translation id="6424492062988593837">Chromium muutus just veelgi paremaks! Saadaval on uus versioon.</translation>
 <translation id="6604711459180487467">Täiustage Chromiumis oma kasutuskogemust asukohateabe abil.</translation>
 <translation id="6626296268883197964">Seda rakendust kasutades nõustute Chromiumi <ph name="BEGIN_LINK_TOS" />teenusetingimuste<ph name="END_LINK_TOS" /> ja <ph name="BEGIN_LINK_PRIVACY" />privaatsusteatisega<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_fil.xtb
index 5abdc77..39d9e48 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_fil.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Walang access ang Chromium sa mga larawan o video mo. I-enable ang access sa Mga Setting ng iOS &gt; Privacy &gt; Mga Larawan.</translation>
 <translation id="4024541897090868497">Upang makuha ang iyong mga tab sa lahat ng device mo, mag-sign in sa Chromium</translation>
 <translation id="4241912885070669028">Nagsa-sign out ka sa account na pinamamahalaan ng <ph name="SIGNOUT_MANAGED_DOMAIN" />. Ide-delete nito ang data mo sa Chromium sa device na ito, ngunit mananatili ang data mo sa iyong Google account.</translation>
+<translation id="4272892696084633551">Tumulong sa pagpapahusay sa mga feature at performance ng Chromium</translation>
 <translation id="4555020257205549924">Kapag naka-on ang feature na ito, mag-aalok ang Chromium na magsalin ng mga page na nakasulat sa ibang mga wika gamit ang Google Translate. <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Dito lalabas ang mga nabuksan mong tab sa Chromium sa iba mo pang mga device.</translation>
 <translation id="495292094137889840">Simulan ang paggamit ng Chromium QR scanner</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Nag-sign in ka gamit ang account na pinamamahalaan ng <ph name="DOMAIN" /> at binibigyan mo ang administrator nito ng kontrol sa iyong data sa Chromium. Permanenteng mauugnay ang data mo sa account na ito. Made-delete ang data mo sa device na ito kapag nag-sign out ka sa Chromium, ngunit mananatili itong nakaimbak sa Google Account mo.</translation>
 <translation id="6068866989048414399">Tuntunin ng Serbisyo ng Chromium</translation>
 <translation id="6268381023930128611">Mag-sign out sa Chromium?</translation>
+<translation id="641451971369018375">Nakikipag-ugnayan sa Google para pahusayin ang pag-browse at Chromium</translation>
 <translation id="6424492062988593837">Naging mas mahusay na ang Chromium! Available na ang bagong bersyon.</translation>
 <translation id="6604711459180487467">Magkaroon ng mas mahusay na karanasan sa Chromium batay sa iyong lokasyon.</translation>
 <translation id="6626296268883197964">Sa pamamagitan ng paggamit ng application na ito, sumasang-ayon ka sa <ph name="BEGIN_LINK_TOS" />Mga Tuntunin ng Serbisyo<ph name="END_LINK_TOS" /> at <ph name="BEGIN_LINK_PRIVACY" />Notification ng Privacy<ph name="END_LINK_PRIVACY" /> ng Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb
index a6274f1..b1915f55 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_fr.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium n'a pas accès à vos photos ni à vos vidéos. Activez l'accès dans iOS via Réglages &gt; Confidentialité &gt; Photos.</translation>
 <translation id="4024541897090868497">Connectez-vous à Chromium pour synchroniser vos onglets sur tous vos appareils.</translation>
 <translation id="4241912885070669028">Vous vous déconnectez d'un compte géré par <ph name="SIGNOUT_MANAGED_DOMAIN" />. Cette opération entraînera la suppression de vos données Chromium de cet appareil, mais celles-ci seront conservées dans votre compte Google.</translation>
+<translation id="4272892696084633551">Contribuer à l'amélioration des fonctionnalités et des performances de Chromium</translation>
 <translation id="4555020257205549924">Lorsque cette fonctionnalité est activée dans Chromium, un message s'affiche pour vous proposer que les pages de ce site rédigées dans d'autres langues soient traduites à l'aide de Google Traduction. <ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Les onglets que vous avez ouverts dans Chromium sur vos autres appareils s'affichent ici.</translation>
 <translation id="495292094137889840">Commencer à utiliser le lecteur de code QR Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Vous vous connectez avec un compte géré par <ph name="DOMAIN" />, ce qui permettra à son administrateur de contrôler vos données Chromium. Celles-ci seront définitivement associées à ce compte. Si vous vous déconnectez de Chromium, vos données seront supprimées de cet appareil, mais elles seront conservées dans votre compte Google.</translation>
 <translation id="6068866989048414399">Conditions d'utilisation Chromium</translation>
 <translation id="6268381023930128611">Se déconnecter de Chromium ?</translation>
+<translation id="641451971369018375">Communique avec Google pour améliorer la navigation et Chromium</translation>
 <translation id="6424492062988593837">Chromium a été amélioré ! Une nouvelle version est désormais disponible.</translation>
 <translation id="6604711459180487467">Améliorez votre expérience dans Chromium grâce à votre position.</translation>
 <translation id="6626296268883197964">En utilisant cette application, vous acceptez les <ph name="BEGIN_LINK_TOS" />Conditions d'utilisation<ph name="END_LINK_TOS" /> et l'<ph name="BEGIN_LINK_PRIVACY" />Avis de confidentialité<ph name="END_LINK_PRIVACY" /> de Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
index dcb811e..edf0884f 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
@@ -23,6 +23,7 @@
 <translation id="3805899903892079518">Chromium के पास आपकी फ़ोटो या वीडियो का एक्सेस नहीं है. iOS सेटिंग &gt; निजता &gt; फ़ोटो में एक्सेस सक्षम करें.</translation>
 <translation id="4024541897090868497">अपने सभी डिवाइस पर अपने टैब पाने के लिए, क्रोमियम में प्रवेश करें.</translation>
 <translation id="4241912885070669028">आप <ph name="SIGNOUT_MANAGED_DOMAIN" /> द्वारा प्रबंधित खाते से प्रस्थान कर रहे हैं. इससे आपका क्रोमियम डेटा इस डिवाइस से हट जाएगा, लेकिन आपका डेटा आपके Google खाते में बना रहेगा.</translation>
+<translation id="4272892696084633551">क्रोमियम की सुविधाओं और प्रदर्शन को बेहतर बनाने में सहायता करें</translation>
 <translation id="4555020257205549924">जब यह सुविधा चालू होती है, तो क्रोमियम अन्य भाषा में लिखे पृष्ठों को Google अनुवाद का उपयोग करके अनुवाद करने के लिए ऑफ़र करेगा. <ph name="BEGIN_LINK" />अधिक जानें<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">आपके अन्य डिवाइस पर क्रोमियम में खोले हुए आपके टैब यहां दिखाई देंगे.</translation>
 <translation id="495292094137889840">क्रोमियम QR स्कैनर का उपयोग करना शुरू करें</translation>
@@ -32,6 +33,7 @@
 <translation id="5945387852661427312">आप <ph name="DOMAIN" /> द्वारा प्रबंधित खाते में प्रवेश कर रहे हैं और उसके व्यवस्थापक को अपने क्रोमियम डेटा पर नियंत्रण प्रदान कर रहे हैं. आपका डेटा इस खाते से स्थायी रूप से संबद्ध हो जाएगा. क्रोमियम से प्रस्थान करने से आपका डेटा इस डिवाइस से हट जाएगा, लेकिन वह आपके Google खाते में संग्रहित रहेगा.</translation>
 <translation id="6068866989048414399">Chromium सेवा की शर्तें</translation>
 <translation id="6268381023930128611">क्रोमियम से प्रस्थान करें?</translation>
+<translation id="641451971369018375">ब्राउज़िंग और क्रोमियम को बेहतर बनाने के लिए Google से संपर्क करती हैं</translation>
 <translation id="6424492062988593837">Chrome अब बेहतर हो गया है! नया वर्शन उपलब्ध है.</translation>
 <translation id="6604711459180487467">अपने स्थान के आधार पर क्रोमियम में बेहतर अनुभव प्राप्त करें.</translation>
 <translation id="6626296268883197964">इस ऐप्‍लिकेशन का इस्तेमाल करके, आप क्रोमियम की <ph name="BEGIN_LINK_TOS" />सेवा की शर्तों<ph name="END_LINK_TOS" /> और <ph name="BEGIN_LINK_PRIVACY" />निजता सूचना<ph name="END_LINK_PRIVACY" /> से सहमत होते हैं.</translation>
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 5156a02..5cd49437 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_hr.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium nema pristup fotografijama ni videozapisima. Omogućite pristup u Postavkama iOS-a &gt; Privatnost &gt; Fotografije.</translation>
 <translation id="4024541897090868497">Da biste imali svoje kartice na svim svojim uređajima, prijavite se na Chromium.</translation>
 <translation id="4241912885070669028">Odjavljujete se s računa kojim upravlja <ph name="SIGNOUT_MANAGED_DOMAIN" />. Vaši podaci na Chromiumu izbrisat će se s ovog uređaja, no ostat će na vašem Google računu.</translation>
+<translation id="4272892696084633551">Pomozite poboljšati Chromiumove značajke i izvedbu</translation>
 <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="4787850887676698916">Ovdje će se prikazati kartice koje ste otvorili u Chromiumu na svojim ostalim uređajima.</translation>
 <translation id="495292094137889840">Upotrijebite Chromiumov QR skener</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Prijavljujete se računom kojim upravlja <ph name="DOMAIN" /> i njegovom administratoru dajete kontrolu nad svojim podacima u Chromiumu. Vaši će se podaci trajno povezati s tim računom. Ako se odjavite s Chromiuma, vaši će se podaci izbrisati s ovog uređaja, no ostat će pohranjeni na vašem Google računu.</translation>
 <translation id="6068866989048414399">Uvjeti pružanja Chromiuma</translation>
 <translation id="6268381023930128611">Želite li se odjaviti iz Chromiuma?</translation>
+<translation id="641451971369018375">Komunicira s Googleom radi poboljšanja pregledavanja i Chromiuma</translation>
 <translation id="6424492062988593837">Chromium je postao još bolji! Dostupna je nova verzija.</translation>
 <translation id="6604711459180487467">Chromium će vam pružiti više ako mu omogućite pristup lokaciji.</translation>
 <translation id="6626296268883197964">Upotrebom ove aplikacije prihvaćate Chromiumove <ph name="BEGIN_LINK_TOS" />uvjete pružanja usluge<ph name="END_LINK_TOS" /> i <ph name="BEGIN_LINK_PRIVACY" />obavijest o privatnosti<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_hu.xtb
index 37aa333..ae3ca7b2 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_hu.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">A Chromium nem fér hozzá az Ön képeihez és videóihoz. Engedélyezés iOS-en: Beállítások &gt; Adatvédelem &gt; Fényképek.</translation>
 <translation id="4024541897090868497">Ha az összes eszközén szeretne hozzáférni lapjaihoz, jelentkezzen be a Chromiumba.</translation>
 <translation id="4241912885070669028">Kijelentkezik egy <ph name="SIGNOUT_MANAGED_DOMAIN" /> által felügyelt fiókból. Ezzel törli az eszközön található Chromium-adatokat, amelyek azonban Google-fiókjában megmaradnak.</translation>
+<translation id="4272892696084633551">Segítség a Chromium funkcióinak és teljesítményének javítása érdekében</translation>
 <translation id="4555020257205549924">Ha a funkció be van kapcsolva, a Chromium felajánlja a más nyelveken írt oldalak lefordítását a Google Fordító segítségével. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" />.</translation>
 <translation id="4787850887676698916">A más eszközökön futó Chromium böngészőben megnyitott lapok itt jelennek meg.</translation>
 <translation id="495292094137889840">A Chromium QR-olvasójának használata</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Egy <ph name="DOMAIN" /> által felügyelt fiókkal jelentkezik be, és engedélyezi az adminisztrátor számára a Chromium-adatok kezelését. Adatai állandó jelleggel ehhez a fiókhoz lesznek társítva. A Chromiumból való kijelentkezéssel törli adatait erről az eszközről, de azok továbbra is megmaradnak Google-fiókjában.</translation>
 <translation id="6068866989048414399">Chromium – ÁSZF</translation>
 <translation id="6268381023930128611">Kijelentkezik a Chromiumból?</translation>
+<translation id="641451971369018375">Kommunikáció a Google-lal a böngészés és a Chromium javítása érdekében</translation>
 <translation id="6424492062988593837">A Chromium most még jobb lett! Új verzió áll rendelkezésre.</translation>
 <translation id="6604711459180487467">A helyadatokkal jobb felhasználói élményben lehet része a Chromium használatakor.</translation>
 <translation id="6626296268883197964">Az alkalmazás használatával Ön elfogadja a Chromium <ph name="BEGIN_LINK_TOS" />Általános Szerződési Feltételeit<ph name="END_LINK_TOS" /> és <ph name="BEGIN_LINK_PRIVACY" />Adatvédelmi közleményét<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_id.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_id.xtb
index 11887d3d..9dce227 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_id.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium tidak memiliki akses ke foto atau video Anda. Izinkan akses di iOS Settings &gt; Privacy &gt; Photos.</translation>
 <translation id="4024541897090868497">Agar tab tersedia di semua perangkat Anda, login ke Chromium.</translation>
 <translation id="4241912885070669028">Anda keluar dari akun yang dikelola oleh <ph name="SIGNOUT_MANAGED_DOMAIN" />. Tindakan ini akan menghapus data Chromium dari perangkat, namun data Anda akan tetap tersedia di Akun Google.</translation>
+<translation id="4272892696084633551">Bantu sempurnakan fitur dan performa Chromium</translation>
 <translation id="4555020257205549924">Saat fitur ini diaktifkan, Chromium akan menawarkan untuk menerjemahkan halaman yang ditulis dalam bahasa lain menggunakan Google Terjemahan. <ph name="BEGIN_LINK" />Pelajari lebih lanjut<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Tab yang telah dibuka di Chromium pada perangkat lainnya akan muncul di sini.</translation>
 <translation id="495292094137889840">Mulai gunakan pemindai QR Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Anda masuk dengan akun yang dikelola oleh <ph name="DOMAIN" /> dan memberikan kontrol data Chromium kepada administrator. Data Anda akan terikat dengan akun ini secara permanen. Bila Anda keluar dari Chromium, data akan dihapus dari perangkat ini, namun tetap disimpan di Akun Google.</translation>
 <translation id="6068866989048414399">Persyaratan Layanan Chromium</translation>
 <translation id="6268381023930128611">Keluar dari Chromium?</translation>
+<translation id="641451971369018375">Berkomunikasi dengan Google untuk menyempurnakan browsing internet dan Chromium</translation>
 <translation id="6424492062988593837">Chromium jadi semakin baik! Versi baru telah tersedia.</translation>
 <translation id="6604711459180487467">Dapatkan pengalaman yang lebih baik di Chromium berdasarkan lokasi Anda.</translation>
 <translation id="6626296268883197964">Dengan menggunakan aplikasi ini, Anda menyetujui <ph name="BEGIN_LINK_TOS" />Persyaratan Layanan<ph name="END_LINK_TOS" /> dan <ph name="BEGIN_LINK_PRIVACY" />Pemberitahuan Privasi<ph name="END_LINK_PRIVACY" /> Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_it.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_it.xtb
index f5173e3..0a5fe18 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_it.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium non ha accesso alle tue foto o ai tuoi video. Attiva l'accesso in Impostazioni iOS &gt; Privacy &gt; Foto.</translation>
 <translation id="4024541897090868497">Accedi a Chromium per trovare le tue schede su tutti i dispositivi.</translation>
 <translation id="4241912885070669028">Stai per uscire da un account gestito da <ph name="SIGNOUT_MANAGED_DOMAIN" />. I dati di Chromium verranno eliminati da questo dispositivo, ma rimarranno memorizzati nel tuo account Google.</translation>
+<translation id="4272892696084633551">Contribuisci a migliorare le funzioni e le prestazioni di Chromium</translation>
 <translation id="4555020257205549924">Quando questa funzione è attiva, Chromium si offre di tradurre le pagine scritte in altre lingue utilizzando Google Traduttore. <ph name="BEGIN_LINK" />Ulteriori informazioni<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Le schede aperte in Chromium sugli altri dispositivi verranno visualizzate qui.</translation>
 <translation id="495292094137889840">Inizia a utilizzare lo scanner QR di Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Stai per eseguire l'accesso con un account gestito da <ph name="DOMAIN" /> e consentire al relativo amministratore di avere il controllo dei tuoi dati di Chromium. I tuoi dati verranno associati definitivamente a questo account. Se esci da Chromium, i dati verranno eliminati da questo dispositivo, ma rimarranno memorizzati nel tuo account Google.</translation>
 <translation id="6068866989048414399">Termini di servizio di Chromium</translation>
 <translation id="6268381023930128611">Uscire da Chromium?</translation>
+<translation id="641451971369018375">Comunica con Google per migliorare Chromium e la navigazione</translation>
 <translation id="6424492062988593837">Chromium è stato migliorato. È disponibile una nuova versione.</translation>
 <translation id="6604711459180487467">Migliora la tua esperienza in Chromium tramite l'accesso alla tua posizione.</translation>
 <translation id="6626296268883197964">Se usi questa applicazione, accetti i <ph name="BEGIN_LINK_TOS" />Termini di servizio<ph name="END_LINK_TOS" /> e l'<ph name="BEGIN_LINK_PRIVACY" />Informativa sulla privacy<ph name="END_LINK_PRIVACY" /> di Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_iw.xtb
index e47d5af..0ee087c3 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_iw.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">‏ל-Chromium אין גישה לתמונות או לסרטונים שלך. אפשר גישה ב'הגדרות iOS' &gt; 'פרטיות' &gt; 'תמונות'.</translation>
 <translation id="4024541897090868497">‏כדי לקבל גישה לכרטיסיות שלך בכל המכשירים, היכנס ל-Chromium.</translation>
 <translation id="4241912885070669028">‏אתה יוצא מחשבון המנוהל על-ידי <ph name="SIGNOUT_MANAGED_DOMAIN" />. פעולה זו תמחק את הנתונים שלך ב-Chromium מהמכשיר הזה, אבל הם יישארו בחשבון Google שלך.</translation>
+<translation id="4272892696084633551">‏עזרה בשיפור התכונות והביצועים של Chromium</translation>
 <translation id="4555020257205549924">‏כשהתכונה הזו פועלת, Chromium יציע לתרגם באמצעות Google Translate דפים שנכתבו בשפות אחרות‏. <ph name="BEGIN_LINK" />למידע נוסף<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">‏כרטיסיות שפתחת ב-Chromium במכשירים האחרים שלך יופיעו כאן.</translation>
 <translation id="495292094137889840">‏תחילת השימוש בסורק ה-QR של Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">‏אתה נכנס עם חשבון המנוהל על-ידי <ph name="DOMAIN" /> ומעניק למנהל שלו שליטה על הנתונים שלך ב-Chromium. הנתונים שלך ישויכו לצמיתות אל החשבון הזה. יציאה מ-Chromium תמחק את הנתונים שלך מהמכשיר הזה, אבל הם יישארו בחשבון Google שלך.</translation>
 <translation id="6068866989048414399">‏התנאים וההגבלות של Chromium</translation>
 <translation id="6268381023930128611">‏האם לצאת מ-Chromium?</translation>
+<translation id="641451971369018375">‏מתקשר עם Google כדי לשפר את הגלישה ואת Chromium</translation>
 <translation id="6424492062988593837">‏‫Chromium ממשיך להשתפר! קיימת גירסה חדשה.</translation>
 <translation id="6604711459180487467">‏גישה אל המיקום שלך תאפשר לך ליהנות מחוויה משופרת ב-Chromium.</translation>
 <translation id="6626296268883197964">‏שימוש באפליקציה הזו מהווה הסכמה ל<ph name="BEGIN_LINK_TOS" />תנאים ולהגבלות<ph name="END_LINK_TOS" /> ול<ph name="BEGIN_LINK_PRIVACY" />הודעת הפרטיות<ph name="END_LINK_PRIVACY" /> של Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb
index aa50212..8f15087 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_kn.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium ನಿಮ್ಮ ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೋಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ. iOS ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಗೌಪ್ಯತೆ &gt; ಫೋಟೋಗಳಲ್ಲಿ ಪ್ರವೇಶವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.</translation>
 <translation id="4024541897090868497">ನಿಮ್ಮ ಎಲ್ಲಾ ಸಾಧನಗಳಲ್ಲಿ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಪಡೆದುಕೊಳ್ಳಲು, Chromium ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation>
 <translation id="4241912885070669028"><ph name="SIGNOUT_MANAGED_DOMAIN" /> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾದ ಖಾತೆಯಿಂದ ನೀವು ಸೈನ್ ಔಟ್ ಮಾಡುತ್ತಿರುವಿರಿ. ಇದು ಈ ಸಾಧನದಿಂದ ನಿಮ್ಮ Chromium ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ ಡೇಟಾ ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿಯೇ ಇರುತ್ತದೆ.</translation>
+<translation id="4272892696084633551">Chromium ನ ವೈಶಿಷ್ಟ್ಯಗಳು ಹಾಗೂ ಕೆಲಸ ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡಿ</translation>
 <translation id="4555020257205549924">ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಆನ್ ಮಾಡಿದಾಗ, Google ಅನುವಾದ ಬಳಸಿಕೊಂಡು ಬೇರೆ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆದ ಪುಟಗಳನ್ನು ಅನುವಾದಿಸಲು Chromium ಅವಕಾಶ ನೀಡುತ್ತದೆ. <ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">ನಿಮ್ಮ ಇತರ ಸಾಧನಗಳಲ್ಲಿನ Chromium ನಲ್ಲಿ ನೀವು ತೆರೆದಿರುವಂತಹ ಟ್ಯಾಬ್‌ಗಳು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ.</translation>
 <translation id="495292094137889840">Chromium QR ಸ್ಕ್ಯಾನರ್ ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿ</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312"><ph name="DOMAIN" /> ನಿರ್ವಹಿಸಿದ ಖಾತೆಯ ಮೂಲಕ ನೀವು ಸೈನ್‍‍ ಇನ್ ಮಾಡುತ್ತಿರುವಿರಿ ಮತ್ತು ಅದರ ನಿರ್ವಾಹಕರಿಗೆ ನಿಮ್ಮ Chromium ಡೇಟಾದ ನಿಯಂತ್ರಣವನ್ನು ನೀಡುತ್ತಿರುವಿರಿ. ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಶಾಶ್ವತವಾಗಿ ಈ ಖಾತೆಯೊಂದಿಗೆ ಜೋಡಿಸಲಾಗುತ್ತದೆ. Chromium ನಿಂದ ಸೈನ್ ಔಟ್ ಮಾಡುವುದರಿಂದ ಈ ಸಾಧನದಿಂದ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ, ಆದರೆ ಅದು ನಿಮ್ಮ Google ಖಾತೆಯಲ್ಲಿ ಸಂಗ್ರಹಿತವಾಗಿಯೇ ಇರುತ್ತದೆ.</translation>
 <translation id="6068866989048414399">Chromium ಸೇವಾ ನಿಯಮಗಳು</translation>
 <translation id="6268381023930128611">Chromium ನಿಂದ ಸೈನ್‌ ಔಟ್‌ ಮಾಡುವುದೇ?</translation>
+<translation id="641451971369018375">ಬ್ರೌಸಿಂಗ್ ಮತ್ತು Chromium ಅನ್ನು ಸುಧಾರಿಸಲು Google ನೊಂದಿಗೆ ಸಂವಹಿಸುತ್ತದೆ</translation>
 <translation id="6424492062988593837">Chrome ಈಗ ತಾನೇ ಉತ್ತಮಗೊಂಡಿದೆ! ಹೊಸ ಆವೃತ್ತಿ ಲಭ್ಯವಿದೆ.</translation>
 <translation id="6604711459180487467">ನಿಮ್ಮ ಸ್ಥಾನವನ್ನು ಆಧರಿಸಿ Chromium ನಲ್ಲಿ ಉತ್ತಮ ಅನುಭವವನ್ನು ಪಡೆದುಕೊಳ್ಳಿ.</translation>
 <translation id="6626296268883197964">ಈ ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಸುವ ಮೂಲಕ, ನೀವು Chromium ನ <ph name="BEGIN_LINK_TOS" />ಸೇವಾ ನಿಯಮಗಳು<ph name="END_LINK_TOS" /> ಮತ್ತು <ph name="BEGIN_LINK_PRIVACY" />ಗೌಪ್ಯತಾ ಸೂಚನೆ <ph name="END_LINK_PRIVACY" /> ಗೆ ಸಮ್ಮತಿಸುತ್ತೀರಿ.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_lt.xtb
index 0be804d..767b3f86 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_lt.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">„Chromium“ nepasiekia nuotraukų ar vaizdo įr. Įgalinkite prieigą apsil. „iOS“ nustatymai“ &gt; „Privatumas“ &gt; „Nuotraukos“.</translation>
 <translation id="4024541897090868497">Prisijunkite prie „Chromium“, kad pasiektumėte skirtukus visuose įrenginiuose.</translation>
 <translation id="4241912885070669028">Atsijungiate nuo paskyros, kurią valdo <ph name="SIGNOUT_MANAGED_DOMAIN" />. „Chromium“ duomenys bus ištrinti iš šio įrenginio, bet liks „Google“ paskyroje.</translation>
+<translation id="4272892696084633551">Padėti tobulinti „Chromium“ funkcijas ir našumą</translation>
 <translation id="4555020257205549924">Kai ši funkcija bus įjungta, „Chromium“ siūlys versti kitomis kalbomis parašytus puslapius naudojant „Google“ vertėją. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Čia bus rodomi kituose įrenginiuose atidaryti „Chromium“ skirtukai.</translation>
 <translation id="495292094137889840">Pradėkite naudoti „Chromium“ QR skaitytuvą</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Prisijungiate naudodami <ph name="DOMAIN" /> valdomą paskyrą ir suteikiate jos administratoriui galimybę valdyti jūsų „Chromium“ duomenis. Duomenys bus visam laikui susieti su šia paskyra. Atsijungę nuo „Chromium“ ištrinsite duomenis iš šio įrenginio, bet jie ir toliau bus saugomi „Google“ paskyroje.</translation>
 <translation id="6068866989048414399">„Chromium“ pasl. teikimo sąl.</translation>
 <translation id="6268381023930128611">Atsijungti nuo „Chromium“?</translation>
+<translation id="641451971369018375">Palaikomas ryšys su „Google“, siekiant tobulinti naršymą ir „Chromium“</translation>
 <translation id="6424492062988593837">„Chromium“ patobulėjo! Galima nauja versija.</translation>
 <translation id="6604711459180487467">Gaukite geresnių funkcijų naudodami vietove pagrįstą „Chromium“.</translation>
 <translation id="6626296268883197964">Naudodami šią programą sutinkate su „Chromium“ <ph name="BEGIN_LINK_TOS" />paslaugų teikimo sąlygomis<ph name="END_LINK_TOS" /> ir <ph name="BEGIN_LINK_PRIVACY" />privatumo pranešimo<ph name="END_LINK_PRIVACY" /> sąlygomis.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_lv.xtb
index 4140078e..7a8e215 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_lv.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium nevar piekļūt jūsu fotoattēliem un videoklipiem. Iespējojiet piekļuvi: iOS Settings &gt; Privacy &gt; Photos.</translation>
 <translation id="4024541897090868497">Pierakstieties pārlūkā Chromium, lai jūsu cilnes būtu pieejamas visās jūsu ierīcēs.</translation>
 <translation id="4241912885070669028">Jūs izrakstāties no konta, kas tiek pārvaldīts domēnā <ph name="SIGNOUT_MANAGED_DOMAIN" />. Izrakstoties Chromium dati tiks dzēsti no šīs ierīces, taču tie paliks jūsu Google kontā.</translation>
+<translation id="4272892696084633551">Palīdzēt uzlabot Chromium funkcijas un veiktspēju</translation>
 <translation id="4555020257205549924">Ja šī funkcija ir ieslēgta, Chromium piedāvā tulkot citās valodās rakstītas lapas, izmantojot Google tulkotāju. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation>
 <translation id="4787850887676698916">Šeit būs redzamas cilnes, kuras esat atvēris pārlūkā Chromium citās ierīcēs.</translation>
 <translation id="495292094137889840">Darba sākšana ar Chromium QR skeneri</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Jūs pierakstāties kontā, kas tiek pārvaldīts domēnā <ph name="DOMAIN" />, un sniedzat tā administratoram kontroli pār saviem Chromium datiem. Jūsu dati tiks neatgriezeniski saistīti ar šo kontu. Izrakstoties no pārlūka Chromium, jūsu dati tiks dzēsti no šīs ierīces, taču tie tiks saglabāti jūsu Google kontā.</translation>
 <translation id="6068866989048414399">Chromium pakalpojumu sniegšanas noteikumi</translation>
 <translation id="6268381023930128611">Vai izrakstīties no Chromium?</translation>
+<translation id="641451971369018375">Sazinās ar Google, lai uzlabotu pārlūkošanu un pārlūku Chromium</translation>
 <translation id="6424492062988593837">Lietojumprogramma Chromium ir uzlabota! Ir pieejama jauna versija.</translation>
 <translation id="6604711459180487467">Uzlabojiet savu pieredzi pārlūkā Chromium, sūtot informāciju par savu atrašanās vietu.</translation>
 <translation id="6626296268883197964">Izmantojot šo lietojumprogrammu, jūs piekrītat Chromium <ph name="BEGIN_LINK_TOS" />pakalpojumu lietošanas noteikumiem<ph name="END_LINK_TOS" /> un <ph name="BEGIN_LINK_PRIVACY" />konfidencialitātes paziņojumam<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ml.xtb
index b641c18..6d02e497 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ml.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium-ത്തിന് നിങ്ങളുടെ ഫോട്ടോകളിലേക്കോ വീഡിയോകളിലേക്കോ ആക്‌സസ്സ് ഇല്ല. iOS ക്രമീകരണം &gt; സ്വകാര്യത &gt; ഫോട്ടോകൾ എന്നതിൽ ആക്‌സസ്സ് പ്രവർത്തനക്ഷമമാക്കുക.</translation>
 <translation id="4024541897090868497">നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങളിലും ടാബുകൾ ലഭിക്കാൻ, Chromium-ത്തിൽ സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="4241912885070669028"><ph name="SIGNOUT_MANAGED_DOMAIN" /> മാനേജുചെയ്യുന്ന ഒരു അക്കൗണ്ടിൽ നിന്നും നിങ്ങൾ സൈൻ ഔട്ട് ചെയ്യുകയാണ്. ഇത് ഈ ഉപകരണത്തിൽ നിന്ന് നിങ്ങളുടെ Chromium വിവരങ്ങൾ ഇല്ലാതാക്കുമെങ്കിലും, Google അക്കൗണ്ടിൽ തുടർന്നും അവ ഉണ്ടായിരിക്കുന്നതാണ്.</translation>
+<translation id="4272892696084633551">Chromium-ത്തിന്റെ ഫീച്ചറുകളും പ്രകടനവും മെച്ചപ്പെടുത്താൻ സഹായിക്കുക</translation>
 <translation id="4555020257205549924">ഈ ഫീച്ചർ ഓണായിരിക്കുമ്പോൾ, മറ്റ് ഭാഷകളിൽ എഴുതിയിരിക്കുന്ന പേജുകൾ Google വിവർത്തനം ഉപയോഗിച്ച് വിവർത്തനം ചെയ്യുന്നത് Chromium ഓഫർ ചെയ്യും. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">നിങ്ങളുടെ മറ്റ് ഉപകരണങ്ങളിലെ Chromium-ത്തിൽ തുറന്ന ടാബുകൾ ഇവിടെ ദൃശ്യമാകും.</translation>
 <translation id="495292094137889840">Chromium QR സ്‌കാനർ ഉപയോഗിക്കാൻ തുടങ്ങൂ</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312"><ph name="DOMAIN" /> മാനേജുചെയ്യുന്ന ഒരു അക്കൗണ്ട് ഉപയോഗിച്ച് നിങ്ങൾ സൈൻ ഇൻ ചെയ്യുകയും ഇതിന്റെ അഡ്‌മിനിസ്‌ട്രേറ്റർക്ക് നിങ്ങളുടെ Chromium വിവരങ്ങളിന്മേൽ നിയന്ത്രണം നൽകുകയും ചെയ്യുന്നു. വിവരങ്ങളെ ഈ അക്കൗണ്ടുമായി ശാശ്വതമായി ബന്ധിപ്പിക്കും. Chromium-ത്തിൽ നിന്ന് സൈൻ ഔട്ട് ചെയ്യുന്നത് ഈ ഉപകരണത്തിൽ നിന്ന് നിങ്ങളുടെ വിവരങ്ങളെ ഇല്ലാതാക്കുമെങ്കിലും, Google അക്കൗണ്ടിൽ തുടർന്നും അവ സൂക്ഷിക്കുന്നതാണ്.</translation>
 <translation id="6068866989048414399">Chromium സേവന നിബന്ധനകൾ</translation>
 <translation id="6268381023930128611">Chromium-ത്തിൽ നിന്ന് സൈൻ ഔട്ട് ചെയ്യണോ?</translation>
+<translation id="641451971369018375">ബ്രൗസിംഗ്, Chromium എന്നിവ മെച്ചപ്പെടുത്താൻ Google-മായി ആശയവിനിമയം നടത്തുന്നു</translation>
 <translation id="6424492062988593837">Chromium ഒന്നുകൂടി മികച്ചതായി! ഒരു പുതിയ പതിപ്പ് ലഭ്യമാണ്.</translation>
 <translation id="6604711459180487467">നിങ്ങളുടെ ലൊക്കേഷൻ അടിസ്ഥാനമാക്കി Chromium-ത്തിൽ മികച്ച അനുഭവം സ്വന്തമാക്കുക.</translation>
 <translation id="6626296268883197964">ഈ ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുക വഴി, Chromium-ത്തിന്‍റെ <ph name="BEGIN_LINK_TOS" />സേവന നിബന്ധനകളും<ph name="END_LINK_TOS" /> <ph name="BEGIN_LINK_PRIVACY" />സ്വകാര്യതാ അറിയിപ്പും<ph name="END_LINK_PRIVACY" /> നിങ്ങൾ അംഗീകരിക്കുകയാണ്.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ms.xtb
index 5ee6234..14fe9ca 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ms.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium tidak mempunyai akses kepada foto atau video anda. Dayakan akses dalam Tetapan iOS &gt; Privasi &gt; Foto.</translation>
 <translation id="4024541897090868497">Log masuk ke Chromium untuk mendapatkan tab anda pada semua peranti anda.</translation>
 <translation id="4241912885070669028">Anda mengelog keluar daripada akaun yang diurus oleh <ph name="SIGNOUT_MANAGED_DOMAIN" />. Tindakan ini akan memadamkan data Chromium anda daripada peranti ini, tetapi data anda akan kekal dalam akaun Google anda.</translation>
+<translation id="4272892696084633551">Bantu untuk meningkatkan ciri dan prestasi Chromium</translation>
 <translation id="4555020257205549924">Apabila ciri ini dihidupkan, Chromium akan menawarkan untuk menterjemah halaman yang ditulis dalam bahasa lain menggunakan Terjemahan Google. <ph name="BEGIN_LINK" />Ketahui lebih lanjut<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Tab yang telah dibuka dalam Chromium pada peranti anda yang lain akan dipaparkan di sini.</translation>
 <translation id="495292094137889840">Mula menggunakan pengimbas QR Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Anda mengelog masuk dengan akaun yang diurus oleh <ph name="DOMAIN" /> dan memberi kawalan terhadap data Chromium anda kepada pentadbirnya. Data anda akan terikat secara kekal kepada akaun ini. Tindakan mengelog keluar daripada Chromium akan memadamkan data anda daripada peranti ini, tetapi data itu akan kekal disimpan dalam Akaun Google anda.</translation>
 <translation id="6068866989048414399">Syarat Perkhidmatan Chromium</translation>
 <translation id="6268381023930128611">Log keluar daripada Chromium?</translation>
+<translation id="641451971369018375">Berkomunikasi dengan Google untuk meningkatkan penyemakan imbas dan Chromium</translation>
 <translation id="6424492062988593837">Chromium telah dipertingkatkan! Versi baharu kini boleh didapati.</translation>
 <translation id="6604711459180487467">Dapatkan pengalaman yang lebih baik di Chromium berdasarkan lokasi anda.</translation>
 <translation id="6626296268883197964">Apabila menggunakan aplikasi ini, anda bersetuju menerima <ph name="BEGIN_LINK_TOS" />Syarat Perkhidmatan<ph name="END_LINK_TOS" /> dan <ph name="BEGIN_LINK_PRIVACY" />Notis Privasi<ph name="END_LINK_PRIVACY" /> Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_nl.xtb
index c357b52..ccf7dce 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_nl.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium heeft geen toegang tot je foto's of video's. Schakel toegang in via iOS-instellingen &gt; Privacy &gt; Foto's.</translation>
 <translation id="4024541897090868497">Log in bij Chromium om al je tabbladen op al je apparaten te bekijken</translation>
 <translation id="4241912885070669028">Je logt uit van een account dat wordt beheerd door <ph name="SIGNOUT_MANAGED_DOMAIN" />. Hierdoor worden je Chromium-gegevens verwijderd van dit apparaat. Je gegevens blijven echter opgeslagen in je Google-account.</translation>
+<translation id="4272892696084633551">Help de functies en prestaties van Chromium te verbeteren</translation>
 <translation id="4555020257205549924">Als deze functie is ingeschakeld, biedt Chromium aan pagina's die zijn geschreven in andere talen te vertalen met Google Translate. <ph name="BEGIN_LINK" />Meer informatie<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Tabbladen die je op andere apparaten in Chromium hebt geopend, worden hier weergegeven.</translation>
 <translation id="495292094137889840">QR-scanner van Chromium gebruiken</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Je logt in met een account dat wordt beheerd door <ph name="DOMAIN" />, waarmee je de eigenaar beheer geeft over je Chromium-gegevens. Je gegevens worden permanent gekoppeld aan dit account. Als je uitlogt van Chromium, worden je gegevens van dit apparaat verwijderd. Ze blijven echter opgeslagen in je Google-account.</translation>
 <translation id="6068866989048414399">Servicevoorwaarden van Chromium</translation>
 <translation id="6268381023930128611">Uitloggen bij Chromium?</translation>
+<translation id="641451971369018375">Communiceert met Google om de browsefunctionaliteit en Chromium te verbeteren</translation>
 <translation id="6424492062988593837">Chromium is nu nog beter! Er is een nieuwe versie beschikbaar.</translation>
 <translation id="6604711459180487467">Een betere ervaring in Chromium op basis van je locatie.</translation>
 <translation id="6626296268883197964">Als je deze app gebruikt, ga je akkoord met de <ph name="BEGIN_LINK_TOS" />Servicevoorwaarden<ph name="END_LINK_TOS" /> en het <ph name="BEGIN_LINK_PRIVACY" />Privacybeleid<ph name="END_LINK_PRIVACY" /> van Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
index f5ab5aec..193cb77b 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_pl.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium nie ma dostępu do Twoich zdjęć ani filmów. Aby włączyć dostęp w iOS, wybierz Ustawienia &gt; Prywatność &gt; Zdjęcia.</translation>
 <translation id="4024541897090868497">Aby korzystać ze swoich kart na wszystkich urządzeniach, zaloguj się w Chromium.</translation>
 <translation id="4241912885070669028">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="4272892696084633551">Pomóż w ulepszaniu funkcji i działania Chromium</translation>
 <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="4787850887676698916">Tutaj wyświetlą się karty otwarte w Chromium na innych urządzeniach.</translation>
 <translation id="495292094137889840">Skaner QR w Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Logujesz się na konto, którym zarządza <ph name="DOMAIN" />, i przekazujesz jego administratorowi kontrolę nad Twoimi danymi Chromium. Zostaną one trwale przypisane do tego konta. Gdy się wylogujesz, znikną one z tego urządzenia, ale pozostaną zapisane na Twoim koncie Google.</translation>
 <translation id="6068866989048414399">Warunki korzystania z Chromium</translation>
 <translation id="6268381023930128611">Wylogować z Chromium?</translation>
+<translation id="641451971369018375">Wysyła do Google dane, które pomagają ulepszać Chromium i funkcje przeglądania</translation>
 <translation id="6424492062988593837">Chromium jest teraz jeszcze lepsze! Dostępna jest nowa wersja.</translation>
 <translation id="6604711459180487467">Dzięki dostępowi do Twojej lokalizacji Chromium będzie działać lepiej.</translation>
 <translation id="6626296268883197964">Korzystając z tej aplikacji, akceptujesz <ph name="BEGIN_LINK_TOS" />Warunki korzystania z Chromium<ph name="END_LINK_TOS" /> i <ph name="BEGIN_LINK_PRIVACY" />Informacje na temat ochrony prywatności w Chromium<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ro.xtb
index 0892419..8834a73 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ro.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium nu are acces la fotografii și videoclipuri. Activează accesul din Setări iOS &gt; Confidențialitate &gt; Fotografii.</translation>
 <translation id="4024541897090868497">Pentru a accesa filele pe toate dispozitivele, conectează-te la Chromium.</translation>
 <translation id="4241912885070669028">Te deconectezi de la un cont gestionat de <ph name="SIGNOUT_MANAGED_DOMAIN" />. Astfel, datele Chromium vor fi șterse de pe acest dispozitiv, dar vor rămâne în Contul Google.</translation>
+<translation id="4272892696084633551">Contribuie la îmbunătățirea funcțiilor și performanței Chromium</translation>
 <translation id="4555020257205549924">Când această funcție este activată, Chromium se va oferi să traducă paginile scrise în alte limbi utilizând Google Traducere. <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Filele deschise în Chromium pe alte dispozitive vor apărea aici.</translation>
 <translation id="495292094137889840">Începe să folosești scanerul QR din Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Te conectezi cu un cont gestionat de <ph name="DOMAIN" /> și acorzi administratorului acestuia controlul asupra datelor Chromium. Datele vor fi asociate definitiv acestui cont. Dacă te deconectezi de la Chromium, datele vor fi șterse de pe acest dispozitiv, dar vor rămâne stocate în Contul Google.</translation>
 <translation id="6068866989048414399">Termenii și condițiile Chromium</translation>
 <translation id="6268381023930128611">Te deconectezi de la Chromium?</translation>
+<translation id="641451971369018375">Comunică cu Google pentru a îmbunătăți navigarea și Chromium</translation>
 <translation id="6424492062988593837">Chromium a devenit și mai bun! Este disponibilă o nouă versiune.</translation>
 <translation id="6604711459180487467">Beneficiază de o experiență mai bună în Chromium pe baza locației.</translation>
 <translation id="6626296268883197964">Folosind această aplicație, accepți <ph name="BEGIN_LINK_TOS" />Termenii și condițiile<ph name="END_LINK_TOS" /> și <ph name="BEGIN_LINK_PRIVACY" />Notificarea privind confidențialitatea<ph name="END_LINK_PRIVACY" /> Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb
index 7abfdf9..5bde3b3 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ru.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">У Chromium нет доступа к вашим фото и видео. Чтобы предоставить его, нажмите "Настройки &gt; Конфиденциальность &gt; Фотографии".</translation>
 <translation id="4024541897090868497">Чтобы получить доступ к вкладкам на всех ваших устройствах, войдите в Chromium.</translation>
 <translation id="4241912885070669028">Вы выходите из аккаунта, которым управляет администратор домена <ph name="SIGNOUT_MANAGED_DOMAIN" />. Обратите внимание, что данные Chromium будут удалены с устройства, но сохранятся в аккаунте Google.</translation>
+<translation id="4272892696084633551">Помогите нам улучшить производительность Chromium и его функции</translation>
 <translation id="4555020257205549924">Когда эта функция включена, Chrome предлагает перевести страницы с помощью Google Переводчика. <ph name="BEGIN_LINK" />Подробнее…<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Здесь появятся вкладки, открытые в Chromium на других устройствах.</translation>
 <translation id="495292094137889840">Используйте QR-сканер в Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Вы входите в аккаунт, которым управляет администратор домена <ph name="DOMAIN" />. Он может контролировать ваши данные Chromium, которые теперь будут связаны с управляемым аккаунтом. При выходе из системы все данные Chromium, хранящиеся на этом устройстве, будут удалены, но останутся в вашем аккаунте Google.</translation>
 <translation id="6068866989048414399">Условия использования Chromium</translation>
 <translation id="6268381023930128611">Выйти из Chromium?</translation>
+<translation id="641451971369018375">Обмен информацией с Google для улучшения работы Chromium</translation>
 <translation id="6424492062988593837">Chromium становится лучше! Доступна новая версия.</translation>
 <translation id="6604711459180487467">Откройте доступ к геоданным, чтобы использовать дополнительные возможности Chromium.</translation>
 <translation id="6626296268883197964">Работая с Chromium, вы принимаете <ph name="BEGIN_LINK_TOS" />Условия использования<ph name="END_LINK_TOS" /> и <ph name="BEGIN_LINK_PRIVACY" />Примечание о конфиденциальности<ph name="END_LINK_PRIVACY" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_sk.xtb
index 148bbeb..6ee3316 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_sk.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium nemá prístup k vašim fotkám ani videám. Prístup povoľte v časti Nastavenia systému iOS &gt; Súkromie &gt; Fotky.</translation>
 <translation id="4024541897090868497">Ak chcete mať karty na všetkých zariadeniach, prihláste sa do prehliadača Chromium.</translation>
 <translation id="4241912885070669028">Odhlasujete sa z účtu spravovaného doménou <ph name="SIGNOUT_MANAGED_DOMAIN" />. Touto akciou odstránite údaje prehliadača Chromium z príslušného zariadenia, avšak zostanú naďalej vo vašom účte Google.</translation>
+<translation id="4272892696084633551">Pomôžte vylepšiť funkcie a výkon prehliadača Chromium</translation>
 <translation id="4555020257205549924">Po zapnutí tejto funkcie bude prehliadač Chromium ponúkať preloženie stránok napísaných v inom jazyku pomocou Prekladača Google. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Tu sa zobrazia karty, ktoré ste otvorili v prehliadači Chromium na iných zariadeniach.</translation>
 <translation id="495292094137889840">Začnite používať čítačku kódov QR Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Prihlasujete sa pomocou účtu spravovaného doménou <ph name="DOMAIN" /> a jej správcovi tým dávate kontrolu nad vašimi údajmi prehliadača Chromium. Vaše údaje budú natrvalo prepojené s týmto účtom. Odhlásením z prehliadača Chromium odstránite údaje z príslušného zariadenia, avšak naďalej zostanú uložené vo vašom účte Google.</translation>
 <translation id="6068866989048414399">Zmluvné podmienky prehliadača Chromium</translation>
 <translation id="6268381023930128611">Odhlásiť sa z prehliadača Chromium?</translation>
+<translation id="641451971369018375">Komunikuje s Googlom s cieľom zlepšiť prehliadanie a Chromium</translation>
 <translation id="6424492062988593837">Systém Chromium bol práve vylepšený. K dispozícii je nová verzia.</translation>
 <translation id="6604711459180487467">Získajte lepšie prostredie v prehliadači Chromium na základe svojej polohy.</translation>
 <translation id="6626296268883197964">Používaním tejto aplikácie vyjadrujete súhlas so <ph name="BEGIN_LINK_TOS" />zmluvnými podmienkami<ph name="END_LINK_TOS" /> a <ph name="BEGIN_LINK_PRIVACY" />upozornením o ochrane súkromia<ph name="END_LINK_PRIVACY" /> prehliadača Chromium.</translation>
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 cd002f3b..27299c3 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_sr.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium не може да приступа сликама или видео снимцима. Омогућите приступ у iOS Settings (Подешавања iOS-а) &gt; Privacy (Приватност) &gt; Photos (Слике).</translation>
 <translation id="4024541897090868497">Да би вам картице биле доступне на свим уређајима, пријавите се у Chromium.</translation>
 <translation id="4241912885070669028">Одјављујете се са налога којим управља <ph name="SIGNOUT_MANAGED_DOMAIN" />. То ће избрисати Chromium податке са овог уређаја, али ће подаци остати на Google налогу.</translation>
+<translation id="4272892696084633551">Помозите нам да побољшамо Chromium-ове функције и учинак</translation>
 <translation id="4555020257205549924">Када је ова функција укључена, Chromium ће нудити да преводи странице написане на другим језицима помоћу Google преводиоца. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Овде ће се приказати картице које сте отворили у Chromium-у на другим уређајима.</translation>
 <translation id="495292094137889840">Почните да користите Chromium QR скенер</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Пријављујете се помоћу налога којим управља <ph name="DOMAIN" /> и дајете његовом администратору контролу над својим Chromium подацима. Подаци ће постати трајно повезани са тим налогом. Одјављивањем из Chromium-а ћете избрисати податке са овог уређаја, али ће они остати сачувани на Google налогу.</translation>
 <translation id="6068866989048414399">Chromium услови коришћења услуге</translation>
 <translation id="6268381023930128611">Желите ли да се одјавите из Chromium-а?</translation>
+<translation id="641451971369018375">Комуницира са Google-ом ради побољшања прегледања и Chromium-а</translation>
 <translation id="6424492062988593837">Chromium је управо постао бољи! Доступна је нова верзија.</translation>
 <translation id="6604711459180487467">Побољшајте доживљај у Chromium-у на основу локације.</translation>
 <translation id="6626296268883197964">Ако користите ову апликацију, прихватате Chromium <ph name="BEGIN_LINK_TOS" />услове коришћења услуге<ph name="END_LINK_TOS" /> и <ph name="BEGIN_LINK_PRIVACY" />Обавештење о приватности<ph name="END_LINK_PRIVACY" />.</translation>
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 88b3605..c7ab24f 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_th.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium ไม่มีสิทธิ์เข้าถึงรูปภาพหรือวิดีโอของคุณ เปิดใช้การเข้าถึงได้ในการตั้งค่า iOS &gt; ความเป็นส่วนตัว &gt; รูปภาพ</translation>
 <translation id="4024541897090868497">ลงชื่อเข้าใช้ Chromium เพื่อรับแท็บในอุปกรณ์ทุกเครื่องของคุณ</translation>
 <translation id="4241912885070669028">คุณกำลังออกจากระบบบัญชีที่จัดการโดย <ph name="SIGNOUT_MANAGED_DOMAIN" /> การออกจากระบบจะลบข้อมูล Chromium ของคุณออกจากอุปกรณ์เครื่องนี้ แต่ข้อมูลจะยังคงอยู่ในบัญชี Google</translation>
+<translation id="4272892696084633551">ช่วยปรับปรุงฟีเจอร์และประสิทธิภาพของ Chromium</translation>
 <translation id="4555020257205549924">เมื่อเปิดฟีเจอร์นี้ Chromium จะเสนอให้แปลหน้าต่างๆ ที่เขียนด้วยภาษาอื่นโดยใช้ Google แปลภาษา <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">แท็บที่คุณเปิดไว้ใน Chromium ในอุปกรณ์เครื่องอื่นๆ จะปรากฏที่นี่</translation>
 <translation id="495292094137889840">เริ่มใช้โปรแกรมสแกนโค้ด QR ของ Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">คุณกำลังลงชื่อเข้าใช้ด้วยบัญชีที่จัดการโดย <ph name="DOMAIN" /> และทำให้ผู้ดูแลระบบของโดเมนควบคุมข้อมูล Chromium ของคุณได้ ข้อมูลของคุณจะโยงกับบัญชีนี้อย่างถาวร การออกจากระบบ Chromium จะลบข้อมูลของคุณจากอุปกรณ์เครื่องนี้ แต่ข้อมูลจะยังจัดเก็บอยู่ในบัญชี Google</translation>
 <translation id="6068866989048414399">ข้อกำหนดในการให้บริการ Chromium</translation>
 <translation id="6268381023930128611">ต้องการออกจาก Chromium ใช่ไหม</translation>
+<translation id="641451971369018375">สื่อสารกับ Google เพื่อปรับปรุงการท่องเว็บและ Chromium</translation>
 <translation id="6424492062988593837">Chromium พัฒนาใหม่! มีรุ่นใหม่ให้ใช้งานแล้ว</translation>
 <translation id="6604711459180487467">รับประสบการณ์ที่ดีขึ้นใน Chromium ตามสถานที่ที่คุณอยู่</translation>
 <translation id="6626296268883197964">การใช้แอปพลิเคชันนี้หมายความว่าคุณยอมรับ<ph name="BEGIN_LINK_TOS" />ข้อกำหนดในการให้บริการ<ph name="END_LINK_TOS" />และ<ph name="BEGIN_LINK_PRIVACY" />ประกาศเกี่ยวกับนโยบายความเป็นส่วนตัว<ph name="END_LINK_PRIVACY" />ของ Chromium</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_uk.xtb
index 7d349d2..dc62c431 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_uk.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium не має доступу до ваших фото чи відео. Надайте доступ у меню iOS "Параметри &gt; Конфіденційність &gt; Фото".</translation>
 <translation id="4024541897090868497">Щоб мати доступ до вкладок на всіх своїх пристроях, увійдіть в обліковий запис Chromium.</translation>
 <translation id="4241912885070669028">Ви виходите з облікового запису, зареєстрованого в домені <ph name="SIGNOUT_MANAGED_DOMAIN" />. Дані Chrome буде видалено з цього пристрою, але вони залишаться у вашому обліковому записі Google.</translation>
+<translation id="4272892696084633551">Допоможіть покращити функції й підвищити продуктивність Chromium</translation>
 <translation id="4555020257205549924">Якщо ввімкнути цю функцію, Chromium пропонуватиме перекласти сторінки, написані іншими мовами, за допомогою Перекладача Google. <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Тут відображатимуться вкладки, відкриті в Chromium на інших ваших пристроях.</translation>
 <translation id="495292094137889840">Використовувати сканер QR-кодів у Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Ви входите в обліковий запис, зареєстрований у домені <ph name="DOMAIN" />, і надаєте його адміністратору доступ до своїх даних Chromium. Ваші дані буде назавжди зв’язано з цим обліковим записом. Якщо ви вийдете з облікового запису Chromium, дані буде видалено з цього пристрою, але вони залишаться у вашому обліковому записі Google.</translation>
 <translation id="6068866989048414399">Умови використання Chromium</translation>
 <translation id="6268381023930128611">Вийти з Chromium?</translation>
+<translation id="641451971369018375">Обмінюється даними з Google, щоб покращувати веб-перегляд і Chromium</translation>
 <translation id="6424492062988593837">Chromium став ще кращим! Доступна нова версія.</translation>
 <translation id="6604711459180487467">Зробіть Chromium зручнішим, надавши йому доступ до даних про своє місцезнаходження.</translation>
 <translation id="6626296268883197964">Користуючись цим додатком, ви приймаєте <ph name="BEGIN_LINK_TOS" />Умови використання<ph name="END_LINK_TOS" /> та <ph name="BEGIN_LINK_PRIVACY" />Примітку про конфіденційність<ph name="END_LINK_PRIVACY" /> Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb
index 1345b8a..027f7ee 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_vi.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium không có quyền truy cập ảnh hoặc video của bạn. Hãy cho phép truy cập Cài đặt iOS &gt; Bảo mật &gt; Ảnh.</translation>
 <translation id="4024541897090868497">Để truy cập các tab trên tất cả các thiết bị của bạn, hãy đăng nhập vào Chromium.</translation>
 <translation id="4241912885070669028">Bạn đang đăng xuất khỏi tài khoản do <ph name="SIGNOUT_MANAGED_DOMAIN" /> quản lý. Thao tác này sẽ xóa dữ liệu Chromium khỏi thiết bị này nhưng dữ liệu đó sẽ vẫn còn trong tài khoản Google của bạn.</translation>
+<translation id="4272892696084633551">Giúp cải thiện hiệu suất cũng như các tính năng của Chromium</translation>
 <translation id="4555020257205549924">Khi tính năng này được bật, Chromium sẽ đề xuất sử dụng Google Dịch để dịch các trang viết bằng ngôn ngữ khác. <ph name="BEGIN_LINK" />Tìm hiểu thêm<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">Các tab bạn đã mở trong Chromium trên thiết bị khác sẽ xuất hiện tại đây.</translation>
 <translation id="495292094137889840">Bắt đầu dùng trình quét QR của Chromium</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">Bạn đang đăng nhập bằng tài khoản do <ph name="DOMAIN" /> quản lý và cấp cho quản trị viên quyền kiểm soát dữ liệu Chromium của bạn. Dữ liệu của bạn sẽ được liên kết vĩnh viễn với tài khoản này. Đăng xuất khỏi Chromium sẽ xóa dữ liệu của bạn khỏi thiết bị này nhưng dữ liệu đó sẽ vẫn được lưu trữ trong Tài khoản Google.</translation>
 <translation id="6068866989048414399">Điều khoản dịch vụ của Chromium</translation>
 <translation id="6268381023930128611">Đăng xuất khỏi Chromium?</translation>
+<translation id="641451971369018375">Giao tiếp với Google để cải thiện tính năng duyệt web cũng như Chromium</translation>
 <translation id="6424492062988593837">Chromium được cải tiến hơn! Đã có phiên bản mới.</translation>
 <translation id="6604711459180487467">Có được trải nghiệm tốt hơn trong Chromium dựa trên vị trí của bạn.</translation>
 <translation id="6626296268883197964">Bằng việc sử dụng ứng dụng này, bạn đồng ý với <ph name="BEGIN_LINK_TOS" />Điều khoản dịch vụ<ph name="END_LINK_TOS" /> và <ph name="BEGIN_LINK_PRIVACY" />Thông báo bảo mật<ph name="END_LINK_PRIVACY" /> của Chromium.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb
index ce33196..22a53aa 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_zh-TW.xtb
@@ -24,6 +24,7 @@
 <translation id="3805899903892079518">Chromium 無法存取您的相片或影片,請前往「iOS 設定」中的 [隱私權] &gt; [相片] 啟用存取權。</translation>
 <translation id="4024541897090868497">如要在所有裝置上存取你的分頁,請登入 Chromium。</translation>
 <translation id="4241912885070669028">你即將登出由 <ph name="SIGNOUT_MANAGED_DOMAIN" /> 所管理的帳戶。系統會將你的 Chromium 資料從這個裝置上刪除,但繼續保留在你的 Google 帳戶中。</translation>
+<translation id="4272892696084633551">協助改善 Chromium 的功能與效能</translation>
 <translation id="4555020257205549924">開啟這項功能後,Chromium 會使用 Google 翻譯來翻譯其他語言的網頁。<ph name="BEGIN_LINK" />瞭解詳情<ph name="END_LINK" /></translation>
 <translation id="4787850887676698916">你在其他裝置上透過 Chromium 開啟的分頁會顯示在這裡。</translation>
 <translation id="495292094137889840">開始使用 Chromium QR 掃描器</translation>
@@ -33,6 +34,7 @@
 <translation id="5945387852661427312">你即將使用由 <ph name="DOMAIN" /> 所管理的帳戶登入,並授權該網域的管理員控管你的 Chromium 資料。你的資料會與這個帳戶建立永久連結。登出 Chromium 後,系統會將你的資料從這個裝置上刪除,但繼續保留在你的 Google 帳戶中。</translation>
 <translation id="6068866989048414399">Chromium 服務條款</translation>
 <translation id="6268381023930128611">要登出 Chromium 嗎?</translation>
+<translation id="641451971369018375">與各項 Google 服務連結,讓瀏覽體驗和 Chromium 效能更臻完善</translation>
 <translation id="6424492062988593837">Chromium 現在變得更進步了!歡迎你升級使用新版本。</translation>
 <translation id="6604711459180487467">Chromium 可根據你的位置資訊提供更優質的體驗。</translation>
 <translation id="6626296268883197964">使用這個應用程式即表示您同意接受 Chromium 的《<ph name="BEGIN_LINK_TOS" />服務條款<ph name="END_LINK_TOS" />》和《<ph name="BEGIN_LINK_PRIVACY" />隱私權聲明<ph name="END_LINK_PRIVACY" />》。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index d49d0583..31f4eef 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">የኪውአር ኮድ ይቃኙ</translation>
 <translation id="1580783302095112590">መልዕክት ተልኳል።</translation>
 <translation id="1582732959743469162">ይህ መተግበሪያ ለአሁኑ ውርድዎ ሁሉንም ሂደት ያቆማል።</translation>
+<translation id="1605658421715042784">ምስሉን ገልብጥ</translation>
 <translation id="1612730193129642006">የትር ፍርግርግ አሳይ</translation>
 <translation id="1644574205037202324">ታሪክ</translation>
 <translation id="1646446875146297738">«አትከታተል»ን ማንቃት ማለት አንድ ጥያቄ ከአሰሳ ትራፊክዎ ጋር አብሮ ይካተታል ማለት ነው። ማንኛውም ውጤት አንድ ድር ጣቢያ ለጥያቄው መልስ መስጠቱ ላይ እና ጥያቄው በተተረጎመበት መንገድ ላይ የሚወሰን ይሆናል። 
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">አቃፊ ሰርዝ</translation>
 <translation id="1813414402673211292">የአሰሳ ውሂብ አስወግድ</translation>
 <translation id="1820259098641718022">ወደ የንባብ ዝርዝር ታክሏል</translation>
+<translation id="1821253160463689938">የእርስዎን ምርጫዎች ለማስታወስ ኩኪዎችን ይጠቀማል፣ እነዚያን ገጾች ባይጎበኙም እንኳ</translation>
 <translation id="1876721852596493031">የጥቅመት ብዛትን ላክ</translation>
 <translation id="1886928167269928266">የጊዜ መጀመሪያ</translation>
 <translation id="1911619930368729126">ወደ Google Drive ስቀል</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">የዴስክቶፕ ጣቢያን ጠይቅ</translation>
 <translation id="2103075008456228677">history.google.comን ክፈት</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> ንጥሎች ተንቀሳቅሰዋል</translation>
+<translation id="2120297377148151361">እንቅስቃሴ እና መስተጋብሮች</translation>
 <translation id="213900355088104901">በግል ለማሰስ ማንነት የማያሳውቅ ትር ይክፈቱ</translation>
 <translation id="2149973817440762519">እልባት አርትዕ</translation>
 <translation id="2230173723195178503">ድረ-ገጽ ተጭኗል</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 ተመርጧል</translation>
 <translation id="2435457462613246316">የይለፍ ቃል አሳይ</translation>
 <translation id="2481538920734869610">መለያ አክል</translation>
+<translation id="2523184218357549926">የሚጎበኙዋቸውን ገጾች ዩአርኤሎች ወደ Google ይልካል</translation>
 <translation id="2523363575747517183">ይህ ድር ጣቢያ በተደጋጋሚነት ሌላ መተግበሪያ ለመክፈት እየሞከረ ነው።</translation>
 <translation id="2529021024822217800">ሁሉንም ክፈት</translation>
 <translation id="2572712655377361602">አንድ የመሣሪያ መመሪያ የፎቶዎችዎን መዳረሻ አግዷል</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">አዲስ አቃፊ…</translation>
 <translation id="2903493209154104877">አድራሻዎች</translation>
 <translation id="2909437209446960244">የቅርብ ጊዜ ትሮች</translation>
+<translation id="2916171785467530738">ፍለጋዎችን እና ዩአርኤልዎችን በራስ-አጠናቅቅ</translation>
 <translation id="291754862089661335">የQR ኮድ ወይም የአሞሌ ኮድ በዚህ ክፈፍ ውስጥ ያምጡት</translation>
 <translation id="2921219216347069551">ገጽ ማጋራት አልተቻለም</translation>
 <translation id="2923448633003185837">ለጥፍ እና ሂድ</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">ደውል</translation>
 <translation id="4875622588773761625">ለዚህ ድር ጣቢያ የይለፍ ቃልዎን <ph name="PASSWORD_MANAGER_BRAND" /> ማዘመን ይፈልጋሉ?</translation>
 <translation id="4881695831933465202">ክፈት</translation>
+<translation id="4882831918239250449">ፍለጋን፣ ማስታወቂያዎችን እና ተጨማሪ ነገሮችን ግላዊነት ለማላበስ የእርስዎ የአሰሳ ታሪክ እንዴት ጥቅም ላይ እንደሚውል ይቆጣጠሩ</translation>
 <translation id="4904877109095351937">እንደተነበበ ምልክት አድርግ</translation>
 <translation id="4930268273022498155">ነባሩን ውሂብ ይሰርዙ። ወደ <ph name="USER_EMAIL1" /> መልሰው በመቀየር ሰርስረው ሊያወጡት ይችላሉ።</translation>
 <translation id="4941089862236492464">ይቅርታ፣ ንጥልዎን ማጋራት ላይ ችግር ነበር።</translation>
 <translation id="4979397965658815378">የእርስዎን ዕልባቶች፣ የይለፍ ቃላት፣ ታሪክ እና ሌሎች ቅንብሮችን በሁሉም መሣሪያዎችዎ ላይ ለማግኘት በGoogle መለያዎ ይግቡ</translation>
+<translation id="5004416275253351869">የGoogle እንቅስቃሴ መቆጣጠሪያዎች</translation>
 <translation id="5005498671520578047">የይለፍ ቃል ቅዳ</translation>
 <translation id="5010803260590204777">ድሩን በግል ለማሰስ ማንነት የማያሳውቅ ትር ይክፈቱ።</translation>
 <translation id="5011684439661633295">ሠላም፣ <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff በዚህ መሣሪያ ላይ አንድ ድር ጣቢያ ማሰስ እንዲጀምሩና በቀላሉ በእርስዎ Mac ላይ እንዲቀጥሉ ያስችልዎታል። አሁን ክፍት የሆነው ድር ጣቢያ በእርስዎ Mac ላይ ባለው Dock ላይ ይታያል።
 
 Handoff እንዲሁም በSettings ውስጥ ባለው የGeneral ክፍል ላይ መንቃት አለበት፣ እና የእርስዎ መሣሪያዎች ተመሳሳዩን የiCloud መለያ መጠቀም አለባቸው።</translation>
+<translation id="5554368826343982379">ስምረት እና ግላዊነት ማላበስ</translation>
 <translation id="5556459405103347317">ዳግም ጫን</translation>
 <translation id="5619279135193775234">መልዕክት</translation>
 <translation id="5626245204502895507">ፋይሉ በዚህ ጊዜ ሊወርድ አልቻለም።</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">የቅርብ ጊዜ ትሮች</translation>
 <translation id="7006788746334555276">የይዘት ቅንብሮች </translation>
+<translation id="7017968314960951695">እርስዎ የሚጎበኙዋቸውን ጣቢያዎች ላይ ይዘትን እንዲሁም የአሰሳ እንቅስቃሴ እና መስተጋብሮች ለግላዊነት ለማላበስ ይጠቀማል</translation>
 <translation id="7029809446516969842">የይለፍ ቃላት</translation>
 <translation id="7031882061095297553">አሥምር ወደ</translation>
 <translation id="7053983685419859001">አግድ</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">ተቀበልና ዘግተህ ውጣ</translation>
 <translation id="7772032839648071052">የይለፍ ሐረግ ያረጋግጡ</translation>
 <translation id="780301667611848630">አይ፣ አመሰግናለሁ</translation>
+<translation id="7830720446622801252">ግላዊነት ያልተላበሱ አገልግሎቶች</translation>
 <translation id="7856733331829174190">ማውረድ አልተቻለም</translation>
 <translation id="7859704718976024901">የአሰሳ ታሪክ</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">የተቀመጡ ጣቢያ ቅንብሮች አይሰረዙም፣ እና የእርስዎን የአሰሳ ልማዶች ሊያንጸባርቁ ይችሉ ይሆናል። <ph name="BEGIN_LINK" />የበለጠ ለመረዳት<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">ሁሉንም ትሮች ይዝጉ</translation>
 <translation id="8114753159095730575">ፋይል ለመውረድ ይገኛል። አማራጮች ከማያ ገጹ ግርጌ አጠገብ ይገኛሉ።</translation>
+<translation id="8160722851663543621">ፍለጋዎችን ከአድራሻ አሞሌው እና ከፍለጋ ሳጥኑ እና አንዳንድ ኩኪዎችን ወደ ነባሪው የፍለጋ ፕሮግራምዎ ይልካል</translation>
 <translation id="8205564605687841303">ተወው</translation>
 <translation id="8225985093977202398">የተሸጎጡ ምስሎች እና ፋይሎች</translation>
 <translation id="8261506727792406068">ሰርዝ</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">በሚከተለው በመለያ ተገብቷል፦</translation>
 <translation id="8428045167754449968">ከተማ / መለስተኛ ከተማ</translation>
 <translation id="8428213095426709021">ቅንብሮች</translation>
+<translation id="8438566539970814960">ፍለጋዎችን እና አሰሳን የተሻለ አድርግ</translation>
 <translation id="8458397775385147834">1 ንጥል ተሰርዟል</translation>
 <translation id="8487700953926739672">ከመስመር ውጪ ይገኛል</translation>
 <translation id="8503813439785031346">የተጣቃሚ ስም</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index f6ebb59..bb8c1d4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Сканирайте код за бърза реакция</translation>
 <translation id="1580783302095112590">Пощата е изпратена.</translation>
 <translation id="1582732959743469162">Текущото изтегляне ще бъде прекратено.</translation>
+<translation id="1605658421715042784">Копиране на изображението</translation>
 <translation id="1612730193129642006">Показване на мрежа с раздели</translation>
 <translation id="1644574205037202324">История</translation>
 <translation id="1646446875146297738">Активирането на „Do Not Track“ означава, че с трафика ви на сърфиране ще се включва заявка. Ефектите зависят от това, дали уебсайтът ще отговори на нея и как ще я изтълкува.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Изтриване на папката</translation>
 <translation id="1813414402673211292">Изчистване на данните за сърфирането</translation>
 <translation id="1820259098641718022">Добавихте към списъка за четене</translation>
+<translation id="1821253160463689938">Използва „бисквитки“ за запомняне на предпочитанията ви дори ако не посещавате тези страници</translation>
 <translation id="1876721852596493031">Send Usage Data</translation>
 <translation id="1886928167269928266">Самото начало</translation>
 <translation id="1911619930368729126">Качване в Google Диск</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Заявка за настолния сайт</translation>
 <translation id="2103075008456228677">Към history.google.com</translation>
 <translation id="2116625576999540962">Преместихте <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> елемента</translation>
+<translation id="2120297377148151361">Активност и взаимодействия</translation>
 <translation id="213900355088104901">За да сърфирате частно, отворете раздел в режим „инкогнито“</translation>
 <translation id="2149973817440762519">Редактиране на отметката</translation>
 <translation id="2230173723195178503">Уеб страницата се зареди</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 избрана</translation>
 <translation id="2435457462613246316">Показване на паролата</translation>
 <translation id="2481538920734869610">НОВ ПРОФИЛ</translation>
+<translation id="2523184218357549926">Изпраща до Google URL адресите на страниците, които посещавате</translation>
 <translation id="2523363575747517183">Този уебсайт многократно се опитва да отвори друго приложение.</translation>
 <translation id="2529021024822217800">Отваряне на всички</translation>
 <translation id="2572712655377361602">Достъпът до снимките ви е блокиран от правило за устройства</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Нова папка…</translation>
 <translation id="2903493209154104877">Адреси</translation>
 <translation id="2909437209446960244">Скорошни раздели</translation>
+<translation id="2916171785467530738">Автоматично довършване на заявки за търсене и URL адреси</translation>
 <translation id="291754862089661335">Поставете кода за бърза реакция или баркода в тази рамка</translation>
 <translation id="2921219216347069551">Стр. не може да се сподели</translation>
 <translation id="2923448633003185837">Поставяне и старт</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Обаждане</translation>
 <translation id="4875622588773761625">Искате ли <ph name="PASSWORD_MANAGER_BRAND" /> да актуализира паролата ви за този сайт?</translation>
 <translation id="4881695831933465202">Отваряне</translation>
+<translation id="4882831918239250449">Контролирайте начина, по който историята ви на сърфиране се използва за персонализиране на търсенето, рекламите и др.</translation>
 <translation id="4904877109095351937">Означаване като прочетено</translation>
 <translation id="4930268273022498155">Изтриване на съществуващите данни. Можете да ги извлечете, като превключите обратно към <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">При споделянето на елемента възникна проблем.</translation>
 <translation id="4979397965658815378">Влезте с профила си в Google, за да получите своите отметки, пароли, история и други настройки на всичките си устройства</translation>
+<translation id="5004416275253351869">Контроли за активността в Google</translation>
 <translation id="5005498671520578047">Копиране на паролата</translation>
 <translation id="5010803260590204777">Отворете раздел в режим „инкогнито“, за да сърфирате частно в мрежата.</translation>
 <translation id="5011684439661633295">Здравейте, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">С Handoff можете да започнете да разглеждате уебсайт на това устройство, след което лесно да продължите сърфирането от своя Mac. Отвореният сайт ще се покаже в лентата Dock.
 
 Трябва да активирате Handoff и в секцията „General“ на Settings, както и да използвате един и същ профил в iCloud на устройствата си.</translation>
+<translation id="5554368826343982379">Синхронизиране и персонализиране</translation>
 <translation id="5556459405103347317">Повторно зареждане</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Понастоящем файлът не можа да бъде изтеглен.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Диск</translation>
 <translation id="7004499039102548441">Скорошни раздели</translation>
 <translation id="7006788746334555276">Настройки за съдържанието</translation>
+<translation id="7017968314960951695">Използва за персонализиране съдържанието на посещаваните от вас сайтове, както и активността в браузъра и взаимодействията с него</translation>
 <translation id="7029809446516969842">Пароли</translation>
 <translation id="7031882061095297553">Синхронизиране със</translation>
 <translation id="7053983685419859001">Блокиране</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Приемане и излизане от профила</translation>
 <translation id="7772032839648071052">Потвърдете пропуска</translation>
 <translation id="780301667611848630">Не, благодаря</translation>
+<translation id="7830720446622801252">Неперсонализирани услуги</translation>
 <translation id="7856733331829174190">Неуспешно изтегляне</translation>
 <translation id="7859704718976024901">История на сърфирането</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Запазените настройки за сайтове няма да бъдат изтрити и може да отразяват навиците ви при сърфиране. <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Затваряне на разделите</translation>
 <translation id="8114753159095730575">Наличен е файл за изтегляне. Съответните опции са достъпни в долната част на екрана.</translation>
+<translation id="8160722851663543621">Изпраща заявките за търсене от адресната лента и полето за търсене, както и някои „бисквитки“, до стандартната ви търсеща машина</translation>
 <translation id="8205564605687841303">Отказ</translation>
 <translation id="8225985093977202398">Кеширани изображения и файлове</translation>
 <translation id="8261506727792406068">Изтриване</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Влезли сте със:</translation>
 <translation id="8428045167754449968">Град/селище</translation>
 <translation id="8428213095426709021">Настройки</translation>
+<translation id="8438566539970814960">Подобряване на търсенията и сърфирането</translation>
 <translation id="8458397775385147834">Изтрихте 1 елемент</translation>
 <translation id="8487700953926739672">Налице офлайн</translation>
 <translation id="8503813439785031346">Потребителско име</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index b141b6f..97668d7c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Escaneja el codi QR</translation>
 <translation id="1580783302095112590">Correu enviat.</translation>
 <translation id="1582732959743469162">S'aturarà completament la baixada actual.</translation>
+<translation id="1605658421715042784">Copia la imatge</translation>
 <translation id="1612730193129642006">Mostra la quadrícula de pestanyes</translation>
 <translation id="1644574205037202324">Historial</translation>
 <translation id="1646446875146297738">En activar l'opció de no seguiment, s'inclourà una sol·licitud amb el trànsit de navegació. Que tingui efecte o no dependrà de si algun lloc web respon a la sol·licitud i de com s'interpreta la sol·licitud. 
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Suprimeix la carpeta</translation>
 <translation id="1813414402673211292">Esborra dades navegació</translation>
 <translation id="1820259098641718022">S'ha afegit a la llista de lectura</translation>
+<translation id="1821253160463689938">Utilitza galetes per recordar les teves preferències, fins i tot si no visites aquestes pàgines</translation>
 <translation id="1876721852596493031">Envia les dades d'ús</translation>
 <translation id="1886928167269928266">L'inici</translation>
 <translation id="1911619930368729126">Penja a Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Mostra com a ordinador</translation>
 <translation id="2103075008456228677">Obre history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> elements desplaçats</translation>
+<translation id="2120297377148151361">Activitat i interaccions</translation>
 <translation id="213900355088104901">Per navegar de manera privada, obre una pestanya d'incògnit</translation>
 <translation id="2149973817440762519">Edita l'adreça d'interès</translation>
 <translation id="2230173723195178503">La pàgina web s'ha carregat</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 seleccionada</translation>
 <translation id="2435457462613246316">Mostra la contrasenya</translation>
 <translation id="2481538920734869610">AFEGEIX UN COMPTE</translation>
+<translation id="2523184218357549926">Envia a Google els URL de les pàgines que visites</translation>
 <translation id="2523363575747517183">Aquest lloc web està provant d'obrir una altra aplicació repetidament.</translation>
 <translation id="2529021024822217800">Obre-les totes</translation>
 <translation id="2572712655377361602">Una política del dispositiu ha bloquejat l'accés a les vostres fotos</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Carpeta nova…</translation>
 <translation id="2903493209154104877">Adreces</translation>
 <translation id="2909437209446960244">Pestanyes recents</translation>
+<translation id="2916171785467530738">Completa automàticament les cerques i els URL</translation>
 <translation id="291754862089661335">Situa el codi QR o el codi de barres dins d'aquest marc</translation>
 <translation id="2921219216347069551">No es pot compartir la pàgina</translation>
 <translation id="2923448633003185837">Enganxa i ves-hi</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Truca</translation>
 <translation id="4875622588773761625">Voleu que <ph name="PASSWORD_MANAGER_BRAND" /> actualitzi la vostra contrasenya per a aquest lloc?</translation>
 <translation id="4881695831933465202">Obre</translation>
+<translation id="4882831918239250449">Controla com s'utilitza l'historial de navegació per personalitzar la Cerca, els anuncis i molt més</translation>
 <translation id="4904877109095351937">Marca com a llegit</translation>
 <translation id="4930268273022498155">Suprimeix les dades existents. Per recuperar-les, torna a <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">S'ha produït un problema en compartir el vostre element.</translation>
 <translation id="4979397965658815378">Inicieu la sessió amb el compte de Google per tenir les adreces d'interès, l'historial, les contrasenyes i altres opcions de configuració en tots els dispositius.</translation>
+<translation id="5004416275253351869">Controls d'activitat de Google</translation>
 <translation id="5005498671520578047">Copia la contrasenya</translation>
 <translation id="5010803260590204777">Obriu una pestanya d'incògnit per navegar pel web de manera privada.</translation>
 <translation id="5011684439661633295">Hola, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff us permet començar a navegar per un lloc web en aquest dispositiu i després continuar fàcilment al dispositiu Mac. El lloc web obert actualment apareixerà al Dock de Mac.
 
 Handoff també ha d'estar activat a la secció General de Configuració, i els vostres dispositius han de fer servir el mateix compte d'iCloud.</translation>
+<translation id="5554368826343982379">Sincronització i personalització</translation>
 <translation id="5556459405103347317">Torna a carregar</translation>
 <translation id="5619279135193775234">Correu</translation>
 <translation id="5626245204502895507">No s'ha pogut baixar el fitxer en aquest moment.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Pestanyes recents</translation>
 <translation id="7006788746334555276">Configuració del contingut</translation>
+<translation id="7017968314960951695">Per a la personalització, utilitza el contingut dels llocs web que visites i l'activitat i les interaccions del navegador</translation>
 <translation id="7029809446516969842">Contrasenyes</translation>
 <translation id="7031882061095297553">Sincronitza amb</translation>
 <translation id="7053983685419859001">Bloqueja</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Accepta i tanca la sessió</translation>
 <translation id="7772032839648071052">Confirmeu la frase de contrasenya</translation>
 <translation id="780301667611848630">No, gràcies</translation>
+<translation id="7830720446622801252">Serveis no personalitzats</translation>
 <translation id="7856733331829174190">No s'ha pogut baixar</translation>
 <translation id="7859704718976024901">Historial de navegació</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">La configuració desada del lloc no se suprimirà i és possible que reflecteixi els vostres hàbits de navegació. <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Tanca totes les pestanyes</translation>
 <translation id="8114753159095730575">La baixada de fitxers està disponible. Opcions disponibles a la part inferior de la pantalla.</translation>
+<translation id="8160722851663543621">Envia al motor de cerca predeterminat algunes galetes i cerques de la barra d'adreces i del quadre de cerca</translation>
 <translation id="8205564605687841303">Cancel·la</translation>
 <translation id="8225985093977202398">Fitxers i imatges a memòria cau</translation>
 <translation id="8261506727792406068">Suprimeix</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">S'ha iniciat la sessió amb</translation>
 <translation id="8428045167754449968">Ciutat/població</translation>
 <translation id="8428213095426709021">Configuració</translation>
+<translation id="8438566539970814960">Millora les cerques i la navegació</translation>
 <translation id="8458397775385147834">1 element suprimit</translation>
 <translation id="8487700953926739672">Disponible sense connexió</translation>
 <translation id="8503813439785031346">Nom d'usuari</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index b2e5fd1..c7c39c49 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR-Code scannen</translation>
 <translation id="1580783302095112590">E-Mail gesendet</translation>
 <translation id="1582732959743469162">Hierdurch wird Ihrer aktueller Download abgebrochen.</translation>
+<translation id="1605658421715042784">Bild kopieren</translation>
 <translation id="1612730193129642006">Tab-Raster anzeigen</translation>
 <translation id="1644574205037202324">Verlauf</translation>
 <translation id="1646446875146297738">Wenn Sie "Do Not Track" aktivieren, wird eine Anfrage in Ihre Browseraufrufe aufgenommen. Welche Auswirkungen dies hat, hängt davon ab, ob eine Website auf die Anfrage reagiert und wie diese interpretiert wird.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Ordner löschen</translation>
 <translation id="1813414402673211292">Browserdaten löschen</translation>
 <translation id="1820259098641718022">Zur Leseliste hinzugefügt</translation>
+<translation id="1821253160463689938">Zum Speichern Ihrer Einstellungen werden Cookies verwendet, auch wenn Sie diese Seiten nicht besuchen</translation>
 <translation id="1876721852596493031">Nutzungsdaten senden</translation>
 <translation id="1886928167269928266">Für gesamten Zeitraum</translation>
 <translation id="1911619930368729126">Auf Google Drive hochladen</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Desktop-Version</translation>
 <translation id="2103075008456228677">history.google.com öffnen</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> Lesezeichen verschoben</translation>
+<translation id="2120297377148151361">Aktivitäten und Interaktionen</translation>
 <translation id="213900355088104901">Wenn Sie privat surfen möchten, öffnen Sie einen Inkognito-Tab</translation>
 <translation id="2149973817440762519">Lesezeichen bearbeiten</translation>
 <translation id="2230173723195178503">Webseite geladen</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 ausgewählt</translation>
 <translation id="2435457462613246316">Passwort anzeigen</translation>
 <translation id="2481538920734869610">KONTO HINZUFÜGEN</translation>
+<translation id="2523184218357549926">URLs der von Ihnen besuchten Seiten werden an Google gesendet</translation>
 <translation id="2523363575747517183">Diese Website versucht wiederholt, eine andere App zu öffnen.</translation>
 <translation id="2529021024822217800">Alle öffnen</translation>
 <translation id="2572712655377361602">Eine Geräterichtlinie hat den Zugriff auf Ihre Fotos blockiert</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Neuer Ordner…</translation>
 <translation id="2903493209154104877">Adressen</translation>
 <translation id="2909437209446960244">Letzte Tabs</translation>
+<translation id="2916171785467530738">Suchanfragen und URLs automatisch vervollständigen</translation>
 <translation id="291754862089661335">Positionieren Sie den QR-Code oder Barcode in diesem Bereich</translation>
 <translation id="2921219216347069551">Seite kann nicht geteilt werden</translation>
 <translation id="2923448633003185837">Einfügen und los</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Anrufen</translation>
 <translation id="4875622588773761625">Soll <ph name="PASSWORD_MANAGER_BRAND" /> Ihr Passwort für diese Website aktualisieren?</translation>
 <translation id="4881695831933465202">Öffnen</translation>
+<translation id="4882831918239250449">Festlegen, wie Ihr Browserverlauf zur Personalisierung verwendet wird, z. B. bei der Suche und bei Werbung</translation>
 <translation id="4904877109095351937">Als gelesen markieren</translation>
 <translation id="4930268273022498155">Vorhandene Daten werden gelöscht. Wenn Sie Ihre vorhandenen Daten abrufen möchten, wechseln Sie zurück zu <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Beim Teilen ist ein Fehler aufgetreten.</translation>
 <translation id="4979397965658815378">Melden Sie sich mit Ihrem Google-Konto an, um Ihre Lesezeichen, Ihre Passwörter, Ihren Verlauf und Ihre anderen Einstellungen auf allen Geräten abrufen zu können</translation>
+<translation id="5004416275253351869">Google-Aktivitätseinstellungen</translation>
 <translation id="5005498671520578047">Passwort kopieren</translation>
 <translation id="5010803260590204777">Öffnet einen Inkognito-Tab zum anonymen Surfen im Web</translation>
 <translation id="5011684439661633295">Hallo <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Mit Handoff können Sie auf diesem Gerät auf einer Website stöbern und dann einfach auf Ihrem Mac an derselben Stelle weitermachen. Die aktuell geöffnete Website wird im Dock Ihres Macs angezeigt.
 
 Handoff muss auch im Abschnitt "Allgemein" Ihrer Einstellungen aktiviert sein und Ihre Geräte müssen dasselbe iCloud-Konto verwenden.</translation>
+<translation id="5554368826343982379">Synchronisieren und personalisieren</translation>
 <translation id="5556459405103347317">Neu laden</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Die Datei kann momentan nicht heruntergeladen werden.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Zuletzt geöffnete Tabs</translation>
 <translation id="7006788746334555276">Inhaltseinstellungen</translation>
+<translation id="7017968314960951695">Inhalte von besuchten Websites sowie Browseraktivitäten und -interaktionen werden zur Personalisierung verwendet</translation>
 <translation id="7029809446516969842">Passwörter</translation>
 <translation id="7031882061095297553">Synchronisieren mit</translation>
 <translation id="7053983685419859001">Blockieren</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Akzeptieren und abmelden</translation>
 <translation id="7772032839648071052">Passphrase bestätigen</translation>
 <translation id="780301667611848630">Kein Interesse</translation>
+<translation id="7830720446622801252">Nicht-personalisierte Dienste</translation>
 <translation id="7856733331829174190">Fehler beim Download</translation>
 <translation id="7859704718976024901">Browserverlauf</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Gespeicherte Website-Einstellungen werden nicht gelöscht und können möglicherweise Ihre Surfgewohnheiten wiedergeben. <ph name="BEGIN_LINK" />Weitere Informationen<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Alle Tabs schließen</translation>
 <translation id="8114753159095730575">Dateidownload verfügbar. Optionen stehen unten auf dem Bildschirm zur Verfügung.</translation>
+<translation id="8160722851663543621">Suchanfragen, die in die Adressleiste oder das Suchfeld eingegeben wurden, sowie einige Cookies werden an Ihre Standardsuchmaschine gesendet</translation>
 <translation id="8205564605687841303">Abbrechen</translation>
 <translation id="8225985093977202398">Bilder &amp; Dateien im Cache</translation>
 <translation id="8261506727792406068">Löschen</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Angemeldet mit</translation>
 <translation id="8428045167754449968">Stadt/Ort</translation>
 <translation id="8428213095426709021">Einstellungen</translation>
+<translation id="8438566539970814960">Suchanfragen und das Surfen verbessern</translation>
 <translation id="8458397775385147834">1 Lesezeichen gelöscht</translation>
 <translation id="8487700953926739672">Offline verfügbar</translation>
 <translation id="8503813439785031346">Nutzername</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index ddc122b0..5e7be17 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Σάρωση κωδικού QR</translation>
 <translation id="1580783302095112590">Το μήνυμα εστάλη.</translation>
 <translation id="1582732959743469162">Αυτό θα σταματήσει όλη την πρόοδο για την τρέχουσα λήψη.</translation>
+<translation id="1605658421715042784">Αντιγραφή εικόνας</translation>
 <translation id="1612730193129642006">Εμφάνιση πλέγματος καρτελών</translation>
 <translation id="1644574205037202324">Ιστορικό</translation>
 <translation id="1646446875146297738">Η ενεργοποίηση της επιλογής "Χωρίς εντοπισμό" συνεπάγεται ότι θα περιλαμβάνεται ένα αίτημα με την επισκεψιμότητα περιηγήσής σας. Τυχόν αποτελέσματα σχετίζονται με το εάν ένας ιστότοπος ανταποκρίνεται στο αίτημα και με τον τόπο ερμηνείας του αιτήματος.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Διαγραφή φακέλου</translation>
 <translation id="1813414402673211292">Διαγραφή δεδομένων περιήγησης</translation>
 <translation id="1820259098641718022">Προστέθηκε στη λίστα ανάγνωσης</translation>
+<translation id="1821253160463689938">Χρησιμοποιεί cookie για την απομνημόνευση των προτιμήσεών σας, ακόμα κι αν δεν επισκέπτεστε αυτές τις σελίδες</translation>
 <translation id="1876721852596493031">Αποστ. δεδομ. χρήσης</translation>
 <translation id="1886928167269928266">Από την αρχή</translation>
 <translation id="1911619930368729126">Μεταφόρ.στο Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Αίτηση ιστότ. για υπολογ.</translation>
 <translation id="2103075008456228677">Ανοίξτε το history.google.com</translation>
 <translation id="2116625576999540962">Μετακινήθηκαν <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> στοιχεία</translation>
+<translation id="2120297377148151361">Δραστηριότητα και αλληλεπιδράσεις</translation>
 <translation id="213900355088104901">Για να περιηγηθείτε ιδιωτικά, ανοίξτε μια καρτέλα για ανώνυμη περιήγηση</translation>
 <translation id="2149973817440762519">Επεξεργασία σελιδοδείκτη</translation>
 <translation id="2230173723195178503">Η ιστοσελίδα φορτώθηκε</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Έχει επιλεγεί 1 φωτογραφία</translation>
 <translation id="2435457462613246316">Εμφάνιση κωδικού πρόσβασης</translation>
 <translation id="2481538920734869610">ΠΡΟΣΘΗΚΗ ΛΟΓΑΡΙΑΣΜΟΥ</translation>
+<translation id="2523184218357549926">Αποστέλλει στην Google URL των σελίδων που επισκέπτεστε</translation>
 <translation id="2523363575747517183">Αυτός ο ιστότοπος προσπαθεί επανειλημμένως να ανοίξει κάποια άλλη εφαρμογή.</translation>
 <translation id="2529021024822217800">Άνοιγμα όλων</translation>
 <translation id="2572712655377361602">Μια πολιτική συσκευής απέκλεισε την πρόσβαση στις φωτογραφίες σας</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Νέος φάκελος…</translation>
 <translation id="2903493209154104877">Διευθύνσεις</translation>
 <translation id="2909437209446960244">Πρόσφ. καρτέλες</translation>
+<translation id="2916171785467530738">Αυτόματη συμπλήρωση αναζητήσεων και URL</translation>
 <translation id="291754862089661335">Τοποθετήστε τον κώδικα QR ή τον γραμμωτό κώδικα σε αυτό το πλαίσιο</translation>
 <translation id="2921219216347069551">Κοιν.χ. σελ. αδύνατη</translation>
 <translation id="2923448633003185837">Επικόλληση και μετάβαση</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Κλήση</translation>
 <translation id="4875622588773761625">Θέλετε το <ph name="PASSWORD_MANAGER_BRAND" /> να ενημερώσει τον κωδικό πρόσβασής σας για αυτόν τον ιστότοπο;</translation>
 <translation id="4881695831933465202">Άνοιγμα</translation>
+<translation id="4882831918239250449">Ελέγξτε τον τρόπο με τον οποίο το ιστορικό περιήγησής σας χρησιμοποιείται για την εξατομίκευση της Αναζήτησης, των διαφημίσεων και άλλων στοιχείων</translation>
 <translation id="4904877109095351937">Επισήμ. ως αναγνωσμένων</translation>
 <translation id="4930268273022498155">Διαγραφή υπαρχόντων δεδομένων. Μπορείτε να τα επαναφέρετε επιστρέφοντας στον λογαριασμό <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Παρουσιάστηκε πρόβλημα με την κοινοποίηση του στοιχείου σας.</translation>
 <translation id="4979397965658815378">Συνδεθείτε στον Λογαριασμό σας Google για να λάβετε τους σελιδοδείκτες, τους κωδικούς πρόσβασης, το ιστορικό και άλλες ρυθμίσεις σε όλες τις συσκευές σας</translation>
+<translation id="5004416275253351869">Στοιχεία ελέγχου δραστηριότητας Google</translation>
 <translation id="5005498671520578047">Αντιγραφή κωδικού πρόσβασης</translation>
 <translation id="5010803260590204777">Άνοιγμα καρτέλας ανώνυμης περιήγησης για ιδιωτική περιήγηση στον ιστό</translation>
 <translation id="5011684439661633295">Γεια σας, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Το Handoff σάς δίνει τη δυνατότητα να ξεκινήσετε την περιήγηση σε έναν ιστότοπο σε αυτήν τη συσκευή και, στη συνέχεια, να συνεχίσετε εύκολα σε Mac. Ο ιστότοπος που είναι ανοικτός αυτήν τη στιγμή θα εμφανίζεται στο Dock του Mac.
 
 Το Handoff θα πρέπει να ενεργοποιηθεί επίσης στην ενότητα "Γενικά" των "Ρυθμίσεων" και οι συσκευές σας θα πρέπει να χρησιμοποιούν τον ίδιο λογαριασμό iCloud.</translation>
+<translation id="5554368826343982379">Συγχρονισμός και εξατομίκευση</translation>
 <translation id="5556459405103347317">Επαναφόρτωση</translation>
 <translation id="5619279135193775234">Αλληλογραφία</translation>
 <translation id="5626245204502895507">Δεν ήταν δυνατή η λήψη του αρχείου αυτή τη φορά.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Πρόσφατες καρτέλες</translation>
 <translation id="7006788746334555276">Ρυθμίσεις περιεχομένου</translation>
+<translation id="7017968314960951695">Χρησιμοποιεί περιεχόμενο από τους ιστοτόπους που επισκέπτεστε, καθώς και δραστηριότητα και αλληλεπιδράσεις του προγράμματος περιήγησης, για εξατομίκευση.</translation>
 <translation id="7029809446516969842">Κωδικοί πρόσβασης</translation>
 <translation id="7031882061095297553">Συγχρονισμός με</translation>
 <translation id="7053983685419859001">Αποκλεισμός</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Αποδοχή και αποσύνδεση</translation>
 <translation id="7772032839648071052">Επιβεβαίωση φράσης πρόσβασης</translation>
 <translation id="780301667611848630">Όχι, ευχαριστώ</translation>
+<translation id="7830720446622801252">Μη εξατομικευμένες υπηρεσίες</translation>
 <translation id="7856733331829174190">Δεν ήταν δυνατή η λήψη</translation>
 <translation id="7859704718976024901">Ιστορικό περιήγησης</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Οι αποθηκευμένες ρυθμίσεις ιστότοπου δεν θα διαγραφούν και ενδέχεται να υποδεικνύουν τις συνήθειες περιήγησής σας. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Κλείσ. όλων των καρτελών</translation>
 <translation id="8114753159095730575">Η λήψη του αρχείου είναι διαθέσιμη. Οι διαθέσιμες επιλογές βρίσκονται κοντά στο κάτω μέρος της οθόνης.</translation>
+<translation id="8160722851663543621">Αποστέλλει αναζητήσεις από τη γραμμή διευθύνσεων και το πλαίσιο αναζήτησης, καθώς και ορισμένα cookie στην προεπιλεγμένη μηχανή αναζήτησης</translation>
 <translation id="8205564605687841303">Ακύρωση</translation>
 <translation id="8225985093977202398">Εικόνες και αρχεία στην κρυφή μνήμη</translation>
 <translation id="8261506727792406068">Διαγραφή</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Σε σύνδεση με</translation>
 <translation id="8428045167754449968">Πόλη / Κωμόπολη</translation>
 <translation id="8428213095426709021">Ρυθμίσεις</translation>
+<translation id="8438566539970814960">Βελτιώστε τις αναζητήσεις και την περιήγηση</translation>
 <translation id="8458397775385147834">Διαγράφηκε 1 στοιχείο</translation>
 <translation id="8487700953926739672">Διαθέσιμο εκτός σύνδεσης</translation>
 <translation id="8503813439785031346">Όνομα χρήστη</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 977275b063..9472380 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Scan QR Code</translation>
 <translation id="1580783302095112590">Mail sent.</translation>
 <translation id="1582732959743469162">This will stop all progress for your current download.</translation>
+<translation id="1605658421715042784">Copy image</translation>
 <translation id="1612730193129642006">Show Tab Grid</translation>
 <translation id="1644574205037202324">History</translation>
 <translation id="1646446875146297738">Enabling ‘Do Not Track’ means that a request will be included with your browsing traffic. Any effect depends on whether a website responds to the request, and how the request is interpreted.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Delete Folder</translation>
 <translation id="1813414402673211292">Clear Browsing Data</translation>
 <translation id="1820259098641718022">Added to Reading List</translation>
+<translation id="1821253160463689938">Uses cookies to remember your preferences, even if you don't visit those pages</translation>
 <translation id="1876721852596493031">Send usage data</translation>
 <translation id="1886928167269928266">Beginning of Time</translation>
 <translation id="1911619930368729126">Upload to Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Request Desktop Site</translation>
 <translation id="2103075008456228677">Open history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> items moved</translation>
+<translation id="2120297377148151361">Activity and interactions</translation>
 <translation id="213900355088104901">To browse privately, open an incognito tab</translation>
 <translation id="2149973817440762519">Edit Bookmark</translation>
 <translation id="2230173723195178503">Web page loaded</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 selected</translation>
 <translation id="2435457462613246316">Show password</translation>
 <translation id="2481538920734869610">ADD ACCOUNT</translation>
+<translation id="2523184218357549926">Sends URLs of pages that you visit to Google</translation>
 <translation id="2523363575747517183">This website is repeatedly trying to open another application.</translation>
 <translation id="2529021024822217800">Open All</translation>
 <translation id="2572712655377361602">A device policy blocked access to your photos</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">New Folder…</translation>
 <translation id="2903493209154104877">Addresses</translation>
 <translation id="2909437209446960244">Recent Tabs</translation>
+<translation id="2916171785467530738">Autocomplete searches and URLs</translation>
 <translation id="291754862089661335">Position QR code or bar code in this frame</translation>
 <translation id="2921219216347069551">Cannot Share Page</translation>
 <translation id="2923448633003185837">Paste and Go</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Call</translation>
 <translation id="4875622588773761625">Do you want <ph name="PASSWORD_MANAGER_BRAND" /> to update your password for this site?</translation>
 <translation id="4881695831933465202">Open</translation>
+<translation id="4882831918239250449">Control how your browsing history is used to personalise Search, ads and more</translation>
 <translation id="4904877109095351937">Mark Read</translation>
 <translation id="4930268273022498155">Delete existing data. You can retrieve it by switching back to <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Sorry, there was a problem sharing your item.</translation>
 <translation id="4979397965658815378">Sign in with your Google Account to get your bookmarks, passwords, history and other settings on all your devices</translation>
+<translation id="5004416275253351869">Google activity controls</translation>
 <translation id="5005498671520578047">Copy password</translation>
 <translation id="5010803260590204777">Open an incognito tab to browse the web privately.</translation>
 <translation id="5011684439661633295">Hi <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff lets you start browsing a website on this device and then easily continue on your Mac. The current open website will appear in the Dock of your Mac.
 
 Handoff must also be enabled in the General section of Settings, and your devices must use the same iCloud account.</translation>
+<translation id="5554368826343982379">Sync and personalisation</translation>
 <translation id="5556459405103347317">Reload</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">The file could not be downloaded at this time.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Recent tabs</translation>
 <translation id="7006788746334555276">Content Settings</translation>
+<translation id="7017968314960951695">Uses content on sites that you visit and browser activity and interactions for personalisation</translation>
 <translation id="7029809446516969842">Passwords</translation>
 <translation id="7031882061095297553">Sync to</translation>
 <translation id="7053983685419859001">Block</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Accept and sign out</translation>
 <translation id="7772032839648071052">Confirm passphrase</translation>
 <translation id="780301667611848630">No, thank you</translation>
+<translation id="7830720446622801252">Non-personalised services</translation>
 <translation id="7856733331829174190">Couldn't download</translation>
 <translation id="7859704718976024901">Browsing history</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Saved site settings will not be deleted and may reflect your browsing habits. <ph name="BEGIN_LINK" />Find out more<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Close All Tabs</translation>
 <translation id="8114753159095730575">File download is available. Options available near bottom of screen.</translation>
+<translation id="8160722851663543621">Sends searches from the address bar and search box, and some cookies to your default search engine</translation>
 <translation id="8205564605687841303">Cancel</translation>
 <translation id="8225985093977202398">Cached Images and Files</translation>
 <translation id="8261506727792406068">Delete</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Signed in with</translation>
 <translation id="8428045167754449968">City / Town</translation>
 <translation id="8428213095426709021">Settings</translation>
+<translation id="8438566539970814960">Make searches and browsing better</translation>
 <translation id="8458397775385147834">1 item deleted</translation>
 <translation id="8487700953926739672">Available offline</translation>
 <translation id="8503813439785031346">Username</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index c0da0ee..9854df88 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Escanea el código QR</translation>
 <translation id="1580783302095112590">Correo enviado</translation>
 <translation id="1582732959743469162">Esta acción detendrá el progreso de la descarga actual.</translation>
+<translation id="1605658421715042784">Copiar imagen</translation>
 <translation id="1612730193129642006">Mostrar cuadrícula de pestañas</translation>
 <translation id="1644574205037202324">Historial</translation>
 <translation id="1646446875146297738">Al habilitar la opción No realizar seguimiento, se incluirá una solicitud con tu tráfico de navegación. El efecto dependerá de si un sitio web responde a la solicitud y de cómo se interpreta esa solicitud.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Eliminar carpeta</translation>
 <translation id="1813414402673211292">Borrar datos de navegación</translation>
 <translation id="1820259098641718022">Añadida a Lista de lectura</translation>
+<translation id="1821253160463689938">Usa cookies para recordar tus preferencias aunque no visites esas páginas</translation>
 <translation id="1876721852596493031">Enviar datos de uso</translation>
 <translation id="1886928167269928266">Desde siempre</translation>
 <translation id="1911619930368729126">Subir a Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Ver como ordenador</translation>
 <translation id="2103075008456228677">Abrir history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> elementos eliminados</translation>
+<translation id="2120297377148151361">Actividad e interacciones</translation>
 <translation id="213900355088104901">Para navegar en privado, abre una pestaña de incógnito</translation>
 <translation id="2149973817440762519">Editar marcador</translation>
 <translation id="2230173723195178503">Página web cargada</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 foto seleccionada</translation>
 <translation id="2435457462613246316">Mostrar contraseña</translation>
 <translation id="2481538920734869610">AÑADIR CUENTA</translation>
+<translation id="2523184218357549926">Envía las URL de las páginas que visitas en Google</translation>
 <translation id="2523363575747517183">Este sitio web está intentando abrir otra aplicación reiteradamente.</translation>
 <translation id="2529021024822217800">Abrir todos</translation>
 <translation id="2572712655377361602">Una política de dispositivos ha bloqueado el acceso a tus fotos</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nueva carpeta…</translation>
 <translation id="2903493209154104877">Direcciones</translation>
 <translation id="2909437209446960244">Pestañas recientes</translation>
+<translation id="2916171785467530738">Autocompletar búsquedas y URLs</translation>
 <translation id="291754862089661335">Coloca el código QR o de barras en este marco</translation>
 <translation id="2921219216347069551">Error al compartir página</translation>
 <translation id="2923448633003185837">Pegar y acceder</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Llamar</translation>
 <translation id="4875622588773761625">¿Quieres que <ph name="PASSWORD_MANAGER_BRAND" /> actualice tu contraseña para este sitio web?</translation>
 <translation id="4881695831933465202">Abrir</translation>
+<translation id="4882831918239250449">Controlar cómo se utiliza el historial de navegación para personalizar la Búsqueda, los anuncios y mucho más</translation>
 <translation id="4904877109095351937">Marcar como leídas</translation>
 <translation id="4930268273022498155">Elimina los datos actuales. Para recuperarlos, cambia a <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Error al compartir tu elemento</translation>
 <translation id="4979397965658815378">Inicia sesión con tu cuenta de Google para acceder a tus marcadores, contraseñas, historial y otros ajustes desde todos tus dispositivos</translation>
+<translation id="5004416275253351869">Controles de actividad de Google</translation>
 <translation id="5005498671520578047">Copiar contraseña</translation>
 <translation id="5010803260590204777">Abre una pestaña de incógnito para navegar por la Web de forma privada.</translation>
 <translation id="5011684439661633295">Hola, <ph name="FULL_ACCOUNT_NAME" />:</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff te permite empezar a navegar en un sitio web en este dispositivo y continuar fácilmente en tu Mac más tarde. El sitio web abierto actualmente aparecerá en el Dock de tu Mac.
 
 Handoff también debe estar habilitado en la sección General de Configuración, y los dispositivos deben utilizar la misma cuenta de iCloud.</translation>
+<translation id="5554368826343982379">Sincronización y personalización</translation>
 <translation id="5556459405103347317">Volver a cargar</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">No se puede descargar el archivo en este momento.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Pestañas recientes</translation>
 <translation id="7006788746334555276">Configuración de contenido</translation>
+<translation id="7017968314960951695">Utiliza el contenido de los sitios web que visitas, así como las interacciones y la actividad del navegador, para ofrecer una experiencia personalizada.</translation>
 <translation id="7029809446516969842">Contraseñas</translation>
 <translation id="7031882061095297553">Sincronizar con</translation>
 <translation id="7053983685419859001">Bloquear</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Aceptar y cerrar sesión</translation>
 <translation id="7772032839648071052">Repite la contraseña</translation>
 <translation id="780301667611848630">No, gracias</translation>
+<translation id="7830720446622801252">Servicios no personalizados</translation>
 <translation id="7856733331829174190">No se ha podido descargar</translation>
 <translation id="7859704718976024901">Historial de navegación</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">No se eliminará la configuración guardada de los sitios web, lo cual puede reflejar tus hábitos de navegación. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Cerrar todas las pestañas</translation>
 <translation id="8114753159095730575">La descarga de archivos está disponible. Hay opciones disponibles en la parte inferior de la pantalla.</translation>
+<translation id="8160722851663543621">Envía las búsquedas de la barra de direcciones y del cuadro de búsqueda junto con algunas cookies a tu buscador predeterminado</translation>
 <translation id="8205564605687841303">Cancelar</translation>
 <translation id="8225985093977202398">Archivos e imágenes en caché</translation>
 <translation id="8261506727792406068">Eliminar</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Has iniciado sesión como</translation>
 <translation id="8428045167754449968">Ciudad/Localidad</translation>
 <translation id="8428213095426709021">Configuración</translation>
+<translation id="8438566539970814960">Mejorar las búsquedas y la navegación</translation>
 <translation id="8458397775385147834">1 elemento eliminado</translation>
 <translation id="8487700953926739672">Disponible sin conexión</translation>
 <translation id="8503813439785031346">Nombre de usuario</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 77965e5..0eeaac6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR-koodi skannimine</translation>
 <translation id="1580783302095112590">Meil on saadetud.</translation>
 <translation id="1582732959743469162">See peatab praeguse allalaadimise edenemise.</translation>
+<translation id="1605658421715042784">Kopeeri pilt</translation>
 <translation id="1612730193129642006">Kuva vahekaartide ruudustik</translation>
 <translation id="1644574205037202324">Ajalugu</translation>
 <translation id="1646446875146297738">Valiku „Ära jälgi” lubamine tähendab, et päring lisatakse teie sirvimisliiklusse. Selle toimimine oleneb sellest, kas veebisait reageerib päringule ja kuidas päringut tõlgendatakse.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Kustuta kaust</translation>
 <translation id="1813414402673211292">Kustuta sirvimise andmed</translation>
 <translation id="1820259098641718022">Lisati lugemisloendisse</translation>
+<translation id="1821253160463689938">Kasutage küpsisefaile oma eelistuste meelespidamiseks isegi siis, kui te neid lehti ei külasta</translation>
 <translation id="1876721852596493031">Kasutusandm. saatm.</translation>
 <translation id="1886928167269928266">Alates algusest</translation>
 <translation id="1911619930368729126">Laadi üles Google Drive'i</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Taotle Desktopi saiti</translation>
 <translation id="2103075008456228677">Ava history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> üksust on teisaldatud</translation>
+<translation id="2120297377148151361">Tegevused ja interaktsioonid</translation>
 <translation id="213900355088104901">Privaatselt sirvimiseks avage inkognito vaheleht</translation>
 <translation id="2149973817440762519">Muuda järjehoidjat</translation>
 <translation id="2230173723195178503">Veebileht laaditi</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 on valitud</translation>
 <translation id="2435457462613246316">Kuva parool</translation>
 <translation id="2481538920734869610">LISA KONTO</translation>
+<translation id="2523184218357549926">Saadab Google'ile teie külastatud lehtede URL-id</translation>
 <translation id="2523363575747517183">See veebisait üritab korduvalt avada teist rakendust.</translation>
 <translation id="2529021024822217800">Ava kõik</translation>
 <translation id="2572712655377361602">Seadme reegel blokeeris juurdepääsu teie fotodele</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Uus kaust ...</translation>
 <translation id="2903493209154104877">Aadressid</translation>
 <translation id="2909437209446960244">Hiljutised vahelehed</translation>
+<translation id="2916171785467530738">Otsingute ja URL-ide automaatne täitmine</translation>
 <translation id="291754862089661335">Paigutage QR-kood või ribakood sellesse kaadrisse</translation>
 <translation id="2921219216347069551">Lehte ei saa jagada</translation>
 <translation id="2923448633003185837">Kleebi ja mine</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Helistage</translation>
 <translation id="4875622588773761625">Kas soovite, et <ph name="PASSWORD_MANAGER_BRAND" /> värskendaks teie parooli sellel saidil?</translation>
 <translation id="4881695831933465202">Ava</translation>
+<translation id="4882831918239250449">Juhtige, kuidas teie sirvimisajalugu kasutatakse otsingu, reklaamide ja muu isikupärastamiseks</translation>
 <translation id="4904877109095351937">Märgi loetuks</translation>
 <translation id="4930268273022498155">Kustutage olemasolevad andmed. Need saate hankida, kui lülitate tagasi e-posti aadressile <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Kahjuks ilmnes teie üksuse jagamisel probleem.</translation>
 <translation id="4979397965658815378">Logige sisse oma Google'i kontoga, et näha oma järjehoidjaid, paroole, ajalugu ja muid seadeid kõigis oma seadmetes</translation>
+<translation id="5004416275253351869">Google'i kontotegevuste haldus</translation>
 <translation id="5005498671520578047">Parooli kopeerimine</translation>
 <translation id="5010803260590204777">Avage inkognito vaheleht ja sirvige veebi privaatselt.</translation>
 <translation id="5011684439661633295">Tere, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoffi abil saate alustada veebisaidi sirvimist selles seadmes ja jätkata seda hõlpsalt Macis. Praegu avatud veebisait kuvatakse Maci Dockis.
 
 Handoff peab olema lubatud seadete jaotises General ja seadmed peavad kasutama sama iCloudi kontot.</translation>
+<translation id="5554368826343982379">Sünkroonimine ja isikupärastamine</translation>
 <translation id="5556459405103347317">Laadi uuesti</translation>
 <translation id="5619279135193775234">E-post</translation>
 <translation id="5626245204502895507">Faili ei õnnestunud praegu alla laadida.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Hiljutised vahelehed</translation>
 <translation id="7006788746334555276">Sisu seaded</translation>
+<translation id="7017968314960951695">Kasutab isikupärastamiseks teie külastatavate saitide sisu ning brauseri tegevust ja interaktsioone</translation>
 <translation id="7029809446516969842">Paroolid</translation>
 <translation id="7031882061095297553">Sünkroonimine:</translation>
 <translation id="7053983685419859001">Blokeeri</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Nõustu ja logi välja</translation>
 <translation id="7772032839648071052">Kinnitage parool</translation>
 <translation id="780301667611848630">Ei, aitäh</translation>
+<translation id="7830720446622801252">Isikupärastamata teenused</translation>
 <translation id="7856733331829174190">Ei saanud alla laadida</translation>
 <translation id="7859704718976024901">Sirvimisajalugu</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Saitide salvestatud seadeid ei kustutata ja need võivad kajastada teie sirvimisharjumusi. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Sule kõik vahelehed</translation>
 <translation id="8114753159095730575">Allalaaditav fail on saadaval. Valikud kuvatakse ekraani alaosas.</translation>
+<translation id="8160722851663543621">Saadab teie vaikeotsingumootorile otsingud teie aadressiribalt ja otsingukastist ning mõned küpsisefailid</translation>
 <translation id="8205564605687841303">Tühista</translation>
 <translation id="8225985093977202398">Vahem. salv. kujut. ja failid</translation>
 <translation id="8261506727792406068">Kustuta</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Sisse logitud:</translation>
 <translation id="8428045167754449968">Linn</translation>
 <translation id="8428213095426709021">Seaded</translation>
+<translation id="8438566539970814960">Otsingute ja sirvimise paremaks muutmine</translation>
 <translation id="8458397775385147834">1 üksus on kustutatud</translation>
 <translation id="8487700953926739672">Võrguühenduseta saadaval</translation>
 <translation id="8503813439785031346">Kasutajanimi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index 37b7225b..a67202d8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">I-scan ang QR Code</translation>
 <translation id="1580783302095112590">Naipadala na ang mail.</translation>
 <translation id="1582732959743469162">Ihihinto nito ang lahat ng progreso para sa iyong kasalukuyang pag-download.</translation>
+<translation id="1605658421715042784">Kopyahin ang Larawan</translation>
 <translation id="1612730193129642006">Ipakita ang Grid ng Tab</translation>
 <translation id="1644574205037202324">History</translation>
 <translation id="1646446875146297738">Ang pag-enable sa ‘Huwag Subaybayan’ ay nangangahulugan na may isasamang kahilingan sa iyong trapiko sa pagba-browse. Ang anumang epekto ay nakadepende kung tumutugon man ang website sa kahilingan, at kung paano nabibigyan ng kahulugan ang kahilingan.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">I-delete ang Folder</translation>
 <translation id="1813414402673211292">I-clear Data sa Pag-browse</translation>
 <translation id="1820259098641718022">Idinagdag sa Listahan ng Mga Babasahin</translation>
+<translation id="1821253160463689938">Gumamit ng mga cookie para matandaan ang iyong mga kagustuhan, kahit na hindi mo binibisita ang mga page na iyon</translation>
 <translation id="1876721852596493031">Magpadala ng Data</translation>
 <translation id="1886928167269928266">Mula sa Umpisa</translation>
 <translation id="1911619930368729126">I-upload sa Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Hilingin ang Site sa Desktop</translation>
 <translation id="2103075008456228677">Buksan ang history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> (na) item ang inilipat</translation>
+<translation id="2120297377148151361">Aktibidad at mga pakikipag-ugnayan</translation>
 <translation id="213900355088104901">Upang mag-browse nang pribado, magbukas ng tab na incognito</translation>
 <translation id="2149973817440762519">I-edit ang Bookmark</translation>
 <translation id="2230173723195178503">Na-load na ang webpage</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 ang napili</translation>
 <translation id="2435457462613246316">Ipakita ang password</translation>
 <translation id="2481538920734869610">MAGDAGDAG NG ACCOUNT</translation>
+<translation id="2523184218357549926">Ipinapadala sa Google ang mga URL ng mga page na binibisita mo</translation>
 <translation id="2523363575747517183">Paulit-ulit na sinusubukang buksan ng website na ito ang isa pang application.</translation>
 <translation id="2529021024822217800">Buksan Lahat</translation>
 <translation id="2572712655377361602">Na-block ng isang patakaran ng device ang access sa iyong mga larawan</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Bagong Folder…</translation>
 <translation id="2903493209154104877">Mga Address</translation>
 <translation id="2909437209446960244">Mga Kamakailang Tab</translation>
+<translation id="2916171785467530738">Awtomatikong kumpletuhin ang Mga Paghahanap at URL</translation>
 <translation id="291754862089661335">Itapat ang QR code o barcode sa loob ng frame na ito.</translation>
 <translation id="2921219216347069551">Di Maibahagi Pahina</translation>
 <translation id="2923448633003185837">Mag-paste at Umalis</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Tawagan</translation>
 <translation id="4875622588773761625">Gusto mo bang i-update ng <ph name="PASSWORD_MANAGER_BRAND" /> ang iyong password para sa site na ito?</translation>
 <translation id="4881695831933465202">Buksan</translation>
+<translation id="4882831918239250449">Kontrolin kung paano ginagamit ang iyong history ng pag-browse para i-personalize ang Paghahanap, mga ad, at iba pa</translation>
 <translation id="4904877109095351937">Markahan Bilang Nabasa Na</translation>
 <translation id="4930268273022498155">I-delete ang kasalukuyang data. Mababawi mo ito sa pamamagitan ng paglipat pabalik sa <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Paumanhin, nagkaroon ng problema sa pagbabahagi ng item mo.</translation>
 <translation id="4979397965658815378">Mag-sign in gamit ang iyong Google Account upang makuha ang iyong mga bookmark, password, history at iba pang mga setting sa lahat ng iyong device</translation>
+<translation id="5004416275253351869">Mga kontrol ng aktibidad sa Google</translation>
 <translation id="5005498671520578047">Kopyahin password</translation>
 <translation id="5010803260590204777">Magbukas ng tab na incognito upang pribadong i-browse ang web.</translation>
 <translation id="5011684439661633295">Kamusta, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Nagbibigay-daan sa iyo ang handoff na magsimula sa pagba-browse sa isang website sa device na ito at pagkatapos ay magpatuloy kaagad sa iyong Mac. Lalabas ang kasalukuyang nakabukas na website sa Dock ng iyong Mac.
 
 Dapat ding naka-enable ang handoff sa Pangkalahatang seksyon ng Mga Setting, at ang iyong mga device ay dapat gumagamit ng parehong iCloud account.</translation>
+<translation id="5554368826343982379">Pag-sync at Pag-personalize</translation>
 <translation id="5556459405103347317">I-reload</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Hindi mada-download sa ngayon ang file.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Mga Kamakailang Tab</translation>
 <translation id="7006788746334555276">Mga Setting ng Nilalaman</translation>
+<translation id="7017968314960951695">Gumagamit ng content sa mga site na binibisita mo at aktibidad sa browser at mga pakikipag-ugnayan para sa pag-personalize.</translation>
 <translation id="7029809446516969842">Mga Password</translation>
 <translation id="7031882061095297553">I-sync sa</translation>
 <translation id="7053983685419859001">I-block</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Tanggapin at mag-sign out</translation>
 <translation id="7772032839648071052">Kumpirmahin ang passphrase</translation>
 <translation id="780301667611848630">Hindi salamat</translation>
+<translation id="7830720446622801252">Mga Hindi Naka-personalize na Serbisyo</translation>
 <translation id="7856733331829174190">Hindi Ma-download</translation>
 <translation id="7859704718976024901">History ng Pagba-browse</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Hindi made-delete ang mga naka-save na setting ng site at maaari nitong ipakita ang iyong mga gawi sa pagba-browse. <ph name="BEGIN_LINK" />Matuto nang higit pa<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Isara ang Lahat ng Tab</translation>
 <translation id="8114753159095730575">Available ang pag-download ng file. Available ang mga opsyon malapit sa ibaba ng screen.</translation>
+<translation id="8160722851663543621">Nagpapadala ng mga paghahanap mula sa address bar at box para sa paghahanap, at ilang cookie sa iyong default na search engine</translation>
 <translation id="8205564605687841303">Kanselahin</translation>
 <translation id="8225985093977202398">Mga Naka-cache na Larawan at File</translation>
 <translation id="8261506727792406068">I-delete</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Naka-sign In Gamit ang</translation>
 <translation id="8428045167754449968">Lungsod / Bayan</translation>
 <translation id="8428213095426709021">Mga Setting</translation>
+<translation id="8438566539970814960">Mas pahusayin ang mga paghahanap at pag-browse</translation>
 <translation id="8458397775385147834">1 item ang na-delete</translation>
 <translation id="8487700953926739672">Available sa offline</translation>
 <translation id="8503813439785031346">Username</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index fc720b6..b4c9fdfa 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Scanner le code QR</translation>
 <translation id="1580783302095112590">E-mail envoyé.</translation>
 <translation id="1582732959743469162">Cette action arrêtera le téléchargement en cours.</translation>
+<translation id="1605658421715042784">Copier l'image</translation>
 <translation id="1612730193129642006">Afficher la grille d'onglets</translation>
 <translation id="1644574205037202324">Historique</translation>
 <translation id="1646446875146297738">Si vous activez la fonctionnalité "Interdire le suivi", une demande sera incluse dans le trafic de navigation. Le résultat dépend de l'obtention d'une réponse de la part du site Web, ainsi que de la façon dont celle-ci est interprétée.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Supprimer le dossier</translation>
 <translation id="1813414402673211292">Effacer les données de navigation</translation>
 <translation id="1820259098641718022">Page ajoutée à la liste de lecture</translation>
+<translation id="1821253160463689938">Utilise des cookies pour mémoriser vos préférences, même si vous n'accédez pas à ces pages</translation>
 <translation id="1876721852596493031">Envoyer les données d'utilisation</translation>
 <translation id="1886928167269928266">Depuis le début</translation>
 <translation id="1911619930368729126">Importer dans Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Voir version ordinateur</translation>
 <translation id="2103075008456228677">Ouvrir history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> éléments déplacés.</translation>
+<translation id="2120297377148151361">Activité et interactions</translation>
 <translation id="213900355088104901">Pour parcourir le Web en mode privé, ouvrez un onglet de navigation privée</translation>
 <translation id="2149973817440762519">Modifier le favori</translation>
 <translation id="2230173723195178503">Page Web chargée</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 photo sélectionnée</translation>
 <translation id="2435457462613246316">Afficher le mot de passe</translation>
 <translation id="2481538920734869610">AJOUTER UN COMPTE</translation>
+<translation id="2523184218357549926">Envoie les URL des pages que vous consultez à Google</translation>
 <translation id="2523363575747517183">Ce site Web a tenté à plusieurs reprises d'ouvrir une autre application.</translation>
 <translation id="2529021024822217800">Tout ouvrir</translation>
 <translation id="2572712655377361602">Les règles relatives aux appareils ont bloqué l'accès à vos photos.</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nouveau dossier…</translation>
 <translation id="2903493209154104877">Adresses</translation>
 <translation id="2909437209446960244">Onglets récents</translation>
+<translation id="2916171785467530738">Saisir semi-automatiquement les recherches et les URL</translation>
 <translation id="291754862089661335">Positionnez le code QR ou le code-barres dans ce cadre</translation>
 <translation id="2921219216347069551">Impossible de partager page</translation>
 <translation id="2923448633003185837">Coller et rechercher</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Appeler</translation>
 <translation id="4875622588773761625">Voulez-vous que <ph name="PASSWORD_MANAGER_BRAND" /> modifie votre mot de passe pour ce site ?</translation>
 <translation id="4881695831933465202">Ouvrir</translation>
+<translation id="4882831918239250449">Contrôler la manière dont votre historique de navigation est utilisé pour personnaliser la recherche, les annonces, etc.</translation>
 <translation id="4904877109095351937">Marquer comme lues</translation>
 <translation id="4930268273022498155">Supprimer les données actuelles. Vous pouvez les récupérer en repassant sur le compte <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Désolé, un problème est survenu lors du partage de l'élément.</translation>
 <translation id="4979397965658815378">Connectez-vous à votre compte Google pour synchroniser favoris, mots de passe, historique et autres paramètres sur tous vos appareils.</translation>
+<translation id="5004416275253351869">Commandes Google relatives à l'activité</translation>
 <translation id="5005498671520578047">Copier mot de passe</translation>
 <translation id="5010803260590204777">Ouvrez un onglet de navigation privée pour naviguer sur le Web en toute confidentialité.</translation>
 <translation id="5011684439661633295">Bonjour <ph name="FULL_ACCOUNT_NAME" />,</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Avec Handoff, vous pouvez commencer à consulter un site Web sur cet appareil et poursuivre votre lecture facilement sur votre Mac. Le site Web actuellement ouvert apparaît alors dans le Dock.
 
 Handoff doit également être activé dans la section "Général" des paramètres, et vous devez utiliser le même compte iCloud sur vos appareils.</translation>
+<translation id="5554368826343982379">Synchronisation et personnalisation</translation>
 <translation id="5556459405103347317">Actualiser</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Impossible de télécharger le fichier pour le moment.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Onglets récents</translation>
 <translation id="7006788746334555276">Paramètres de contenu</translation>
+<translation id="7017968314960951695">Utilise le contenu des sites que vous consultez, votre activité de navigation et vos interactions pour la personnalisation</translation>
 <translation id="7029809446516969842">Mots de passe</translation>
 <translation id="7031882061095297553">Synchroniser avec</translation>
 <translation id="7053983685419859001">Bloquer</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Accepter et se déconnecter</translation>
 <translation id="7772032839648071052">Confirmer la phrase secrète</translation>
 <translation id="780301667611848630">Non merci</translation>
+<translation id="7830720446622801252">Services non personnalisés</translation>
 <translation id="7856733331829174190">Téléchargement impossible</translation>
 <translation id="7859704718976024901">Historique de navigation</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Les paramètres de site enregistrés ne seront pas supprimés et peuvent donner des indications sur vos habitudes de navigation. <ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Fermer tous les onglets</translation>
 <translation id="8114753159095730575">Vous pouvez télécharger des fichiers. Différentes options sont disponibles au bas de l'écran.</translation>
+<translation id="8160722851663543621">Envoie les recherches effectuées à partir de la barre d'adresse et du champ de recherche ainsi que des cookies à votre moteur de recherche par défaut</translation>
 <translation id="8205564605687841303">Annuler</translation>
 <translation id="8225985093977202398">Img/fich. en cache</translation>
 <translation id="8261506727792406068">Supprimer</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Connecté avec</translation>
 <translation id="8428045167754449968">Ville</translation>
 <translation id="8428213095426709021">Paramètres</translation>
+<translation id="8438566539970814960">Améliorer les recherches et la navigation</translation>
 <translation id="8458397775385147834">1 élément supprimé.</translation>
 <translation id="8487700953926739672">Disponible hors connexion</translation>
 <translation id="8503813439785031346">Nom d'utilisateur</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 50dcf92..f8dacb6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR कोड स्कैन करें</translation>
 <translation id="1580783302095112590">मेल भेजा गया.</translation>
 <translation id="1582732959743469162">यह आपके इस समय हो रहे सभी डाउनलोड को बंद कर देगा.</translation>
+<translation id="1605658421715042784">इमेज की कॉपी करें</translation>
 <translation id="1612730193129642006">टैब ग्रिड दिखाएं</translation>
 <translation id="1644574205037202324">इतिहास</translation>
 <translation id="1646446875146297738">‘नज़र न रखें’ सुविधा को चालू करने का मतलब है कि आपके ब्राउज़िंग ट्रैफ़िक के साथ कोई अनुरोध शामिल किया जाएगा. कोई भी प्रभाव इस बात पर निर्भर करता है कि वेबसाइट, अनुरोध का जवाब देती है या नहीं और अनुरोध को किस तरह समझा जाता है.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">फ़ोल्‍डर हटाएं</translation>
 <translation id="1813414402673211292">ब्राउज़िंग डेटा साफ़ करें</translation>
 <translation id="1820259098641718022">पठन सूची में जोड़ा गया</translation>
+<translation id="1821253160463689938">आपकी पसंद याद रखने के लिए कुकी का इस्तेमाल करती है, भले ही आप उन पेजों पर नहीं जाते</translation>
 <translation id="1876721852596493031">उपयोग डेटा भेजें</translation>
 <translation id="1886928167269928266">शुरुआत से</translation>
 <translation id="1911619930368729126">Google डिस्क पर अपलोड करें</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">डेस्कटॉप साइट का अनुरोध करें</translation>
 <translation id="2103075008456228677">history.google.com खोलें</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> आइटम ले जाए गए</translation>
+<translation id="2120297377148151361">गतिविधि और इंटरैक्शन</translation>
 <translation id="213900355088104901">निजी रूप से ब्राउज़ करने के लिए, गुप्त टैब खोलें</translation>
 <translation id="2149973817440762519">बुकमार्क संपादित करें</translation>
 <translation id="2230173723195178503">वेबपेज लोड हो गया है</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 चयनित</translation>
 <translation id="2435457462613246316">पासवर्ड दिखाएं</translation>
 <translation id="2481538920734869610">खाता जोड़ें</translation>
+<translation id="2523184218357549926">आपके जिन पेजों पर जाते हैं उनके यूआरएल Google को भेजती है</translation>
 <translation id="2523363575747517183">यह वेबसाइट बार-बार किसी दूसरे ऐप्लिकेशन को खोलने की कोशिश कर रही है.</translation>
 <translation id="2529021024822217800">सभी खोलें</translation>
 <translation id="2572712655377361602">एक डिवाइस नीति ने आपकी फ़ोटो का एक्सेस रोक दिया है</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">नया फ़ोल्डर…</translation>
 <translation id="2903493209154104877">पते</translation>
 <translation id="2909437209446960244">हाल ही के टैब</translation>
+<translation id="2916171785467530738">खोजों और यूआरएल को अपने आप पूरा करें</translation>
 <translation id="291754862089661335">QR कोड या बारकोड को इस फ़्रेम में लाएं</translation>
 <translation id="2921219216347069551">पेज शेयर नहीं कर सकते</translation>
 <translation id="2923448633003185837">चिपकाएं और जाएं</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">कॉल करें</translation>
 <translation id="4875622588773761625">क्या आप चाहते हैं कि <ph name="PASSWORD_MANAGER_BRAND" /> इस साइट के लिए आपके पासवर्ड को अपडेट करे?</translation>
 <translation id="4881695831933465202">खोलें</translation>
+<translation id="4882831918239250449">यह नियंत्रित करें कि खोज, विज्ञापनों वगैरह को मनमुताबिक बनाने के लिए आपके ब्राउज़िंग इतिहास का इस्तेमाल कैसे किया जाए</translation>
 <translation id="4904877109095351937">पढ़ी गईं चिह्नित करें</translation>
 <translation id="4930268273022498155">मौजूदा डेटा हटाएं. आप <ph name="USER_EMAIL1" /> पर वापस जाकर उसे पुनर्प्राप्त कर सकते हैं.</translation>
 <translation id="4941089862236492464">क्षमा करें, आपके आइटम को शेयर करने में कोई समस्या हुई.</translation>
 <translation id="4979397965658815378">अपने सभी डिवाइस पर अपने बुकमार्क, पासवर्ड, इतिहास और अन्य सेटिंग प्राप्त करने के लिए अपने Google खाते से प्रवेश करें</translation>
+<translation id="5004416275253351869">Google गतिविधि नियंत्रण</translation>
 <translation id="5005498671520578047">पासवर्ड कॉपी करें</translation>
 <translation id="5010803260590204777">निजी रूप से वेब ब्राउज़ करने के लिए गुप्त टैब खोलें.</translation>
 <translation id="5011684439661633295">नमस्ते, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff से आप इस डिवाइस पर वेबसाइट ब्राउज़ करना प्रारंभ करके उसे अपने Mac पर आसानी से जारी रख सकते हैं. वर्तमान में खुली हुई वेबसाइट आपके Mac के Dock में दिखाई देगी.
 
 Handoff को Settings के General अनुभाग में भी सक्षम किया जाना चाहिए और आपके डिवाइसों को समान iCloud खाते का उपयोग करना चाहिए.</translation>
+<translation id="5554368826343982379">सिंक करें और मनमुताबिक बनाएं</translation>
 <translation id="5556459405103347317">फिर लोड करें</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">इस समय फ़ाइल डाउनलोड नहीं की जा सकती.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google डिस्क</translation>
 <translation id="7004499039102548441">हाल के टैब</translation>
 <translation id="7006788746334555276">सामग्री सेटिंग</translation>
+<translation id="7017968314960951695">आप जिन साइटों पर जाते हैं उनकी गतिविधि और ब्राउज़र गतिविधि के साथ ही इंटरैक्शन का इस्तेमाल मनमुताबिक बनाने के लिए करती है</translation>
 <translation id="7029809446516969842">पासवर्ड</translation>
 <translation id="7031882061095297553">इसमें समन्वयित करें</translation>
 <translation id="7053983685419859001">अवरोधित करें</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">स्वीकार करें और प्रस्थान करें</translation>
 <translation id="7772032839648071052">पासफ़्रेज़ की दुबारा पूछें</translation>
 <translation id="780301667611848630">जी नहीं, रहने दें </translation>
+<translation id="7830720446622801252">मनमुताबिक नहीं बनाई गई सेवाएं</translation>
 <translation id="7856733331829174190">डाउनलोड नहीं की जा सकी</translation>
 <translation id="7859704718976024901">ब्राउज़िंग इतिहास</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">सहेजी गई साइट सेटिंग नहीं हटाई जाएंगी और इससे आपका ब्राउज़िंग व्यवहार प्रदर्शित हो सकता है. <ph name="BEGIN_LINK" />अधिक जानें<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">सभी टैब बंद करें</translation>
 <translation id="8114753159095730575">फ़ाइल डाउनलोड करने की सुविधा उपलब्ध है. विकल्प स्क्रीन के नीचे उपलब्ध हैं.</translation>
+<translation id="8160722851663543621">पता बार और खोज बॉक्स की खोजों और कुछ कुकी को आपके डिफ़ॉल्ट खोज इंजन पर भेजती है</translation>
 <translation id="8205564605687841303">रद्द करें</translation>
 <translation id="8225985093977202398">संचित चित्र और फ़ाइलें</translation>
 <translation id="8261506727792406068">हटाएं</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">इससे प्रवेश किया गया है</translation>
 <translation id="8428045167754449968">शहर / कस्बा</translation>
 <translation id="8428213095426709021">सेटिंग</translation>
+<translation id="8438566539970814960">खोजों और ब्राउज़िेंग को बेहतर बनाएं</translation>
 <translation id="8458397775385147834">1 आइटम हटाया गया</translation>
 <translation id="8487700953926739672">ऑफ़लाइन उपलब्ध है</translation>
 <translation id="8503813439785031346">उपयोगकर्ता नाम</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 4b61e60..ec67435 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Skeniranje QR koda</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="1605658421715042784">Kopiraj sliku</translation>
 <translation id="1612730193129642006">Prikaz rešetke kartice</translation>
 <translation id="1644574205037202324">Povijest</translation>
 <translation id="1646446875146297738">Ako omogućite "Nemoj pratiti", taj će se zahtjev slati uz vaš promet pregledavanja. Učinak ovisi o tome hoće li web-lokacija reagirati na taj zahtjev i kako će se on tumačiti.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Izbriši mapu</translation>
 <translation id="1813414402673211292">Brisanje podataka o pregledavanju</translation>
 <translation id="1820259098641718022">Dodano na popis za čitanje</translation>
+<translation id="1821253160463689938">Upotrebljava kolačiće za pamćenje vaših postavki, čak i ako ne posjetite te stranice</translation>
 <translation id="1876721852596493031">Slanje pod. o upot.</translation>
 <translation id="1886928167269928266">Od početka</translation>
 <translation id="1911619930368729126">Prenesi na Google disk</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Prikaži klasičnu stranicu</translation>
 <translation id="2103075008456228677">Otvori history.google.com</translation>
 <translation id="2116625576999540962">Broj premještenih stavki: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Aktivnost i interakcija</translation>
 <translation id="213900355088104901">Da biste pregledavali privatno, otvorite anonimnu karticu</translation>
 <translation id="2149973817440762519">Uredi oznaku</translation>
 <translation id="2230173723195178503">Web-stranica učitana</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 odabrana</translation>
 <translation id="2435457462613246316">Pokaži zaporku</translation>
 <translation id="2481538920734869610">DODAJ RAČUN</translation>
+<translation id="2523184218357549926">Šalje Googleu URL-ove stranica koje posjećujete</translation>
 <translation id="2523363575747517183">Ova web-lokacija opetovano pokušava otvoriti neku drugu aplikaciju.</translation>
 <translation id="2529021024822217800">Otvori sve</translation>
 <translation id="2572712655377361602">Pravila za uređaje blokirala su pristup fotografijama</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nova mapa…</translation>
 <translation id="2903493209154104877">Adrese</translation>
 <translation id="2909437209446960244">Nedavne kartice</translation>
+<translation id="2916171785467530738">Samodovršavanje pretraživanja i URL-ova</translation>
 <translation id="291754862089661335">Postavite QR ili crtični kôd u ovaj okvir</translation>
 <translation id="2921219216347069551">Nije moguće dijeliti stranicu</translation>
 <translation id="2923448633003185837">Zalijepi i idi</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Poziv</translation>
 <translation id="4875622588773761625">Želite li da <ph name="PASSWORD_MANAGER_BRAND" /> ažurira vašu zaporku za tu web-lokaciju?</translation>
 <translation id="4881695831933465202">Otvori</translation>
+<translation id="4882831918239250449">Odredite na koji će se način vaša povijest pregledavanja upotrebljavati za prilagodbu Pretraživanja, oglasa i drugog</translation>
 <translation id="4904877109095351937">Označi kao pročitano</translation>
 <translation id="4930268273022498155">Postojeći će se podaci izbrisati. Dohvatiti ih možete tako da se vratite na <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Došlo je do problema prilikom dijeljenja vaše stavke.</translation>
 <translation id="4979397965658815378">Prijavite se Google računom da biste pristupali svojim oznakama, zaporkama, povijesti i ostalim postavkama na svim svojim uređajima</translation>
+<translation id="5004416275253351869">Kontrole aktivnosti na Googleu</translation>
 <translation id="5005498671520578047">Kopiranje zaporke</translation>
 <translation id="5010803260590204777">Otvorite anonimnu karticu da biste pregledavali web u privatnosti.</translation>
 <translation id="5011684439661633295">Pozdrav, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff vam omogućuje da počnete pregledavati web-lokaciju na ovom uređaju i nastavite na Macu. Trenutačno otvorena web-lokacija pojavit će se u Docku na vašem Macu.
 
 Handoff mora biti omogućen i u odjeljku Općenito u Postavkama, a vaši uređaji moraju upotrebljavati isti iCloud račun.</translation>
+<translation id="5554368826343982379">Sinkronizacija i prilagodba</translation>
 <translation id="5556459405103347317">Ponovno učitaj</translation>
 <translation id="5619279135193775234">Pošta</translation>
 <translation id="5626245204502895507">Datoteka se trenutačno ne može preuzeti.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google disk</translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
 <translation id="7006788746334555276">Postavke sadržaja</translation>
+<translation id="7017968314960951695">Upotrebljava sadržaj na web-lokacijama koje posjećujete te aktivnosti i interakcije u pregledniku radi prilagodbe</translation>
 <translation id="7029809446516969842">Zaporke</translation>
 <translation id="7031882061095297553">Sinkronizacija s računima</translation>
 <translation id="7053983685419859001">Blokiraj</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Prihvati i odjavi se</translation>
 <translation id="7772032839648071052">Potvrdi zaporku</translation>
 <translation id="780301667611848630">Ne, hvala</translation>
+<translation id="7830720446622801252">Usluge bez prilagodbe</translation>
 <translation id="7856733331829174190">Preuzimanje nije moguće</translation>
 <translation id="7859704718976024901">Povijest pregledavanja</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Spremljene postavke web-lokacije neće se izbrisati i mogu odražavati vaše navike prilikom pregledavanja. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Zatvori sve kartice</translation>
 <translation id="8114753159095730575">Dostupno je preuzimanje datoteka. Opcije su dostupne pri dnu zaslona.</translation>
+<translation id="8160722851663543621">Zadanoj tražilici šalje pretraživanja iz adresne trake i okvira za pretraživanje te neke kolačiće</translation>
 <translation id="8205564605687841303">Odustani</translation>
 <translation id="8225985093977202398">Predmemorirane slike i datoteke</translation>
 <translation id="8261506727792406068">Izbriši</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Prijavljeni ste na uslugu</translation>
 <translation id="8428045167754449968">Grad/mjesto</translation>
 <translation id="8428213095426709021">Postavke</translation>
+<translation id="8438566539970814960">Poboljšajte pretraživanje i pregledavanje</translation>
 <translation id="8458397775385147834">Izbrisana je 1 stavka</translation>
 <translation id="8487700953926739672">Dostupno izvanmrežno</translation>
 <translation id="8503813439785031346">Korisničko ime</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index 6583f69..2a8954b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR-kód beolvasása</translation>
 <translation id="1580783302095112590">Levél elküldve.</translation>
 <translation id="1582732959743469162">Ezzel leállítja az aktuális letöltést.</translation>
+<translation id="1605658421715042784">Kép másolása</translation>
 <translation id="1612730193129642006">Laprács megjelenítése</translation>
 <translation id="1644574205037202324">Előzmények</translation>
 <translation id="1646446875146297738">A „Nincs nyomon követés” funkció engedélyezése azzal jár, hogy egy adott kérés beleszámít majd a böngészési forgalomba. A hatása attól is függ, hogy az adott webhely válaszol-e a kérésre, és hogyan értelmezi azt.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Mappa törlése</translation>
 <translation id="1813414402673211292">Böngészési adatok törlése</translation>
 <translation id="1820259098641718022">Hozzáadva az olvasási listához</translation>
+<translation id="1821253160463689938">Cookie-kat használ a preferenciák megjegyzésére még akkor is, ha Ön nem keresi fel az adott oldalakat</translation>
 <translation id="1876721852596493031">Használati adatok küldése</translation>
 <translation id="1886928167269928266">Mindenkori</translation>
 <translation id="1911619930368729126">Feltöltés Google Drive-ba</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Asztali webhely kérése</translation>
 <translation id="2103075008456228677">A history.google.com megnyitása</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> elem áthelyezve</translation>
+<translation id="2120297377148151361">Tevékenység és interakciók</translation>
 <translation id="213900355088104901">Privát böngészéshez nyisson inkognitólapot</translation>
 <translation id="2149973817440762519">Könyvjelző szerkesztése</translation>
 <translation id="2230173723195178503">A weboldal betöltött</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 kijelölve</translation>
 <translation id="2435457462613246316">Jelszó megjelenítése</translation>
 <translation id="2481538920734869610">FIÓK HOZZÁADÁSA</translation>
+<translation id="2523184218357549926">A felkeresett oldalak URL-címének elküldése a Google-nak</translation>
 <translation id="2523363575747517183">Ez a webhely folyamatosan próbál megnyitni egy másik alkalmazást.</translation>
 <translation id="2529021024822217800">Az összes megnyitása</translation>
 <translation id="2572712655377361602">Egy eszközszabályzat letiltotta a fényképeihez való hozzáférést</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Új mappa...</translation>
 <translation id="2903493209154104877">Címek</translation>
 <translation id="2909437209446960244">Nemrég megnyitott lapok</translation>
+<translation id="2916171785467530738">Keresések és URL-címek automatikus kiegészítése</translation>
 <translation id="291754862089661335">Igazítsa a QR-kódot vagy vonalkódot ehhez a kerethez</translation>
 <translation id="2921219216347069551">Az oldal megosztása sikertelen</translation>
 <translation id="2923448633003185837">Beillesztés és ugrás</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Hívás</translation>
 <translation id="4875622588773761625">Szeretné, hogy a(z) <ph name="PASSWORD_MANAGER_BRAND" /> frissítse jelszavát ezen a webhelyen?</translation>
 <translation id="4881695831933465202">Megnyitás</translation>
+<translation id="4882831918239250449">Beállíthatja, hogy a rendszer hogyan szabja személyre a Keresést, a hirdetéseket és egyebeket a böngészési előzmények alapján</translation>
 <translation id="4904877109095351937">Megjelölés olvasottként</translation>
 <translation id="4930268273022498155">Meglévő adatok törlése. Ezeket úgy hívhatja le, hogy visszavált a következő fiókra: <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Sajnos hiba történt az elem megosztásakor.</translation>
 <translation id="4979397965658815378">Jelentkezzen be Google-fiókjába, hogy könyvjelzőit, előzményeit, jelszavait és más beállításait az összes eszközén elérhesse.</translation>
+<translation id="5004416275253351869">Google Tevékenységvezérlők</translation>
 <translation id="5005498671520578047">Jelszó másolása</translation>
 <translation id="5010803260590204777">Nyisson meg egy inkognitólapot a privát böngészéshez.</translation>
 <translation id="5011684439661633295">Üdvözlet, <ph name="FULL_ACCOUNT_NAME" />!</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Az Átadás segítségével ha ezen az eszközön kezd böngészni egy webhelyet, könnyedén folytathatja azt Mac típusú számítógépén. A jelenleg megnyitott webhely a Mac dokkján jelenik meg.
 
 Az Átadást engedélyezni kell a Beállítások általános részében is, és az eszközöknek ugyanazt az iCloud-fiókot kell használniuk.</translation>
+<translation id="5554368826343982379">Szinkronizálás és személyre szabás</translation>
 <translation id="5556459405103347317">Újratöltés</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">A fájlt jelenleg nem lehet letölteni.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Nemrég megnyitott lapok</translation>
 <translation id="7006788746334555276">Tartalombeállítások</translation>
+<translation id="7017968314960951695">A felkeresett webhelyek tartalmait, a böngészőtevékenységeket, valamint a böngészőben végzett interakciókat felhasználja a személyre szabáshoz</translation>
 <translation id="7029809446516969842">Jelszavak</translation>
 <translation id="7031882061095297553">Szinkronizálás a következőknél</translation>
 <translation id="7053983685419859001">Letiltás</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Elfogadás és kijelentkezés</translation>
 <translation id="7772032839648071052">Összetett jelszó megerősítése</translation>
 <translation id="780301667611848630">Köszönöm, nem</translation>
+<translation id="7830720446622801252">Nem személyre szabott szolgáltatások</translation>
 <translation id="7856733331829174190">Nem sikerült letölteni</translation>
 <translation id="7859704718976024901">Böngészési előzmények</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">A mentett webhelybeállítások nem törlődnek, és tájékozódási alapul szolgálhatnak böngészési szokásait illetően. <ph name="BEGIN_LINK" />További információ.<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Összes lap bezárása</translation>
 <translation id="8114753159095730575">A fájlletöltés megvalósítható. A beállításokat a képernyő alján nyithatja meg.</translation>
+<translation id="8160722851663543621">A címsávban és a keresőmezőben végrehajtott kereséseket, valamint bizonyos cookie-kat elküld az alapértelmezett keresőmotornak</translation>
 <translation id="8205564605687841303">Mégse</translation>
 <translation id="8225985093977202398">A gyorsítótárban lévő képek és fájlok</translation>
 <translation id="8261506727792406068">Törlés</translation>
@@ -411,6 +422,7 @@
 <translation id="842017693807136194">Bejelentkezve a következővel:</translation>
 <translation id="8428045167754449968">Város/helység</translation>
 <translation id="8428213095426709021">Beállítások</translation>
+<translation id="8438566539970814960">Keresések és böngészés javítása</translation>
 <translation id="8458397775385147834">1 elem törölve</translation>
 <translation id="8487700953926739672">Offline elérhető</translation>
 <translation id="8503813439785031346">Felhasználónév</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 666a9424..9ae26ae 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Pindai Kode QR</translation>
 <translation id="1580783302095112590">Email terkirim.</translation>
 <translation id="1582732959743469162">Ini akan menghentikan semua progres download Anda saat ini.</translation>
+<translation id="1605658421715042784">Salin Gambar</translation>
 <translation id="1612730193129642006">Tampilkan Grid Tab</translation>
 <translation id="1644574205037202324">Histori</translation>
 <translation id="1646446875146297738">Dengan mengaktifkan 'Jangan Lacak', permintaan akan disertakan dalam lalu lintas penjelajahan Anda. Pengaruh apa pun bergantung pada apakah situs web menanggapi permintaan atau tidak, dan cara permintaan diinterpretasikan.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Hapus Folder</translation>
 <translation id="1813414402673211292">Hapus Data Browsing</translation>
 <translation id="1820259098641718022">Ditambahkan ke Daftar Baca</translation>
+<translation id="1821253160463689938">Menggunakan cookie untuk mengingat preferensi, meski Anda tidak membuka halaman tersebut</translation>
 <translation id="1876721852596493031">Krm Data Penggunaan</translation>
 <translation id="1886928167269928266">Awal Waktu</translation>
 <translation id="1911619930368729126">Upload ke Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Ubah situs desktop</translation>
 <translation id="2103075008456228677">Buka history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> item dipindah</translation>
+<translation id="2120297377148151361">Aktivitas dan interaksi</translation>
 <translation id="213900355088104901">Untuk melakukan browsing rahasia, buka tab penyamaran</translation>
 <translation id="2149973817440762519">Edit Bookmark</translation>
 <translation id="2230173723195178503">Halaman web dimuat</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 dipilih</translation>
 <translation id="2435457462613246316">Tampilkan sandi</translation>
 <translation id="2481538920734869610">TAMBAHKAN AKUN</translation>
+<translation id="2523184218357549926">Mengirimkan URL halaman yang Anda buka ke Google</translation>
 <translation id="2523363575747517183">Situs ini berulang kali mencoba membuka aplikasi lain.</translation>
 <translation id="2529021024822217800">Buka Semua</translation>
 <translation id="2572712655377361602">Kebijakan perangkat memblokir akses ke foto Anda</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Folder Baru…</translation>
 <translation id="2903493209154104877">Alamat</translation>
 <translation id="2909437209446960244">Tab Terbaru</translation>
+<translation id="2916171785467530738">Melengkapi Otomatis Penelusuran dan URL</translation>
 <translation id="291754862089661335">Letakkan kode QR atau kode batang dalam bingkai ini</translation>
 <translation id="2921219216347069551">Gagal Berbagi Halaman</translation>
 <translation id="2923448633003185837">Tempel dan Buka</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Telepon</translation>
 <translation id="4875622588773761625">Apakah Anda ingin <ph name="PASSWORD_MANAGER_BRAND" /> memperbarui sandi untuk situs ini?</translation>
 <translation id="4881695831933465202">Buka</translation>
+<translation id="4882831918239250449">Kontrol cara histori browsing digunakan untuk mempersonalisasi Penelusuran, iklan, dan lainnya</translation>
 <translation id="4904877109095351937">Tandai Sudah Dibaca</translation>
 <translation id="4930268273022498155">Hapus data yang sudah ada. Anda dapat mengambilnya dengan beralih lagi ke <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Maaf, terjadi masalah saat berbagi item Anda.</translation>
 <translation id="4979397965658815378">Masuk dengan Akun Google untuk mendapatkan bookmark, sandi, histori, dan setelan lainnya di semua perangkat Anda.</translation>
+<translation id="5004416275253351869">Kontrol aktivitas Google</translation>
 <translation id="5005498671520578047">Salin sandi</translation>
 <translation id="5010803260590204777">Buka tab penyamaran untuk menjelajahi web secara pribadi.</translation>
 <translation id="5011684439661633295">Yth., <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff memungkinkan Anda memulai penjelajahan situs web pada perangkat ini dan melanjutkan di Mac dengan mudah. Situs web yang saat ini terbuka akan muncul di Dock pada Mac Anda.
 
 Handoff juga harus diaktifkan pada bagian General di Settings, dan perangkat Anda harus menggunakan akun iCloud yang sama.</translation>
+<translation id="5554368826343982379">Sinkronisasi dan Personalisasi</translation>
 <translation id="5556459405103347317">Muat ulang</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">File tidak dapat didownload saat ini.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Tab Baru-baru Ini</translation>
 <translation id="7006788746334555276">Setelan Konten</translation>
+<translation id="7017968314960951695">Menggunakan konten di situs yang Anda buka serta aktivitas browser dan interaksi untuk personalisasi.</translation>
 <translation id="7029809446516969842">Sandi</translation>
 <translation id="7031882061095297553">Sinkronkan ke</translation>
 <translation id="7053983685419859001">Blokir</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Terima dan keluar</translation>
 <translation id="7772032839648071052">Konfirmasi frasa sandi</translation>
 <translation id="780301667611848630">Lain kali</translation>
+<translation id="7830720446622801252">Layanan yang Tidak Dipersonalisasi</translation>
 <translation id="7856733331829174190">Tidak Dapat Mendownload</translation>
 <translation id="7859704718976024901">Histori Browsing</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">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>
 <translation id="8080028325999236607">Tutup Semua Tab</translation>
 <translation id="8114753159095730575">Download file tersedia. Opsi tersedia di dekat bagian bawah layar.</translation>
+<translation id="8160722851663543621">Mengirimkan penelusuran dari kolom URL dan kotak penelusuran, serta beberapa cookie ke mesin telusur default</translation>
 <translation id="8205564605687841303">Batal</translation>
 <translation id="8225985093977202398">Gambar &amp; File dalam Cache</translation>
 <translation id="8261506727792406068">Hapus</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Login Dengan</translation>
 <translation id="8428045167754449968">Kota</translation>
 <translation id="8428213095426709021">Setelan</translation>
+<translation id="8438566539970814960">Jadikan penelusuran dan penjelajahan lebih baik</translation>
 <translation id="8458397775385147834">1 item dihapus</translation>
 <translation id="8487700953926739672">Tersedia secara offline</translation>
 <translation id="8503813439785031346">Nama Pengguna</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index 2e25567..e23f25d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Leggi il codice QR</translation>
 <translation id="1580783302095112590">Messaggio inviato.</translation>
 <translation id="1582732959743469162">Verrà interrotto l'avanzamento del tuo download attuale.</translation>
+<translation id="1605658421715042784">Copia immagine</translation>
 <translation id="1612730193129642006">Mostra griglia schede</translation>
 <translation id="1644574205037202324">Cronologia</translation>
 <translation id="1646446875146297738">Se attivi "Non tenere traccia", viene inclusa una richiesta con il tuo traffico di navigazione. Gli eventuali effetti dipendono dalla risposta o meno di un sito web alla richiesta e dalla modalità di interpretazione della richiesta.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Elimina cartella</translation>
 <translation id="1813414402673211292">Cancella dati di navigazione</translation>
 <translation id="1820259098641718022">Aggiunta all'elenco di lettura</translation>
+<translation id="1821253160463689938">Utilizza i cookie per memorizzare le tue preferenze, anche se non visiti quelle pagine</translation>
 <translation id="1876721852596493031">Invia dati di utilizzo</translation>
 <translation id="1886928167269928266">Tutto</translation>
 <translation id="1911619930368729126">Carica su Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Richiedi sito desktop</translation>
 <translation id="2103075008456228677">Apri la pagina history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> elementi spostati</translation>
+<translation id="2120297377148151361">Attività e interazioni</translation>
 <translation id="213900355088104901">Per navigare in privato, apri una scheda di navigazione in incognito</translation>
 <translation id="2149973817440762519">Modifica Preferito</translation>
 <translation id="2230173723195178503">Pagina web caricata</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Una selezionata</translation>
 <translation id="2435457462613246316">Mostra password</translation>
 <translation id="2481538920734869610">AGGIUNGI ACCOUNT</translation>
+<translation id="2523184218357549926">Invia a Google gli URL delle pagine che visiti</translation>
 <translation id="2523363575747517183">Questo sito web sta cercando ripetutamente di aprire un'altra applicazione.</translation>
 <translation id="2529021024822217800">Apri tutto</translation>
 <translation id="2572712655377361602">Una norma relativa ai dispositivi ha impedito l'accesso alle tue foto</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nuova cartella…</translation>
 <translation id="2903493209154104877">Indirizzi</translation>
 <translation id="2909437209446960244">Schede recenti</translation>
+<translation id="2916171785467530738">Completamento automatico di ricerche e URL</translation>
 <translation id="291754862089661335">Posiziona il codice a barre o QR all'interno di quest'area</translation>
 <translation id="2921219216347069551">Impossibile condividere la pagina</translation>
 <translation id="2923448633003185837">Incolla e vai</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Chiama</translation>
 <translation id="4875622588773761625">Vuoi che <ph name="PASSWORD_MANAGER_BRAND" /> aggiorni la password di questo sito?</translation>
 <translation id="4881695831933465202">Apri</translation>
+<translation id="4882831918239250449">Controlla il modo in cui la cronologia di navigazione viene utilizzata per personalizzare la Ricerca, gli annunci e altro ancora</translation>
 <translation id="4904877109095351937">Segna come già letti</translation>
 <translation id="4930268273022498155">Elimina i dati esistenti. Puoi recuperarli tornando all'account <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Spiacenti, si è verificato un problema di condivisione.</translation>
 <translation id="4979397965658815378">Accedi con il tuo account Google per avere preferiti, password, cronologia e altre impostazioni su tutti i tuoi dispositivi</translation>
+<translation id="5004416275253351869">Gestione attività Google</translation>
 <translation id="5005498671520578047">Copia password</translation>
 <translation id="5010803260590204777">Apri una scheda di navigazione in incognito per navigare sul Web in privato.</translation>
 <translation id="5011684439661633295">Salve, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff ti consente di iniziare a consultare un sito web su questo dispositivo per poi continuare facilmente sul Mac. Il sito web attualmente aperto verrà visualizzato nel Dock sul Mac.
 
 La funzione Handoff deve anche essere attivata nella sezione Generali di Impostazioni e sui dispositivi deve essere in uso lo stesso account iCloud.</translation>
+<translation id="5554368826343982379">Sincronizzazione e personalizzazione</translation>
 <translation id="5556459405103347317">Ricarica</translation>
 <translation id="5619279135193775234">Posta</translation>
 <translation id="5626245204502895507">Il file non può essere scaricato in questo momento.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Schede recenti</translation>
 <translation id="7006788746334555276">Impostazioni contenuti</translation>
+<translation id="7017968314960951695">Utilizza i contenuti dei siti visitati e le attività e interazioni relative al browser per la personalizzazione</translation>
 <translation id="7029809446516969842">Password</translation>
 <translation id="7031882061095297553">Sincronizza con</translation>
 <translation id="7053983685419859001">Blocca</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Accetta ed esci</translation>
 <translation id="7772032839648071052">Conferma passphrase</translation>
 <translation id="780301667611848630">No grazie</translation>
+<translation id="7830720446622801252">Servizi non personalizzati</translation>
 <translation id="7856733331829174190">Download non riuscito</translation>
 <translation id="7859704718976024901">Cronologia di navigazione</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Le impostazioni del sito salvate non verranno eliminate e potrebbero rispecchiare le tue abitudini di navigazione. <ph name="BEGIN_LINK" />Ulteriori informazioni<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Chiudi tutte le schede</translation>
 <translation id="8114753159095730575">È possibile il download dei file. Le opzioni sono disponibili nella parte inferiore della schermata.</translation>
+<translation id="8160722851663543621">Invia al tuo motore di ricerca predefinito le ricerche dalla barra degli indirizzi e dalla casella di ricerca, nonché alcuni cookie</translation>
 <translation id="8205564605687841303">Annulla</translation>
 <translation id="8225985093977202398">Immagini e file memorizzati nella cache</translation>
 <translation id="8261506727792406068">Elimina</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Accesso eseguito con</translation>
 <translation id="8428045167754449968">Città/località</translation>
 <translation id="8428213095426709021">Impostazioni</translation>
+<translation id="8438566539970814960">Migliora le ricerche e le attività di navigazione</translation>
 <translation id="8458397775385147834">1 elemento eliminato</translation>
 <translation id="8487700953926739672">Disponibile offline</translation>
 <translation id="8503813439785031346">Nome utente</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 21d826b..794d967 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">‏סרוק קוד QR</translation>
 <translation id="1580783302095112590">הדואר נשלח.</translation>
 <translation id="1582732959743469162">הפעולה תפסיק את ההורדה הנוכחית.</translation>
+<translation id="1605658421715042784">העתקת התמונה</translation>
 <translation id="1612730193129642006">הצג רשת כרטיסיות</translation>
 <translation id="1644574205037202324">היסטוריה</translation>
 <translation id="1646446875146297738">המשמעות של הפעלת 'ללא מעקב' היא שהבקשה תיכלל בתנועת הגלישה שלך. התוצאה בפועל תלויה בתגובה של האתר לבקשה ובפרשנות שהוא מייחס לה, אם בכלל. 
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">מחק תיקיה</translation>
 <translation id="1813414402673211292">נקה נתוני גלישה</translation>
 <translation id="1820259098641718022">נוסף לרשימת הקריאה</translation>
+<translation id="1821253160463689938">‏שימוש בקובצי cookie כדי לשמור את ההעדפות שלך, גם אם לא נכנסת אל הדפים האלה</translation>
 <translation id="1876721852596493031">שלח נתוני שימוש</translation>
 <translation id="1886928167269928266">משחר ההיסטוריה</translation>
 <translation id="1911619930368729126">‏העלה אל Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">טען גירסת מחשב שולחני</translation>
 <translation id="2103075008456228677">‏פתח את history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> פריטים הועברו</translation>
+<translation id="2120297377148151361">פעילות ואינטראקציות</translation>
 <translation id="213900355088104901">כדי לגלוש באופן פרטי יש לפתוח כרטיסיית גלישה בסתר</translation>
 <translation id="2149973817440762519">ערוך סימניות</translation>
 <translation id="2230173723195178503">דף האינטרנט נטען</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">נבחרה תמונה אחת</translation>
 <translation id="2435457462613246316">הצג סיסמה</translation>
 <translation id="2481538920734869610">הוספת חשבון</translation>
+<translation id="2523184218357549926">‏שולח ל-Google כתובות אתרים של דפים שבהם ביקרת</translation>
 <translation id="2523363575747517183">האתר הזה מנסה שוב ושוב לפתוח אפליקציה אחרת.</translation>
 <translation id="2529021024822217800">פתח הכול</translation>
 <translation id="2572712655377361602">הגישה לתמונות שלך נחסמה עקב מדיניות שהוגדרה למכשיר</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">תיקייה חדשה…</translation>
 <translation id="2903493209154104877">כתובות</translation>
 <translation id="2909437209446960244">כרטיסיות אחרונות</translation>
+<translation id="2916171785467530738">השלמה אוטומטית של חיפושים וכתובות אתרים</translation>
 <translation id="291754862089661335">‏מקם את קוד ה-QR או הברקוד במסגרת זו</translation>
 <translation id="2921219216347069551">לא ניתן לשתף את הדף</translation>
 <translation id="2923448633003185837">‏Paste and Go (הדבק והתחל)</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">התקשר</translation>
 <translation id="4875622588773761625">האם תרצה ש-<ph name="PASSWORD_MANAGER_BRAND" /> יעדכן את הסיסמה שלך בשביל האתר הזה?</translation>
 <translation id="4881695831933465202">פתח</translation>
+<translation id="4882831918239250449">הגדרת אופן השימוש בהיסטוריית הגלישה לההתאמה האישית של חיפוש, מודעות ועוד</translation>
 <translation id="4904877109095351937">סמן כ'נקרא'</translation>
 <translation id="4930268273022498155">מחק נתונים קיימים. כדי לאחזר אותם, חזור אל <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">מצטערים, אירעה בעיה בשיתוף הפריט שלך.</translation>
 <translation id="4979397965658815378">‏היכנס באמצעות חשבון Google כדי לקבל גישה אל הסימניות, הסיסמאות, ההיסטוריה והגדרות נוספות בכל המכשירים שלך.</translation>
+<translation id="5004416275253351869">‏בחירת פעילויות של Google</translation>
 <translation id="5005498671520578047">העתק סיסמה</translation>
 <translation id="5010803260590204777">פתח כרטיסייה של גלישה בסתר כדי לגלוש בפרטיות באינטרנט.</translation>
 <translation id="5011684439661633295">שלום, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">‏Handoff מאפשר לך להתחיל לגלוש באתר מסוים במכשיר הזה ולאחר מכן להמשיך בקלות ב-Mac. האתר הפתוח הנוכחי יופיע ב-Dock של ה-Mac שלך.
 
 יש להפעיל את Handoff גם בקטע 'כללי' ב'הגדרות', ועל המכשירים להשתמש באותו חשבון iCloud.</translation>
+<translation id="5554368826343982379">סנכרון והתאמה אישית</translation>
 <translation id="5556459405103347317">טען שוב</translation>
 <translation id="5619279135193775234">דואר</translation>
 <translation id="5626245204502895507">לא ניתן להוריד את הקובץ בשלב הזה.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">כרטיסיות אחרונות</translation>
 <translation id="7006788746334555276">הגדרות תוכן</translation>
+<translation id="7017968314960951695">התוכן מאתרים שאליהם נכנסת, פעילות הדפדפן ואינטראקציות ישמשו להתאמה אישית</translation>
 <translation id="7029809446516969842">סיסמאות</translation>
 <translation id="7031882061095297553">סינכרון עם</translation>
 <translation id="7053983685419859001">חסום</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">קבל וצא מהחשבון</translation>
 <translation id="7772032839648071052">אשר משפט-סיסמה</translation>
 <translation id="780301667611848630">לא תודה</translation>
+<translation id="7830720446622801252">שירותים ללא התאמה אישית</translation>
 <translation id="7856733331829174190">ההורדה נכשלה</translation>
 <translation id="7859704718976024901">היסטוריית הגלישה</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">הגדרות אתרים שנשמרו לא יימחקו ועשויות לשקף את הרגלי הגלישה שלך. <ph name="BEGIN_LINK" />למידע נוסף<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">סגור את כל הכרטיסיות</translation>
 <translation id="8114753159095730575">יש קובץ זמין להורדה. האפשרויות זמינות בחלק התחתון של המסך.</translation>
+<translation id="8160722851663543621">‏שליחת חיפושים משורת כתובת האתר ותיבת החיפוש אל מנוע החיפוש שהגדרת כברירת מחדל יחד עם קובצי cookie מסוימים</translation>
 <translation id="8205564605687841303">בטל</translation>
 <translation id="8225985093977202398">תמונות וקבצים במטמון</translation>
 <translation id="8261506727792406068">מחיקה</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">מחובר באמצעות</translation>
 <translation id="8428045167754449968">עיר / יישוב</translation>
 <translation id="8428213095426709021">הגדרות</translation>
+<translation id="8438566539970814960">שיפור החיפושים והגלישה</translation>
 <translation id="8458397775385147834">פריט אחד נמחק</translation>
 <translation id="8487700953926739672">זמין במצב לא מקוון</translation>
 <translation id="8503813439785031346">שם משתמש</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index 15205bd..ca97595 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR ಕೋಡ್ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ</translation>
 <translation id="1580783302095112590">ಮೇಲ್ ಕಳುಹಿಸಲಾಗಿದೆ.</translation>
 <translation id="1582732959743469162">ಇದು ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಡೌನ್‌ಲೋಡ್‌ಗಾಗಿ ಎಲ್ಲಾ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.</translation>
+<translation id="1605658421715042784">ಚಿತ್ರವನ್ನು ನಕಲಿಸಿ</translation>
 <translation id="1612730193129642006">ಟ್ಯಾಬ್‌ ಗ್ರಿಡ್‌ ತೋರಿಸಿ</translation>
 <translation id="1644574205037202324">ಇತಿಹಾಸ</translation>
 <translation id="1646446875146297738">‘ಟ್ರ್ಯಾಕ್ ಮಾಡಬೇಡಿ’ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದೆಂದರೆ ವಿನಂತಿಯನ್ನು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ದಟ್ಟಣೆಯೊಂದಿಗೆ ಸೇರಿಸುವುದು ಎಂದರ್ಥ. ಯಾವುದೇ ಪರಿಣಾಮವು ವೆಬ್‌ಸೈಟ್ ವಿನಂತಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆಯೆ ಮತ್ತು ವಿನಂತಿಯನ್ನು ಹೇಗೆ ಅರ್ಥೈಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">ಫೋಲ್ಡರ್‌ ಅಳಿಸಿ</translation>
 <translation id="1813414402673211292">ಬ್ರೌಸ್ ಆಗುತ್ತಿರುವ ಡಾಟಾವನ್ನು ತೆರವುಗೊಳಿಸಿ</translation>
 <translation id="1820259098641718022">ಓದುವ ಪಟ್ಟಿಗೆ ಸೇರಿಸಲಾಗಿದೆ</translation>
+<translation id="1821253160463689938">ನೀವು ಆ ಪುಟಗಳಿಗೆ ಭೇಟಿ ನೀಡದಿದ್ದರೂ, ನಿಮ್ಮ ಆದ್ಯತೆಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಕುಕೀಗಳನ್ನು ಬಳಸುತ್ತದೆ</translation>
 <translation id="1876721852596493031">ಬಳಕೆ ಡೇಟಾ ಕಳುಹಿಸಿ</translation>
 <translation id="1886928167269928266">ಆರಂಭದ ಸಮಯ</translation>
 <translation id="1911619930368729126">Google ಡ್ರೈವ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡು</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">ಡೆಸ್ಕ್‌ಟಾಪ್‌ ಸೈಟ್‌ ಅನ್ನು ವಿನಂತಿಸಿ</translation>
 <translation id="2103075008456228677">history.google.com ತೆರೆಯಿರಿ</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> ಐಟಂಗಳನ್ನು ಸರಿಸಲಾಗಿದೆ</translation>
+<translation id="2120297377148151361">ಚಟುವಟಿಕೆ ಮತ್ತು ಸಂವಹನಗಳು</translation>
 <translation id="213900355088104901">ಖಾಸಗಿಯಾಗಿ ಬ್ರೌಸ್ ಮಾಡಲು, ಅದೃಶ್ಯ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
 <translation id="2149973817440762519">ಬುಕ್‌ಮಾರ್ಕ್ ಎಡಿಟ್ ಮಾಡಿ</translation>
 <translation id="2230173723195178503">ವೆಬ್‌ಪುಟ ಲೋಡ್ ಮಾಡಲಾಗಿದೆ</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 ಆಯ್ಕೆಮಾಡಿದೆ</translation>
 <translation id="2435457462613246316">ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ತೋರಿಸಿ</translation>
 <translation id="2481538920734869610">ಖಾತೆ ಸೇರಿಸಿ</translation>
+<translation id="2523184218357549926">ನೀವು ಭೇಟಿ ನೀಡುವ ಪುಟಗಳ URLಗಳನ್ನು Google ಗೆ ಕಳುಹಿಸುತ್ತದೆ</translation>
 <translation id="2523363575747517183">ಈ ವೆಬ್‌ಸೈಟ್‌ ಪದೇ ಪದೇ ಇನ್ನೊಂದು ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ.</translation>
 <translation id="2529021024822217800">ಎಲ್ಲವನ್ನೂ ತೆರೆಯಿರಿ</translation>
 <translation id="2572712655377361602">ಸಾಧನದ ನೀತಿಯೊಂದು ನಿಮ್ಮ ಫೋಟೋಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಿದೆ</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">ಹೊಸ ಫೋಲ್ಡರ್‌…</translation>
 <translation id="2903493209154104877">ವಿಳಾಸಗಳು</translation>
 <translation id="2909437209446960244">ಇತ್ತೀಚಿನ ಟ್ಯಾಬ್‌ಗಳು</translation>
+<translation id="2916171785467530738">ಸ್ವಯಂಪೂರ್ಣ ಹುಡುಕಾಟಗಳು ಮತ್ತು URLಗಳು</translation>
 <translation id="291754862089661335">ಈ ಫ್ರೇಮ್‌ನಲ್ಲಿ QR ಕೋಡ್ ಅಥವಾ ಬಾರ್‌ಕೋಡ್ ಅನ್ನು ಇರಿಸಿ</translation>
 <translation id="2921219216347069551">ಪುಟವನ್ನು ಹಂಚಲಾಗುವುದಿಲ್ಲ</translation>
 <translation id="2923448633003185837">ಅಂಟಿಸಿ ಮತ್ತು ಹೋಗಿ</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">ಕರೆ</translation>
 <translation id="4875622588773761625">ಈ ಸೈಟ್‌ಗೆ ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ <ph name="PASSWORD_MANAGER_BRAND" /> ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಬಯಸುವಿರಾ?</translation>
 <translation id="4881695831933465202">ತೆರೆ</translation>
+<translation id="4882831918239250449">ಹುಡುಕಾಟ, ಜಾಹೀರಾತುಗಳು ಮತ್ತು ಇನ್ನೂ ಹೆಚ್ಚಿನವುಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸಲು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ</translation>
 <translation id="4904877109095351937">ಓದಿದೆ ಎಂಬಂತೆ ಗುರುತಿಸಿ</translation>
 <translation id="4930268273022498155">ಪ್ರಸ್ತುತ ಡೇಟಾ ಅಳಿಸಿ. ನೀವು ಮರಳಿ <ph name="USER_EMAIL1" /> ಗೆ ಬದಲಾಯಿಸುವ ಮೂಲಕ ಅದನ್ನು ಹಿಂಪಡೆಯಬಹುದು.</translation>
 <translation id="4941089862236492464">ಕ್ಷಮಿಸಿ, ನಿಮ್ಮ ಐಟಂ ಅನ್ನು ಹಂಚುವಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ.</translation>
 <translation id="4979397965658815378">ನಿಮ್ಮ ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳು, ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಇತಿಹಾಸ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿಮ್ಮ ಎಲ್ಲಾ ಸಾಧನಗಳಲ್ಲಿ ಪಡೆಯಲು ನಿಮ್ಮ Google ಖಾತೆ ಮೂಲಕ ಸೈನ್ ಇನ್ ಮಾಡಿ</translation>
+<translation id="5004416275253351869">Google ಚಟುವಟಿಕೆ ನಿಯಂತ್ರಣಗಳು</translation>
 <translation id="5005498671520578047">ಪಾಸ್‌ವರ್ಡ್ ನಕಲಿಸಿ</translation>
 <translation id="5010803260590204777">ವೆಬ್ ಅನ್ನು ಖಾಸಗಿಯಾಗಿ ಬ್ರೌಸ್ ಮಾಡಲು ಅದೃಶ್ಯ ಟ್ಯಾಬ್ ತೆರೆಯಿರಿ.</translation>
 <translation id="5011684439661633295">ಹಾಯ್‌, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">ಹ್ಯಾಂಡ್ಆಫ್ ವೆಬ್‌ಸೈಟ್ ಈ ಸಾಧನದಲ್ಲಿ ಬ್ರೌಸ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಲು ನಂತರ ನಿಮ್ಮ Mac ನಲ್ಲಿ ಸುಲಭವಾಗಿ ಮುಂದುವರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಪ್ರಸ್ತುತ ತೆರೆದ ವೆಬ್‌ಸೈಟ್ ನಿಮ್ಮ Mac ನಲ್ಲಿನ ಡಾಕ್‌ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತದೆ.
 
 ಹ್ಯಾಂಡ್ಆಫ್ ಆನ್ನು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿನ ಸಾಮಾನ್ಯ ವಿಭಾಗದಲ್ಲಿ ಸಹ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕಾದ ಅಗತ್ಯವಿದೆ, ಹಾಗೂ ನಿಮ್ಮ ಸಾಧನಗಳು ಒಂದೇ iCloud ಖಾತೆಯನ್ನು ಬಳಸಬೇಕು.</translation>
+<translation id="5554368826343982379">ಸಿಂಕ್ ಮತ್ತು ವೈಯಕ್ತೀಕರಣ</translation>
 <translation id="5556459405103347317">ಮರುಲೋಡ್‌</translation>
 <translation id="5619279135193775234">ಮೇಲ್‌‌</translation>
 <translation id="5626245204502895507">ಈ ಸಮಯದಲ್ಲಿ ಫೈಲ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google ಡ್ರೈವ್‌‌</translation>
 <translation id="7004499039102548441">ಇತ್ತೀಚಿನ ಟ್ಯಾಬ್‌ಗಳು</translation>
 <translation id="7006788746334555276">ವಿಷಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
+<translation id="7017968314960951695">ನೀವು ಭೇಟಿ ನೀಡುವ ವೆಬ್‌ಸೈಟ್‌ಗಳ ವಿಷಯ ಮತ್ತು ಬ್ರೌಸರ್ ಚಟುವಟಿಕೆ ಹಾಗೂ ಸಂವಹನಗಳನ್ನು ವೈಯಕ್ತೀಕರಣಕ್ಕಾಗಿ ಬಳಸುತ್ತದೆ</translation>
 <translation id="7029809446516969842">ಪಾಸ್‌ವರ್ಡ್‌ಗಳು</translation>
 <translation id="7031882061095297553">ಇದಕ್ಕೆ ಸಿಂಕ್ ಮಾಡಿ</translation>
 <translation id="7053983685419859001">ನಿರ್ಬಂಧಿಸು</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">ಸಮ್ಮತಿಸಿ ಮತ್ತು ಸೈನ್ ಔಟ್ ಮಾಡಿ</translation>
 <translation id="7772032839648071052">ಪಾಸ್‌ಫ್ರೇಸ್ ಅನ್ನು ದೃಢೀಕರಿಸಿ</translation>
 <translation id="780301667611848630">ಬೇಡ, ಧನ್ಯವಾದಗಳು</translation>
+<translation id="7830720446622801252">ವೈಯಕ್ತಿಕವಲ್ಲದ ಸೇವೆಗಳು</translation>
 <translation id="7856733331829174190">ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</translation>
 <translation id="7859704718976024901">ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸ</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">ಉಳಿಸಲಾದ ಸೈಟ್‌ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅಳಿಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಹವ್ಯಾಸಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸಬಹುದು. <ph name="BEGIN_LINK" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">ಎಲ್ಲ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಮುಚ್ಚಿ</translation>
 <translation id="8114753159095730575">ಫೈಲ್‌ ಅನ್ನು ಡೌನ್‌ಲೋಡ್‌ ಮಾಡುವ ಸೌಲಭ್ಯ ಲಭ್ಯವಿದೆ. ಪರದೆಯ ಕೆಳಗಿನ ಭಾಗದಲ್ಲಿ ಆಯ್ಕೆಗಳು ಲಭ್ಯವಿವೆ.</translation>
+<translation id="8160722851663543621">ವಿಳಾಸ ಪಟ್ಟಿ ಮತ್ತು ಹುಡುಕಾಟ ಪೆಟ್ಟಿಗೆಯಿಂದ ಹುಡುಕಾಟಗಳನ್ನು ಹಾಗೂ ಕೆಲವು ಕುಕೀಗಳನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಹುಡುಕಾಟದ ಎಂಜಿನ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ</translation>
 <translation id="8205564605687841303">ರದ್ದುಮಾಡಿ</translation>
 <translation id="8225985093977202398">ಸಂಗ್ರಹಿಸಲಾಗಿರುವ ಚಿತ್ರಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳು</translation>
 <translation id="8261506727792406068">ಅಳಿಸಿ</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">ಇದರಿಂದ ಸೈನ್‌ ಇನ್‌ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="8428045167754449968">ನಗರ / ಪಟ್ಟಣ</translation>
 <translation id="8428213095426709021">ಸೆಟ್ಟಿಂಗ್‌ಗಳು</translation>
+<translation id="8438566539970814960">ಹುಡುಕಾಟಗಳನ್ನು ಮತ್ತು ಬ್ರೌಸಿಂಗ್ ಅನ್ನು ಉತ್ತಮಗೊಳಿಸುವಂತೆ ಮಾಡಿ</translation>
 <translation id="8458397775385147834">1 ಐಟಂ ಅಳಿಸಲಾಗಿದೆ</translation>
 <translation id="8487700953926739672">ಆಫ್‌ಲೈನ್ ಲಭ್ಯವಿದೆ</translation>
 <translation id="8503813439785031346">ಬಳಕೆದಾರಹೆಸರು</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index 6539541..e437aea 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Nuskaitykite QR kodą</translation>
 <translation id="1580783302095112590">El. laiškas išsiųstas.</translation>
 <translation id="1582732959743469162">Bus sustabdytas dabartinis atsisiuntimas.</translation>
+<translation id="1605658421715042784">Kopijuoti vaizdą</translation>
 <translation id="1612730193129642006">Rodyti skirtuko tinklelį</translation>
 <translation id="1644574205037202324">Istorija</translation>
 <translation id="1646446875146297738">Įgalinus „Nestebėti“, į naršymo srautą bus įtraukta užklausa. Bet koks poveikis priklauso nuo to, ar svetainė atsako į užklausą ir kaip ji interpretuojama.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Ištrinti aplanką</translation>
 <translation id="1813414402673211292">Išvalyti naršymo duomenis</translation>
 <translation id="1820259098641718022">Pridėta prie skaitymo sąrašo</translation>
+<translation id="1821253160463689938">Naudojami slapukai, siekiant įsiminti jūsų nuostatas, net jei nesilankote tuose puslapiuose</translation>
 <translation id="1876721852596493031">Siųsti naud. duom.</translation>
 <translation id="1886928167269928266">Laiko pradžia</translation>
 <translation id="1911619930368729126">Įkelti į „Google“ diską</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Užkl. dėl svet. v. komp.</translation>
 <translation id="2103075008456228677">Atidaryti history.google.com</translation>
 <translation id="2116625576999540962">Perkelta elementų: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Veikla ir sąveikos</translation>
 <translation id="213900355088104901">Kad galėtumėte naršyti privačiai, atidarykite inkognito skirtuką</translation>
 <translation id="2149973817440762519">Redaguoti žymes</translation>
 <translation id="2230173723195178503">TInklalapis įkeltas</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Pasirinkta: 1</translation>
 <translation id="2435457462613246316">Rodyti slaptažodį</translation>
 <translation id="2481538920734869610">PRIDĖTI PASKYRĄ</translation>
+<translation id="2523184218357549926">Siunčiami „Google“ puslapių, kuriuose lankotės, URL</translation>
 <translation id="2523363575747517183">Ši svetainė pakartotinai bando atidaryti kitą programą.</translation>
 <translation id="2529021024822217800">Atidaryti viską</translation>
 <translation id="2572712655377361602">Pagal įrenginio politiką prieiga prie nuotraukų buvo užblokuota</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Naujas aplankas...</translation>
 <translation id="2903493209154104877">Adresai</translation>
 <translation id="2909437209446960244">Naujausi skirtukai</translation>
+<translation id="2916171785467530738">Automatiškai užbaigti paieškas ir URL</translation>
 <translation id="291754862089661335">QR arba brūkšninis kodas turėtų būti rodomas šiame rėmelyje</translation>
 <translation id="2921219216347069551">Neįman. bendr. pusl.</translation>
 <translation id="2923448633003185837">Įklijuoti ir eiti</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Skambinti</translation>
 <translation id="4875622588773761625">Ar norite, kad „<ph name="PASSWORD_MANAGER_BRAND" />“ atnaujintų šios svetainės slaptažodį?</translation>
 <translation id="4881695831933465202">Atidaryti</translation>
+<translation id="4882831918239250449">Naršymo istorijos naudojimo paieškai, skelbimams ir kitoms funkcijoms suasmeninti valdymas</translation>
 <translation id="4904877109095351937">Pažymėti kaip skaitytus</translation>
 <translation id="4930268273022498155">Ištrinti esamus duomenis. Juos galite gauti perjungę atgal į <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Apgailestaujame, bendrinant elementą kilo problema.</translation>
 <translation id="4979397965658815378">Prisijunkite naudodami „Google“ paskyrą, kad gautumėte žymes, slaptažodžius, istoriją ir kitus nustatymus visuose įrenginiuose</translation>
+<translation id="5004416275253351869">„Google“ veiklos valdikliai</translation>
 <translation id="5005498671520578047">Kopijuoti slaptažodį</translation>
 <translation id="5010803260590204777">Norėdami naršyti žiniatinklį privačiai, atidarykite inkognito skirtuką.</translation>
 <translation id="5011684439661633295">Sveiki, <ph name="FULL_ACCOUNT_NAME" />!</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Naudodami „Handoff“ galite pradėti naršyti svetainę šiame įrenginyje ir lengvai tęsti darbą „Mac“ įrenginiu. Dabartinė atidaryta svetainė bus rodoma „Mac“ įrenginio doke.
 
 Be to, reikia įgalinti „Handoff“ nustatymų skiltyje „Bendrieji“, o įrenginiuose turi būti naudojama ta pati „iCloud“ paskyra.</translation>
+<translation id="5554368826343982379">Sinchronizavimas ir suasmeninimas</translation>
 <translation id="5556459405103347317">Įkelti iš naujo</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Šiuo metu negalima atsisiųsti programos.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">„Google“ diskas</translation>
 <translation id="7004499039102548441">Naujausi skirtukai</translation>
 <translation id="7006788746334555276">Turinio nustatymai</translation>
+<translation id="7017968314960951695">Naudojamas svetainių, kuriose lankotės, turinys ir naršymo veikla bei sąveikos suasmeninimo tikslais</translation>
 <translation id="7029809446516969842">Slaptažodžiai</translation>
 <translation id="7031882061095297553">Sinchronizavimas su</translation>
 <translation id="7053983685419859001">Blokuoti</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Sutikti ir atsijungti</translation>
 <translation id="7772032839648071052">Patvirtinti slaptafrazę</translation>
 <translation id="780301667611848630">Ačiū, ne</translation>
+<translation id="7830720446622801252">Nesuasmenintos paslaugos</translation>
 <translation id="7856733331829174190">Nepavyko atsisiųsti</translation>
 <translation id="7859704718976024901">Naršymo istorija</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Išsaugoti svetainių nustatymai nebus ištrinti ir gali nurodyti naršymo įpročius. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Uždaryti visus skirtukus</translation>
 <translation id="8114753159095730575">Galima atsisiųsti failą. Parinktys pasiekiamos netoli ekrano apačios.</translation>
+<translation id="8160722851663543621">Numatytajam paieškos varikliui siunčiamos į adreso juostą ir paieškos laukelį įvestos paieškos ir kai kurie slapukai</translation>
 <translation id="8205564605687841303">Atšaukti</translation>
 <translation id="8225985093977202398">Talp. vaiz. ir fail.</translation>
 <translation id="8261506727792406068">Ištrinti</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Prisijungta naudojant</translation>
 <translation id="8428045167754449968">Didm. / miest.</translation>
 <translation id="8428213095426709021">Nustatymai</translation>
+<translation id="8438566539970814960">Tobulinti paieškas ir naršymą</translation>
 <translation id="8458397775385147834">Ištrinta elementų: 1</translation>
 <translation id="8487700953926739672">Pasiekiama neprisijungus</translation>
 <translation id="8503813439785031346">Vartotojo vardas</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index 84cdd30a..69a5be3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Skenējiet QR kodu</translation>
 <translation id="1580783302095112590">E-pasts nosūtīts.</translation>
 <translation id="1582732959743469162">Šādi tiks pārtraukta pašreizējās lejupielādes norise.</translation>
+<translation id="1605658421715042784">Kopēt attēlu</translation>
 <translation id="1612730193129642006">Rādīt ciļņu režģi</translation>
 <translation id="1644574205037202324">Vēsture</translation>
 <translation id="1646446875146297738">Iespējojot opciju “Nesekot”, jūsu pārlūkošanas datplūsmā tiks iekļauts pieprasījums. Jebkāda veida ietekme ir atkarīga no tā, vai vietne atbild uz pieprasījumu un kā pieprasījums tiek interpretēts.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Dzēst mapi</translation>
 <translation id="1813414402673211292">Dzēst pārlūkošanas datus</translation>
 <translation id="1820259098641718022">Pievienota lasīšanas sarakstam</translation>
+<translation id="1821253160463689938">Izmanto sīkfailus, lai iegaumētu jūsu preferences, pat ja neapmeklējāt šīs lapas</translation>
 <translation id="1876721852596493031">Sūtīt liet. datus</translation>
 <translation id="1886928167269928266">No paša sākuma</translation>
 <translation id="1911619930368729126">Augšupielādēt Google diskā</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Pieprasīt datora vietni</translation>
 <translation id="2103075008456228677">Atvērt history.google.com</translation>
 <translation id="2116625576999540962">Pārvietoti vienumi: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Darbības un mijiedarbības</translation>
 <translation id="213900355088104901">Lai pārlūkotu tīmekli privāti, atveriet inkognito režīma cilni.</translation>
 <translation id="2149973817440762519">Rediģēt grāmatzīmes</translation>
 <translation id="2230173723195178503">Tīmekļa lapa ielādēta</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Atlasīts 1 fotoattēls</translation>
 <translation id="2435457462613246316">Rādīt paroli</translation>
 <translation id="2481538920734869610">PIEVIENOT KONTU</translation>
+<translation id="2523184218357549926">Nosūta Google serveriem apmeklēto lapu vietrāžus URL</translation>
 <translation id="2523363575747517183">Šī vietne atkārtoti mēģina atvērt citu lietojumprogrammu.</translation>
 <translation id="2529021024822217800">Atvērt visas</translation>
 <translation id="2572712655377361602">Ierīces politikas dēļ tika bloķēta piekļuve jūsu fotoattēliem.</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Jauna mape...</translation>
 <translation id="2903493209154104877">Adreses</translation>
 <translation id="2909437209446960244">Pēdējās cilnes</translation>
+<translation id="2916171785467530738">Automātiski pabeigt meklēšanas vaicājumus un vietrāžus URL</translation>
 <translation id="291754862089661335">Novietojiet QR kodu vai svītrkodu šajā ietvarā.</translation>
 <translation id="2921219216347069551">Nevar kopīgot lapu</translation>
 <translation id="2923448633003185837">Ielīmēt un pāriet</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Zvanīt</translation>
 <translation id="4875622588773761625">Vai vēlaties, lai <ph name="PASSWORD_MANAGER_BRAND" /> atjauninātu jūsu paroli šai vietnei?</translation>
 <translation id="4881695831933465202">Atvērt</translation>
+<translation id="4882831918239250449">Kontrolējiet, kā jūsu pārlūkošanas vēsture tiek izmantota Meklēšanas, reklāmu un cita satura personalizēšanai</translation>
 <translation id="4904877109095351937">Atzīmēt kā izlasītus</translation>
 <translation id="4930268273022498155">Dzēst esošos datus. Varat tos izgūt, pārslēdzoties atpakaļ uz kontu <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Diemžēl, kopīgojot jūsu vienumu, radās problēma.</translation>
 <translation id="4979397965658815378">Pierakstieties Google kontā, lai izmantotu savas grāmatzīmes, paroles, vēsturi un citus Chrome datus visās jūsu ierīcēs.</translation>
+<translation id="5004416275253351869">Google aktivitātes vadīklas</translation>
 <translation id="5005498671520578047">Paroles kopēšana</translation>
 <translation id="5010803260590204777">Atveriet inkognito režīma cilni, lai privāti pārlūkotu tīmekli.</translation>
 <translation id="5011684439661633295">Sveiki, <ph name="FULL_ACCOUNT_NAME" />!</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Izmantojot funkciju Handoff, varat pārlūkot vietni šajā ierīcē un pēc tam turpināt pārlūkošanu Mac datorā. Atvērtā vietne būs redzama Mac datora ikonjoslā Dock.
 
 Funkcija Handoff ir jāiespējo arī iestatījumu sadaļā General (Vispārīgi), un ierīcēm ir jāizmanto viens iCloud konts.</translation>
+<translation id="5554368826343982379">Sinhronizēšana un personalizācija</translation>
 <translation id="5556459405103347317">Pārlādēt</translation>
 <translation id="5619279135193775234">Pasts</translation>
 <translation id="5626245204502895507">Pašlaik failu nevar lejupielādēt.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google disks</translation>
 <translation id="7004499039102548441">Nesen atvērtas cilnes</translation>
 <translation id="7006788746334555276">Satura iestatījumi</translation>
+<translation id="7017968314960951695">Izmanto personalizācijai jūsu apmeklēto vietņu saturu, kā arī darbības un mijiedarbības pārlūkā</translation>
 <translation id="7029809446516969842">Paroles</translation>
 <translation id="7031882061095297553">Sinhronizēt ar:</translation>
 <translation id="7053983685419859001">Bloķēt</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Piekrist un izrakstīties</translation>
 <translation id="7772032839648071052">Apstipriniet ieejas frāzi</translation>
 <translation id="780301667611848630">Nē, paldies</translation>
+<translation id="7830720446622801252">Nepersonalizētie pakalpojumi</translation>
 <translation id="7856733331829174190">Lejupielāde neizdevās</translation>
 <translation id="7859704718976024901">Pārlūkošanas vēsture</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Saglabātie vietņu iestatījumi netiks dzēsti, un tie var atspoguļot jūsu pārlūkošanas ieradumus. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation>
 <translation id="8080028325999236607">Aizvērt visas cilnes</translation>
 <translation id="8114753159095730575">Pieejama failu lejupielāde. Pieejamās opcijas redzamas ekrāna apakšdaļā.</translation>
+<translation id="8160722851663543621">Nosūta meklēšanas vaicājumus no adreses joslas un meklēšanas lodziņa, kā arī dažus sīkfailus uz jūsu noklusējuma meklētājprogrammu</translation>
 <translation id="8205564605687841303">Atcelt</translation>
 <translation id="8225985093977202398">Kešatmiņa</translation>
 <translation id="8261506727792406068">Dzēst</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Pierakstījies kā</translation>
 <translation id="8428045167754449968">Pilsēta/ciems</translation>
 <translation id="8428213095426709021">Iestatījumi</translation>
+<translation id="8438566539970814960">Uzlabot meklēšanu un pārlūkošanu</translation>
 <translation id="8458397775385147834">Tika dzēsts 1 vienums.</translation>
 <translation id="8487700953926739672">Pieejams bezsaistē</translation>
 <translation id="8503813439785031346">Lietotājvārds</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index 97408f1..cbc5a6e8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR കോഡ് സ്‌കാൻ ചെയ്യുക</translation>
 <translation id="1580783302095112590">മെയിൽ അയച്ചു.</translation>
 <translation id="1582732959743469162">ഇത്, നിലവിലെ ഡൗൺലോഡിന്റെ എല്ലാ പുരോഗതിയും നിർത്തും.</translation>
+<translation id="1605658421715042784">ചിത്രം പകർത്തുക</translation>
 <translation id="1612730193129642006">ടാബ് ഗ്രിഡ് കാണിക്കുക</translation>
 <translation id="1644574205037202324">ചരിത്രം</translation>
 <translation id="1646446875146297738">നിങ്ങളുടെ ബ്രൗസിംഗ് ട്രാഫിക്കിൽ ഒരു അഭ്യർത്ഥന ഉൾപ്പെടുത്തുമെന്നാണ് "ട്രാക്ക് ചെയ്യരുത്" പ്രവർത്തനക്ഷമമാക്കുന്നതിലൂടെ അർത്ഥമാക്കുന്നത്. ഒരു വെബ്‌സൈറ്റ്, അഭ്യർത്ഥനയിന്മേൽ പ്രതികരിക്കുന്നോ എന്നതിനേയും അഭ്യർത്ഥന വ്യാഖ്യാനിക്കുന്നതെങ്ങനെ എന്നതിനേയും ആശ്രയിച്ചുള്ളതായിരിക്കും ഏതൊരു ഇഫക്റ്റും.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">ഫോൾഡർ ഇല്ലാതാക്കുക</translation>
 <translation id="1813414402673211292">ബ്രൌസിംഗ് ഡാറ്റാ മായ്ക്കുക...</translation>
 <translation id="1820259098641718022">വായനാ ലിസ്റ്റിൽ ചേർത്തു</translation>
+<translation id="1821253160463689938">നിങ്ങൾ ആ പേജുകൾ സന്ദർശിക്കുന്നില്ലെങ്കിൽ പോലും, നിങ്ങളുടെ മുൻഗണനകൾ ഓർമ്മിക്കുന്നതിന് കുക്കികളെ ഉപയോഗിക്കുന്നു</translation>
 <translation id="1876721852596493031">ഉപയോഗ ഡാറ്റ അയയ്ക്കൂ</translation>
 <translation id="1886928167269928266">തുടക്കം മുതൽ</translation>
 <translation id="1911619930368729126">Google ഡ്രൈവിലേക്ക് അപ്‌ലോഡുചെയ്യുക</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">ഡെസ്‌ക്‌ടോപ്പ് സൈറ്റ് അഭ്യർത്ഥിക്കുക</translation>
 <translation id="2103075008456228677">history.google.com തുറക്കുക</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> ഇനങ്ങൾ നീക്കി</translation>
+<translation id="2120297377148151361">പ്രവർത്തനവും ആശയവിനിമയങ്ങളും</translation>
 <translation id="213900355088104901">സ്വകാര്യമായി ബ്രൗസ് ചെയ്യാൻ, ഒരു അദൃശ്യ ടാബ് തുറക്കുക</translation>
 <translation id="2149973817440762519">ബുക്മാര്‍ക്ക് എഡിറ്റ് ചെയ്യുക</translation>
 <translation id="2230173723195178503">വെബ്‌പേജ് ലോഡുചെയ്‌തു</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 തിരഞ്ഞെടുത്തു</translation>
 <translation id="2435457462613246316">പാസ്‌വേഡ് കാണിക്കുക</translation>
 <translation id="2481538920734869610">അക്കൗണ്ട് ചേർക്കുക</translation>
+<translation id="2523184218357549926">Google-ൽ നിങ്ങൾ സന്ദർശിക്കുന്ന പേജുകളുടെ URL-കൾ അയയ്ക്കുന്നു</translation>
 <translation id="2523363575747517183">മറ്റൊരു അപ്ലിക്കേഷൻ തുറക്കാൻ ഈ വെബ്‌സൈറ്റ് ആവർത്തിച്ച് ശ്രമിക്കുന്നു.</translation>
 <translation id="2529021024822217800">എല്ലാം തുറക്കുക</translation>
 <translation id="2572712655377361602">ഒരു ഉപകരണ നയം, നിങ്ങളുടെ ഫോട്ടോകളിലേക്കുള്ള ആക്‌സസ്സ് ബ്ലോക്കുചെയ്‌തിരിക്കുന്നു</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">പുതിയ ഫോൾഡർ…</translation>
 <translation id="2903493209154104877">വിലാസങ്ങള്‍‌</translation>
 <translation id="2909437209446960244">സമീപകാല ടാബുകൾ</translation>
+<translation id="2916171785467530738">സ്വമേധയായുള്ള തിരയലുകളും URL-കളും</translation>
 <translation id="291754862089661335">ഈ ഫ്രെയിമിൽ QR കോഡോ ബാർ‌കോഡോ സ്ഥാപിക്കുക</translation>
 <translation id="2921219216347069551">പേജ് പങ്കിടാൻ കഴിയില്ല</translation>
 <translation id="2923448633003185837">ഒട്ടിച്ചാൽ മാത്രം മതി</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">വിളിക്കുക</translation>
 <translation id="4875622588773761625">ഈ സൈറ്റിനായി നിങ്ങളുടെ പാസ്‌വേഡ് <ph name="PASSWORD_MANAGER_BRAND" /> അപ്‌ഡേറ്റുചെയ്യണോ?</translation>
 <translation id="4881695831933465202">തുറക്കുക</translation>
+<translation id="4882831918239250449">നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രത്തെ തിരയൽ, പരസ്യങ്ങൾ എന്നിവയും മറ്റും വ്യക്തിപരമാക്കുന്ന വിധം നിയന്ത്രിക്കുക</translation>
 <translation id="4904877109095351937">വായിച്ചതായി അടയാളപ്പെടുത്തുക</translation>
 <translation id="4930268273022498155">നിലവിലുള്ള വിവരങ്ങൾ ഇല്ലാതാക്കുക. <ph name="USER_EMAIL1" /> എന്നതിലേക്ക് വീണ്ടും മാറുന്നതിലൂടെ നിങ്ങൾക്ക് ഇത് വീണ്ടെടുക്കാം.</translation>
 <translation id="4941089862236492464">ക്ഷമിക്കണം, നിങ്ങളുടെ ഇനം പങ്കിടുന്നതിൽ ഒരു പ്രശ്‌നമുണ്ടായിരുന്നു.</translation>
 <translation id="4979397965658815378">എല്ലാ ഉപകരണങ്ങളിലും നിങ്ങളുടെ ബുക്ക്‌മാർക്കുകൾ, പാസ്‌വേഡുകൾ, ചരിത്രം, മറ്റ് ക്രമീകരണം എന്നിവ ലഭിക്കാൻ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക</translation>
+<translation id="5004416275253351869">Google പ്രവർത്തന നിയന്ത്രണങ്ങൾ</translation>
 <translation id="5005498671520578047">പാസ്‌വേഡ് പകർത്തുക</translation>
 <translation id="5010803260590204777">വെബ് സ്വകാര്യമായി ബ്രൗസുചെയ്യാൻ ഒരു ആൾമാറാട്ട ടാബ് തുറക്കുക.</translation>
 <translation id="5011684439661633295">ഹായ്, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">ഈ ഉപകരണത്തിൽ ഒരു വെബ്‌സൈറ്റ് ബ്രൗസുചെയ്യാൻ ആരംഭിച്ചതിനുശേഷം Mac-ൽ എളുപ്പത്തിൽ തുടരാൻ 'ഹാൻഡ്ഓഫ്' അനുവദിക്കുന്നു. നിലവിൽ തുറന്ന വെബ്‌സൈറ്റ് നിങ്ങളുടെ Mac-ന്റെ ഡോക്കിൽ ദൃശ്യമാകും.
 
 ക്രമീകരണത്തിന്റെ പൊതു വിഭാഗത്തിലും Handoff പ്രവർത്തനക്ഷമമായിരിക്കുകയും നിങ്ങളുടെ ഉപകരണങ്ങൾ ഒരേ iCloud അക്കൗണ്ട് തന്നെ ഉപയോഗിക്കുകയും വേണം.</translation>
+<translation id="5554368826343982379">സമന്വയിപ്പിക്കലും വ്യക്തിപരമാക്കലും</translation>
 <translation id="5556459405103347317">വീണ്ടും ലോഡുചെയ്യുക</translation>
 <translation id="5619279135193775234">മെയിൽ</translation>
 <translation id="5626245204502895507">ഫയൽ ഇപ്പോൾ ഡൗൺലോഡുചെയ്യാൻ കഴിയില്ല.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google ഡ്രൈവ്</translation>
 <translation id="7004499039102548441">സമീപകാല ടാബുകൾ</translation>
 <translation id="7006788746334555276">ഉള്ളടക്ക ക്രമീകരണങ്ങള്‍‌</translation>
+<translation id="7017968314960951695">നിങ്ങൾ സന്ദർശിക്കുന്ന സൈറ്റുകളിലെ ഉള്ളടക്കവും, ബ്രൗസർ പ്രവർത്തനവും ആശയവിനിമയങ്ങളും വ്യക്തിപരമാക്കാൻ ഉപയോഗിക്കുന്നു</translation>
 <translation id="7029809446516969842">പാസ്‌വേഡുകള്‍</translation>
 <translation id="7031882061095297553">ഇതിലേക്ക് സമന്വയിപ്പിക്കുക</translation>
 <translation id="7053983685419859001">തടയുക</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">അംഗീകരിച്ചശേഷം, സൈൻ ഔട്ട് ചെയ്യുക</translation>
 <translation id="7772032839648071052">പാസ്ഫ്രേസ് സ്ഥിരീകരിക്കുക</translation>
 <translation id="780301667611848630">വേണ്ട നന്ദി</translation>
+<translation id="7830720446622801252">വ്യക്തിപരമല്ലാത്ത സേവനങ്ങൾ</translation>
 <translation id="7856733331829174190">ഡൗൺലോഡ് ചെയ്യാനായില്ല</translation>
 <translation id="7859704718976024901">ബ്രൗസിംഗ് ചരിത്രം</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">സംരക്ഷിച്ച സൈറ്റ് ക്രമീകരണം ഇല്ലാതാക്കപ്പെടില്ല, ഇത് നിങ്ങളുടെ ബ്രൗസിംഗ് രീതികളെ പ്രതിഫലിപ്പിക്കാനുമിടയുണ്ട്. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">എല്ലാ ടാബുകളും അടയ്‌ക്കുക</translation>
 <translation id="8114753159095730575">ഫയൽ ഡൗൺലോഡ് ചെയ്യൽ ലഭ്യമാണ്. സ്ക്രീനിന്റെ ചുവടെ ഓപ്ഷനുകളുണ്ട്.</translation>
+<translation id="8160722851663543621">നിങ്ങളുടെ ഡിഫോൾട്ട് തിരയൽ എഞ്ചിനിലേക്ക് വിലാസ ബാറിൽ നിന്നും തിരയൽ ബോക്‌സിൽ നിന്നുമുള്ള തിരയലുകളും കുറച്ച് കുക്കികളും അയയ്ക്കുന്നു</translation>
 <translation id="8205564605687841303">റദ്ദാക്കുക</translation>
 <translation id="8225985093977202398">കാഷെ ചെയ്‌ത ചിത്രങ്ങളും ഫയലുകളും</translation>
 <translation id="8261506727792406068">ഇല്ലാതാക്കുക</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">ഇതുപയോഗിച്ച് സൈൻ ഇൻ ചെയ്‌‌തു</translation>
 <translation id="8428045167754449968">നഗരം / പട്ടണം</translation>
 <translation id="8428213095426709021">ക്രമീകരണങ്ങള്‍</translation>
+<translation id="8438566539970814960">തിരയലുകളും ബ്രൗസിംഗും മികച്ചതാക്കുക</translation>
 <translation id="8458397775385147834">ഒരു ഇനം ഇല്ലാതാക്കി</translation>
 <translation id="8487700953926739672">ഓഫ്‌ലൈനില്‍ ലഭ്യമാണ്</translation>
 <translation id="8503813439785031346">ഉപയോക്തൃനാമം</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index e57afe5c..284db25e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Imbas Kod QR</translation>
 <translation id="1580783302095112590">Mel dihantar.</translation>
 <translation id="1582732959743469162">Ini akan menghentikan semua kemajuan bagi muat turun semasa anda.</translation>
+<translation id="1605658421715042784">Salin Imej</translation>
 <translation id="1612730193129642006">Tunjukkan Grid Tab</translation>
 <translation id="1644574205037202324">Sejarah</translation>
 <translation id="1646446875146297738">Mendayakan ‘Jangan Kesan’ bermakna permintaan akan dimasukkan dengan trafik penyemakan imbas anda. Sebarang kesan bergantung pada sama ada tapak web menyambut permintaan tersebut dan cara permintaan tersebut ditafsirkan.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Padam Folder</translation>
 <translation id="1813414402673211292">Kosongkan Data Semakan Imbas</translation>
 <translation id="1820259098641718022">Ditambahkan pada Senarai Bacaan</translation>
+<translation id="1821253160463689938">Menggunakan kuki untuk mengingati pilihan anda, walaupun anda tidak melawati halaman tersebut</translation>
 <translation id="1876721852596493031">Hantar Data Penggunaan</translation>
 <translation id="1886928167269928266">Permulaan Masa</translation>
 <translation id="1911619930368729126">Muat naik ke Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Minta Tapak Desktop</translation>
 <translation id="2103075008456228677">Buka history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> item dialihkan</translation>
+<translation id="2120297377148151361">Aktiviti dan interaksi</translation>
 <translation id="213900355088104901">Untuk menyemak imbas secara tertutup, buka tab inkognito</translation>
 <translation id="2149973817440762519">Edit Penanda Halaman</translation>
 <translation id="2230173723195178503">Halaman web dimuatkan</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 dipilih</translation>
 <translation id="2435457462613246316">Paparkan kata laluan</translation>
 <translation id="2481538920734869610">TAMBAH AKAUN</translation>
+<translation id="2523184218357549926">Menghantar URL halaman yang anda lawati kepada Google</translation>
 <translation id="2523363575747517183">Tapak web ini berulang kali cuba membuka aplikasi lain.</translation>
 <translation id="2529021024822217800">Buka Semua</translation>
 <translation id="2572712655377361602">Dasar peranti menyekat akses ke foto anda</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Folder Baharu…</translation>
 <translation id="2903493209154104877">Alamat</translation>
 <translation id="2909437209446960244">Tab Terbaharu</translation>
+<translation id="2916171785467530738">Autolengkap Carian dan URL</translation>
 <translation id="291754862089661335">Letakkan kod QR atau kod bar dalam bingkai ini</translation>
 <translation id="2921219216347069551">Tidak Boleh Berkongsi Halaman</translation>
 <translation id="2923448633003185837">Tampal dan Pergi</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Hubungi</translation>
 <translation id="4875622588773761625">Adakah anda ingin <ph name="PASSWORD_MANAGER_BRAND" /> mengemaskinikan kata laluan anda untuk tapak ini?</translation>
 <translation id="4881695831933465202">Buka</translation>
+<translation id="4882831918239250449">Kawal cara sejarah penyemakan imbas anda digunakan untuk memperibadikan Carian, iklan dan pelbagai lagi</translation>
 <translation id="4904877109095351937">Tandakan Dibaca</translation>
 <translation id="4930268273022498155">Padam data sedia ada. Anda boleh mendapatkannya semula dengan beralih semula kepada <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Maaf, terdapat masalah mengongsi item anda.</translation>
 <translation id="4979397965658815378">Log masuk dengan Akaun Google anda untuk mendapatkan penanda halaman, kata laluan, sejarah dan tetapan anda yang lain pada semua peranti anda</translation>
+<translation id="5004416275253351869">Kawalan aktiviti Google</translation>
 <translation id="5005498671520578047">Salin kata laluan</translation>
 <translation id="5010803260590204777">Buka tab inkognito untuk menyemak imbas web secara sulit.</translation>
 <translation id="5011684439661633295">Hai, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Ciri Serah membolehkan anda mula menyemak imbas tapak web pada peranti ini, kemudian meneruskannya pada Mac anda dengan mudah. Tapak web yang dibuka pada masa ini akan muncul dalam Dock Mac anda.
 
 Serah mestilah turut didayakan dalam bahagian Umum pada Tetapan dan peranti anda mestilah menggunakan akaun iCloud yang sama.</translation>
+<translation id="5554368826343982379">Penyegerakan dan Pemeribadian</translation>
 <translation id="5556459405103347317">Muat Semula</translation>
 <translation id="5619279135193775234">Mel</translation>
 <translation id="5626245204502895507">Fail tidak boleh dimuat turun pada masa ini.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Tab Terbaharu</translation>
 <translation id="7006788746334555276">Tetapan Kandungan</translation>
+<translation id="7017968314960951695">Menggunakan kandungan di tapak yang anda lawati dan aktiviti serta interaksi penyemak imbas untuk pemperibadian</translation>
 <translation id="7029809446516969842">Kata laluan</translation>
 <translation id="7031882061095297553">Segerakkan ke</translation>
 <translation id="7053983685419859001">Sekat</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Terima dan log keluar</translation>
 <translation id="7772032839648071052">Sahkan frasa laluan</translation>
 <translation id="780301667611848630">Tidak, terima kasih</translation>
+<translation id="7830720446622801252">Perkhidmatan Tidak Diperibadikan</translation>
 <translation id="7856733331829174190">Tidak Dapat Memuat Turun</translation>
 <translation id="7859704718976024901">Sejarah Penyemakan Imbas</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Tetapan tapak yang disimpan tidak akan dipadamkan dan mungkin mencerminkan tabiat semak imbas anda. <ph name="BEGIN_LINK" />Ketahui lebih lanjut<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Tutup Semua Tab</translation>
 <translation id="8114753159095730575">Muat turun fail tersedia. Pilihan tersedia di bahagian bawah skrin.</translation>
+<translation id="8160722851663543621">Menghantar carian daripada bar alamat dan kotak carian serta beberapa kuki ke enjin carian lalai anda</translation>
 <translation id="8205564605687841303">Batal</translation>
 <translation id="8225985093977202398">Imej dan Fail Dicache</translation>
 <translation id="8261506727792406068">Padam</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Dilog Masuk dengan</translation>
 <translation id="8428045167754449968">Bandar / Pekan</translation>
 <translation id="8428213095426709021">Tetapan</translation>
+<translation id="8438566539970814960">Mempertingkatkan carian dan penyemakan imbas</translation>
 <translation id="8458397775385147834">1 item dipadamkan</translation>
 <translation id="8487700953926739672">Tersedia di luar talian</translation>
 <translation id="8503813439785031346">Nama pengguna</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index ef68b07..fd7ef02 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">QR-code scannen</translation>
 <translation id="1580783302095112590">E-mail verzonden.</translation>
 <translation id="1582732959743469162">Hiermee wordt de voortgang van de huidige download gestopt.</translation>
+<translation id="1605658421715042784">Afbeelding kopiëren</translation>
 <translation id="1612730193129642006">Tabbladraster weergeven</translation>
 <translation id="1644574205037202324">Geschiedenis</translation>
 <translation id="1646446875146297738">Als je 'Niet bijhouden' inschakelt, wordt hiervoor een verzoek opgenomen in je browseverkeer. Het resultaat daarvan hangt af van of een website reageert op het verzoek en hoe het verzoek wordt geïnterpreteerd.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Map verwijderen</translation>
 <translation id="1813414402673211292">Browsegegevens wissen</translation>
 <translation id="1820259098641718022">Toegevoegd aan leeslijst</translation>
+<translation id="1821253160463689938">Maakt gebruik van cookies om je voorkeuren te onthouden, zelfs als je deze pagina's niet bezoekt</translation>
 <translation id="1876721852596493031">Gebruiksgegevens verzenden</translation>
 <translation id="1886928167269928266">Het eerste gebruik</translation>
 <translation id="1911619930368729126">Uploaden naar Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Desktopsite opvragen</translation>
 <translation id="2103075008456228677">history.google.com openen</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> items verplaatst</translation>
+<translation id="2120297377148151361">Activiteit en interacties</translation>
 <translation id="213900355088104901">Open een incognitotabblad om privé te browsen</translation>
 <translation id="2149973817440762519">Bladwijzer bewerken</translation>
 <translation id="2230173723195178503">Webpagina geladen</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 geselecteerd</translation>
 <translation id="2435457462613246316">Wachtwoord weergeven</translation>
 <translation id="2481538920734869610">ACCOUNT TOEV.</translation>
+<translation id="2523184218357549926">Hiermee worden de URL's van pagina's die je bezoekt, verzonden naar Google</translation>
 <translation id="2523363575747517183">Deze website probeert herhaaldelijk een andere app te openen.</translation>
 <translation id="2529021024822217800">Alles openen</translation>
 <translation id="2572712655377361602">Een apparaatbeleid blokkeert toegang tot je foto's</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nieuwe map…</translation>
 <translation id="2903493209154104877">Adressen</translation>
 <translation id="2909437209446960244">Recente tabbladen</translation>
+<translation id="2916171785467530738">Zoekopdrachten en URL's automatisch aanvullen</translation>
 <translation id="291754862089661335">Positioneer de QR-/streepjescode binnen dit kader</translation>
 <translation id="2921219216347069551">Kan pagina niet delen</translation>
 <translation id="2923448633003185837">Plakken en zoeken</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Bellen</translation>
 <translation id="4875622588773761625">Wil je dat <ph name="PASSWORD_MANAGER_BRAND" /> je wachtwoord voor deze site updatet?</translation>
 <translation id="4881695831933465202">Openen</translation>
+<translation id="4882831918239250449">Beheren hoe je browsegeschiedenis wordt gebruikt om Google Zoeken, advertenties en meer te personaliseren</translation>
 <translation id="4904877109095351937">Markeren als gelezen</translation>
 <translation id="4930268273022498155">Bestaande gegevens verwijderen. Je kunt ze terugkrijgen door weer over te schakelen naar <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Er is een probleem opgetreden bij het delen van je item.</translation>
 <translation id="4979397965658815378">Log in met je Google-account om je bladwijzers, wachtwoorden, geschiedenis en andere instellingen op al je apparaten te gebruiken</translation>
+<translation id="5004416275253351869">Google-activiteitsopties</translation>
 <translation id="5005498671520578047">Wachtwoord kopiëren</translation>
 <translation id="5010803260590204777">Open een incognitotabblad om privé op internet te surfen.</translation>
 <translation id="5011684439661633295">Hallo, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Met Handoff kun je een website browsen op dit apparaat en vervolgens gemakkelijk doorgaan op je Mac. De momenteel geopende website wordt weergegeven in het Dock van je Mac.
 
 Handoff moet ook zijn ingeschakeld in het gedeelte 'Algemeen' van 'Instellingen' en je apparaten moeten hetzelfde iCloud-account gebruiken.</translation>
+<translation id="5554368826343982379">Synchronisatie en personalisatie</translation>
 <translation id="5556459405103347317">Opnieuw laden</translation>
 <translation id="5619279135193775234">E-mail</translation>
 <translation id="5626245204502895507">Het bestand kan momenteel niet worden gedownload.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Recent gebruikte tabbladen</translation>
 <translation id="7006788746334555276">Instellingen voor content</translation>
+<translation id="7017968314960951695">Maakt gebruik van content op sites die je bezoekt en browseractiviteit en interacties voor personalisatie</translation>
 <translation id="7029809446516969842">Wachtwoorden</translation>
 <translation id="7031882061095297553">Synchroniseren met</translation>
 <translation id="7053983685419859001">Blokkeren</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Accepteren en uitloggen</translation>
 <translation id="7772032839648071052">Bevestig de wachtwoordzin</translation>
 <translation id="780301667611848630">Nee, bedankt</translation>
+<translation id="7830720446622801252">Niet-gepersonaliseerde services</translation>
 <translation id="7856733331829174190">Kan niet downloaden</translation>
 <translation id="7859704718976024901">Browsegeschiedenis</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Opgeslagen site-instellingen worden niet verwijderd en kunnen je browsegedrag weerspiegelen. <ph name="BEGIN_LINK" />Meer informatie<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Alle tabbladen sluiten</translation>
 <translation id="8114753159095730575">Bestand downloaden is beschikbaar. Opties beschikbaar onderaan het scherm.</translation>
+<translation id="8160722851663543621">Hiermee worden de zoekopdrachten in de adresbalk en in het zoekvak en bepaalde cookies verzonden naar je standaard zoekmachine</translation>
 <translation id="8205564605687841303">Annuleren</translation>
 <translation id="8225985093977202398">Afbeeldingen en bestanden in chachegeheugen</translation>
 <translation id="8261506727792406068">Verwijderen</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Ingelogd met</translation>
 <translation id="8428045167754449968">Stad/plaats</translation>
 <translation id="8428213095426709021">Instellingen</translation>
+<translation id="8438566539970814960">Zoekopdrachten en browsefunctionaliteit verbeteren</translation>
 <translation id="8458397775385147834">1 item verwijderd</translation>
 <translation id="8487700953926739672">Offline beschikbaar</translation>
 <translation id="8503813439785031346">Gebruikersnaam</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index 19fd6b8..e9470083 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Zeskanuj kod QR</translation>
 <translation id="1580783302095112590">E-mail wysłany.</translation>
 <translation id="1582732959743469162">Spowoduje to zatrzymanie bieżącego pobierania.</translation>
+<translation id="1605658421715042784">Kopiuj obraz</translation>
 <translation id="1612730193129642006">Pokaż układ kart</translation>
 <translation id="1644574205037202324">Historia</translation>
 <translation id="1646446875146297738">Włączenie opcji „Bez śledzenia” oznacza, że podczas przeglądania będzie wysyłane żądanie. Jego wynik zależy od tego, czy strona na nie odpowie oraz jak zostanie ono zinterpretowane.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Usuń folder</translation>
 <translation id="1813414402673211292">Wyczyść historię przeglądania</translation>
 <translation id="1820259098641718022">Dodano do listy Do przeczytania</translation>
+<translation id="1821253160463689938">Zapisuje Twoje ustawienia w plikach cookie, nawet jeśli nie odwiedzasz tych stron</translation>
 <translation id="1876721852596493031">Wysyłaj dane na temat użytkowania</translation>
 <translation id="1886928167269928266">Od początku</translation>
 <translation id="1911619930368729126">Prześlij na Dysk Google</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Wersja na komputer</translation>
 <translation id="2103075008456228677">Otwórz history.google.com</translation>
 <translation id="2116625576999540962">Przeniesione elementy: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Aktywność i interakcje</translation>
 <translation id="213900355088104901">Aby przeglądać prywatnie, otwórz kartę incognito</translation>
 <translation id="2149973817440762519">Edytuj zakładkę</translation>
 <translation id="2230173723195178503">Wczytano stronę internetową</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Wybrano: 1</translation>
 <translation id="2435457462613246316">Pokaż hasło</translation>
 <translation id="2481538920734869610">DODAJ KONTO</translation>
+<translation id="2523184218357549926">Wysyła adresy URL odwiedzanych stron do Google</translation>
 <translation id="2523363575747517183">Ta strona internetowa wielokrotnie próbuje otworzyć inną aplikację.</translation>
 <translation id="2529021024822217800">Otwórz wszystkie</translation>
 <translation id="2572712655377361602">Zasady dotyczące urządzeń zablokowały dostęp do Twoich zdjęć</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nowy folder…</translation>
 <translation id="2903493209154104877">Adresy</translation>
 <translation id="2909437209446960244">Ostatnie karty</translation>
+<translation id="2916171785467530738">Autouzupełnianie wyszukiwania i adresów URL</translation>
 <translation id="291754862089661335">Umieść kod QR lub kod kreskowy w tej ramce</translation>
 <translation id="2921219216347069551">Nie można udostępnić</translation>
 <translation id="2923448633003185837">Wklej i otwórz</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Zadzwoń</translation>
 <translation id="4875622588773761625">Czy <ph name="PASSWORD_MANAGER_BRAND" /> ma zaktualizować hasło do tej strony?</translation>
 <translation id="4881695831933465202">Otwórz</translation>
+<translation id="4882831918239250449">Zarządzaj personalizacją wyszukiwarki, reklam i innych funkcji na podstawie historii przeglądania</translation>
 <translation id="4904877109095351937">Oznacz jako przeczytane</translation>
 <translation id="4930268273022498155">Usuń istniejące dane. Aby je pobrać, przełącz się z powrotem na konto <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Niestety, wystąpił problem z udostępnieniem tej rzeczy.</translation>
 <translation id="4979397965658815378">Zaloguj się na konto Google, by korzystać z zakładek, haseł, historii i innych ustawień na wszystkich urządzeniach</translation>
+<translation id="5004416275253351869">Zarządzanie aktywnością w Google</translation>
 <translation id="5005498671520578047">Skopiuj hasło</translation>
 <translation id="5010803260590204777">Otwórz kartę incognito, by przeglądać strony prywatnie.</translation>
 <translation id="5011684439661633295">Witaj, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Dzięki funkcji Handoff możesz rozpocząć przeglądanie strony na tym urządzeniu, a następnie płynnie kontynuować na Macu. Aktualnie otwarta strona internetowa wyświetli się w Docku na Macu.
 
 Funkcja Handoff musi być też włączona w sekcji Ogólne w Ustawieniach, a urządzenie musi używać tego samego konta iCloud.</translation>
+<translation id="5554368826343982379">Synchronizacja i personalizacja</translation>
 <translation id="5556459405103347317">Odśwież</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Nie udało się pobrać teraz tego pliku.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Dysk Google</translation>
 <translation id="7004499039102548441">Niedawno używane karty</translation>
 <translation id="7006788746334555276">Ustawienia treści</translation>
+<translation id="7017968314960951695">Wykorzystuje do personalizacji zawartość otwieranych stron oraz informacje o Twoich interakcjach i aktywności w przeglądarce.</translation>
 <translation id="7029809446516969842">Hasła</translation>
 <translation id="7031882061095297553">Synchronizuj z</translation>
 <translation id="7053983685419859001">Blokuj</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Zaakceptuj i wyloguj się</translation>
 <translation id="7772032839648071052">Potwierdź hasło</translation>
 <translation id="780301667611848630">Nie, dziękuję</translation>
+<translation id="7830720446622801252">Niespersonalizowane usługi</translation>
 <translation id="7856733331829174190">Nie udało się pobrać pliku</translation>
 <translation id="7859704718976024901">Historia przeglądania</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Zapisane ustawienia witryn nie zostaną usunięte i mogą zawierać informacje o Twoim korzystaniu z przeglądarki. <ph name="BEGIN_LINK" />Więcej informacji<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Zamknij wszystkie karty</translation>
 <translation id="8114753159095730575">Pobrany plik jest dostępny. Opcje są dostępne u dołu ekranu.</translation>
+<translation id="8160722851663543621">Wysyła zapytania wpisane na pasku adresu i w polu wyszukiwania oraz niektóre pliki cookie do domyślnej wyszukiwarki</translation>
 <translation id="8205564605687841303">Anuluj</translation>
 <translation id="8225985093977202398">Obrazy i pliki w pamięci podręcznej</translation>
 <translation id="8261506727792406068">Usuń</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Zalogowano za pomocą:</translation>
 <translation id="8428045167754449968">Miejscowość</translation>
 <translation id="8428213095426709021">Ustawienia</translation>
+<translation id="8438566539970814960">Ulepsz wyszukiwanie i przeglądanie</translation>
 <translation id="8458397775385147834">Usunąłeś 1 element</translation>
 <translation id="8487700953926739672">Dostępny offline</translation>
 <translation id="8503813439785031346">Nazwa użytkownika</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index aa21c187..4bb5b00 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Scanează codul QR</translation>
 <translation id="1580783302095112590">E-mail trimis.</translation>
 <translation id="1582732959743469162">Aceasta va opri progresul descărcării actuale.</translation>
+<translation id="1605658421715042784">Copiază imaginea</translation>
 <translation id="1612730193129642006">Afișează Grila de file</translation>
 <translation id="1644574205037202324">Istoric</translation>
 <translation id="1646446875146297738">Dacă activezi funcția „Nu urmări” înseamnă că în traficul de navigare va fi inclusă o solicitare. Efectele depind de răspunsul site-ului la solicitare și de modul în care solicitarea este interpretată.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Șterge dosarul</translation>
 <translation id="1813414402673211292">Ștergeți datele de navigare</translation>
 <translation id="1820259098641718022">S-a adăugat în lista de lectură</translation>
+<translation id="1821253160463689938">Folosește cookie-uri pentru a-ți reține preferințele, chiar dacă nu accesezi paginile respective</translation>
 <translation id="1876721852596493031">Trim. date utilizare</translation>
 <translation id="1886928167269928266">De la început</translation>
 <translation id="1911619930368729126">Încarcă în Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Site desktop</translation>
 <translation id="2103075008456228677">Deschide history.google.com</translation>
 <translation id="2116625576999540962">Elemente mutate: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Activitate și interacțiuni</translation>
 <translation id="213900355088104901">Pentru a naviga privat, deschide o filă incognito</translation>
 <translation id="2149973817440762519">Editați marcajul</translation>
 <translation id="2230173723195178503">Pagina web s-a încărcat</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">1 selectată</translation>
 <translation id="2435457462613246316">Afișați parola</translation>
 <translation id="2481538920734869610">ADAUGĂ UN CONT</translation>
+<translation id="2523184218357549926">Trimite la Google adresele URL ale paginilor pe care le accesezi</translation>
 <translation id="2523363575747517183">Acest site încearcă în mod repetat să deschidă altă aplicație.</translation>
 <translation id="2529021024822217800">Deschide-le pe toate</translation>
 <translation id="2572712655377361602">O politică a dispozitivului a blocat accesul la fotografii</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Dosar nou…</translation>
 <translation id="2903493209154104877">Adrese</translation>
 <translation id="2909437209446960244">File recente</translation>
+<translation id="2916171785467530738">Completează automat căutările și adresele URL</translation>
 <translation id="291754862089661335">Poziționează codul QR sau codul de bare în acest cadru</translation>
 <translation id="2921219216347069551">Pagină netrimisă</translation>
 <translation id="2923448633003185837">Inserează și accesează</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Apelează</translation>
 <translation id="4875622588773761625">Dorești ca <ph name="PASSWORD_MANAGER_BRAND" /> să îți actualizeze parola pentru acest site?</translation>
 <translation id="4881695831933465202">Deschide</translation>
+<translation id="4882831918239250449">Controlează modul în care istoricul de navigare este folosit pentru a personaliza Căutarea, anunțurile și alte servicii</translation>
 <translation id="4904877109095351937">Marchează ca citite</translation>
 <translation id="4930268273022498155">Șterge datele existente. Le poți recupera comutând înapoi la <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">A apărut o problemă la trimiterea articolului.</translation>
 <translation id="4979397965658815378">Conectează-te folosind Contul Google pentru a accesa marcajele, parolele, istoricul și alte setări pe toate dispozitivele</translation>
+<translation id="5004416275253351869">Opțiuni privind activitatea Google</translation>
 <translation id="5005498671520578047">Copiază parola</translation>
 <translation id="5010803260590204777">Deschide o filă incognito pentru a naviga privat pe web.</translation>
 <translation id="5011684439661633295">Salut, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Cu Handoff, începi să navighezi pe un site de pe acest dispozitiv, apoi continui cu ușurință de pe Mac. Site-ul deschis actual va apărea în Dock pe Mac.
 
 Trebuie să activezi Handoff în secțiunea General din Setări, iar dispozitivele trebuie să folosească același cont iCloud.</translation>
+<translation id="5554368826343982379">Sincronizare și personalizare</translation>
 <translation id="5556459405103347317">Reîncarcă</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Momentan, fișierul nu a putut fi descărcat.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">File recente</translation>
 <translation id="7006788746334555276">Setări privind conținutul</translation>
+<translation id="7017968314960951695">Folosește conținutul de pe site-urile pe care le accesezi, activitatea browserului și interacțiunile pentru personalizare</translation>
 <translation id="7029809446516969842">Parole</translation>
 <translation id="7031882061095297553">Sincronizează cu</translation>
 <translation id="7053983685419859001">Blochează</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Acceptă și deconectează-te</translation>
 <translation id="7772032839648071052">Confirmă expresia de acces</translation>
 <translation id="780301667611848630">Nu, mulțumesc</translation>
+<translation id="7830720446622801252">Servicii nepersonalizate</translation>
 <translation id="7856733331829174190">Nu s-a putut descărca</translation>
 <translation id="7859704718976024901">Istoricul de navigare</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Setările salvate pentru site-uri nu vor fi șterse și pot reflecta obiceiurile de navigare. <ph name="BEGIN_LINK" />Află mai multe<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Închide filele</translation>
 <translation id="8114753159095730575">Descărcarea fișierelor este disponibilă. Opțiunile sunt disponibile în partea de jos a ecranului.</translation>
+<translation id="8160722851663543621">Trimite căutări din bara de adrese și din caseta de căutare și anumite cookie-uri în motorul de căutare prestabilit</translation>
 <translation id="8205564605687841303">Anulează</translation>
 <translation id="8225985093977202398">Imaginile și fișierele memorate în cache</translation>
 <translation id="8261506727792406068">Șterge</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Conectat(ă) cu</translation>
 <translation id="8428045167754449968">Oraș</translation>
 <translation id="8428213095426709021">Setări</translation>
+<translation id="8438566539970814960">Îmbunătățește căutările și navigarea</translation>
 <translation id="8458397775385147834">Un element șters</translation>
 <translation id="8487700953926739672">Disponibil offline</translation>
 <translation id="8503813439785031346">Nume utilizator</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 21f1d5c..4a9c975 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Сканирование QR-кода</translation>
 <translation id="1580783302095112590">Сообщение отправлено.</translation>
 <translation id="1582732959743469162">Скачивание файлов будет приостановлено.</translation>
+<translation id="1605658421715042784">Копировать изображение</translation>
 <translation id="1612730193129642006">Показать сетку таблицы</translation>
 <translation id="1644574205037202324">История</translation>
 <translation id="1646446875146297738">Если запретить отслеживание, в запросы браузера будет включена специальная команда. Результат этого действия будет зависеть от того, ответит ли сайт на запрос и каким образом он будет интерпретирован.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Удалить папку</translation>
 <translation id="1813414402673211292">Очистка истории</translation>
 <translation id="1820259098641718022">Добавлено в список чтения</translation>
+<translation id="1821253160463689938">Использовать файлы cookie, чтобы запомнить ваши предпочтения, даже если вы не открываете эти страницы</translation>
 <translation id="1876721852596493031">Отправка статистики</translation>
 <translation id="1886928167269928266">За все время</translation>
 <translation id="1911619930368729126">Загрузить на Google Диск</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Полная версия</translation>
 <translation id="2103075008456228677">Открыть history.google.com</translation>
 <translation id="2116625576999540962">Перемещено закладок: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Действия в браузере</translation>
 <translation id="213900355088104901">Чтобы просматривать сайты анонимно, откройте вкладку в режиме инкогнито</translation>
 <translation id="2149973817440762519">Закладка</translation>
 <translation id="2230173723195178503">Веб-страница загружена</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Выбрана 1 фотография</translation>
 <translation id="2435457462613246316">Показать пароль</translation>
 <translation id="2481538920734869610">ДОБАВИТЬ АККАУНТ</translation>
+<translation id="2523184218357549926">Отправлять URL посещенных страниц в Google</translation>
 <translation id="2523363575747517183">Этот сайт часто пытается открыть другое приложение.</translation>
 <translation id="2529021024822217800">Открыть все</translation>
 <translation id="2572712655377361602">Политика устройства блокирует доступ к фотографиям</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Новая папка</translation>
 <translation id="2903493209154104877">Адреса</translation>
 <translation id="2909437209446960244">Недавние вкладки</translation>
+<translation id="2916171785467530738">Включить автозаполнение для поисковых запросов и URL</translation>
 <translation id="291754862089661335">Поместите QR-код или штрихкод в эту рамку</translation>
 <translation id="2921219216347069551">Ошибка</translation>
 <translation id="2923448633003185837">Вставить и перейти</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Позвонить</translation>
 <translation id="4875622588773761625">Обновить пароль для этого сайта в сервисе "<ph name="PASSWORD_MANAGER_BRAND" />"?</translation>
 <translation id="4881695831933465202">Открыть</translation>
+<translation id="4882831918239250449">Выберите параметры истории просмотров для персонализации Поиска, рекламы и т. д.</translation>
 <translation id="4904877109095351937">Отметить как прочитанное</translation>
 <translation id="4930268273022498155">Удалить сохраненные данные. Чтобы снова получить к ним доступ, переключитесь на аккаунт <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Не удалось опубликовать запись.</translation>
 <translation id="4979397965658815378">Войдите в аккаунт Google, чтобы пользоваться своими закладками, паролями, историей и другими настройками на любом устройстве</translation>
+<translation id="5004416275253351869">Отслеживание действий в Google</translation>
 <translation id="5005498671520578047">Для копирования пароля</translation>
 <translation id="5010803260590204777">Чтобы просматривать веб-страницы, не оставляя следов, откройте вкладку инкогнито.</translation>
 <translation id="5011684439661633295">Здравствуйте, <ph name="FULL_ACCOUNT_NAME" />!</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Функция Handoff позволит начать просмотр веб-сайта на одном устройстве и продолжить на другом. Открытый сайт появится на панели Dock вашего компьютера Mac.
 
 Функцию Handoff нужно включить не только в Chrome, но и в настройках устройства (см. раздел "Общие"). Все ваши устройства должны синхронизироваться с одним и тем же аккаунтом iCloud.</translation>
+<translation id="5554368826343982379">Синхронизация и персонализация</translation>
 <translation id="5556459405103347317">Перезагрузить</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Не удалось скачать файлы.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Диск</translation>
 <translation id="7004499039102548441">Недавние вкладки</translation>
 <translation id="7006788746334555276">Настройки контента</translation>
+<translation id="7017968314960951695">Использовать для персонализации информацию с посещенных вами сайтов и данные о действиях в браузере.</translation>
 <translation id="7029809446516969842">Пароли</translation>
 <translation id="7031882061095297553">Выберите аккаунт</translation>
 <translation id="7053983685419859001">Блокировать</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Принять и выйти</translation>
 <translation id="7772032839648071052">Подтвердите кодовую фразу</translation>
 <translation id="780301667611848630">Спасибо, не надо</translation>
+<translation id="7830720446622801252">Неперсонализированные сервисы</translation>
 <translation id="7856733331829174190">Не удалось скачать файл</translation>
 <translation id="7859704718976024901">История просмотра веб-страниц</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Настройки сайтов не изменятся, поэтому данные о вашей работе в Интернете сохранятся. <ph name="BEGIN_LINK" />Подробнее…<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Закрыть все вкладки</translation>
 <translation id="8114753159095730575">Файл доступен для скачивания. Параметры указаны в нижней части экрана.</translation>
+<translation id="8160722851663543621">Отправлять поисковые запросы из адресной строки и окна поиска, а также файлы cookie в поисковую систему по умолчанию</translation>
 <translation id="8205564605687841303">Отмена</translation>
 <translation id="8225985093977202398">Файлы, сохраненные в кеше</translation>
 <translation id="8261506727792406068">Удалить</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Выполнен вход через</translation>
 <translation id="8428045167754449968">Город</translation>
 <translation id="8428213095426709021">Настройки</translation>
+<translation id="8438566539970814960">Улучшить поиск и просмотр страниц</translation>
 <translation id="8458397775385147834">Удалено закладок: 1</translation>
 <translation id="8487700953926739672">Доступно в автономном режиме</translation>
 <translation id="8503813439785031346">Имя пользователя</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index 5152593..87a34da 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Naskenovať kód QR</translation>
 <translation id="1580783302095112590">E-mail bol odoslaný.</translation>
 <translation id="1582732959743469162">Tým zastavíte ďalší postup aktuálneho sťahovania.</translation>
+<translation id="1605658421715042784">Kopírovať obrázok</translation>
 <translation id="1612730193129642006">Zobraziť karty v mriežke</translation>
 <translation id="1644574205037202324">História</translation>
 <translation id="1646446875146297738">Ak povolíte možnosť Nesledovať, žiadosť sa zahrnie do vašej aktivity prehliadania. Záleží na tom, či webové stránky na túto žiadosť zareagujú a akým spôsobom ju interpretujú.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Odstrániť priečinok</translation>
 <translation id="1813414402673211292">Vyčistiť údaje o prehľadávaní</translation>
 <translation id="1820259098641718022">Pridané do zoznamu na čítanie</translation>
+<translation id="1821253160463689938">Používa súbory cookie na zapamätanie si predvolieb, dokonca aj keď dané stránky nenavštívite</translation>
 <translation id="1876721852596493031">Odosielanie údajov o používaní</translation>
 <translation id="1886928167269928266">Celé obdobie</translation>
 <translation id="1911619930368729126">Nahrať na Disk Google</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Vyžiadať stránky pre počítač</translation>
 <translation id="2103075008456228677">Otvoriť history.google.com</translation>
 <translation id="2116625576999540962">Počet presunutých položiek: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Aktivity a interakcie</translation>
 <translation id="213900355088104901">Ak chcete prehliadať v súkromí, otvorte kartu inkognito</translation>
 <translation id="2149973817440762519">Upraviť záložku</translation>
 <translation id="2230173723195178503">Načítala sa webová stránka</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Počet vybratých fotografií: 1</translation>
 <translation id="2435457462613246316">Zobraziť heslo</translation>
 <translation id="2481538920734869610">PRIDAŤ ÚČET</translation>
+<translation id="2523184218357549926">Odosiela Googlu webové adresy navštívených stránok</translation>
 <translation id="2523363575747517183">Tento web sa opakovane pokúša otvoriť ďalšiu aplikáciu.</translation>
 <translation id="2529021024822217800">Otvoriť všetky</translation>
 <translation id="2572712655377361602">Pravidlá pre zariadenie zablokovali prístup k vašim fotkám</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Nový priečinok…</translation>
 <translation id="2903493209154104877">Adresy</translation>
 <translation id="2909437209446960244">Nedávne karty</translation>
+<translation id="2916171785467530738">Automatické dopĺňanie vyhľadávaní a webových adries</translation>
 <translation id="291754862089661335">Umiestnite QR kód alebo čiarový kód do tohto rámčeka</translation>
 <translation id="2921219216347069551">Str. sa nedá zdieľať</translation>
 <translation id="2923448633003185837">Prilepiť a prejsť</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Volajte</translation>
 <translation id="4875622588773761625">Chcete, aby <ph name="PASSWORD_MANAGER_BRAND" /> ukladal heslá pre tieto stránky?</translation>
 <translation id="4881695831933465202">Otvoriť</translation>
+<translation id="4882831918239250449">Ovládajte, ako sa pomocou histórie prehliadania prispôsobuje Vyhľadávanie, reklamy a ďalší obsah</translation>
 <translation id="4904877109095351937">Označiť ako prečítané</translation>
 <translation id="4930268273022498155">Odstrániť existujúce údaje. Načítate ich prepnutím späť na účet <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Je nám ľúto, pri zdieľaní položky sa vyskytol problém.</translation>
 <translation id="4979397965658815378">Prihláste sa pomocou účtu Google a získajte záložky, heslá, históriu a ďalšie nastavenia na všetkých svojich zariadeniach</translation>
+<translation id="5004416275253351869">Riadenie aktivity Google</translation>
 <translation id="5005498671520578047">Kopírovanie hesla</translation>
 <translation id="5010803260590204777">Otvorte kartu inkognito a prehliadajte web v súkromí.</translation>
 <translation id="5011684439661633295">Ahoj, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Funkcia Handoff umožňuje začať prehliadanie webových stránok na tomto zariadení a potom jednoducho pokračovať na počítači Mac. Aktuálne otvorené stránky sa zobrazia v doku na počítači Mac.
 
 Funkciu Handoff musíte povoliť v nastaveniach v časti Všeobecné a vaše zariadenia musia používať rovnaký účet iCloud.</translation>
+<translation id="5554368826343982379">Synchronizácia a prispôsobenie</translation>
 <translation id="5556459405103347317">Obnoviť</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Súbor sa momentálne nedá stiahnuť.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Disk Google</translation>
 <translation id="7004499039102548441">Nedávne karty</translation>
 <translation id="7006788746334555276">Nastavenia obsahu</translation>
+<translation id="7017968314960951695">Používa obsah z navštívených webov, aktivitu prehliadača a interakcie s ním na prispôsobenie</translation>
 <translation id="7029809446516969842">Heslá</translation>
 <translation id="7031882061095297553">Kam synchronizovať</translation>
 <translation id="7053983685419859001">Blokovať</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Prijať a odhlásiť</translation>
 <translation id="7772032839648071052">Potvrďte prístupovú frázu</translation>
 <translation id="780301667611848630">Nie, ďakujem</translation>
+<translation id="7830720446622801252">Neprispôsobené služby</translation>
 <translation id="7856733331829174190">Sťahovanie zlyhalo</translation>
 <translation id="7859704718976024901">História prehliadania</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Uložené nastavenia webov sa neodstránia a môžu odrážať vaše návyky prehliadania. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Zavrieť všetky karty</translation>
 <translation id="8114753159095730575">Súbor je k dispozícii na stiahnutie. Možnosti sú k dispozícii v dolnej časti obrazovky.</translation>
+<translation id="8160722851663543621">Odošlú sa vyhľadávania z panela s adresou a vyhľadávacieho panela a niektoré súbory cookie do vášho predvoleného vyhľadávača</translation>
 <translation id="8205564605687841303">Zrušiť</translation>
 <translation id="8225985093977202398">Obrázky a súbory vo vyrovnávacej pamäti</translation>
 <translation id="8261506727792406068">Odstrániť</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Prihlásenie pomocou</translation>
 <translation id="8428045167754449968">Mesto</translation>
 <translation id="8428213095426709021">Nastavenia</translation>
+<translation id="8438566539970814960">Zlepšovať vyhľadávania a prehliadanie</translation>
 <translation id="8458397775385147834">Počet odstránených záložiek: 1</translation>
 <translation id="8487700953926739672">K dispozícii offline</translation>
 <translation id="8503813439785031346">Meno používateľa</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index 761284dc..f77de42 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Скенирајте QR кôд</translation>
 <translation id="1580783302095112590">Имејл је послата.</translation>
 <translation id="1582732959743469162">На тај начин ћете потпуно зауставити тренутно преузимање.</translation>
+<translation id="1605658421715042784">Копирај слику</translation>
 <translation id="1612730193129642006">Show Tab Grid (Прикажи координатну мрежу картице)</translation>
 <translation id="1644574205037202324">Историја</translation>
 <translation id="1646446875146297738">Омогућавање опције „Не прати“ значи да ће захтев бити укључен уз саобраћај прегледања. Све последице зависе од тога да ли веб-сајт одговара на захтев и како се захтев тумачи.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Избриши директоријум</translation>
 <translation id="1813414402673211292">Брисање података прегледања</translation>
 <translation id="1820259098641718022">Додато је на листу за читање</translation>
+<translation id="1821253160463689938">Користи колачиће да би се запамтила подешавања, чак и када не посећујете те странице</translation>
 <translation id="1876721852596493031">Шаљи подат. о кориш.</translation>
 <translation id="1886928167269928266">Одувек</translation>
 <translation id="1911619930368729126">Отпреми у Google диск</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Захтевај сајт за рачунар</translation>
 <translation id="2103075008456228677">Отвори history.google.com</translation>
 <translation id="2116625576999540962">Број премештених ставки је <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Активности и интеракције</translation>
 <translation id="213900355088104901">Да бисте прегледали приватно, отворите картицу без архивирања</translation>
 <translation id="2149973817440762519">Измените обележивач</translation>
 <translation id="2230173723195178503">Веб-страница је учитана</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Изабрана је 1 слика</translation>
 <translation id="2435457462613246316">Прикажи лозинку</translation>
 <translation id="2481538920734869610">ДОДАЈ НАЛОГ</translation>
+<translation id="2523184218357549926">URL-ови страница које посећујете се шаљу Google-у</translation>
 <translation id="2523363575747517183">Овај веб-сајт непрекидно покушава да отвори другу апликацију.</translation>
 <translation id="2529021024822217800">Отвори све</translation>
 <translation id="2572712655377361602">Смернице за уређај су блокирале приступ сликама</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Нови директоријум...</translation>
 <translation id="2903493209154104877">Адресе</translation>
 <translation id="2909437209446960244">Недавне картице</translation>
+<translation id="2916171785467530738">Аутоматски довршавај претраге и URL-ове</translation>
 <translation id="291754862089661335">Поставите QR или бар-код у овај оквир</translation>
 <translation id="2921219216347069551">Дељење странице није могуће</translation>
 <translation id="2923448633003185837">Налепи и иди</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Позовите</translation>
 <translation id="4875622588773761625">Желите ли да <ph name="PASSWORD_MANAGER_BRAND" /> ажурира лозинку за овај сајт?</translation>
 <translation id="4881695831933465202">Отвори</translation>
+<translation id="4882831918239250449">Контролишите начин на који се историја прегледања користи за персонализацију Претраге, огласа и других услуга</translation>
 <translation id="4904877109095351937">Означи као прочитано</translation>
 <translation id="4930268273022498155">Избришите постојеће податке. Можете да их вратите ако се вратите на <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Жао нам је, дошло је до проблема при дељењу ставке.</translation>
 <translation id="4979397965658815378">Пријавите се помоћу Google налога да бисте имали обележиваче, лозинке, историју и друга подешавања на свим уређајима</translation>
+<translation id="5004416275253351869">Google контроле активности</translation>
 <translation id="5005498671520578047">Копирање лозинке</translation>
 <translation id="5010803260590204777">Отворите картицу Без архивирања да бисте приватно прегледали веб.</translation>
 <translation id="5011684439661633295">Здраво, <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Handoff вам омогућава да започнете прегледање веб-сајта на овом уређају, па да једноставно наставите на Mac-у. Веб-сајт који је тренутно отворен приказаће се на доку на Mac-у.
 
 Handoff треба да се омогући у одељку General (Опште) у менију Settings (Подешавања), а уређаји морају да користе исти iCloud налог.</translation>
+<translation id="5554368826343982379">Синхронизација и персонализација</translation>
 <translation id="5556459405103347317">Учитај поново</translation>
 <translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Тренутно није могуће преузети датотеку.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google диск</translation>
 <translation id="7004499039102548441">Недавне картице</translation>
 <translation id="7006788746334555276">Подешавања садржаја</translation>
+<translation id="7017968314960951695">Користи садржај на сајтовима које посећујете, као и активности и интеракције у прегледачу ради персонализације</translation>
 <translation id="7029809446516969842">Лозинке</translation>
 <translation id="7031882061095297553">Синхронизујте са</translation>
 <translation id="7053983685419859001">Блокирај</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Прихватам, одјави ме</translation>
 <translation id="7772032839648071052">Потврди приступну фразу</translation>
 <translation id="780301667611848630">Не, хвала</translation>
+<translation id="7830720446622801252">Услуге које нису персонализоване</translation>
 <translation id="7856733331829174190">Преузимање није успело</translation>
 <translation id="7859704718976024901">Историја прегледања</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Нећемо избрисати сачувана подешавања сајтова и она могу да одражавају ваше навике при прегледању. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Затвори све картице</translation>
 <translation id="8114753159095730575">Преузимање датотеке није доступно. Опције су наведене у дну екрана.</translation>
+<translation id="8160722851663543621">Подразумеваном претраживачу шаље претраге из траке за адресу и оквира за претрагу и неке колачиће</translation>
 <translation id="8205564605687841303">Откажи</translation>
 <translation id="8225985093977202398">Кеширане слике и датотеке</translation>
 <translation id="8261506727792406068">Избриши</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Пријављени сте помоћу:</translation>
 <translation id="8428045167754449968">Град/место</translation>
 <translation id="8428213095426709021">Подешавања</translation>
+<translation id="8438566539970814960">Побољшај претраге и прегледање</translation>
 <translation id="8458397775385147834">1 ставка је избрисана</translation>
 <translation id="8487700953926739672">Доступно ван мреже</translation>
 <translation id="8503813439785031346">Корисничко име</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index 61c6000..08393d2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">สแกนโค้ด QR</translation>
 <translation id="1580783302095112590">ส่งอีเมลแล้ว</translation>
 <translation id="1582732959743469162">การดำเนินการนี้จะหยุดการดาวน์โหลดที่ดำเนินอยู่ทั้งหมด</translation>
+<translation id="1605658421715042784">คัดลอกรูปภาพ</translation>
 <translation id="1612730193129642006">แสดงตารางแท็บ</translation>
 <translation id="1644574205037202324">ประวัติการเข้าชม</translation>
 <translation id="1646446875146297738">การเปิดใช้ "ไม่ติดตาม" จะทำให้คำขอหนึ่งๆ ไปรวมอยู่กับการรับส่งข้อมูลในการเรียกดูของคุณ ผลที่จะเกิดขึ้นขึ้นอยู่กับว่าเว็บไซต์ตอบสนองต่อคำขอหรือไม่และคำขอนั้นถูกตีความอย่างไร ตัวอย่างเช่น บางเว็บไซต์อาจตอบสนองต่อคำขอนี้ด้วยการแสดงโฆษณาที่ไม่ได้อยู่บนเว็บไซต์อื่นๆ ที่คุณเคยเยี่ยมชมให้คุณเห็น เว็บไซต์จำนวนมากจะยังคงเก็บรวบรวมและใช้ข้อมูลการท่องเว็บของคุณไว้ เพื่อปรับปรุงการรักษาความปลอดภัย จัดเตรียมเนื้อหา บริการ โฆษณา และคำแนะนำบนเว็บไซต์ รวมทั้งเพื่อสร้างสถิติการรายงาน เป็นต้น <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
@@ -56,6 +57,7 @@
 <translation id="1809939268435598390">ลบโฟลเดอร์</translation>
 <translation id="1813414402673211292">นำออกข้อมูลที่เรียกดู</translation>
 <translation id="1820259098641718022">เพิ่มไปยังเรื่องรออ่านแล้ว</translation>
+<translation id="1821253160463689938">ใช้คุกกี้เพื่อให้จดจำค่ากำหนดของคุณ แม้ว่าคุณไม่ได้เข้าชมหน้าเว็บเหล่านั้น</translation>
 <translation id="1876721852596493031">ส่งข้อมูลการใช้งาน</translation>
 <translation id="1886928167269928266">ตั้งแต่ต้น</translation>
 <translation id="1911619930368729126">อัปโหลดไปยัง Google ไดรฟ์</translation>
@@ -69,6 +71,7 @@
 <translation id="209018056901015185">ขอไซต์สำหรับเดสก์ท็อป</translation>
 <translation id="2103075008456228677">เปิด history.google.com</translation>
 <translation id="2116625576999540962">ย้ายแล้ว <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> รายการ</translation>
+<translation id="2120297377148151361">กิจกรรมและการโต้ตอบ</translation>
 <translation id="213900355088104901">หากต้องการท่องเว็บแบบส่วนตัว ให้เปิดแท็บไม่ระบุตัวตน</translation>
 <translation id="2149973817440762519">แก้ไขบุ๊กมาร์ก</translation>
 <translation id="2230173723195178503">หน้าเว็บโหลดแล้ว</translation>
@@ -84,6 +87,7 @@
 <translation id="2386793615875593361">เลือก 1 รูป</translation>
 <translation id="2435457462613246316">แสดงรหัสผ่าน</translation>
 <translation id="2481538920734869610">เพิ่มบัญชี</translation>
+<translation id="2523184218357549926">ส่ง URL ของหน้าที่คุณเข้าชมไปยัง Google</translation>
 <translation id="2523363575747517183">เว็บไซต์นี้พยายามเปิดแอปพลิเคชันอื่นอยู่เรื่อยๆ</translation>
 <translation id="2529021024822217800">เปิดทั้งหมด</translation>
 <translation id="2572712655377361602">นโยบายของอุปกรณ์บล็อกการเข้าถึงรูปภาพของคุณ</translation>
@@ -113,6 +117,7 @@
 <translation id="2898963176829412617">โฟลเดอร์ใหม่…</translation>
 <translation id="2903493209154104877">ที่อยู่</translation>
 <translation id="2909437209446960244">แท็บล่าสุด</translation>
+<translation id="2916171785467530738">เติมข้อความค้นหาและ URL อัตโนมัติ</translation>
 <translation id="291754862089661335">จัดตำแหน่งโค้ด QR หรือบาร์โค้ดให้อยู่ในกรอบนี้</translation>
 <translation id="2921219216347069551">ไม่สามารถแชร์เว็บ</translation>
 <translation id="2923448633003185837">วางแล้วไป</translation>
@@ -217,10 +222,12 @@
 <translation id="4860895144060829044">โทร</translation>
 <translation id="4875622588773761625">คุณต้องการให้ <ph name="PASSWORD_MANAGER_BRAND" /> อัปเดตรหัสผ่านของคุณสำหรับเว็บไซต์นี้ไหม</translation>
 <translation id="4881695831933465202">เปิด</translation>
+<translation id="4882831918239250449">ควบคุมการใช้ประวัติการท่องเว็บเพื่อปรับเปลี่ยน Search, โฆษณา และบริการอื่นๆ ในแบบของคุณ</translation>
 <translation id="4904877109095351937">ทำเครื่องหมายว่าอ่านแล้ว</translation>
 <translation id="4930268273022498155">ลบข้อมูลที่มีอยู่ คุณสามารถดึงข้อมูลได้ด้วยการเปลี่ยนกลับเป็น <ph name="USER_EMAIL1" /></translation>
 <translation id="4941089862236492464">ขออภัย เกิดปัญหาในการแชร์รายการของคุณ</translation>
 <translation id="4979397965658815378">ลงชื่อเข้าใช้บัญชี Google เพื่อรับบุ๊กมาร์ก รหัสผ่าน ประวัติการเข้าชม และการตั้งค่าอื่นๆ บนอุปกรณ์ทั้งหมดของคุณ</translation>
+<translation id="5004416275253351869">ส่วนควบคุมกิจกรรมของ Google</translation>
 <translation id="5005498671520578047">คัดลอกรหัสผ่าน</translation>
 <translation id="5010803260590204777">เปิดแท็บที่ไม่ระบุตัวตนเพื่อท่องเว็บในแบบส่วนตัว</translation>
 <translation id="5011684439661633295">สวัสดี คุณ <ph name="FULL_ACCOUNT_NAME" /></translation>
@@ -247,6 +254,7 @@
 <translation id="5548760955356983418">Handoff ช่วยให้คุณสามารถเริ่มการท่องเว็บไซต์บนอุปกรณ์นี้และใช้งานต่อบน Mac ได้อย่างง่ายดาย เว็บไซต์ที่เปิดอยู่ในปัจจุบันจะปรากฏในแท่นชาร์จของ Mac
 
 โดยต้องเปิดใช้ Handoff ในส่วน "ทั่วไป" ของการตั้งค่าและอุปกรณ์ของคุณต้องใช้บัญชี iCloud เดียวกัน</translation>
+<translation id="5554368826343982379">การซิงค์และการปรับเปลี่ยนในแบบของคุณ</translation>
 <translation id="5556459405103347317">โหลดใหม่</translation>
 <translation id="5619279135193775234">เมล</translation>
 <translation id="5626245204502895507">ไม่สามารถดาวน์โหลดไฟล์ได้ในขณะนี้</translation>
@@ -338,6 +346,7 @@
 <translation id="6979158407327259162">Google ไดรฟ์</translation>
 <translation id="7004499039102548441">แท็บล่าสุด</translation>
 <translation id="7006788746334555276">การตั้งค่าเนื้อหา</translation>
+<translation id="7017968314960951695">ใช้เนื้อหาในเว็บไซต์ที่คุณเข้าถึง ตลอดจนกิจกรรมและการโต้ตอบในเบราว์เซอร์เพื่อการปรับเปลี่ยนในแบบของคุณ</translation>
 <translation id="7029809446516969842">รหัสผ่าน</translation>
 <translation id="7031882061095297553">ซิงค์กับ</translation>
 <translation id="7053983685419859001">บล็อก</translation>
@@ -380,6 +389,7 @@
 <translation id="7769602470925380267">ยอมรับและออกจากระบบ</translation>
 <translation id="7772032839648071052">ยืนยันข้อความรหัสผ่าน</translation>
 <translation id="780301667611848630">ไม่ ขอบคุณ</translation>
+<translation id="7830720446622801252">บริการที่ไม่ได้ปรับเปลี่ยนในแบบของคุณ</translation>
 <translation id="7856733331829174190">ดาวน์โหลดไม่ได้</translation>
 <translation id="7859704718976024901">ประวัติการเข้าชม</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -398,6 +408,7 @@
 <translation id="8076014560081431679">การตั้งค่าเว็บไซต์ที่บันทึกไว้จะไม่ถูกลบและอาจส่งผลกับลักษณะการท่องเว็บของคุณ <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">ปิดแท็บทั้งหมด</translation>
 <translation id="8114753159095730575">การดาวน์โหลดไฟล์พร้อมใช้งาน มีตัวเลือกอยู่ทางด้านล่างของหน้าจอ</translation>
+<translation id="8160722851663543621">ส่งการค้นหาจากแถบที่อยู่และช่องค้นหารวมถึงคุกกี้บางรายการไปยังเครื่องมือค้นหาเริ่มต้น</translation>
 <translation id="8205564605687841303">ยกเลิก</translation>
 <translation id="8225985093977202398">รูปภาพและไฟล์ที่แคชไว้</translation>
 <translation id="8261506727792406068">ลบ</translation>
@@ -408,6 +419,7 @@
 <translation id="842017693807136194">ลงชื่อเข้าใช้ด้วย</translation>
 <translation id="8428045167754449968">เมือง/จังหวัด</translation>
 <translation id="8428213095426709021">การตั้งค่า</translation>
+<translation id="8438566539970814960">ปรับปรุงการค้นหาและการท่องเว็บให้ดียิ่งขึ้น</translation>
 <translation id="8458397775385147834">ลบแล้ว 1 รายการ</translation>
 <translation id="8487700953926739672">ใช้งานแบบออฟไลน์ได้</translation>
 <translation id="8503813439785031346">ชื่อผู้ใช้</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index e81b9031..b102b51 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Сканувати QR-код</translation>
 <translation id="1580783302095112590">Лист надіслано.</translation>
 <translation id="1582732959743469162">Поточне завантаження зупиниться.</translation>
+<translation id="1605658421715042784">Копіювати зображення</translation>
 <translation id="1612730193129642006">Показати сітку вкладок</translation>
 <translation id="1644574205037202324">Історія</translation>
 <translation id="1646446875146297738">Якщо ввімкнути параметр "Не відстежувати", запит додається в трафік веб-перегляду. Результат залежить від того, чи реагує веб-сайт на цей запит і як тлумачиться запит.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Видалити папку</translation>
 <translation id="1813414402673211292">Очистити історію</translation>
 <translation id="1820259098641718022">Додано в список читання</translation>
+<translation id="1821253160463689938">Використовує файли cookie, щоб зберігати налаштування, навіть якщо ви не відвідуєте ці сторінки</translation>
 <translation id="1876721852596493031">Надсилати статистику</translation>
 <translation id="1886928167269928266">Весь період</translation>
 <translation id="1911619930368729126">Завантажити на Google Диск</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Повна версія сайту</translation>
 <translation id="2103075008456228677">Відкрити history.google.com</translation>
 <translation id="2116625576999540962">Переміщено елементів: <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /></translation>
+<translation id="2120297377148151361">Активність і взаємодії</translation>
 <translation id="213900355088104901">Щоб переглядати веб-сторінки конфіденційно, відкрийте анонімну вкладку</translation>
 <translation id="2149973817440762519">Редагувати закладку</translation>
 <translation id="2230173723195178503">Веб-сторінку завантажено</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Вибрано 1</translation>
 <translation id="2435457462613246316">Показати пароль</translation>
 <translation id="2481538920734869610">ДОД. ОБЛ. ЗАПИС</translation>
+<translation id="2523184218357549926">Надсилає в Google URL-адреси відвіданих сторінок</translation>
 <translation id="2523363575747517183">Цей веб-сайт періодично намагається відкрити інший додаток.</translation>
 <translation id="2529021024822217800">Відкрити всі</translation>
 <translation id="2572712655377361602">пристрою</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Нова папка…</translation>
 <translation id="2903493209154104877">Адреси</translation>
 <translation id="2909437209446960244">Останні вкладки</translation>
+<translation id="2916171785467530738">Автозавершення пошукових запитів і URL-адрес</translation>
 <translation id="291754862089661335">Розмістіть QR-код або штрих-код у цій рамці</translation>
 <translation id="2921219216347069551">Неможливо поділитися</translation>
 <translation id="2923448633003185837">Вставити й перейти</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Зателефонувати</translation>
 <translation id="4875622588773761625">Оновити пароль для цього сайту в <ph name="PASSWORD_MANAGER_BRAND" />?</translation>
 <translation id="4881695831933465202">Відкрити</translation>
+<translation id="4882831918239250449">Указуйте, як використовувати історію веб-перегляду для персоналізації Пошуку, оголошень тощо</translation>
 <translation id="4904877109095351937">Позначити як прочитані</translation>
 <translation id="4930268273022498155">Видалити наявні дані. Щоб відновити їх, поверніться в обліковий запис <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Під час спроби поділитися елементом виникла проблема.</translation>
 <translation id="4979397965658815378">Увійдіть в обліковий запис Google, щоб мати доступ до закладок, паролів, історії й інших налаштувань на всіх своїх пристроях</translation>
+<translation id="5004416275253351869">Керування активністю в Google</translation>
 <translation id="5005498671520578047">Копіювати пароль</translation>
 <translation id="5010803260590204777">Щоб переглядати веб-сторінки конфіденційно відкрийте анонімну вкладку.</translation>
 <translation id="5011684439661633295">Вітаємо, <ph name="FULL_ACCOUNT_NAME" />!</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">За допомогою Handoff можна почати переглядати веб-сайт на цьому пристрої, а потім легко продовжити на пристрої Mac. Відкритий веб-сайт з’явиться на панелі Dock на пристрої Mac.
 
 Для цього потрібно ввімкнути Handoff у розділі "Загальні" в Налаштуваннях, а також увійти в той самий обліковий запис iCloud на пристроях.</translation>
+<translation id="5554368826343982379">Синхронізація й персоналізація</translation>
 <translation id="5556459405103347317">Перезавантажити</translation>
 <translation id="5619279135193775234">Пошта</translation>
 <translation id="5626245204502895507">Зараз неможливо завантажити цей файл.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Диск Google</translation>
 <translation id="7004499039102548441">Останні вкладки</translation>
 <translation id="7006788746334555276">Веб-контент</translation>
+<translation id="7017968314960951695">Використовує вміст відвіданих сайтів, активність у веб-переглядачі та взаємодії для персоналізації</translation>
 <translation id="7029809446516969842">Паролі</translation>
 <translation id="7031882061095297553">Синхронізувати</translation>
 <translation id="7053983685419859001">Блокувати</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Прийняти та вийти</translation>
 <translation id="7772032839648071052">Підтвердити парольну фразу</translation>
 <translation id="780301667611848630">Ні, дякую</translation>
+<translation id="7830720446622801252">Неперсоналізовані сервіси</translation>
 <translation id="7856733331829174190">Не вдалося завантажити</translation>
 <translation id="7859704718976024901">Історія веб-перегляду</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Збережені налаштування, які можуть стосуватися ваших зацікавлень в Інтернеті, не буде видалено. <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Закрити всі вкладки</translation>
 <translation id="8114753159095730575">Доступне завантаження файлу. Параметри можна знайти внизу екрана.</translation>
+<translation id="8160722851663543621">Надсилає пошукові запити з адресного рядка, вікна пошуку та деяких файлів cookie в пошукову систему за умовчанням</translation>
 <translation id="8205564605687841303">Скасувати</translation>
 <translation id="8225985093977202398">Кешовані зображення й файли</translation>
 <translation id="8261506727792406068">Видалити</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Ви ввійшли як</translation>
 <translation id="8428045167754449968">Місто</translation>
 <translation id="8428213095426709021">Налаштування</translation>
+<translation id="8438566539970814960">Покращувати пошук і веб-перегляд</translation>
 <translation id="8458397775385147834">Видалено 1 елемент</translation>
 <translation id="8487700953926739672">Доступ у режимі офлайн</translation>
 <translation id="8503813439785031346">Ім’я користувача</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index 405436d..e37d9172 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">Quét mã QR</translation>
 <translation id="1580783302095112590">Thư đã được gửi.</translation>
 <translation id="1582732959743469162">Thao tác này sẽ ngừng tất cả hoạt động tải xuống đang diễn ra.</translation>
+<translation id="1605658421715042784">Sao chép hình ảnh</translation>
 <translation id="1612730193129642006">Hiển thị lưới tab</translation>
 <translation id="1644574205037202324">Lịch sử</translation>
 <translation id="1646446875146297738">Bật tính năng 'Không theo dõi' nghĩa là một yêu cầu sẽ đi kèm với lưu lượng duyệt web của bạn. Mọi ảnh hưởng đều phụ thuộc vào việc liệu trang web có phản hồi yêu cầu không và cách thức yêu cầu được diễn giải.
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">Xóa thư mục</translation>
 <translation id="1813414402673211292">Xóa Dữ liệu Duyệt</translation>
 <translation id="1820259098641718022">Đã thêm vào Danh sách đọc</translation>
+<translation id="1821253160463689938">Sử dụng cookie để ghi nhớ tùy chọn của bạn, ngay cả khi bạn không truy cập vào các trang đó</translation>
 <translation id="1876721852596493031">Gửi dữ liệu sử dụng</translation>
 <translation id="1886928167269928266">Mọi thứ</translation>
 <translation id="1911619930368729126">Tải lên Google Drive</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">Yêu cầu trang web cho máy tính</translation>
 <translation id="2103075008456228677">Mở history.google.com</translation>
 <translation id="2116625576999540962"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> dấu trang đã được di chuyển</translation>
+<translation id="2120297377148151361">Hoạt động và tương tác</translation>
 <translation id="213900355088104901">Để duyệt web riêng tư, hãy mở tab ẩn danh</translation>
 <translation id="2149973817440762519">Chỉnh sửa dấu trang</translation>
 <translation id="2230173723195178503">Đã tải trang web</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">Đã chọn 1 ảnh</translation>
 <translation id="2435457462613246316">Hiển thị mật khẩu</translation>
 <translation id="2481538920734869610">THÊM TÀI KHOẢN</translation>
+<translation id="2523184218357549926">Gửi cho Google URL của các trang bạn truy cập</translation>
 <translation id="2523363575747517183">Trang web này đang liên tục tìm cách mở một ứng dụng khác.</translation>
 <translation id="2529021024822217800">Mở tất cả</translation>
 <translation id="2572712655377361602">Chính sách thiết bị đã chặn quyền truy cập vào ảnh của bạn</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">Thư mục mới…</translation>
 <translation id="2903493209154104877">Địa chỉ</translation>
 <translation id="2909437209446960244">Các tab gần đây</translation>
+<translation id="2916171785467530738">Tự động hoàn thành cụm từ tìm kiếm và URL</translation>
 <translation id="291754862089661335">Đặt mã QR hoặc mã vạch vào khung này</translation>
 <translation id="2921219216347069551">Ko thể chia sẻ trang</translation>
 <translation id="2923448633003185837">Dán và truy cập</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">Gọi</translation>
 <translation id="4875622588773761625">Bạn có muốn <ph name="PASSWORD_MANAGER_BRAND" /> cập nhật mật khẩu của mình cho trang web này không?</translation>
 <translation id="4881695831933465202">Mở</translation>
+<translation id="4882831918239250449">Kiểm soát cách chúng tôi sử dụng lịch sử duyệt web của bạn để cá nhân hóa dịch vụ Tìm kiếm, quảng cáo và các dịch vụ khác của Google</translation>
 <translation id="4904877109095351937">Đánh dấu là đã đọc</translation>
 <translation id="4930268273022498155">Xóa dữ liệu hiện có. Bạn có thể truy xuất dữ liệu bằng cách chuyển về <ph name="USER_EMAIL1" />.</translation>
 <translation id="4941089862236492464">Rất tiếc, đã xảy ra sự cố khi chia sẻ mục của bạn.</translation>
 <translation id="4979397965658815378">Đăng nhập bằng Tài khoản Google để nhận dấu trang, mật khẩu, lịch sử và các cài đặt khác trên tất cả thiết bị của bạn</translation>
+<translation id="5004416275253351869">Kiểm soát hoạt động trên Google</translation>
 <translation id="5005498671520578047">Sao chép mật khẩu</translation>
 <translation id="5010803260590204777">Mở tab ẩn danh để duyệt web một cách riêng tư.</translation>
 <translation id="5011684439661633295">Xin chào <ph name="FULL_ACCOUNT_NAME" />!</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">Tính năng tiếp nối cho phép bạn bắt đầu duyệt web trên thiết bị này và sau đó dễ dàng tiếp tục trên máy Mac của mình. Trang web hiện đang mở sẽ xuất hiện trong thanh Dock trên máy Mac của bạn.
 
 Đồng thời, bạn phải bật tính năng tiếp nối trong phần Chung của cài đặt và thiết bị của bạn phải sử dụng cùng một tài khoản iCloud.</translation>
+<translation id="5554368826343982379">Đồng bộ hóa và cá nhân hóa</translation>
 <translation id="5556459405103347317">Tải lại</translation>
 <translation id="5619279135193775234">Thư</translation>
 <translation id="5626245204502895507">Không thể tải xuống tệp vào lúc này.</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google Drive</translation>
 <translation id="7004499039102548441">Các tab gần đây</translation>
 <translation id="7006788746334555276">Cài đặt nội dung</translation>
+<translation id="7017968314960951695">Sử dụng nội dung trên trang web bạn truy cập cũng như hoạt động và tương tác trên trình duyệt để cá nhân hóa</translation>
 <translation id="7029809446516969842">Mật khẩu</translation>
 <translation id="7031882061095297553">Đồng bộ hóa với</translation>
 <translation id="7053983685419859001">Chặn</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">Chấp nhận và đăng xuất</translation>
 <translation id="7772032839648071052">Xác nhận cụm mật khẩu</translation>
 <translation id="780301667611848630">Không, cảm ơn</translation>
+<translation id="7830720446622801252">Dịch vụ không được cá nhân hóa</translation>
 <translation id="7856733331829174190">Không thể tải xuống</translation>
 <translation id="7859704718976024901">Lịch sử duyệt web</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">Cài đặt trang web đã lưu sẽ không bị xóa và có thể phản ánh thói quen duyệt web của bạn. <ph name="BEGIN_LINK" />Tìm hiểu thêm<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">Đóng tất cả các tab</translation>
 <translation id="8114753159095730575">Hiện đã có tệp tải xuống. Bạn có thể sử dụng các tùy chọn ở gần cuối màn hình.</translation>
+<translation id="8160722851663543621">Gửi nội dung tìm kiếm từ thanh địa chỉ và hộp tìm kiếm cũng như một số cookie đến công cụ tìm kiếm mặc định của bạn</translation>
 <translation id="8205564605687841303">Hủy</translation>
 <translation id="8225985093977202398">Tệp và hình ảnh được lưu vào bộ nhớ đệm</translation>
 <translation id="8261506727792406068">Xóa</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">Đăng nhập bằng</translation>
 <translation id="8428045167754449968">Thành phố/thị trấn</translation>
 <translation id="8428213095426709021">Cài đặt</translation>
+<translation id="8438566539970814960">Cải thiện tính năng tìm kiếm và duyệt web</translation>
 <translation id="8458397775385147834">1 dấu trang đã bị xóa</translation>
 <translation id="8487700953926739672">Khả dụng ngoại tuyến</translation>
 <translation id="8503813439785031346">Tên người dùng</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 94cc7006..abfb11a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -41,6 +41,7 @@
 <translation id="1545749641540134597">掃描 QR 圖碼</translation>
 <translation id="1580783302095112590">已傳送郵件。</translation>
 <translation id="1582732959743469162">目前所有下載進度都會因此停止。</translation>
+<translation id="1605658421715042784">複製圖片</translation>
 <translation id="1612730193129642006">顯示分頁方格</translation>
 <translation id="1644574205037202324">歷史記錄</translation>
 <translation id="1646446875146297738">啟用「不追蹤」選項後,您的瀏覽流量會置入一項特定的要求,其作用則視網站是否回應要求,以及網站解讀要求的方式而定。
@@ -58,6 +59,7 @@
 <translation id="1809939268435598390">刪除資料夾</translation>
 <translation id="1813414402673211292">清除瀏覽資料</translation>
 <translation id="1820259098641718022">已加入閱讀清單</translation>
+<translation id="1821253160463689938">使用 Cookie 記住你的偏好設定 (即使你沒有造訪這些網頁)</translation>
 <translation id="1876721852596493031">傳送使用情況資料</translation>
 <translation id="1886928167269928266">不限時間</translation>
 <translation id="1911619930368729126">上傳至 Google 雲端硬碟</translation>
@@ -71,6 +73,7 @@
 <translation id="209018056901015185">切換為電腦版網站</translation>
 <translation id="2103075008456228677">開啟 history.google.com</translation>
 <translation id="2116625576999540962">已移動 <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> 個項目</translation>
+<translation id="2120297377148151361">活動與互動行為</translation>
 <translation id="213900355088104901">如要進行私密瀏覽,請開啟無痕式分頁</translation>
 <translation id="2149973817440762519">編輯書籤</translation>
 <translation id="2230173723195178503">已載入網頁</translation>
@@ -86,6 +89,7 @@
 <translation id="2386793615875593361">已選取 1 張</translation>
 <translation id="2435457462613246316">顯示密碼</translation>
 <translation id="2481538920734869610">新增帳戶</translation>
+<translation id="2523184218357549926">將你造訪的網頁網址傳送給 Google</translation>
 <translation id="2523363575747517183">這個網站不斷嘗試開啟其他應用程式。</translation>
 <translation id="2529021024822217800">全部開啟</translation>
 <translation id="2572712655377361602">裝置政策禁止您存取相片</translation>
@@ -115,6 +119,7 @@
 <translation id="2898963176829412617">新資料夾…</translation>
 <translation id="2903493209154104877">地址</translation>
 <translation id="2909437209446960244">最近開啟的分頁</translation>
+<translation id="2916171785467530738">自動完成搜尋字詞與網址</translation>
 <translation id="291754862089661335">將這個方框對準 QR 圖碼或條碼</translation>
 <translation id="2921219216347069551">無法分享網頁</translation>
 <translation id="2923448633003185837">貼上並前往</translation>
@@ -219,10 +224,12 @@
 <translation id="4860895144060829044">撥號</translation>
 <translation id="4875622588773761625">您要讓 <ph name="PASSWORD_MANAGER_BRAND" /> 更新您在這個網站設定的密碼嗎?</translation>
 <translation id="4881695831933465202">開啟</translation>
+<translation id="4882831918239250449">控制 Google 使用瀏覽記錄提供個人化搜尋服務、廣告和其他內容的方式</translation>
 <translation id="4904877109095351937">標示為已讀取</translation>
 <translation id="4930268273022498155">刪除現有資料。你可以切換回 <ph name="USER_EMAIL1" />,重新取得現有資料。</translation>
 <translation id="4941089862236492464">很抱歉,分享您的項目時發生問題。</translation>
 <translation id="4979397965658815378">只要使用 Google 帳戶登入,您就可以在所有裝置上存取自己的書籤、密碼、歷史記錄和其他設定。</translation>
+<translation id="5004416275253351869">Google 活動控制項</translation>
 <translation id="5005498671520578047">複製密碼</translation>
 <translation id="5010803260590204777">透過新開啟的無痕式分頁以私密模式瀏覽網頁。</translation>
 <translation id="5011684439661633295"><ph name="FULL_ACCOUNT_NAME" />,您好:</translation>
@@ -249,6 +256,7 @@
 <translation id="5548760955356983418">有了 Handoff,您使用這個裝置開始瀏覽網站後,可輕鬆改用 Mac 繼續瀏覽。目前開啟的網站會自動顯示在 Mac 的 Dock 中。
 
 此外,您必須在 [設定] 的「一般設定」部分中啟用 Handoff,且您的裝置必須使用同一個 iCloud 帳戶。</translation>
+<translation id="5554368826343982379">同步處理和個人化</translation>
 <translation id="5556459405103347317">重新載入</translation>
 <translation id="5619279135193775234">郵件</translation>
 <translation id="5626245204502895507">目前無法下載這個檔案。</translation>
@@ -340,6 +348,7 @@
 <translation id="6979158407327259162">Google 雲端硬碟</translation>
 <translation id="7004499039102548441">最近開啟的分頁</translation>
 <translation id="7006788746334555276">內容設定</translation>
+<translation id="7017968314960951695">使用你所造訪網站的內容、瀏覽器活動和瀏覽器互動行為,提供個人化的使用體驗</translation>
 <translation id="7029809446516969842">密碼</translation>
 <translation id="7031882061095297553">同步處理</translation>
 <translation id="7053983685419859001">封鎖</translation>
@@ -382,6 +391,7 @@
 <translation id="7769602470925380267">接受並登出</translation>
 <translation id="7772032839648071052">確認通關密語</translation>
 <translation id="780301667611848630">不用了,謝謝</translation>
+<translation id="7830720446622801252">非個人化服務</translation>
 <translation id="7856733331829174190">無法下載</translation>
 <translation id="7859704718976024901">瀏覽記錄</translation>
 <translation id="7938254975914653459">FaceTime</translation>
@@ -400,6 +410,7 @@
 <translation id="8076014560081431679">已儲存的網站設定不會遭到刪除,而且可能會反映您的瀏覽習慣。<ph name="BEGIN_LINK" />瞭解詳情<ph name="END_LINK" /></translation>
 <translation id="8080028325999236607">關閉所有分頁</translation>
 <translation id="8114753159095730575">可下載檔案,相關選項位於畫面底部。</translation>
+<translation id="8160722851663543621">將網址列和搜尋框中的搜尋字詞以及部分 Cookie 傳送給你的預設搜尋引擎</translation>
 <translation id="8205564605687841303">取消</translation>
 <translation id="8225985093977202398">快取圖片和檔案</translation>
 <translation id="8261506727792406068">刪除</translation>
@@ -410,6 +421,7 @@
 <translation id="842017693807136194">目前登入身分</translation>
 <translation id="8428045167754449968">鄉/鎮/市/區</translation>
 <translation id="8428213095426709021">設定</translation>
+<translation id="8438566539970814960">改善搜尋和瀏覽體驗</translation>
 <translation id="8458397775385147834">已刪除 1 個項目</translation>
 <translation id="8487700953926739672">可離線使用</translation>
 <translation id="8503813439785031346">使用者名稱</translation>
diff --git a/ios/chrome/browser/metrics/ukm_egtest.mm b/ios/chrome/browser/metrics/ukm_egtest.mm
index 2af6df2..38dcf97b 100644
--- a/ios/chrome/browser/metrics/ukm_egtest.mm
+++ b/ios/chrome/browser/metrics/ukm_egtest.mm
@@ -126,17 +126,14 @@
 id<GREYMatcher> ClearBrowsingDataButton() {
   return ButtonWithAccessibilityLabelId(IDS_IOS_CLEAR_BUTTON);
 }
-// Matcher for the clear browsing data action sheet item.
-id<GREYMatcher> ConfirmClearBrowsingDataButton() {
-  return ButtonWithAccessibilityLabelId(IDS_IOS_CONFIRM_CLEAR_BUTTON);
-}
 
 void ClearBrowsingData() {
   [ChromeEarlGreyUI openSettingsMenu];
   [ChromeEarlGreyUI tapSettingsMenuButton:SettingsMenuPrivacyButton()];
   [ChromeEarlGreyUI tapPrivacyMenuButton:ClearBrowsingDataCell()];
   [ChromeEarlGreyUI tapClearBrowsingDataMenuButton:ClearBrowsingDataButton()];
-  [[EarlGrey selectElementWithMatcher:ConfirmClearBrowsingDataButton()]
+  [[EarlGrey selectElementWithMatcher:chrome_test_util::
+                                          ConfirmClearBrowsingDataButton()]
       performAction:grey_tap()];
 
   // Before returning, make sure that the top of the Clear Browsing Data
diff --git a/ios/chrome/browser/passwords/ios_chrome_password_store_factory.cc b/ios/chrome/browser/passwords/ios_chrome_password_store_factory.cc
index ea22819..3e6b2d0 100644
--- a/ios/chrome/browser/passwords/ios_chrome_password_store_factory.cc
+++ b/ios/chrome/browser/passwords/ios_chrome_password_store_factory.cc
@@ -27,6 +27,7 @@
 #include "ios/chrome/browser/sync/glue/sync_start_util.h"
 #include "ios/chrome/browser/sync/profile_sync_service_factory.h"
 #include "ios/chrome/browser/web_data_service_factory.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
 
 // static
 scoped_refptr<password_manager::PasswordStore>
@@ -55,10 +56,9 @@
       GetForBrowserState(browser_state, ServiceAccessType::EXPLICIT_ACCESS);
   syncer::SyncService* sync_service =
       ProfileSyncServiceFactory::GetForBrowserStateIfExists(browser_state);
-  net::URLRequestContextGetter* request_context_getter =
-      browser_state->GetRequestContext();
   password_manager::ToggleAffiliationBasedMatchingBasedOnPasswordSyncedState(
-      password_store.get(), sync_service, request_context_getter,
+      password_store.get(), sync_service,
+      browser_state->GetSharedURLLoaderFactory(),
       browser_state->GetStatePath());
 }
 
diff --git a/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.h b/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.h
index d34a5da6..76264e4c 100644
--- a/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.h
+++ b/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.h
@@ -36,7 +36,7 @@
 
   // Tests if network access is currently blocked by a captive portal.
   void TestForCaptivePortal(
-      const captive_portal::CaptivePortalDetector::DetectionCallback& callback);
+      captive_portal::CaptivePortalDetector::DetectionCallback callback);
 
   // Tests for a captive portal and logs the resulting metric.
   void TimerTriggered();
diff --git a/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.mm b/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.mm
index b3dd7970..b6ac4551 100644
--- a/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.mm
+++ b/ios/chrome/browser/ssl/captive_portal_metrics_tab_helper.mm
@@ -39,19 +39,20 @@
 CaptivePortalMetricsTabHelper::~CaptivePortalMetricsTabHelper() = default;
 
 void CaptivePortalMetricsTabHelper::TimerTriggered() {
-  TestForCaptivePortal(base::Bind(&HandleTimeoutCaptivePortalDetectionResult));
+  TestForCaptivePortal(
+      base::BindOnce(&HandleTimeoutCaptivePortalDetectionResult));
 }
 
 void CaptivePortalMetricsTabHelper::TestForCaptivePortal(
-    const captive_portal::CaptivePortalDetector::DetectionCallback& callback) {
+    captive_portal::CaptivePortalDetector::DetectionCallback callback) {
   CaptivePortalDetectorTabHelper* tab_helper =
       CaptivePortalDetectorTabHelper::FromWebState(web_state_);
   // TODO(crbug.com/760873): replace test with DCHECK when this method is only
   // called on WebStates attached to tabs.
   if (tab_helper) {
     tab_helper->detector()->DetectCaptivePortal(
-        GURL(captive_portal::CaptivePortalDetector::kDefaultURL), callback,
-        NO_TRAFFIC_ANNOTATION_YET);
+        GURL(captive_portal::CaptivePortalDetector::kDefaultURL),
+        std::move(callback), NO_TRAFFIC_ANNOTATION_YET);
   }
 }
 
diff --git a/ios/chrome/browser/ui/download/BUILD.gn b/ios/chrome/browser/ui/download/BUILD.gn
index 9f51dd2..cad5883 100644
--- a/ios/chrome/browser/ui/download/BUILD.gn
+++ b/ios/chrome/browser/ui/download/BUILD.gn
@@ -116,6 +116,7 @@
     "//ios/chrome/browser/download:test_support",
     "//ios/chrome/browser/ui:ui_internal",
     "//ios/chrome/browser/ui:ui_util",
+    "//ios/chrome/test:test_support",
     "//ios/chrome/test/app:test_support",
     "//ios/chrome/test/earl_grey:test_support",
     "//ios/testing:embedded_test_server_support",
diff --git a/ios/chrome/browser/ui/download/download_manager_egtest.mm b/ios/chrome/browser/ui/download/download_manager_egtest.mm
index 64cfc2b..1dde72b 100644
--- a/ios/chrome/browser/ui/download/download_manager_egtest.mm
+++ b/ios/chrome/browser/ui/download/download_manager_egtest.mm
@@ -5,11 +5,14 @@
 #import <EarlGrey/EarlGrey.h>
 
 #include "base/test/scoped_feature_list.h"
+#include "ios/chrome/browser/chrome_url_constants.h"
 #include "ios/chrome/grit/ios_strings.h"
 #import "ios/chrome/test/app/tab_test_util.h"
 #import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
+#import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
 #import "ios/chrome/test/earl_grey/chrome_matchers.h"
 #import "ios/chrome/test/earl_grey/chrome_test_case.h"
+#import "ios/chrome/test/scoped_eg_synchronization_disabler.h"
 #include "ios/testing/embedded_test_server_handlers.h"
 #import "ios/testing/wait_util.h"
 #include "ios/web/public/features.h"
@@ -44,6 +47,20 @@
   return result;
 }
 
+// Waits until Open in... button is shown.
+bool WaitForOpenInButton() WARN_UNUSED_RESULT;
+bool WaitForOpenInButton() {
+  // These downloads usually take longer and need a longer timeout.
+  const NSTimeInterval kLongDownloadTimeout = 25;
+  return testing::WaitUntilConditionOrTimeout(kLongDownloadTimeout, ^{
+    NSError* error = nil;
+    [[EarlGrey selectElementWithMatcher:OpenInButton()]
+        assertWithMatcher:grey_notNil()
+                    error:&error];
+    return (error == nil);
+  });
+}
+
 }  // namespace
 
 // Tests critical user journeys for Download Manager.
@@ -71,7 +88,7 @@
 }
 
 // Tests sucessfull download up to the point where "Open in..." button is
-// presented. EarlGreay does not allow testing "Open in..." dialog, because it
+// presented. EarlGrey does not allow testing "Open in..." dialog, because it
 // is run in a separate process.
 - (void)testSucessfullDownload {
   [ChromeEarlGrey loadURL:self.testServer->GetURL("/")];
@@ -81,21 +98,11 @@
   [[EarlGrey selectElementWithMatcher:DownloadButton()]
       performAction:grey_tap()];
 
-  // Wait until Open in... button is shown.
-  ConditionBlock openInShown = ^{
-    NSError* error = nil;
-    [[EarlGrey selectElementWithMatcher:OpenInButton()]
-        assertWithMatcher:grey_notNil()
-                    error:&error];
-    return (error == nil);
-  };
-  GREYAssert(testing::WaitUntilConditionOrTimeout(
-                 testing::kWaitForDownloadTimeout, openInShown),
-             @"Open in... button did not show up");
+  GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
 }
 
 // Tests sucessfull download up to the point where "Open in..." button is
-// presented. EarlGreay does not allow testing "Open in..." dialog, because it
+// presented. EarlGrey does not allow testing "Open in..." dialog, because it
 // is run in a separate process. Performs download in Incognito.
 - (void)testSucessfullDownloadInIncognito {
   chrome_test_util::OpenNewIncognitoTab();
@@ -108,17 +115,7 @@
   [[EarlGrey selectElementWithMatcher:DownloadButton()]
       performAction:grey_tap()];
 
-  // Wait until Open in... button is shown.
-  ConditionBlock openInShown = ^{
-    NSError* error = nil;
-    [[EarlGrey selectElementWithMatcher:OpenInButton()]
-        assertWithMatcher:grey_notNil()
-                    error:&error];
-    return (error == nil);
-  };
-  GREYAssert(testing::WaitUntilConditionOrTimeout(
-                 testing::kWaitForDownloadTimeout, openInShown),
-             @"Open in... button did not show up");
+  GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
 }
 
 // Tests cancelling download UI.
@@ -137,4 +134,36 @@
       assertWithMatcher:grey_nil()];
 }
 
+// Tests sucessfull download up to the point where "Open in..." button is
+// presented. EarlGrey does not allow testing "Open in..." dialog, because it
+// is run in a separate process. After tapping Download this test opens a
+// separate tabs and loads the URL there. Then closes the tab and waits for
+// the download completion.
+- (void)testDownloadWhileBrowsing {
+  [ChromeEarlGrey loadURL:self.testServer->GetURL("/")];
+  [ChromeEarlGrey waitForWebViewContainingText:"Download"];
+  [ChromeEarlGrey tapWebViewElementWithID:@"download"];
+
+  [[EarlGrey selectElementWithMatcher:DownloadButton()]
+      performAction:grey_tap()];
+
+  {
+    // In order to open a new Tab, disable EG synchronization so the framework
+    // does not wait until the download progress bar becomes idle (which will
+    // not happen until the download is complete).
+    ScopedSynchronizationDisabler disabler;
+    chrome_test_util::OpenNewTab();
+    [[GREYUIThreadExecutor sharedInstance] drainUntilIdle];
+  }
+
+  // Load a URL in a separate Tab and close that tab.
+  [ChromeEarlGrey loadURL:GURL(kChromeUITermsURL)];
+  const char kTermsText[] = "Google Chrome Terms of Service";
+  [ChromeEarlGrey waitForWebViewContainingText:kTermsText];
+  chrome_test_util::CloseCurrentTab();
+  [[GREYUIThreadExecutor sharedInstance] drainUntilIdle];
+
+  GREYAssert(WaitForOpenInButton(), @"Open in... button did not show up");
+}
+
 @end
diff --git a/ios/chrome/browser/ui/history/history_ui_egtest.mm b/ios/chrome/browser/ui/history/history_ui_egtest.mm
index 5bed0a0..73d1d9b 100644
--- a/ios/chrome/browser/ui/history/history_ui_egtest.mm
+++ b/ios/chrome/browser/ui/history/history_ui_egtest.mm
@@ -142,10 +142,7 @@
 id<GREYMatcher> ClearBrowsingDataButton() {
   return ButtonWithAccessibilityLabelId(IDS_IOS_CLEAR_BUTTON);
 }
-// Matcher for the clear browsing data action sheet item.
-id<GREYMatcher> ConfirmClearBrowsingDataButton() {
-  return ButtonWithAccessibilityLabelId(IDS_IOS_CONFIRM_CLEAR_BUTTON);
-}
+
 }  // namespace
 
 // History UI tests.
@@ -344,7 +341,8 @@
       performAction:grey_tap()];
   [[EarlGrey selectElementWithMatcher:ClearBrowsingDataButton()]
       performAction:grey_tap()];
-  [[EarlGrey selectElementWithMatcher:ConfirmClearBrowsingDataButton()]
+  [[EarlGrey selectElementWithMatcher:chrome_test_util::
+                                          ConfirmClearBrowsingDataButton()]
       performAction:grey_tap()];
 
   // Include sufficientlyVisible condition for the case of the clear browsing
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn
index 3eebe32..6adbc97 100644
--- a/ios/chrome/browser/ui/settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -32,6 +32,8 @@
     "clear_browsing_data_manager.mm",
     "clear_browsing_data_table_view_controller.h",
     "clear_browsing_data_table_view_controller.mm",
+    "clear_browsing_data_ui_constants.h",
+    "clear_browsing_data_ui_constants.mm",
     "compose_email_handler_collection_view_controller.h",
     "compose_email_handler_collection_view_controller.mm",
     "content_settings_collection_view_controller.h",
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_controller.mm b/ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_controller.mm
index de45249..a7b5b9a 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_controller.mm
@@ -21,6 +21,7 @@
 #include "ios/chrome/browser/browsing_data/browsing_data_remover_observer.h"
 #include "ios/chrome/browser/chrome_url_constants.h"
 #include "ios/chrome/browser/experimental_flags.h"
+#import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h"
 #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
@@ -98,13 +99,16 @@
 // delegate.
 @property(nonatomic, readonly, strong) ClearBrowsingDataManager* dataManager;
 
+// Coordinator that managers an action sheet to clear browsing data.
+@property(nonatomic, strong) ActionSheetCoordinator* actionSheetCoordinator;
+
 // Restarts the counters for data types specified in the mask.
 - (void)restartCounters:(BrowsingDataRemoveMask)mask;
 
 @end
 
 @implementation ClearBrowsingDataCollectionViewController
-
+@synthesize actionSheetCoordinator = _actionSheetCoordinator;
 @synthesize dataManager = _dataManager;
 
 #pragma mark Initialization
@@ -280,7 +284,9 @@
       break;
     }
     case ItemTypeClearBrowsingDataButton:
-      [self presentClearBrowsingDataConfirmationDialog];
+      UICollectionViewCell* cell =
+          [collectionView cellForItemAtIndexPath:indexPath];
+      [self presentClearBrowsingDataConfirmationDialog:cell];
       break;
   }
 }
@@ -289,7 +295,7 @@
 
 // Displays an action sheet to the user confirming the clearing of user data. If
 // the clearing is confirmed, clears the data.
-- (void)presentClearBrowsingDataConfirmationDialog {
+- (void)presentClearBrowsingDataConfirmationDialog:(UICollectionViewCell*)cell {
   BrowsingDataRemoveMask dataTypeMaskToRemove =
       BrowsingDataRemoveMask::REMOVE_NOTHING;
   NSArray* dataTypeItems = [self.collectionViewModel
@@ -300,10 +306,16 @@
       dataTypeMaskToRemove = dataTypeMaskToRemove | dataTypeItem.dataTypeMask;
     }
   }
-  UIAlertController* alertController = [self.dataManager
-      alertControllerWithDataTypesToRemove:dataTypeMaskToRemove];
-  if (alertController) {
-    [self presentViewController:alertController animated:YES completion:nil];
+  self.actionSheetCoordinator = [self.dataManager
+      actionSheetCoordinatorWithDataTypesToRemove:dataTypeMaskToRemove
+                               baseViewController:self
+                                       sourceRect:CGRectMake(
+                                                      CGRectGetMidX(cell.frame),
+                                                      CGRectGetMidY(cell.frame),
+                                                      1, 1)
+                                       sourceView:self.collectionView];
+  if (self.actionSheetCoordinator) {
+    [self.actionSheetCoordinator start];
   }
 }
 
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data_manager.h b/ios/chrome/browser/ui/settings/clear_browsing_data_manager.h
index fcf4fab..52b384cc 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data_manager.h
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data_manager.h
@@ -11,6 +11,7 @@
 #import "ios/chrome/browser/ui/settings/time_range_selector_collection_view_controller.h"
 
 @class ListModel;
+@class ActionSheetCoordinator;
 
 // Clear Browswing Data Section Identifiers.
 enum ClearBrowsingDataSectionIdentifier {
@@ -83,10 +84,15 @@
 
 // Fills |model| with appropriate sections and items.
 - (void)loadModel:(ListModel*)model;
-// Returns a UIAlertController that has action block to clear data of type
+// Returns a ActionSheetCoordinator that has action block to clear data of type
 // |dataTypeMaskToRemove|.
-- (UIAlertController*)alertControllerWithDataTypesToRemove:
-    (BrowsingDataRemoveMask)dataTypeMaskToRemove;
+- (ActionSheetCoordinator*)
+actionSheetCoordinatorWithDataTypesToRemove:
+    (BrowsingDataRemoveMask)dataTypeMaskToRemove
+                         baseViewController:
+                             (UIViewController*)baseViewController
+                                 sourceRect:(CGRect)sourceRect
+                                 sourceView:(UIView*)sourceView;
 // Get the text to be displayed by a counter from the given |result|
 - (NSString*)counterTextFromResult:
     (const browsing_data::BrowsingDataCounter::Result&)result;
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data_manager.mm b/ios/chrome/browser/ui/settings/clear_browsing_data_manager.mm
index 9b0429a..2a7b9c8 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data_manager.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data_manager.mm
@@ -28,6 +28,8 @@
 #include "ios/chrome/browser/history/web_history_service_factory.h"
 #include "ios/chrome/browser/signin/signin_manager_factory.h"
 #include "ios/chrome/browser/sync/profile_sync_service_factory.h"
+#import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h"
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item.h"
 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h"
 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
@@ -38,6 +40,7 @@
 #import "ios/chrome/browser/ui/settings/cells/clear_browsing_data_item.h"
 #import "ios/chrome/browser/ui/settings/cells/settings_detail_item.h"
 #import "ios/chrome/browser/ui/settings/cells/table_view_clear_browsing_data_item.h"
+#import "ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_text_button_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_text_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_text_link_item.h"
@@ -216,33 +219,36 @@
   return l10n_util::GetNSString(IDS_DEL_CACHE_COUNTER_ALMOST_EMPTY);
 }
 
-- (UIAlertController*)alertControllerWithDataTypesToRemove:
-    (BrowsingDataRemoveMask)dataTypeMaskToRemove {
+- (ActionSheetCoordinator*)
+actionSheetCoordinatorWithDataTypesToRemove:
+    (BrowsingDataRemoveMask)dataTypeMaskToRemove
+                         baseViewController:
+                             (UIViewController*)baseViewController
+                                 sourceRect:(CGRect)sourceRect
+                                 sourceView:(UIView*)sourceView {
   if (dataTypeMaskToRemove == BrowsingDataRemoveMask::REMOVE_NOTHING) {
     // Nothing to clear (no data types selected).
     return nil;
   }
   __weak ClearBrowsingDataManager* weakSelf = self;
-  UIAlertController* alertController = [UIAlertController
-      alertControllerWithTitle:nil
-                       message:nil
-                preferredStyle:UIAlertControllerStyleActionSheet];
+  ActionSheetCoordinator* actionCoordinator = [[ActionSheetCoordinator alloc]
+      initWithBaseViewController:baseViewController
+                           title:l10n_util::GetNSString(
+                                     IDS_IOS_CONFIRM_CLEAR_BUTTON_TITLE)
+                         message:nil
+                            rect:sourceRect
+                            view:sourceView];
+  [actionCoordinator
+      addItemWithTitle:l10n_util::GetNSString(IDS_IOS_CLEAR_BUTTON)
+                action:^{
+                  [weakSelf clearDataForDataTypes:dataTypeMaskToRemove];
+                }
+                 style:UIAlertActionStyleDestructive];
+  [actionCoordinator addItemWithTitle:l10n_util::GetNSString(IDS_CANCEL)
+                               action:nil
+                                style:UIAlertActionStyleCancel];
 
-  UIAlertAction* clearDataAction = [UIAlertAction
-      actionWithTitle:l10n_util::GetNSString(IDS_IOS_CLEAR_BUTTON)
-                style:UIAlertActionStyleDestructive
-              handler:^(UIAlertAction* action) {
-                [weakSelf clearDataForDataTypes:dataTypeMaskToRemove];
-              }];
-  clearDataAction.accessibilityLabel =
-      l10n_util::GetNSString(IDS_IOS_CONFIRM_CLEAR_BUTTON);
-  UIAlertAction* cancelAction =
-      [UIAlertAction actionWithTitle:l10n_util::GetNSString(IDS_CANCEL)
-                               style:UIAlertActionStyleCancel
-                             handler:nil];
-  [alertController addAction:clearDataAction];
-  [alertController addAction:cancelAction];
-  return alertController;
+  return actionCoordinator;
 }
 
 - (void)addClearDataButtonToModel:(ListModel*)model {
@@ -322,6 +328,8 @@
         l10n_util::GetNSString(IDS_IOS_CLEAR_BUTTON);
     collectionClearButtonItem.accessibilityTraits |= UIAccessibilityTraitButton;
     collectionClearButtonItem.textColor = [[MDCPalette cr_redPalette] tint500];
+    collectionClearButtonItem.accessibilityIdentifier =
+        kClearBrowsingDataButtonIdentifier;
     clearButtonItem = collectionClearButtonItem;
   } else {
     TableViewTextButtonItem* tableViewClearButtonItem =
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data_table_view_controller.mm b/ios/chrome/browser/ui/settings/clear_browsing_data_table_view_controller.mm
index fa4ecd3..4c58155 100644
--- a/ios/chrome/browser/ui/settings/clear_browsing_data_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data_table_view_controller.mm
@@ -6,10 +6,12 @@
 
 #include "base/mac/foundation_util.h"
 #include "ios/chrome/browser/browsing_data/browsing_data_remove_mask.h"
+#import "ios/chrome/browser/ui/alert_coordinator/action_sheet_coordinator.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
 #import "ios/chrome/browser/ui/settings/cells/table_view_clear_browsing_data_item.h"
 #include "ios/chrome/browser/ui/settings/clear_browsing_data_local_commands.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data_manager.h"
+#import "ios/chrome/browser/ui/settings/settings_collection_view_controller.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_cells_constants.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_text_button_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_text_link_item.h"
@@ -41,10 +43,19 @@
 // Browser state.
 @property(nonatomic, assign) ios::ChromeBrowserState* browserState;
 
+// Coordinator that managers a UIAlertController to clear browsing data.
+@property(nonatomic, strong) ActionSheetCoordinator* actionSheetCoordinator;
+
+// Reference to clear browsing data button for positioning popover confirmation
+// dialog.
+@property(nonatomic, strong) UIButton* clearBrowsingDataButton;
+
 @end
 
 @implementation ClearBrowsingDataTableViewController
+@synthesize actionSheetCoordinator = _actionSheetCoordinator;
 @synthesize browserState = _browserState;
+@synthesize clearBrowsingDataButton = _clearBrowsingDataButton;
 @synthesize dataManager = _dataManager;
 @synthesize dispatcher = _dispatcher;
 @synthesize localDispatcher = _localDispatcher;
@@ -85,6 +96,7 @@
       initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                            target:self
                            action:@selector(dismiss)];
+  dismissButton.accessibilityIdentifier = kSettingsDoneButtonId;
   self.navigationItem.rightBarButtonItem = dismissButton;
 
   [self loadModel];
@@ -126,8 +138,9 @@
           UITableViewCellSelectionStyleNone;
       [tableViewTextButtonCell.button
                  addTarget:self
-                    action:@selector(showClearBrowsingDataAlertController)
+                    action:@selector(showClearBrowsingDataAlertController:)
           forControlEvents:UIControlEventTouchUpInside];
+      self.clearBrowsingDataButton = tableViewTextButtonCell.button;
       break;
     }
     case ItemTypeDataTypeBrowsingHistory:
@@ -202,7 +215,7 @@
 
 #pragma mark - Private Helpers
 
-- (void)showClearBrowsingDataAlertController {
+- (void)showClearBrowsingDataAlertController:(id)sender {
   BrowsingDataRemoveMask dataTypeMaskToRemove =
       BrowsingDataRemoveMask::REMOVE_NOTHING;
   NSArray* dataTypeItems = [self.tableViewModel
@@ -213,10 +226,18 @@
       dataTypeMaskToRemove = dataTypeMaskToRemove | dataTypeItem.dataTypeMask;
     }
   }
-  UIAlertController* alertController = [self.dataManager
-      alertControllerWithDataTypesToRemove:dataTypeMaskToRemove];
-  if (alertController) {
-    [self presentViewController:alertController animated:YES completion:nil];
+  // Get button's position in coordinate system of table view.
+  DCHECK_EQ(self.clearBrowsingDataButton, sender);
+  CGRect clearBrowsingDataButtonRect = [self.clearBrowsingDataButton
+      convertRect:self.clearBrowsingDataButton.bounds
+           toView:self.tableView];
+  self.actionSheetCoordinator = [self.dataManager
+      actionSheetCoordinatorWithDataTypesToRemove:dataTypeMaskToRemove
+                               baseViewController:self
+                                       sourceRect:clearBrowsingDataButtonRect
+                                       sourceView:self.tableView];
+  if (self.actionSheetCoordinator) {
+    [self.actionSheetCoordinator start];
   }
 }
 
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.h b/ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.h
new file mode 100644
index 0000000..067115b
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.h
@@ -0,0 +1,12 @@
+// 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 IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_UI_CONSTANTS_H_
+#define IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_UI_CONSTANTS_H_
+
+#import <Foundation/Foundation.h>
+
+extern NSString* const kClearBrowsingDataButtonIdentifier;
+
+#endif  // IOS_CHROME_BROWSER_UI_SETTINGS_CLEAR_BROWSING_DATA_UI_CONSTANTS_H_
diff --git a/ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.mm b/ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.mm
new file mode 100644
index 0000000..f7c6bc9
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.mm
@@ -0,0 +1,12 @@
+// 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.
+
+#import "ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+NSString* const kClearBrowsingDataButtonIdentifier =
+    @"kClearBrowsingDataButtonIdentifier";
diff --git a/ios/chrome/browser/ui/settings/settings_egtest.mm b/ios/chrome/browser/ui/settings/settings_egtest.mm
index 6a25f4b..10c6b11 100644
--- a/ios/chrome/browser/ui/settings/settings_egtest.mm
+++ b/ios/chrome/browser/ui/settings/settings_egtest.mm
@@ -86,10 +86,6 @@
 id<GREYMatcher> ClearBrowsingDataButton() {
   return ButtonWithAccessibilityLabelId(IDS_IOS_CLEAR_BUTTON);
 }
-// Matcher for the clear browsing data action sheet item.
-id<GREYMatcher> ConfirmClearBrowsingDataButton() {
-  return ButtonWithAccessibilityLabelId(IDS_IOS_CONFIRM_CLEAR_BUTTON);
-}
 // Matcher for the Send Usage Data cell on the Privacy screen.
 id<GREYMatcher> SendUsageDataButton() {
   return ButtonWithAccessibilityLabelId(IDS_IOS_OPTIONS_SEND_USAGE_DATA);
@@ -252,7 +248,8 @@
 // scheduled for removal.
 - (void)clearBrowsingData {
   [ChromeEarlGreyUI tapClearBrowsingDataMenuButton:ClearBrowsingDataButton()];
-  [[EarlGrey selectElementWithMatcher:ConfirmClearBrowsingDataButton()]
+  [[EarlGrey selectElementWithMatcher:chrome_test_util::
+                                          ConfirmClearBrowsingDataButton()]
       performAction:grey_tap()];
 
   // Before returning, make sure that the top of the Clear Browsing Data
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn
index 70afe28..5865592 100644
--- a/ios/chrome/test/BUILD.gn
+++ b/ios/chrome/test/BUILD.gn
@@ -32,6 +32,7 @@
     "root_view_controller_test.mm",
     "scoped_block_popups_pref.h",
     "scoped_block_popups_pref.mm",
+    "scoped_eg_synchronization_disabler.h",
     "scoped_key_window.h",
     "testing_application_context.h",
     "testing_application_context.mm",
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.h b/ios/chrome/test/earl_grey/chrome_matchers.h
index ae69c2a..ab700b5 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.h
+++ b/ios/chrome/test/earl_grey/chrome_matchers.h
@@ -123,6 +123,9 @@
 // Returns matcher for the clear browsing data collection view.
 id<GREYMatcher> ClearBrowsingDataCollectionView();
 
+// Matcher for the clear browsing data action sheet item.
+id<GREYMatcher> ConfirmClearBrowsingDataButton();
+
 // Returns matcher for the settings button in the tools menu.
 id<GREYMatcher> SettingsMenuButton();
 
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.mm b/ios/chrome/test/earl_grey/chrome_matchers.mm
index 955b5b5..5f9cb12 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.mm
+++ b/ios/chrome/test/earl_grey/chrome_matchers.mm
@@ -27,6 +27,7 @@
 #import "ios/chrome/browser/ui/settings/cells/settings_switch_item.h"
 #import "ios/chrome/browser/ui/settings/cells/sync_switch_item.h"
 #import "ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_controller.h"
+#import "ios/chrome/browser/ui/settings/clear_browsing_data_ui_constants.h"
 #import "ios/chrome/browser/ui/settings/import_data_collection_view_controller.h"
 #import "ios/chrome/browser/ui/settings/settings_collection_view_controller.h"
 #import "ios/chrome/browser/ui/settings/sync_settings_collection_view_controller.h"
@@ -307,6 +308,13 @@
       kClearBrowsingDataCollectionViewAccessibilityIdentifier);
 }
 
+id<GREYMatcher> ConfirmClearBrowsingDataButton() {
+  return grey_allOf(
+      grey_accessibilityLabel(l10n_util::GetNSString(IDS_IOS_CLEAR_BUTTON)),
+      grey_accessibilityTrait(UIAccessibilityTraitButton),
+      grey_not(grey_accessibilityID(kClearBrowsingDataButtonIdentifier)), nil);
+}
+
 id<GREYMatcher> SettingsMenuButton() {
   return grey_accessibilityID(kToolsMenuSettingsId);
 }
diff --git a/ios/chrome/test/scoped_eg_synchronization_disabler.h b/ios/chrome/test/scoped_eg_synchronization_disabler.h
new file mode 100644
index 0000000..9587618
--- /dev/null
+++ b/ios/chrome/test/scoped_eg_synchronization_disabler.h
@@ -0,0 +1,40 @@
+// 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 IOS_CHROME_TEST_SCOPED_EG_SYNCHRONIZATION_DISABLER_H_
+#define IOS_CHROME_TEST_SCOPED_EG_SYNCHRONIZATION_DISABLER_H_
+
+#import <EarlGrey/EarlGrey.h>
+
+#include "base/macros.h"
+
+// Disables EarlGrey synchronization in constructor and returns back to the
+// original value in destructor.
+class ScopedSynchronizationDisabler {
+ public:
+  ScopedSynchronizationDisabler()
+      : saved_eg_synchronization_enabled_value_(GetEgSynchronizationEnabled()) {
+    SetEgSynchronizationEnabled(NO);
+  }
+  ~ScopedSynchronizationDisabler() {
+    SetEgSynchronizationEnabled(saved_eg_synchronization_enabled_value_);
+  }
+
+ private:
+  static bool GetEgSynchronizationEnabled() {
+    return [[GREYConfiguration sharedInstance]
+        boolValueForConfigKey:kGREYConfigKeySynchronizationEnabled];
+  }
+  static void SetEgSynchronizationEnabled(BOOL flag) {
+    [[GREYConfiguration sharedInstance]
+            setValue:@(flag)
+        forConfigKey:kGREYConfigKeySynchronizationEnabled];
+  }
+
+  BOOL saved_eg_synchronization_enabled_value_ = NO;
+
+  DISALLOW_COPY_AND_ASSIGN(ScopedSynchronizationDisabler);
+};
+
+#endif  // IOS_CHROME_TEST_SCOPED_EG_SYNCHRONIZATION_DISABLER_H_
diff --git a/ios/third_party/material_components_ios/BUILD.gn b/ios/third_party/material_components_ios/BUILD.gn
index 773bbd9..1183533 100644
--- a/ios/third_party/material_components_ios/BUILD.gn
+++ b/ios/third_party/material_components_ios/BUILD.gn
@@ -78,6 +78,7 @@
     "src/components/BottomSheet/src/MDCBottomSheetPresentationController.m",
     "src/components/BottomSheet/src/MDCBottomSheetTransitionController.h",
     "src/components/BottomSheet/src/MDCBottomSheetTransitionController.m",
+    "src/components/BottomSheet/src/MDCSheetState.h",
     "src/components/BottomSheet/src/MaterialBottomSheet.h",
     "src/components/BottomSheet/src/UIViewController+MaterialBottomSheet.h",
     "src/components/BottomSheet/src/UIViewController+MaterialBottomSheet.m",
@@ -267,6 +268,8 @@
     "src/components/private/Overlay/src/private/MDCOverlayUtilities.m",
     "src/components/private/Shapes/src/MDCShapedShadowLayer.h",
     "src/components/private/Shapes/src/MDCShapedShadowLayer.m",
+    "src/components/private/Shapes/src/MDCShapedView.h",
+    "src/components/private/Shapes/src/MDCShapedView.m",
     "src/components/private/Shapes/src/MaterialShapes.h",
     "src/components/private/ThumbTrack/src/MDCNumericValueLabel.h",
     "src/components/private/ThumbTrack/src/MDCNumericValueLabel.m",
@@ -297,6 +300,7 @@
     "src/components/ActivityIndicator/src",
     "src/components/AnimationTiming/src",
     "src/components/AppBar/src",
+    "src/components/BottomSheet/src",
     "src/components/ButtonBar/src",
     "src/components/NavigationBar/src",
     "src/components/OverlayWindow/src",
diff --git a/ios/web/navigation/history_state_operations_inttest.mm b/ios/web/navigation/history_state_operations_inttest.mm
index 8d51284..1047457 100644
--- a/ios/web/navigation/history_state_operations_inttest.mm
+++ b/ios/web/navigation/history_state_operations_inttest.mm
@@ -7,8 +7,10 @@
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/test/scoped_feature_list.h"
 #import "ios/testing/wait_util.h"
 #import "ios/web/navigation/navigation_item_impl.h"
+#include "ios/web/public/features.h"
 #import "ios/web/public/navigation_item.h"
 #import "ios/web/public/navigation_manager.h"
 #import "ios/web/public/test/http_server/http_server.h"
@@ -56,13 +58,29 @@
 // Wait timeout for state updates.
 const NSTimeInterval kWaitForStateUpdateTimeout = 5.0;
 
+// HistoryStateOperationsTest is parameterized on this enum to test both
+// LegacyNavigationManager and WKBasedNavigationManager.
+enum class NavigationManagerChoice {
+  LEGACY,
+  WK_BASED,
+};
+
 }  // namespace
 
 // Test fixture for integration tests involving html5 window.history state
 // operations.
-class HistoryStateOperationsTest : public web::WebIntTest {
+class HistoryStateOperationsTest
+    : public web::WebIntTest,
+      public ::testing::WithParamInterface<NavigationManagerChoice> {
  protected:
   void SetUp() override {
+    if (GetParam() == NavigationManagerChoice::LEGACY) {
+      scoped_feature_list_.InitAndDisableFeature(
+          web::features::kSlimNavigationManager);
+    } else {
+      scoped_feature_list_.InitAndEnableFeature(
+          web::features::kSlimNavigationManager);
+    }
     web::WebIntTest::SetUp();
 
     // History state tests use file-based test pages.
@@ -127,11 +145,12 @@
 
  private:
   GURL state_operations_url_;
+  base::test::ScopedFeatureList scoped_feature_list_;
 };
 
 // Tests that calling window.history.pushState() is a no-op for unresolvable
 // URLs.
-TEST_F(HistoryStateOperationsTest, NoOpPushUnresolvable) {
+TEST_P(HistoryStateOperationsTest, NoOpPushUnresolvable) {
   // Perform a window.history.pushState() with an unresolvable URL.  This will
   // clear the OnLoad and NoOp text, so checking below that the NoOp text is
   // displayed and the OnLoad text is empty ensures that no navigation occurred
@@ -146,7 +165,7 @@
 
 // Tests that calling window.history.replaceState() is a no-op for unresolvable
 // URLs.
-TEST_F(HistoryStateOperationsTest, NoOpReplaceUnresolvable) {
+TEST_P(HistoryStateOperationsTest, NoOpReplaceUnresolvable) {
   // Perform a window.history.replaceState() with an unresolvable URL.  This
   // will clear the OnLoad and NoOp text, so checking below that the NoOp text
   // is displayed and the OnLoad text is empty ensures that no navigation
@@ -161,7 +180,7 @@
 
 // Tests that calling window.history.pushState() is a no-op for URLs with a
 // different scheme.
-TEST_F(HistoryStateOperationsTest, NoOpPushDifferentScheme) {
+TEST_P(HistoryStateOperationsTest, NoOpPushDifferentScheme) {
   // Perform a window.history.pushState() with a URL with a different scheme.
   // This will clear the OnLoad and NoOp text, so checking below that the NoOp
   // text is displayed and the OnLoad text is empty ensures that no navigation
@@ -177,7 +196,7 @@
 
 // Tests that calling window.history.replaceState() is a no-op for URLs with a
 // different scheme.
-TEST_F(HistoryStateOperationsTest, NoOpRelaceDifferentScheme) {
+TEST_P(HistoryStateOperationsTest, NoOpRelaceDifferentScheme) {
   // Perform a window.history.replaceState() with a URL with a different scheme.
   // This will clear the OnLoad and NoOp text, so checking below that the NoOp
   // text is displayed and the OnLoad text is empty ensures that no navigation
@@ -193,7 +212,7 @@
 
 // Tests that calling window.history.pushState() is a no-op for URLs with a
 // origin differing from that of the current page.
-TEST_F(HistoryStateOperationsTest, NoOpPushDifferentOrigin) {
+TEST_P(HistoryStateOperationsTest, NoOpPushDifferentOrigin) {
   // Perform a window.history.pushState() with a URL with a different origin.
   // This will clear the OnLoad and NoOp text, so checking below that the NoOp
   // text is displayed and the OnLoad text is empty ensures that no navigation
@@ -215,7 +234,7 @@
 
 // Tests that calling window.history.replaceState() is a no-op for URLs with a
 // origin differing from that of the current page.
-TEST_F(HistoryStateOperationsTest, NoOpReplaceDifferentOrigin) {
+TEST_P(HistoryStateOperationsTest, NoOpReplaceDifferentOrigin) {
   // Perform a window.history.replaceState() with a URL with a different origin.
   // This will clear the OnLoad and NoOp text, so checking below that the NoOp
   // text is displayed and the OnLoad text is empty ensures that no navigation
@@ -239,7 +258,7 @@
 // successfully replaces the current NavigationItem's title.
 // TODO(crbug.com/677356): Enable this test once the NavigationItem's title is
 // updated from within the web layer.
-TEST_F(HistoryStateOperationsTest, DISABLED_TitleReplacement) {
+TEST_P(HistoryStateOperationsTest, DISABLED_TitleReplacement) {
   // Navigate to about:blank then navigate back to the test page.  The created
   // NavigationItem can be used later to verify that the title is replaced
   // rather than pushed.
@@ -269,7 +288,7 @@
 
 // Tests that calling window.history.replaceState() with a new state object
 // replaces the state object for the current NavigationItem.
-TEST_F(HistoryStateOperationsTest, StateReplacement) {
+TEST_P(HistoryStateOperationsTest, StateReplacement) {
   // Navigate to about:blank then navigate back to the test page.  The created
   // NavigationItem can be used later to verify that the state is replaced
   // rather than pushed.
@@ -319,7 +338,7 @@
 #define MAYBE_StateReplacementReload DISABLED_StateReplacementReload
 #endif
 // TODO(crbug.com/720381): Enable this test on device.
-TEST_F(HistoryStateOperationsTest, MAYBE_StateReplacementReload) {
+TEST_P(HistoryStateOperationsTest, MAYBE_StateReplacementReload) {
   // Set up the state parameters and tap the replace state button.
   std::string new_state("STATE OBJECT");
   std::string empty_title;
@@ -338,7 +357,7 @@
 
 // Tests that the state object is correctly set for a page after a back/forward
 // navigation.
-TEST_F(HistoryStateOperationsTest, StateReplacementBackForward) {
+TEST_P(HistoryStateOperationsTest, StateReplacementBackForward) {
   // Navigate to about:blank then navigate back to the test page.  The created
   // NavigationItem can be used later to verify that the state is replaced
   // rather than pushed.
@@ -361,7 +380,15 @@
   ASSERT_TRUE(ExecuteBlockAndWaitForLoad(state_operations_url(), ^{
     navigation_manager()->GoBack();
   }));
-  ASSERT_TRUE(IsOnLoadTextVisible());
+
+  if (GetParam() == NavigationManagerChoice::LEGACY) {
+    ASSERT_TRUE(IsOnLoadTextVisible());
+  } else {
+    // WebKit doesn't trigger onload on back. WKBasedNavigationManager inherits
+    // this behavior.
+    WaitForNoOpText();
+  }
+
   BOOL completed = testing::WaitUntilConditionOrTimeout(
       testing::kWaitForJSCompletionTimeout, ^{
         return GetJavaScriptState() == new_state;
@@ -371,7 +398,7 @@
 
 // Tests that calling window.history.pushState() creates a new NavigationItem
 // and prunes trailing items.
-TEST_F(HistoryStateOperationsTest, PushState) {
+TEST_P(HistoryStateOperationsTest, PushState) {
   // Navigate to about:blank then navigate back to the test page.  The created
   // NavigationItem can be used later to verify that the state is replaced
   // rather than pushed.
@@ -404,7 +431,7 @@
 
 // Tests that performing a replaceState() on a page created with a POST request
 // resets the page to a GET request.
-TEST_F(HistoryStateOperationsTest, ReplaceStatePostRequest) {
+TEST_P(HistoryStateOperationsTest, ReplaceStatePostRequest) {
   // Add POST data to the current NavigationItem.
   NSData* post_data = [NSData data];
   static_cast<web::NavigationItemImpl*>(GetLastCommittedItem())
@@ -428,7 +455,7 @@
 
 // Tests that performing a replaceState() on a page where only the URL fragment
 // is updated does not trigger a hashchange event.
-TEST_F(HistoryStateOperationsTest, ReplaceStateNoHashChangeEvent) {
+TEST_P(HistoryStateOperationsTest, ReplaceStateNoHashChangeEvent) {
   // Set up the state parameters and tap the replace state button.
   std::string empty_state;
   std::string empty_title;
@@ -447,7 +474,7 @@
 }
 
 // Regression test for crbug.com/788464.
-TEST_F(HistoryStateOperationsTest, ReplaceStateThenReload) {
+TEST_P(HistoryStateOperationsTest, ReplaceStateThenReload) {
   GURL url = web::test::HttpServer::MakeUrl(
       "http://ios/testing/data/http_server_files/"
       "onload_replacestate_reload.html");
@@ -460,3 +487,8 @@
       });
   EXPECT_TRUE(completed);
 }
+
+INSTANTIATE_TEST_CASE_P(ProgrammaticHistoryStateOperationsTest,
+                        HistoryStateOperationsTest,
+                        ::testing::Values(NavigationManagerChoice::LEGACY,
+                                          NavigationManagerChoice::WK_BASED));
diff --git a/media/base/BUILD.gn b/media/base/BUILD.gn
index 7b7336fd..cc6ae25 100644
--- a/media/base/BUILD.gn
+++ b/media/base/BUILD.gn
@@ -162,6 +162,7 @@
     "media_client.h",
     "media_content_type.cc",
     "media_content_type.h",
+    "media_controller.h",
     "media_export.h",
     "media_log.cc",
     "media_log.h",
diff --git a/content/public/browser/media_controller.h b/media/base/media_controller.h
similarity index 87%
rename from content/public/browser/media_controller.h
rename to media/base/media_controller.h
index 707a109e..afd1f06 100644
--- a/content/public/browser/media_controller.h
+++ b/media/base/media_controller.h
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CONTENT_PUBLIC_BROWSER_MEDIA_CONTROLLER_H_
-#define CONTENT_PUBLIC_BROWSER_MEDIA_CONTROLLER_H_
+#ifndef MEDIA_BASE_MEDIA_CONTROLLER_H_
+#define MEDIA_BASE_MEDIA_CONTROLLER_H_
 
 #include "base/time/time.h"
 
-namespace content {
+namespace media {
 
 // High level interface that allows a controller to issue simple media commands.
 // Modeled after the media_router.mojom.MediaController interface.
@@ -39,6 +39,6 @@
   virtual void Seek(base::TimeDelta time) = 0;
 };
 
-}  // namespace content
+}  // namespace media
 
-#endif  // CONTENT_PUBLIC_BROWSER_MEDIA_CONTROLLER_H_
+#endif  // MEDIA_BASE_MEDIA_CONTROLLER_H_
diff --git a/media/capabilities/BUILD.gn b/media/capabilities/BUILD.gn
index a39858f..9dcfb7d 100644
--- a/media/capabilities/BUILD.gn
+++ b/media/capabilities/BUILD.gn
@@ -20,10 +20,14 @@
   sources = [
     "bucket_utility.cc",
     "bucket_utility.h",
+    "in_memory_video_decode_stats_db_impl.cc",
+    "in_memory_video_decode_stats_db_impl.h",
     "video_decode_stats_db.cc",
     "video_decode_stats_db.h",
     "video_decode_stats_db_impl.cc",
     "video_decode_stats_db_impl.h",
+    "video_decode_stats_db_provider.cc",
+    "video_decode_stats_db_provider.h",
   ]
 
   public_deps = [
@@ -40,6 +44,7 @@
 source_set("unit_tests") {
   testonly = true
   sources = [
+    "in_memory_video_decode_stats_db_unittest.cc",
     "video_decode_stats_db_unittest.cc",
   ]
 
diff --git a/media/capabilities/in_memory_video_decode_stats_db_impl.cc b/media/capabilities/in_memory_video_decode_stats_db_impl.cc
new file mode 100644
index 0000000..e01adfb
--- /dev/null
+++ b/media/capabilities/in_memory_video_decode_stats_db_impl.cc
@@ -0,0 +1,211 @@
+// 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 "media/capabilities/in_memory_video_decode_stats_db_impl.h"
+
+#include <memory>
+#include <tuple>
+
+#include "base/files/file_path.h"
+#include "base/format_macros.h"
+#include "base/logging.h"
+#include "base/metrics/histogram_macros.h"
+#include "base/sequence_checker.h"
+#include "base/strings/stringprintf.h"
+#include "base/task_scheduler/post_task.h"
+#include "media/base/bind_to_current_loop.h"
+#include "media/capabilities/video_decode_stats_db_provider.h"
+
+namespace media {
+
+InMemoryVideoDecodeStatsDBFactory::InMemoryVideoDecodeStatsDBFactory(
+    VideoDecodeStatsDBProvider* seed_db_provider)
+    : seed_db_provider_(seed_db_provider) {
+  DVLOG(2) << __func__ << " has_seed_provider:" << !!seed_db_provider_;
+}
+
+InMemoryVideoDecodeStatsDBFactory::~InMemoryVideoDecodeStatsDBFactory() =
+    default;
+
+std::unique_ptr<VideoDecodeStatsDB>
+InMemoryVideoDecodeStatsDBFactory::CreateDB() {
+  return std::make_unique<InMemoryVideoDecodeStatsDBImpl>(seed_db_provider_);
+}
+
+InMemoryVideoDecodeStatsDBImpl::InMemoryVideoDecodeStatsDBImpl(
+    VideoDecodeStatsDBProvider* seed_db_provider)
+    : seed_db_provider_(seed_db_provider), weak_ptr_factory_(this) {
+  DVLOG(2) << __func__;
+}
+
+InMemoryVideoDecodeStatsDBImpl::~InMemoryVideoDecodeStatsDBImpl() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+}
+
+void InMemoryVideoDecodeStatsDBImpl::Initialize(InitializeCB init_cb) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(init_cb);
+  DCHECK(!db_init_);
+
+  // Fetch an *initialized* seed DB.
+  if (seed_db_provider_) {
+    seed_db_provider_->GetVideoDecodeStatsDB(
+        base::BindOnce(&InMemoryVideoDecodeStatsDBImpl::OnGotSeedDB,
+                       weak_ptr_factory_.GetWeakPtr(), std::move(init_cb)));
+  } else {
+    // No seed DB provider (e.g. guest session) means no work to do.
+    DVLOG(2) << __func__ << " NO seed db";
+    db_init_ = true;
+
+    // Bind to avoid reentrancy.
+    std::move(BindToCurrentLoop(std::move(init_cb))).Run(true);
+  }
+}
+
+void InMemoryVideoDecodeStatsDBImpl::OnGotSeedDB(InitializeCB init_cb,
+                                                 VideoDecodeStatsDB* db) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DVLOG(2) << __func__ << (db ? " has" : " null") << " seed db";
+
+  db_init_ = true;
+  seed_db_ = db;
+
+  // Hard coding success = true. There are rare cases (e.g. disk corruption)
+  // where an incognito profile may fail to acquire a reference to the base
+  // profile's DB. But this just means incognito is in the same boat as guest
+  // profiles (never have a seed DB) and is not a show stopper.
+  std::move(init_cb).Run(true);
+}
+
+void InMemoryVideoDecodeStatsDBImpl::AppendDecodeStats(
+    const VideoDescKey& key,
+    const DecodeStatsEntry& entry,
+    AppendDecodeStatsCB append_done_cb) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(db_init_);
+
+  DVLOG(3) << __func__ << " Reading key " << key.ToLogString()
+           << " from DB with intent to update with " << entry.ToLogString();
+
+  auto it = in_memory_db_.find(key.Serialize());
+  if (it == in_memory_db_.end()) {
+    if (seed_db_) {
+      // |seed_db_| exists and no in-memory entry is found for this key, means
+      // we haven't checked the |seed_db_| yet. Query |seed_db_| and append new
+      // stats to any seed values.
+      seed_db_->GetDecodeStats(
+          key, base::BindOnce(
+                   &InMemoryVideoDecodeStatsDBImpl::CompleteAppendWithSeedData,
+                   weak_ptr_factory_.GetWeakPtr(), key, entry,
+                   std::move(append_done_cb)));
+      return;
+    }
+
+    // Otherwise, these are the first stats for this key. Add a a copy of
+    // |entry| to the database.
+    in_memory_db_.emplace(key.Serialize(), entry);
+  } else {
+    // We've already asked the |seed_db_| for its data. Just add the new stats
+    // to our local copy via the iterators reference.
+    it->second += entry;
+  }
+
+  // Bind to avoid reentrancy.
+  std::move(BindToCurrentLoop(std::move(append_done_cb))).Run(true);
+}
+
+void InMemoryVideoDecodeStatsDBImpl::GetDecodeStats(
+    const VideoDescKey& key,
+    GetDecodeStatsCB get_stats_cb) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(db_init_);
+
+  DVLOG(3) << __func__ << " " << key.ToLogString();
+
+  auto it = in_memory_db_.find(key.Serialize());
+  if (it == in_memory_db_.end()) {
+    if (seed_db_) {
+      // |seed_db_| exists and no in-memory entry is found for this key, means
+      // we haven't checked the |seed_db_| yet.
+      seed_db_->GetDecodeStats(
+          key, base::BindOnce(&InMemoryVideoDecodeStatsDBImpl::OnGotSeedEntry,
+                              weak_ptr_factory_.GetWeakPtr(), key,
+                              std::move(get_stats_cb)));
+    } else {
+      // No seed data. Return an empty entry. Bind to avoid reentrancy.
+      std::move(BindToCurrentLoop(std::move(get_stats_cb)))
+          .Run(true, std::make_unique<DecodeStatsEntry>(0, 0, 0));
+    }
+  } else {
+    // Return whatever what we found. Bind to avoid reentrancy.
+    std::move(BindToCurrentLoop(std::move(get_stats_cb)))
+        .Run(true, std::make_unique<DecodeStatsEntry>(it->second));
+  }
+}
+
+void InMemoryVideoDecodeStatsDBImpl::CompleteAppendWithSeedData(
+    const VideoDescKey& key,
+    const DecodeStatsEntry& entry,
+    AppendDecodeStatsCB append_done_cb,
+    bool read_success,
+    std::unique_ptr<DecodeStatsEntry> seed_entry) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(db_init_);
+
+  if (!read_success) {
+    // Not a show stopper. Log it and carry on as if the seed DB were empty.
+    DVLOG(2) << __func__ << " FAILED seed DB read for " << key.ToLogString();
+    DCHECK(!seed_entry);
+  }
+
+  if (!seed_entry)
+    seed_entry = std::make_unique<DecodeStatsEntry>(0, 0, 0);
+
+  // Add new stats to the seed entry and store in memory.
+  *seed_entry += entry;
+  in_memory_db_.emplace(key.Serialize(), *seed_entry);
+
+  DVLOG(3) << __func__ << " Updating " << key.ToLogString() << " with "
+           << entry.ToLogString() << " aggregate:" << seed_entry->ToLogString();
+
+  std::move(append_done_cb).Run(true);
+}
+
+void InMemoryVideoDecodeStatsDBImpl::OnGotSeedEntry(
+    const VideoDescKey& key,
+    GetDecodeStatsCB get_stats_cb,
+    bool success,
+    std::unique_ptr<DecodeStatsEntry> seed_entry) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  // Failure is not a show stopper. Just a debug log...
+  DVLOG(3) << __func__ << " read " << (success ? "succeeded" : "FAILED!")
+           << " entry: " << (seed_entry ? seed_entry->ToLogString() : "null");
+
+  if (!seed_entry)
+    seed_entry = std::make_unique<DecodeStatsEntry>(0, 0, 0);
+
+  // Always write to |in_memory_db_| to avoid querying |seed_db_| for this key
+  // going forward.
+  in_memory_db_.emplace(key.Serialize(), *seed_entry);
+
+  std::move(get_stats_cb).Run(true, std::move(seed_entry));
+}
+
+void InMemoryVideoDecodeStatsDBImpl::DestroyStats(
+    base::OnceClosure destroy_done_cb) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DVLOG(2) << __func__;
+
+  // Really, this is not reachable code because user's can't clear the history
+  // for a guest/incognito account. But if that ever changes, the reasonable
+  // thing is to wipe only the |in_memory_db_|. |seed_db_| can be cleared by the
+  // profile that owns it.
+  in_memory_db_.clear();
+
+  // Bind to avoid reentrancy.
+  std::move(BindToCurrentLoop(std::move(destroy_done_cb))).Run();
+}
+
+}  // namespace media
diff --git a/media/capabilities/in_memory_video_decode_stats_db_impl.h b/media/capabilities/in_memory_video_decode_stats_db_impl.h
new file mode 100644
index 0000000..bd93873
--- /dev/null
+++ b/media/capabilities/in_memory_video_decode_stats_db_impl.h
@@ -0,0 +1,126 @@
+// 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 MEDIA_CAPABILITIES_IN_MEMORY_VIDEO_DECODE_STATS_DB_IMPL_H_
+#define MEDIA_CAPABILITIES_IN_MEMORY_VIDEO_DECODE_STATS_DB_IMPL_H_
+
+#include <map>
+#include <memory>
+
+#include "base/files/file_path.h"
+#include "base/memory/weak_ptr.h"
+#include "components/leveldb_proto/proto_database.h"
+#include "media/base/media_export.h"
+#include "media/base/video_codecs.h"
+#include "media/capabilities/video_decode_stats_db.h"
+#include "ui/gfx/geometry/size.h"
+
+namespace media {
+
+class VideoDecodeStatsDBProvider;
+
+// The in-memory database disappears with profile shutdown to preserve the
+// privacy of off-the-record (OTR) browsing profiles (Guest and Incognito). It
+// also allows the MediaCapabilities API to behave the same both on and
+// off-the-record which prevents sites from detecting when users are OTR modes.
+// VideoDecodeStatsDBProvider gives incognito profiles a hook to read the stats
+// of the of the originating profile. Guest profiles are conceptually a blank
+// slate and will not have a "seed" DB.
+class MEDIA_EXPORT InMemoryVideoDecodeStatsDBFactory
+    : public VideoDecodeStatsDBFactory {
+ public:
+  // |seed_db_provider| provides access to a seed (read-only) DB instance.
+  // Callers must ensure the |seed_db_provider| outlives this factory and any
+  // databases it creates via CreateDB(). |seed_db_provider| may be null when no
+  // seed DB is available.
+  explicit InMemoryVideoDecodeStatsDBFactory(
+      VideoDecodeStatsDBProvider* seed_db_provider);
+  ~InMemoryVideoDecodeStatsDBFactory() override;
+
+  // DB is not thread-safe and is bound to the sequence used at construction.
+  std::unique_ptr<VideoDecodeStatsDB> CreateDB() override;
+
+ private:
+  // Provided at construction. Callers must ensure that object outlives this
+  // class.
+  VideoDecodeStatsDBProvider* seed_db_provider_;
+
+  DISALLOW_COPY_AND_ASSIGN(InMemoryVideoDecodeStatsDBFactory);
+};
+
+class MEDIA_EXPORT InMemoryVideoDecodeStatsDBImpl : public VideoDecodeStatsDB {
+ public:
+  // Constructs the database. NOTE: must call Initialize() before using.
+  // |db| injects the level_db database instance for storing capabilities info.
+  // |dir| specifies where to store LevelDB files to disk. LevelDB generates a
+  // handful of files, so its recommended to provide a dedicated directory to
+  // keep them isolated.
+  explicit InMemoryVideoDecodeStatsDBImpl(
+      VideoDecodeStatsDBProvider* seed_db_provider);
+  ~InMemoryVideoDecodeStatsDBImpl() override;
+
+  // Implement VideoDecodeStatsDB.
+  void Initialize(InitializeCB init_cb) override;
+  void AppendDecodeStats(const VideoDescKey& key,
+                         const DecodeStatsEntry& entry,
+                         AppendDecodeStatsCB append_done_cb) override;
+  void GetDecodeStats(const VideoDescKey& key,
+                      GetDecodeStatsCB get_stats_cb) override;
+  void DestroyStats(base::OnceClosure destroy_done_cb) override;
+
+ private:
+  // Called when the |seed_db_provider_| returns an initialized seed DB. Will
+  // run |init_cb|, marking the completion of Initialize().
+  void OnGotSeedDB(base::OnceCallback<void(bool)> init_cb,
+                   VideoDecodeStatsDB* seed_db);
+
+  // Passed as the callback for |OnGotDecodeStats| by |AppendDecodeStats| to
+  // update the database once we've read the existing stats entry.
+  void CompleteAppendWithSeedData(const VideoDescKey& key,
+                                  const DecodeStatsEntry& entry,
+                                  AppendDecodeStatsCB append_done_cb,
+                                  bool read_success,
+                                  std::unique_ptr<DecodeStatsEntry> seed_entry);
+
+  // Called when GetDecodeStats() operation was performed. |get_stats_cb|
+  // will be run with |success| and a |DecodeStatsEntry| created from
+  // |stats_proto| or nullptr if no entry was found for the requested key.
+  void OnGotSeedEntry(const VideoDescKey& key,
+                      GetDecodeStatsCB get_stats_cb,
+                      bool success,
+                      std::unique_ptr<DecodeStatsEntry> seed_entry);
+
+  // Indicates whether initialization is completed.
+  bool db_init_ = false;
+
+  // Lazily provides |seed_db_| from original profile. Owned by original profile
+  // and may be null.
+  VideoDecodeStatsDBProvider* seed_db_provider_ = nullptr;
+
+  // On-disk DB owned by the base profile for the off-the-record session. For
+  // incognito sessions, this will contain the original profile's stats. For
+  // guest sessions, this will be null (no notion of base profile). See
+  // |in_memory_db_|.
+  VideoDecodeStatsDB* seed_db_ = nullptr;
+
+  // In-memory DB, mapping VideoDescKey strings -> DecodeStatsEntries. This is
+  // the primary storage (read and write) for this class. The |seed_db_| is
+  // read-only, and  will only be queried when the |in_memory_db_| lacks an
+  // entry for a given key.
+  std::map<std::string, DecodeStatsEntry> in_memory_db_;
+
+  // Ensures all access to class members come on the same sequence. API calls
+  // and callbacks should occur on the same sequence used during construction.
+  // LevelDB operations happen on a separate task runner, but all LevelDB
+  // callbacks to this happen on the checked sequence.
+  SEQUENCE_CHECKER(sequence_checker_);
+
+  base::WeakPtrFactory<InMemoryVideoDecodeStatsDBImpl> weak_ptr_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(InMemoryVideoDecodeStatsDBImpl);
+};
+
+}  // namespace media
+
+#endif  // MEDIA_CAPABILITIES_IN_MEMORY_VIDEO_DECODE_STATS_DB_IMPL_H_
diff --git a/media/capabilities/in_memory_video_decode_stats_db_unittest.cc b/media/capabilities/in_memory_video_decode_stats_db_unittest.cc
new file mode 100644
index 0000000..6f6264bf
--- /dev/null
+++ b/media/capabilities/in_memory_video_decode_stats_db_unittest.cc
@@ -0,0 +1,391 @@
+// 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 <memory>
+
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/logging.h"
+#include "base/memory/ptr_util.h"
+#include "base/test/scoped_task_environment.h"
+#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
+#include "media/capabilities/video_decode_stats_db_provider.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using testing::_;
+using testing::Eq;
+using testing::Pointee;
+using testing::IsNull;
+
+namespace media {
+
+static VideoDecodeStatsDB::VideoDescKey kTestKey() {
+  return VideoDecodeStatsDB::VideoDescKey::MakeBucketedKey(
+      VP9PROFILE_PROFILE3, gfx::Size(1024, 768), 60);
+}
+
+static VideoDecodeStatsDB::DecodeStatsEntry kEmtpyEntry() {
+  return VideoDecodeStatsDB::DecodeStatsEntry(0, 0, 0);
+}
+
+class MockSeedDB : public VideoDecodeStatsDB {
+ public:
+  MockSeedDB() = default;
+  ~MockSeedDB() override = default;
+
+  MOCK_METHOD1(Initialize, void(InitializeCB init_cb));
+  MOCK_METHOD3(AppendDecodeStats,
+               void(const VideoDescKey& key,
+                    const DecodeStatsEntry& entry,
+                    AppendDecodeStatsCB append_done_cb));
+  MOCK_METHOD2(GetDecodeStats,
+               void(const VideoDescKey& key, GetDecodeStatsCB get_stats_cb));
+  MOCK_METHOD1(DestroyStats, void(base::OnceClosure destroy_done_cb));
+};
+
+class MockDBProvider : public VideoDecodeStatsDBProvider {
+ public:
+  MockDBProvider() = default;
+  ~MockDBProvider() override = default;
+
+  MOCK_METHOD1(GetVideoDecodeStatsDB, void(GetCB get_db_b));
+};
+
+template <bool WithSeedDB>
+class InMemoryDBTestBase : public testing::Test {
+ public:
+  InMemoryDBTestBase()
+      : seed_db_(WithSeedDB ? new MockSeedDB() : nullptr),
+        db_provider_(WithSeedDB ? new MockDBProvider() : nullptr),
+        in_memory_db_(new InMemoryVideoDecodeStatsDBImpl(db_provider_.get())) {
+    // Setup MockDBProvider to provide the seed DB. No need to initialize the
+    // DB here since it too is a Mock.
+    if (db_provider_) {
+      using GetCB = VideoDecodeStatsDBProvider::GetCB;
+      ON_CALL(*db_provider_, GetVideoDecodeStatsDB(_))
+          .WillByDefault([&](GetCB cb) { std::move(cb).Run(seed_db_.get()); });
+    }
+
+    // The InMemoryDB should NEVER modify the seed DB.
+    if (seed_db_) {
+      EXPECT_CALL(*seed_db_, AppendDecodeStats(_, _, _)).Times(0);
+      EXPECT_CALL(*seed_db_, DestroyStats(_)).Times(0);
+    }
+  }
+
+  void InitializeEmptyDB() {
+    if (seed_db_)
+      EXPECT_CALL(*db_provider_, GetVideoDecodeStatsDB(_));
+
+    EXPECT_CALL(*this, InitializeCB(true));
+
+    in_memory_db_->Initialize(base::BindOnce(&InMemoryDBTestBase::InitializeCB,
+                                             base::Unretained(this)));
+    scoped_task_environment_.RunUntilIdle();
+  }
+
+  MOCK_METHOD1(InitializeCB, void(bool success));
+  MOCK_METHOD1(AppendDecodeStatsCB, void(bool success));
+  MOCK_METHOD2(
+      GetDecodeStatsCB,
+      void(bool success,
+           std::unique_ptr<VideoDecodeStatsDB::DecodeStatsEntry> entry));
+  MOCK_METHOD0(DestroyStatsCB, void());
+
+ protected:
+  using VideoDescKey = media::VideoDecodeStatsDB::VideoDescKey;
+  using DecodeStatsEntry = media::VideoDecodeStatsDB::DecodeStatsEntry;
+
+  base::test::ScopedTaskEnvironment scoped_task_environment_;
+  std::unique_ptr<MockSeedDB> seed_db_;
+  std::unique_ptr<MockDBProvider> db_provider_;
+  std::unique_ptr<InMemoryVideoDecodeStatsDBImpl> in_memory_db_;
+};
+
+// Specialization for tests that have/lack a seed DB. Some tests only make sense
+// with seed DB, so we separate them.
+class SeededInMemoryDBTest : public InMemoryDBTestBase<true> {};
+class SeedlessInMemoryDBTest : public InMemoryDBTestBase<false> {};
+
+TEST_F(SeedlessInMemoryDBTest, ReadExpectingEmpty) {
+  InitializeEmptyDB();
+
+  // Database is empty, seed DB is empty => expect empty stats entry.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(kEmtpyEntry()))));
+
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeededInMemoryDBTest, ReadExpectingEmpty) {
+  InitializeEmptyDB();
+
+  // Make seed DB return null (empty) for this request.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _))
+      .WillOnce([](const auto& key, auto get_cb) {
+        std::move(get_cb).Run(true, nullptr);
+      });
+
+  // Database is empty, seed DB is empty => expect empty stats entry.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(kEmtpyEntry()))));
+
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeededInMemoryDBTest, ReadExpectingSeedData) {
+  InitializeEmptyDB();
+
+  // Setup seed DB to return an entry for the test key.
+  DecodeStatsEntry seed_entry(1000, 2, 10);
+
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _))
+      .WillOnce([&](const auto& key, auto get_cb) {
+        std::move(get_cb).Run(true,
+                              std::make_unique<DecodeStatsEntry>(seed_entry));
+      });
+
+  // Seed DB has a an entry for the test key. Expect it!
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(seed_entry))));
+
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Verify a second GetDecodeStats() call with the same key does not trigger a
+  // second call to the seed DB (we cache it).
+  EXPECT_CALL(*seed_db_, GetDecodeStats(_, _)).Times(0);
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(seed_entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeededInMemoryDBTest, AppendReadAndDestroy) {
+  const DecodeStatsEntry seed_entry(1000, 2, 10);
+  const DecodeStatsEntry double_seed_entry(2000, 4, 20);
+  const DecodeStatsEntry triple_seed_entry(3000, 6, 30);
+
+  InitializeEmptyDB();
+
+  // Setup seed DB to always return an entry for the test key.
+  ON_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _))
+      .WillByDefault([&](const auto& key, auto get_cb) {
+        std::move(get_cb).Run(true,
+                              std::make_unique<DecodeStatsEntry>(seed_entry));
+      });
+
+  // First append should trigger a request for the same key from the seed DB.
+  // Simulate a successful read providing seed_entry for that key.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _));
+
+  // Append the same seed entry, doubling the stats for this key.
+  EXPECT_CALL(*this, AppendDecodeStatsCB(true));
+  in_memory_db_->AppendDecodeStats(
+      kTestKey(), seed_entry,
+      base::BindOnce(&InMemoryDBTestBase::AppendDecodeStatsCB,
+                     base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Seed DB should not be queried again for this key.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _)).Times(0);
+
+  // Now verify that the stats were doubled by the append above.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(double_seed_entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Append the same seed entry again to triple the stats. Additional appends
+  // should not trigger queries the seed DB for this key.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _)).Times(0);
+  in_memory_db_->AppendDecodeStats(
+      kTestKey(), seed_entry,
+      base::BindOnce(&InMemoryDBTestBase::AppendDecodeStatsCB,
+                     base::Unretained(this)));
+
+  // Verify we have 3x the stats.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(triple_seed_entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  // Now destroy the in-memory stats...
+  EXPECT_CALL(*this, DestroyStatsCB());
+  in_memory_db_->DestroyStats(base::BindOnce(
+      &InMemoryDBTestBase::DestroyStatsCB, base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // With in-memory stats now gone, GetDecodeStats(kTestKey()) should again
+  // trigger a call to the seed DB and return the un-doubled seed stats.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _));
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(seed_entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeedlessInMemoryDBTest, AppendReadAndDestroy) {
+  const DecodeStatsEntry entry(50, 1, 5);
+  const DecodeStatsEntry double_entry(100, 2, 10);
+
+  InitializeEmptyDB();
+
+  // Expect successful append to the empty seedless DB.
+  EXPECT_CALL(*this, AppendDecodeStatsCB(true));
+  in_memory_db_->AppendDecodeStats(
+      kTestKey(), entry,
+      base::BindOnce(&InMemoryDBTestBase::AppendDecodeStatsCB,
+                     base::Unretained(this)));
+
+  // Verify stats can be read back.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Append same stats again to test summation.
+  EXPECT_CALL(*this, AppendDecodeStatsCB(true));
+  in_memory_db_->AppendDecodeStats(
+      kTestKey(), entry,
+      base::BindOnce(&InMemoryDBTestBase::AppendDecodeStatsCB,
+                     base::Unretained(this)));
+
+  // Verify doubled stats can be read back.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(double_entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Now destroy the in-memory stats...
+  EXPECT_CALL(*this, DestroyStatsCB());
+  in_memory_db_->DestroyStats(base::BindOnce(
+      &InMemoryDBTestBase::DestroyStatsCB, base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Verify DB now empty for this key.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(kEmtpyEntry()))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeededInMemoryDBTest, ProvidedNullSeedDB) {
+  // DB provider may provide a null seed DB if it encounters some error.
+  EXPECT_CALL(*db_provider_, GetVideoDecodeStatsDB(_))
+      .WillOnce([](auto get_db_cb) { std::move(get_db_cb).Run(nullptr); });
+
+  // Failing to obtain the seed DB is not a show stopper. The in-memory DB
+  // should simply carry on in a seedless fashion.
+  EXPECT_CALL(*this, InitializeCB(true));
+  in_memory_db_->Initialize(base::BindOnce(&InMemoryDBTestBase::InitializeCB,
+                                           base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Writes still succeed.
+  EXPECT_CALL(*this, AppendDecodeStatsCB(true));
+  const DecodeStatsEntry entry(50, 1, 5);
+  in_memory_db_->AppendDecodeStats(
+      kTestKey(), entry,
+      base::BindOnce(&InMemoryDBTestBase::AppendDecodeStatsCB,
+                     base::Unretained(this)));
+
+  // Reads should still succeed.
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeededInMemoryDBTest, SeedReadFailureOnGettingStats) {
+  // Everything seems fine at initialization...
+  InitializeEmptyDB();
+
+  // But seed DB will repeatedly fail to provide stats.
+  ON_CALL(*seed_db_, GetDecodeStats(_, _))
+      .WillByDefault([](const auto& key, auto get_cb) {
+        std::move(get_cb).Run(false, nullptr);
+      });
+
+  // Reading the in-memory will still try to read the seed DB, and the read
+  // callback will simply report that the DB is empty for this key.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _));
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(kEmtpyEntry()))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+TEST_F(SeededInMemoryDBTest, SeedReadFailureOnAppendingingStats) {
+  // Everything seems fine at initialization...
+  InitializeEmptyDB();
+
+  // But seed DB will repeatedly fail to provide stats.
+  ON_CALL(*seed_db_, GetDecodeStats(_, _))
+      .WillByDefault([](const auto& key, auto get_cb) {
+        std::move(get_cb).Run(false, nullptr);
+      });
+
+  // Appending to the in-memory will still try to read the seed DB, and the
+  // append will proceed successfully as if the seed DB were empty.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _));
+  EXPECT_CALL(*this, AppendDecodeStatsCB(true));
+  const DecodeStatsEntry entry(50, 1, 5);
+  in_memory_db_->AppendDecodeStats(
+      kTestKey(), entry,
+      base::BindOnce(&InMemoryDBTestBase::AppendDecodeStatsCB,
+                     base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+  ::testing::Mock::VerifyAndClear(this);
+
+  // Reading the appended data works without issue and does not trigger new
+  // queries to the seed DB.
+  EXPECT_CALL(*seed_db_, GetDecodeStats(Eq(kTestKey()), _)).Times(0);
+  EXPECT_CALL(*this, GetDecodeStatsCB(true, Pointee(Eq(entry))));
+  in_memory_db_->GetDecodeStats(
+      kTestKey(), base::BindOnce(&InMemoryDBTestBase::GetDecodeStatsCB,
+                                 base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+}
+
+}  // namespace media
diff --git a/media/capabilities/video_decode_stats_db.cc b/media/capabilities/video_decode_stats_db.cc
index a3e5b85..2978a28f 100644
--- a/media/capabilities/video_decode_stats_db.cc
+++ b/media/capabilities/video_decode_stats_db.cc
@@ -4,6 +4,8 @@
 
 #include "media/capabilities/video_decode_stats_db.h"
 
+#include "base/format_macros.h"
+#include "base/strings/stringprintf.h"
 #include "media/capabilities/bucket_utility.h"
 
 namespace media {
@@ -25,12 +27,72 @@
                                                int frame_rate)
     : codec_profile(codec_profile), size(size), frame_rate(frame_rate) {}
 
+std::string VideoDecodeStatsDB::VideoDescKey::Serialize() const {
+  return base::StringPrintf("%d|%s|%d", static_cast<int>(codec_profile),
+                            size.ToString().c_str(), frame_rate);
+}
+
+std::string VideoDecodeStatsDB::VideoDescKey::ToLogString() const {
+  return "Key {" + Serialize() + "}";
+}
+
 VideoDecodeStatsDB::DecodeStatsEntry::DecodeStatsEntry(
     uint64_t frames_decoded,
     uint64_t frames_dropped,
     uint64_t frames_decoded_power_efficient)
     : frames_decoded(frames_decoded),
       frames_dropped(frames_dropped),
-      frames_decoded_power_efficient(frames_decoded_power_efficient) {}
+      frames_decoded_power_efficient(frames_decoded_power_efficient) {
+  DCHECK_GE(frames_decoded, 0u);
+  DCHECK_GE(frames_dropped, 0u);
+  DCHECK_GE(frames_decoded_power_efficient, 0u);
+}
+
+VideoDecodeStatsDB::DecodeStatsEntry::DecodeStatsEntry(
+    const DecodeStatsEntry& entry)
+    : frames_decoded(entry.frames_decoded),
+      frames_dropped(entry.frames_dropped),
+      frames_decoded_power_efficient(entry.frames_decoded_power_efficient) {}
+
+std::string VideoDecodeStatsDB::DecodeStatsEntry::ToLogString() const {
+  return base::StringPrintf(
+      "DecodeStatsEntry {frames decoded:%" PRIu64 ", dropped:%" PRIu64
+      ", power efficient decoded:%" PRIu64 "}",
+      frames_decoded, frames_dropped, frames_decoded_power_efficient);
+}
+
+VideoDecodeStatsDB::DecodeStatsEntry& VideoDecodeStatsDB::DecodeStatsEntry::
+operator+=(const DecodeStatsEntry& right) {
+  DCHECK_GE(right.frames_decoded, 0u);
+  DCHECK_GE(right.frames_dropped, 0u);
+  DCHECK_GE(right.frames_decoded_power_efficient, 0u);
+
+  frames_decoded += right.frames_decoded;
+  frames_dropped += right.frames_dropped;
+  frames_decoded_power_efficient += right.frames_decoded_power_efficient;
+  return *this;
+}
+
+bool operator==(const VideoDecodeStatsDB::VideoDescKey& x,
+                const VideoDecodeStatsDB::VideoDescKey& y) {
+  return x.codec_profile == y.codec_profile && x.size == y.size &&
+         x.frame_rate == y.frame_rate;
+}
+bool operator!=(const VideoDecodeStatsDB::VideoDescKey& x,
+                const VideoDecodeStatsDB::VideoDescKey& y) {
+  return !(x == y);
+}
+
+bool operator==(const VideoDecodeStatsDB::DecodeStatsEntry& x,
+                const VideoDecodeStatsDB::DecodeStatsEntry& y) {
+  return x.frames_decoded == y.frames_decoded &&
+         x.frames_dropped == y.frames_dropped &&
+         x.frames_decoded_power_efficient == y.frames_decoded_power_efficient;
+}
+
+bool operator!=(const VideoDecodeStatsDB::DecodeStatsEntry& x,
+                const VideoDecodeStatsDB::DecodeStatsEntry& y) {
+  return !(x == y);
+}
 
 }  // namespace media
diff --git a/media/capabilities/video_decode_stats_db.h b/media/capabilities/video_decode_stats_db.h
index 83f3d30dd..7656cc1 100644
--- a/media/capabilities/video_decode_stats_db.h
+++ b/media/capabilities/video_decode_stats_db.h
@@ -6,8 +6,10 @@
 #define MEDIA_CAPABILITIES_VIDEO_DECODE_STATS_DB_H_
 
 #include <memory>
+#include <string>
 
-#include "base/callback.h"
+#include "base/callback_forward.h"
+#include "base/logging.h"
 #include "base/macros.h"
 #include "media/base/media_export.h"
 #include "media/base/video_codecs.h"
@@ -26,11 +28,19 @@
                                         const gfx::Size& size,
                                         int frame_rate);
 
+    // Returns a concise string representation of the key for storing in DB.
+    std::string Serialize() const;
+
+    // For debug logging. NOT interchangeable with Serialize().
+    std::string ToLogString() const;
+
+    // Note: operator == and != are defined outside this class.
     const VideoCodecProfile codec_profile;
     const gfx::Size size;
     const int frame_rate;
 
    private:
+    // All key's should be "bucketed" using MakeBucketedKey(...).
     VideoDescKey(VideoCodecProfile codec_profile,
                  const gfx::Size& size,
                  int frame_rate);
@@ -42,6 +52,15 @@
     DecodeStatsEntry(uint64_t frames_decoded,
                      uint64_t frames_dropped,
                      uint64_t frames_decoded_power_efficient);
+    DecodeStatsEntry(const DecodeStatsEntry& entry);
+
+    // Add stats from |right| to |this| entry.
+    DecodeStatsEntry& operator+=(const DecodeStatsEntry& right);
+
+    // For debug logging.
+    std::string ToLogString() const;
+
+    // Note: operator == and != are defined outside this class.
     uint64_t frames_decoded;
     uint64_t frames_dropped;
     uint64_t frames_decoded_power_efficient;
@@ -53,7 +72,8 @@
   // before calling other APIs. Initialization must be RE-RUN after calling
   // DestroyStats() and receiving its completion callback. |init_cb| must not be
   // a null callback.
-  virtual void Initialize(base::OnceCallback<void(bool)> init_cb) = 0;
+  using InitializeCB = base::OnceCallback<void(bool)>;
+  virtual void Initialize(InitializeCB init_cb) = 0;
 
   // Appends `stats` to existing entry associated with `key`. Will create a new
   // entry if none exists. The operation is asynchronous. The caller should be
@@ -79,6 +99,15 @@
   virtual void DestroyStats(base::OnceClosure destroy_done_cb) = 0;
 };
 
+MEDIA_EXPORT bool operator==(const VideoDecodeStatsDB::VideoDescKey& x,
+                             const VideoDecodeStatsDB::VideoDescKey& y);
+MEDIA_EXPORT bool operator!=(const VideoDecodeStatsDB::VideoDescKey& x,
+                             const VideoDecodeStatsDB::VideoDescKey& y);
+MEDIA_EXPORT bool operator==(const VideoDecodeStatsDB::DecodeStatsEntry& x,
+                             const VideoDecodeStatsDB::DecodeStatsEntry& y);
+MEDIA_EXPORT bool operator!=(const VideoDecodeStatsDB::DecodeStatsEntry& x,
+                             const VideoDecodeStatsDB::DecodeStatsEntry& y);
+
 // Factory interface to create a DB instance.
 class MEDIA_EXPORT VideoDecodeStatsDBFactory {
  public:
diff --git a/media/capabilities/video_decode_stats_db_impl.cc b/media/capabilities/video_decode_stats_db_impl.cc
index 0dc22b6f..b184ebc 100644
--- a/media/capabilities/video_decode_stats_db_impl.cc
+++ b/media/capabilities/video_decode_stats_db_impl.cc
@@ -8,10 +8,9 @@
 #include <tuple>
 
 #include "base/files/file_path.h"
-#include "base/format_macros.h"
+#include "base/logging.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/sequence_checker.h"
-#include "base/strings/stringprintf.h"
 #include "base/task_scheduler/post_task.h"
 #include "components/leveldb_proto/proto_database_impl.h"
 #include "media/capabilities/video_decode_stats.pb.h"
@@ -24,26 +23,6 @@
 // See comments in components/leveldb_proto/leveldb_database.h
 const char kDatabaseClientName[] = "VideoDecodeStatsDB";
 
-// Serialize the |entry| to a string to use as a key in the database.
-std::string SerializeKey(const VideoDecodeStatsDB::VideoDescKey& key) {
-  return base::StringPrintf("%d|%s|%d", static_cast<int>(key.codec_profile),
-                            key.size.ToString().c_str(), key.frame_rate);
-}
-
-// For debug logging.
-std::string KeyToString(const VideoDecodeStatsDB::VideoDescKey& key) {
-  return "Key {" + SerializeKey(key) + "}";
-}
-
-// For debug logging.
-std::string EntryToString(const VideoDecodeStatsDB::DecodeStatsEntry& entry) {
-  return base::StringPrintf("DecodeStatsEntry {frames decoded:%" PRIu64
-                            ", dropped:%" PRIu64
-                            ", power efficient decoded:%" PRIu64 "}",
-                            entry.frames_decoded, entry.frames_dropped,
-                            entry.frames_decoded_power_efficient);
-}
-
 };  // namespace
 
 VideoDecodeStatsDBImplFactory::VideoDecodeStatsDBImplFactory(
@@ -57,13 +36,13 @@
 std::unique_ptr<VideoDecodeStatsDB> VideoDecodeStatsDBImplFactory::CreateDB() {
   std::unique_ptr<leveldb_proto::ProtoDatabase<DecodeStatsProto>> db_;
 
-  auto inner_db =
+  auto proto_db =
       std::make_unique<leveldb_proto::ProtoDatabaseImpl<DecodeStatsProto>>(
           base::CreateSequencedTaskRunnerWithTraits(
               {base::MayBlock(), base::TaskPriority::BACKGROUND,
                base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN}));
 
-  return std::make_unique<VideoDecodeStatsDBImpl>(std::move(inner_db), db_dir_);
+  return std::make_unique<VideoDecodeStatsDBImpl>(std::move(proto_db), db_dir_);
 }
 
 VideoDecodeStatsDBImpl::VideoDecodeStatsDBImpl(
@@ -78,8 +57,7 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 }
 
-void VideoDecodeStatsDBImpl::Initialize(
-    base::OnceCallback<void(bool)> init_cb) {
+void VideoDecodeStatsDBImpl::Initialize(InitializeCB init_cb) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(init_cb);
   DCHECK(!IsInitialized());
@@ -94,8 +72,7 @@
                            weak_ptr_factory_.GetWeakPtr(), std::move(init_cb)));
 }
 
-void VideoDecodeStatsDBImpl::OnInit(base::OnceCallback<void(bool)> init_cb,
-                                    bool success) {
+void VideoDecodeStatsDBImpl::OnInit(InitializeCB init_cb, bool success) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DVLOG(2) << __func__ << (success ? " succeeded" : " FAILED!");
   UMA_HISTOGRAM_BOOLEAN("Media.VideoDecodeStatsDB.OpSuccess.Initialize",
@@ -122,10 +99,10 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(IsInitialized());
 
-  DVLOG(3) << __func__ << " Reading key " << KeyToString(key)
-           << " from DB with intent to update with " << EntryToString(entry);
+  DVLOG(3) << __func__ << " Reading key " << key.ToLogString()
+           << " from DB with intent to update with " << entry.ToLogString();
 
-  db_->GetEntry(SerializeKey(key),
+  db_->GetEntry(key.Serialize(),
                 base::BindOnce(&VideoDecodeStatsDBImpl::WriteUpdatedEntry,
                                weak_ptr_factory_.GetWeakPtr(), key, entry,
                                std::move(append_done_cb)));
@@ -136,10 +113,10 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(IsInitialized());
 
-  DVLOG(3) << __func__ << " " << KeyToString(key);
+  DVLOG(3) << __func__ << " " << key.ToLogString();
 
   db_->GetEntry(
-      SerializeKey(key),
+      key.Serialize(),
       base::BindOnce(&VideoDecodeStatsDBImpl::OnGotDecodeStats,
                      weak_ptr_factory_.GetWeakPtr(), std::move(get_stats_cb)));
 }
@@ -158,7 +135,7 @@
                         read_success);
 
   if (!read_success) {
-    DVLOG(2) << __func__ << " FAILED DB read for " << KeyToString(key)
+    DVLOG(2) << __func__ << " FAILED DB read for " << key.ToLogString()
              << "; ignoring update!";
     std::move(append_done_cb).Run(false);
     return;
@@ -184,17 +161,17 @@
   prev_stats_proto->set_frames_decoded_power_efficient(
       sum_frames_decoded_power_efficient);
 
-  DVLOG(3) << __func__ << " Updating " << KeyToString(key) << " with "
-           << EntryToString(entry) << " aggregate:"
-           << EntryToString(
-                  DecodeStatsEntry(sum_frames_decoded, sum_frames_dropped,
-                                   sum_frames_decoded_power_efficient));
+  DVLOG(3) << __func__ << " Updating " << key.ToLogString() << " with "
+           << entry.ToLogString() << " aggregate:"
+           << DecodeStatsEntry(sum_frames_decoded, sum_frames_dropped,
+                               sum_frames_decoded_power_efficient)
+                  .ToLogString();
 
   using ProtoDecodeStatsEntry = leveldb_proto::ProtoDatabase<DecodeStatsProto>;
   std::unique_ptr<ProtoDecodeStatsEntry::KeyEntryVector> entries =
       std::make_unique<ProtoDecodeStatsEntry::KeyEntryVector>();
 
-  entries->emplace_back(SerializeKey(key), *prev_stats_proto);
+  entries->emplace_back(key.Serialize(), *prev_stats_proto);
 
   db_->UpdateEntries(std::move(entries),
                      std::make_unique<leveldb_proto::KeyVector>(),
@@ -227,7 +204,7 @@
   }
 
   DVLOG(3) << __func__ << " read " << (success ? "succeeded" : "FAILED!")
-           << " entry: " << (entry ? EntryToString(*entry) : "nullptr");
+           << " entry: " << (entry ? entry->ToLogString() : "nullptr");
 
   std::move(get_stats_cb).Run(success, std::move(entry));
 }
diff --git a/media/capabilities/video_decode_stats_db_impl.h b/media/capabilities/video_decode_stats_db_impl.h
index 43f2e46..f83289c 100644
--- a/media/capabilities/video_decode_stats_db_impl.h
+++ b/media/capabilities/video_decode_stats_db_impl.h
@@ -27,6 +27,9 @@
 class MEDIA_EXPORT VideoDecodeStatsDBImplFactory
     : public VideoDecodeStatsDBFactory {
  public:
+  // |db_dir| specifies where to store LevelDB files to disk. LevelDB generates
+  // a handful of files, so its recommended to provide a dedicated directory to
+  // keep them isolated.
   explicit VideoDecodeStatsDBImplFactory(base::FilePath db_dir);
   ~VideoDecodeStatsDBImplFactory() override;
   std::unique_ptr<VideoDecodeStatsDB> CreateDB() override;
@@ -53,7 +56,7 @@
   ~VideoDecodeStatsDBImpl() override;
 
   // Implement VideoDecodeStatsDB.
-  void Initialize(base::OnceCallback<void(bool)> init_cb) override;
+  void Initialize(InitializeCB init_cb) override;
   void AppendDecodeStats(const VideoDescKey& key,
                          const DecodeStatsEntry& entry,
                          AppendDecodeStatsCB append_done_cb) override;
@@ -66,7 +69,7 @@
 
   // Called when the database has been initialized. Will immediately call
   // |init_cb| to forward |success|.
-  void OnInit(base::OnceCallback<void(bool)> init_cb, bool success);
+  void OnInit(InitializeCB init_cb, bool success);
 
   // Returns true if the DB is successfully initialized.
   bool IsInitialized();
diff --git a/media/capabilities/video_decode_stats_db_provider.cc b/media/capabilities/video_decode_stats_db_provider.cc
new file mode 100644
index 0000000..b58e44c7
--- /dev/null
+++ b/media/capabilities/video_decode_stats_db_provider.cc
@@ -0,0 +1,11 @@
+// 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 "media/capabilities/video_decode_stats_db_provider.h"
+
+namespace media {
+
+VideoDecodeStatsDBProvider::~VideoDecodeStatsDBProvider() = default;
+
+}  // namespace media
diff --git a/media/capabilities/video_decode_stats_db_provider.h b/media/capabilities/video_decode_stats_db_provider.h
new file mode 100644
index 0000000..6e56d9c
--- /dev/null
+++ b/media/capabilities/video_decode_stats_db_provider.h
@@ -0,0 +1,36 @@
+// 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 MEDIA_CAPABILITIES_VIDEO_DECODE_STATS_DB_PROVIDER_H_
+#define MEDIA_CAPABILITIES_VIDEO_DECODE_STATS_DB_PROVIDER_H_
+
+#include "base/callback_forward.h"
+#include "media/base/media_export.h"
+
+namespace media {
+
+class VideoDecodeStatsDB;
+
+// Interface for extracting a pointer to the DB from its owner. DB lifetime is
+// assumed to match that of the provider. Callers must not use DB after provider
+// has been destroyed. This allows sharing a "seed" DB instance between an
+// Incognito profile and the original profile, which re-uses the in-memory
+// cache for that DB and avoids race conditions of instantiating a second DB
+// that reads the same files.
+class MEDIA_EXPORT VideoDecodeStatsDBProvider {
+ public:
+  // Request a pointer to the *initialized* DB owned by this provider. Call
+  // lazily to avoid triggering unnecessary DB initialization. |db| is null in
+  // the event of an error. Callback may be run immediately if |db| is already
+  // initialized by provider.
+  using GetCB = base::OnceCallback<void(VideoDecodeStatsDB* db)>;
+  virtual void GetVideoDecodeStatsDB(GetCB get_db_b) = 0;
+
+ protected:
+  virtual ~VideoDecodeStatsDBProvider();
+};
+
+}  // namespace media
+
+#endif  // MEDIA_CAPABILITIES_VIDEO_DECODE_STATS_DB_PROVIDER_H_
\ No newline at end of file
diff --git a/media/capabilities/video_decode_stats_db_unittest.cc b/media/capabilities/video_decode_stats_db_unittest.cc
index 33444625..6bb83107 100644
--- a/media/capabilities/video_decode_stats_db_unittest.cc
+++ b/media/capabilities/video_decode_stats_db_unittest.cc
@@ -83,13 +83,6 @@
   DISALLOW_COPY_AND_ASSIGN(VideoDecodeStatsDBImplTest);
 };
 
-MATCHER_P(EntryEq, other_entry, "") {
-  return arg.frames_decoded == other_entry.frames_decoded &&
-         arg.frames_dropped == other_entry.frames_dropped &&
-         arg.frames_decoded_power_efficient ==
-             other_entry.frames_decoded_power_efficient;
-}
-
 TEST_F(VideoDecodeStatsDBImplTest, ReadExpectingNothing) {
   EXPECT_CALL(*this, OnInitialize(true));
   fake_db_->InitCallback(true);
@@ -122,7 +115,7 @@
   fake_db_->GetCallback(true);
   fake_db_->UpdateCallback(true);
 
-  EXPECT_CALL(*this, MockGetDecodeStatsCb(true, Pointee(EntryEq(entry))));
+  EXPECT_CALL(*this, MockGetDecodeStatsCb(true, Pointee(Eq(entry))));
   stats_db_->GetDecodeStats(
       key, base::BindOnce(&VideoDecodeStatsDBImplTest::GetDecodeStatsCb,
                           base::Unretained(this)));
@@ -139,8 +132,7 @@
 
   // Expect to read what was written (2x the initial entry).
   VideoDecodeStatsDB::DecodeStatsEntry aggregate_entry(2000, 4, 20);
-  EXPECT_CALL(*this,
-              MockGetDecodeStatsCb(true, Pointee(EntryEq(aggregate_entry))));
+  EXPECT_CALL(*this, MockGetDecodeStatsCb(true, Pointee(Eq(aggregate_entry))));
   stats_db_->GetDecodeStats(
       key, base::BindOnce(&VideoDecodeStatsDBImplTest::GetDecodeStatsCb,
                           base::Unretained(this)));
diff --git a/media/capture/BUILD.gn b/media/capture/BUILD.gn
index 93ea0b7f..6a9ce2bf 100644
--- a/media/capture/BUILD.gn
+++ b/media/capture/BUILD.gn
@@ -101,6 +101,9 @@
     "video/linux/camera_config_chromeos.h",
     "video/linux/v4l2_capture_delegate.cc",
     "video/linux/v4l2_capture_delegate.h",
+    "video/linux/v4l2_capture_device.h",
+    "video/linux/v4l2_capture_device_impl.cc",
+    "video/linux/v4l2_capture_device_impl.h",
     "video/linux/video_capture_device_chromeos.cc",
     "video/linux/video_capture_device_chromeos.h",
     "video/linux/video_capture_device_factory_linux.cc",
diff --git a/media/capture/video/linux/v4l2_capture_delegate.cc b/media/capture/video/linux/v4l2_capture_delegate.cc
index ce969d7..c152e8c 100644
--- a/media/capture/video/linux/v4l2_capture_delegate.cc
+++ b/media/capture/video/linux/v4l2_capture_delegate.cc
@@ -55,8 +55,9 @@
 // Typical framerate, in fps
 const int kTypicalFramerate = 30;
 
-// V4L2 color formats supported by V4L2CaptureDelegate derived classes.
-// This list is ordered by precedence of use -- but see caveats for MJPEG.
+// V4L2CaptureDevice color formats supported by V4L2CaptureDelegate derived
+// classes. This list is ordered by precedence of use -- but see caveats for
+// MJPEG.
 static struct {
   uint32_t fourcc;
   VideoPixelFormat pixel_format;
@@ -124,44 +125,6 @@
                             (fourcc >> 16) & 0xFF, (fourcc >> 24) & 0xFF);
 }
 
-// Running ioctl() on some devices, especially shortly after (re)opening the
-// device file descriptor or (re)starting streaming, can fail but works after
-// retrying (https://crbug.com/670262).
-// Returns false if the |request| ioctl fails too many times.
-static bool RunIoctl(int fd, int request, void* argp) {
-  int num_retries = 0;
-  for (; HANDLE_EINTR(ioctl(fd, request, argp)) < 0 &&
-         num_retries < kMaxIOCtrlRetries;
-       ++num_retries) {
-    DPLOG(WARNING) << "ioctl";
-  }
-  DPLOG_IF(ERROR, num_retries != kMaxIOCtrlRetries);
-  return num_retries != kMaxIOCtrlRetries;
-}
-
-// Creates a mojom::RangePtr with the (min, max, current, step) values of the
-// control associated with |control_id|. Returns an empty Range otherwise.
-static mojom::RangePtr RetrieveUserControlRange(int device_fd, int control_id) {
-  mojom::RangePtr capability = mojom::Range::New();
-
-  v4l2_queryctrl range = {};
-  range.id = control_id;
-  range.type = V4L2_CTRL_TYPE_INTEGER;
-  if (!RunIoctl(device_fd, VIDIOC_QUERYCTRL, &range))
-    return mojom::Range::New();
-  capability->max = range.maximum;
-  capability->min = range.minimum;
-  capability->step = range.step;
-
-  v4l2_control current = {};
-  current.id = control_id;
-  if (!RunIoctl(device_fd, VIDIOC_G_CTRL, &current))
-    return mojom::Range::New();
-  capability->current = current.value;
-
-  return capability;
-}
-
 // Determines if |control_id| is special, i.e. controls another one's state.
 static bool IsSpecialControl(int control_id) {
   switch (control_id) {
@@ -203,114 +166,12 @@
   return false;
 }
 
-// Sets all user control to their default. Some controls are enabled by another
-// flag, usually having the word "auto" in the name, see IsSpecialControl().
-// These flags are preset beforehand, then set to their defaults individually
-// afterwards.
-static void ResetUserAndCameraControlsToDefault(int device_fd) {
-  // Set V4L2_CID_AUTO_WHITE_BALANCE to false first.
-  v4l2_control auto_white_balance = {};
-  auto_white_balance.id = V4L2_CID_AUTO_WHITE_BALANCE;
-  auto_white_balance.value = false;
-  if (!RunIoctl(device_fd, VIDIOC_S_CTRL, &auto_white_balance))
-    return;
-
-  std::vector<struct v4l2_ext_control> special_camera_controls;
-  // Set V4L2_CID_EXPOSURE_AUTO to V4L2_EXPOSURE_MANUAL.
-  v4l2_ext_control auto_exposure = {};
-  auto_exposure.id = V4L2_CID_EXPOSURE_AUTO;
-  auto_exposure.value = V4L2_EXPOSURE_MANUAL;
-  special_camera_controls.push_back(auto_exposure);
-  // Set V4L2_CID_EXPOSURE_AUTO_PRIORITY to false.
-  v4l2_ext_control priority_auto_exposure = {};
-  priority_auto_exposure.id = V4L2_CID_EXPOSURE_AUTO_PRIORITY;
-  priority_auto_exposure.value = false;
-  special_camera_controls.push_back(priority_auto_exposure);
-  // Set V4L2_CID_FOCUS_AUTO to false.
-  v4l2_ext_control auto_focus = {};
-  auto_focus.id = V4L2_CID_FOCUS_AUTO;
-  auto_focus.value = false;
-  special_camera_controls.push_back(auto_focus);
-
-  struct v4l2_ext_controls ext_controls = {};
-  ext_controls.ctrl_class = V4L2_CID_CAMERA_CLASS;
-  ext_controls.count = special_camera_controls.size();
-  ext_controls.controls = special_camera_controls.data();
-  if (HANDLE_EINTR(ioctl(device_fd, VIDIOC_S_EXT_CTRLS, &ext_controls)) < 0)
-    DPLOG(ERROR) << "VIDIOC_S_EXT_CTRLS";
-
-  std::vector<struct v4l2_ext_control> camera_controls;
-  for (const auto& control : kControls) {
-    std::vector<struct v4l2_ext_control> camera_controls;
-
-    v4l2_queryctrl range = {};
-    range.id = control.control_base | V4L2_CTRL_FLAG_NEXT_CTRL;
-    while (0 == HANDLE_EINTR(ioctl(device_fd, VIDIOC_QUERYCTRL, &range))) {
-      if (V4L2_CTRL_ID2CLASS(range.id) != V4L2_CTRL_ID2CLASS(control.class_id))
-        break;
-      range.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
-
-      if (IsSpecialControl(range.id & ~V4L2_CTRL_FLAG_NEXT_CTRL))
-        continue;
-      if (IsBlacklistedControl(range.id & ~V4L2_CTRL_FLAG_NEXT_CTRL))
-        continue;
-
-      struct v4l2_ext_control ext_control = {};
-      ext_control.id = range.id & ~V4L2_CTRL_FLAG_NEXT_CTRL;
-      ext_control.value = range.default_value;
-      camera_controls.push_back(ext_control);
-    }
-
-    if (!camera_controls.empty()) {
-      struct v4l2_ext_controls ext_controls = {};
-      ext_controls.ctrl_class = control.class_id;
-      ext_controls.count = camera_controls.size();
-      ext_controls.controls = camera_controls.data();
-      if (HANDLE_EINTR(ioctl(device_fd, VIDIOC_S_EXT_CTRLS, &ext_controls)) < 0)
-        DPLOG(ERROR) << "VIDIOC_S_EXT_CTRLS";
-    }
-  }
-
-  // Now set the special flags to the default values
-  v4l2_queryctrl range = {};
-  range.id = V4L2_CID_AUTO_WHITE_BALANCE;
-  HANDLE_EINTR(ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
-  auto_white_balance.value = range.default_value;
-  HANDLE_EINTR(ioctl(device_fd, VIDIOC_S_CTRL, &auto_white_balance));
-
-  special_camera_controls.clear();
-  memset(&range, 0, sizeof(struct v4l2_queryctrl));
-  range.id = V4L2_CID_EXPOSURE_AUTO;
-  HANDLE_EINTR(ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
-  auto_exposure.value = range.default_value;
-  special_camera_controls.push_back(auto_exposure);
-
-  memset(&range, 0, sizeof(struct v4l2_queryctrl));
-  range.id = V4L2_CID_EXPOSURE_AUTO_PRIORITY;
-  HANDLE_EINTR(ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
-  priority_auto_exposure.value = range.default_value;
-  special_camera_controls.push_back(priority_auto_exposure);
-
-  memset(&range, 0, sizeof(struct v4l2_queryctrl));
-  range.id = V4L2_CID_FOCUS_AUTO;
-  HANDLE_EINTR(ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
-  auto_focus.value = range.default_value;
-  special_camera_controls.push_back(auto_focus);
-
-  memset(&ext_controls, 0, sizeof(struct v4l2_ext_controls));
-  ext_controls.ctrl_class = V4L2_CID_CAMERA_CLASS;
-  ext_controls.count = special_camera_controls.size();
-  ext_controls.controls = special_camera_controls.data();
-  if (HANDLE_EINTR(ioctl(device_fd, VIDIOC_S_EXT_CTRLS, &ext_controls)) < 0)
-    DPLOG(ERROR) << "VIDIOC_S_EXT_CTRLS";
-}
-
-// Class keeping track of a SPLANE V4L2 buffer, mmap()ed on construction and
-// munmap()ed on destruction.
+// Class keeping track of a SPLANE V4L2CaptureDevice buffer, mmap()ed on
+// construction and munmap()ed on destruction.
 class V4L2CaptureDelegate::BufferTracker
     : public base::RefCounted<BufferTracker> {
  public:
-  BufferTracker();
+  BufferTracker(V4L2CaptureDevice* v4l2);
   // Abstract method to mmap() given |fd| according to |buffer|.
   bool Init(int fd, const v4l2_buffer& buffer);
 
@@ -325,6 +186,7 @@
   friend class base::RefCounted<BufferTracker>;
   virtual ~BufferTracker();
 
+  V4L2CaptureDevice* const v4l2_;
   uint8_t* start_;
   size_t length_;
   size_t payload_size_;
@@ -368,13 +230,39 @@
   return supported_formats;
 }
 
+V4L2CaptureDelegate::ScopedV4L2DeviceFD::ScopedV4L2DeviceFD(
+    V4L2CaptureDevice* v4l2)
+    : device_fd_(kInvalidId), v4l2_(v4l2) {}
+
+V4L2CaptureDelegate::ScopedV4L2DeviceFD::~ScopedV4L2DeviceFD() {
+  if (is_valid())
+    reset();
+}
+
+int V4L2CaptureDelegate::ScopedV4L2DeviceFD::get() {
+  return device_fd_;
+}
+
+void V4L2CaptureDelegate::ScopedV4L2DeviceFD::reset(int fd /*= kInvalidId*/) {
+  if (is_valid())
+    v4l2_->close(device_fd_);
+  device_fd_ = fd;
+}
+
+bool V4L2CaptureDelegate::ScopedV4L2DeviceFD::is_valid() {
+  return device_fd_ != kInvalidId;
+}
+
 V4L2CaptureDelegate::V4L2CaptureDelegate(
+    V4L2CaptureDevice* v4l2,
     const VideoCaptureDeviceDescriptor& device_descriptor,
     const scoped_refptr<base::SingleThreadTaskRunner>& v4l2_task_runner,
     int power_line_frequency)
-    : v4l2_task_runner_(v4l2_task_runner),
+    : v4l2_(v4l2),
+      v4l2_task_runner_(v4l2_task_runner),
       device_descriptor_(device_descriptor),
       power_line_frequency_(power_line_frequency),
+      device_fd_(v4l2),
       is_capturing_(false),
       timeout_count_(0),
       rotation_(0),
@@ -391,20 +279,23 @@
 
   // Need to open camera with O_RDWR after Linux kernel 3.3.
   device_fd_.reset(
-      HANDLE_EINTR(open(device_descriptor_.device_id.c_str(), O_RDWR)));
+      HANDLE_EINTR(v4l2_->open(device_descriptor_.device_id.c_str(), O_RDWR)));
   if (!device_fd_.is_valid()) {
-    SetErrorState(FROM_HERE, "Failed to open V4L2 device driver file.");
+    SetErrorState(FROM_HERE,
+                  "Failed to open V4L2CaptureDevice device driver file.");
     return;
   }
 
   ResetUserAndCameraControlsToDefault(device_fd_.get());
 
   v4l2_capability cap = {};
-  if (!((HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_QUERYCAP, &cap)) == 0) &&
+  if (!((HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_QUERYCAP, &cap)) ==
+         0) &&
         ((cap.capabilities & V4L2_CAP_VIDEO_CAPTURE) &&
          !(cap.capabilities & V4L2_CAP_VIDEO_OUTPUT)))) {
     device_fd_.reset();
-    SetErrorState(FROM_HERE, "This is not a V4L2 video capture device");
+    SetErrorState(FROM_HERE,
+                  "This is not a V4L2CaptureDevice video capture device");
     return;
   }
 
@@ -416,7 +307,8 @@
 
   v4l2_fmtdesc fmtdesc = {};
   fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-  for (; HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_ENUM_FMT, &fmtdesc)) == 0;
+  for (; HANDLE_EINTR(
+             v4l2_->ioctl(device_fd_.get(), VIDIOC_ENUM_FMT, &fmtdesc)) == 0;
        ++fmtdesc.index) {
     best = std::find(desired_v4l2_formats.begin(), best, fmtdesc.pixelformat);
   }
@@ -428,7 +320,8 @@
   DVLOG(1) << "Chosen pixel format is " << FourccToString(*best);
   FillV4L2Format(&video_fmt_, width, height, *best);
 
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_FMT, &video_fmt_)) < 0) {
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_S_FMT, &video_fmt_)) <
+      0) {
     SetErrorState(FROM_HERE, "Failed to set video capture format");
     return;
   }
@@ -443,7 +336,8 @@
   v4l2_streamparm streamparm = {};
   streamparm.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
   // The following line checks that the driver knows about framerate get/set.
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_G_PARM, &streamparm)) >= 0) {
+  if (HANDLE_EINTR(
+          v4l2_->ioctl(device_fd_.get(), VIDIOC_G_PARM, &streamparm)) >= 0) {
     // Now check if the device is able to accept a capture framerate set.
     if (streamparm.parm.capture.capability & V4L2_CAP_TIMEPERFRAME) {
       // |frame_rate| is float, approximate by a fraction.
@@ -452,8 +346,8 @@
           (frame_rate) ? (frame_rate * kFrameRatePrecision)
                        : (kTypicalFramerate * kFrameRatePrecision);
 
-      if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_PARM, &streamparm)) <
-          0) {
+      if (HANDLE_EINTR(
+              v4l2_->ioctl(device_fd_.get(), VIDIOC_S_PARM, &streamparm)) < 0) {
         SetErrorState(FROM_HERE, "Failed to set camera framerate");
         return;
       }
@@ -474,7 +368,7 @@
     control.id = V4L2_CID_POWER_LINE_FREQUENCY;
     control.value = power_line_frequency_;
     const int retval =
-        HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &control));
+        HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &control));
     if (retval != 0)
       DVLOG(1) << "Error setting power line frequency removal";
   }
@@ -486,8 +380,10 @@
 
   v4l2_requestbuffers r_buffer;
   FillV4L2RequestBuffer(&r_buffer, kNumVideoBuffers);
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_REQBUFS, &r_buffer)) < 0) {
-    SetErrorState(FROM_HERE, "Error requesting MMAP buffers from V4L2");
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_REQBUFS, &r_buffer)) <
+      0) {
+    SetErrorState(FROM_HERE,
+                  "Error requesting MMAP buffers from V4L2CaptureDevice");
     return;
   }
   for (unsigned int i = 0; i < r_buffer.count; ++i) {
@@ -498,8 +394,8 @@
   }
 
   v4l2_buf_type capture_type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_STREAMON, &capture_type)) <
-      0) {
+  if (HANDLE_EINTR(
+          v4l2_->ioctl(device_fd_.get(), VIDIOC_STREAMON, &capture_type)) < 0) {
     SetErrorState(FROM_HERE, "VIDIOC_STREAMON failed");
     return;
   }
@@ -517,8 +413,8 @@
   // The order is important: stop streaming, clear |buffer_pool_|,
   // thus munmap()ing the v4l2_buffers, and then return them to the OS.
   v4l2_buf_type capture_type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_STREAMOFF, &capture_type)) <
-      0) {
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_STREAMOFF,
+                                &capture_type)) < 0) {
     SetErrorState(FROM_HERE, "VIDIOC_STREAMOFF failed");
     return;
   }
@@ -527,7 +423,8 @@
 
   v4l2_requestbuffers r_buffer;
   FillV4L2RequestBuffer(&r_buffer, 0);
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_REQBUFS, &r_buffer)) < 0)
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_REQBUFS, &r_buffer)) <
+      0)
     SetErrorState(FROM_HERE, "Failed to VIDIOC_REQBUFS with count = 0");
 
   // At this point we can close the device.
@@ -569,8 +466,8 @@
   photo_capabilities->current_focus_mode = MeteringMode::NONE;
   v4l2_control auto_focus_current = {};
   auto_focus_current.id = V4L2_CID_FOCUS_AUTO;
-  if (HANDLE_EINTR(
-          ioctl(device_fd_.get(), VIDIOC_G_CTRL, &auto_focus_current)) >= 0) {
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_G_CTRL,
+                                &auto_focus_current)) >= 0) {
     photo_capabilities->current_focus_mode = auto_focus_current.value
                                                  ? MeteringMode::CONTINUOUS
                                                  : MeteringMode::MANUAL;
@@ -588,8 +485,8 @@
   photo_capabilities->current_exposure_mode = MeteringMode::NONE;
   v4l2_control exposure_current = {};
   exposure_current.id = V4L2_CID_EXPOSURE_AUTO;
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_G_CTRL, &exposure_current)) >=
-      0) {
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_G_CTRL,
+                                &exposure_current)) >= 0) {
     photo_capabilities->current_exposure_mode =
         exposure_current.value == V4L2_EXPOSURE_MANUAL
             ? MeteringMode::MANUAL
@@ -616,8 +513,8 @@
   photo_capabilities->current_white_balance_mode = MeteringMode::NONE;
   v4l2_control white_balance_current = {};
   white_balance_current.id = V4L2_CID_AUTO_WHITE_BALANCE;
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_G_CTRL,
-                         &white_balance_current)) >= 0) {
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_G_CTRL,
+                                &white_balance_current)) >= 0) {
     photo_capabilities->current_white_balance_mode =
         white_balance_current.value ? MeteringMode::CONTINUOUS
                                     : MeteringMode::MANUAL;
@@ -656,7 +553,8 @@
     v4l2_control zoom_current = {};
     zoom_current.id = V4L2_CID_ZOOM_ABSOLUTE;
     zoom_current.value = settings->zoom;
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &zoom_current)) < 0)
+    if (HANDLE_EINTR(
+            v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &zoom_current)) < 0)
       DPLOG(ERROR) << "setting zoom to " << settings->zoom;
   }
 
@@ -667,20 +565,22 @@
     white_balance_set.id = V4L2_CID_AUTO_WHITE_BALANCE;
     white_balance_set.value =
         settings->white_balance_mode == mojom::MeteringMode::CONTINUOUS;
-    HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &white_balance_set));
+    HANDLE_EINTR(
+        v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &white_balance_set));
   }
 
   if (settings->has_color_temperature) {
     v4l2_control auto_white_balance_current = {};
     auto_white_balance_current.id = V4L2_CID_AUTO_WHITE_BALANCE;
-    const int result = HANDLE_EINTR(
-        ioctl(device_fd_.get(), VIDIOC_G_CTRL, &auto_white_balance_current));
+    const int result = HANDLE_EINTR(v4l2_->ioctl(
+        device_fd_.get(), VIDIOC_G_CTRL, &auto_white_balance_current));
     // Color temperature can only be applied if Auto White Balance is off.
     if (result >= 0 && !auto_white_balance_current.value) {
       v4l2_control set_temperature = {};
       set_temperature.id = V4L2_CID_WHITE_BALANCE_TEMPERATURE;
       set_temperature.value = settings->color_temperature;
-      HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &set_temperature));
+      HANDLE_EINTR(
+          v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &set_temperature));
     }
   }
 
@@ -693,20 +593,22 @@
         settings->exposure_mode == mojom::MeteringMode::CONTINUOUS
             ? V4L2_EXPOSURE_APERTURE_PRIORITY
             : V4L2_EXPOSURE_MANUAL;
-    HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &exposure_mode_set));
+    HANDLE_EINTR(
+        v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &exposure_mode_set));
   }
 
   if (settings->has_exposure_compensation) {
     v4l2_control auto_exposure_current = {};
     auto_exposure_current.id = V4L2_CID_EXPOSURE_AUTO;
     const int result = HANDLE_EINTR(
-        ioctl(device_fd_.get(), VIDIOC_G_CTRL, &auto_exposure_current));
+        v4l2_->ioctl(device_fd_.get(), VIDIOC_G_CTRL, &auto_exposure_current));
     // Exposure Compensation can only be applied if Auto Exposure is off.
     if (result >= 0 && auto_exposure_current.value == V4L2_EXPOSURE_MANUAL) {
       v4l2_control set_exposure = {};
       set_exposure.id = V4L2_CID_EXPOSURE_ABSOLUTE;
       set_exposure.value = settings->exposure_compensation;
-      HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &set_exposure));
+      HANDLE_EINTR(
+          v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &set_exposure));
     }
   }
 
@@ -714,28 +616,32 @@
     v4l2_control current = {};
     current.id = V4L2_CID_BRIGHTNESS;
     current.value = settings->brightness;
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) < 0)
+    if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) <
+        0)
       DPLOG(ERROR) << "setting brightness to " << settings->brightness;
   }
   if (settings->has_contrast) {
     v4l2_control current = {};
     current.id = V4L2_CID_CONTRAST;
     current.value = settings->contrast;
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) < 0)
+    if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) <
+        0)
       DPLOG(ERROR) << "setting contrast to " << settings->contrast;
   }
   if (settings->has_saturation) {
     v4l2_control current = {};
     current.id = V4L2_CID_SATURATION;
     current.value = settings->saturation;
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) < 0)
+    if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) <
+        0)
       DPLOG(ERROR) << "setting saturation to " << settings->saturation;
   }
   if (settings->has_sharpness) {
     v4l2_control current = {};
     current.id = V4L2_CID_SHARPNESS;
     current.value = settings->sharpness;
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) < 0)
+    if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_S_CTRL, &current)) <
+        0)
       DPLOG(ERROR) << "setting sharpness to " << settings->sharpness;
   }
 
@@ -754,16 +660,162 @@
 
 V4L2CaptureDelegate::~V4L2CaptureDelegate() = default;
 
+// Running v4l2_->ioctl() on some devices, especially shortly after (re)opening
+// the device file descriptor or (re)starting streaming, can fail but works
+// after retrying (https://crbug.com/670262). Returns false if the |request|
+// ioctl fails too many times.
+bool V4L2CaptureDelegate::RunIoctl(int fd, int request, void* argp) {
+  int num_retries = 0;
+  for (; HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)) < 0 &&
+         num_retries < kMaxIOCtrlRetries;
+       ++num_retries) {
+    DPLOG(WARNING) << "ioctl";
+  }
+  DPLOG_IF(ERROR, num_retries != kMaxIOCtrlRetries);
+  return num_retries != kMaxIOCtrlRetries;
+}
+
+// Creates a mojom::RangePtr with the (min, max, current, step) values of the
+// control associated with |control_id|. Returns an empty Range otherwise.
+mojom::RangePtr V4L2CaptureDelegate::RetrieveUserControlRange(int device_fd,
+                                                              int control_id) {
+  mojom::RangePtr capability = mojom::Range::New();
+
+  v4l2_queryctrl range = {};
+  range.id = control_id;
+  range.type = V4L2_CTRL_TYPE_INTEGER;
+  if (!RunIoctl(device_fd, VIDIOC_QUERYCTRL, &range))
+    return mojom::Range::New();
+  capability->max = range.maximum;
+  capability->min = range.minimum;
+  capability->step = range.step;
+
+  v4l2_control current = {};
+  current.id = control_id;
+  if (!RunIoctl(device_fd, VIDIOC_G_CTRL, &current))
+    return mojom::Range::New();
+  capability->current = current.value;
+
+  return capability;
+}
+
+// Sets all user control to their default. Some controls are enabled by another
+// flag, usually having the word "auto" in the name, see IsSpecialControl().
+// These flags are preset beforehand, then set to their defaults individually
+// afterwards.
+void V4L2CaptureDelegate::ResetUserAndCameraControlsToDefault(int device_fd) {
+  // Set V4L2_CID_AUTO_WHITE_BALANCE to false first.
+  v4l2_control auto_white_balance = {};
+  auto_white_balance.id = V4L2_CID_AUTO_WHITE_BALANCE;
+  auto_white_balance.value = false;
+  if (!RunIoctl(device_fd, VIDIOC_S_CTRL, &auto_white_balance))
+    return;
+
+  std::vector<struct v4l2_ext_control> special_camera_controls;
+  // Set V4L2_CID_EXPOSURE_AUTO to V4L2_EXPOSURE_MANUAL.
+  v4l2_ext_control auto_exposure = {};
+  auto_exposure.id = V4L2_CID_EXPOSURE_AUTO;
+  auto_exposure.value = V4L2_EXPOSURE_MANUAL;
+  special_camera_controls.push_back(auto_exposure);
+  // Set V4L2_CID_EXPOSURE_AUTO_PRIORITY to false.
+  v4l2_ext_control priority_auto_exposure = {};
+  priority_auto_exposure.id = V4L2_CID_EXPOSURE_AUTO_PRIORITY;
+  priority_auto_exposure.value = false;
+  special_camera_controls.push_back(priority_auto_exposure);
+  // Set V4L2_CID_FOCUS_AUTO to false.
+  v4l2_ext_control auto_focus = {};
+  auto_focus.id = V4L2_CID_FOCUS_AUTO;
+  auto_focus.value = false;
+  special_camera_controls.push_back(auto_focus);
+
+  struct v4l2_ext_controls ext_controls = {};
+  ext_controls.ctrl_class = V4L2_CID_CAMERA_CLASS;
+  ext_controls.count = special_camera_controls.size();
+  ext_controls.controls = special_camera_controls.data();
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_S_EXT_CTRLS, &ext_controls)) <
+      0)
+    DPLOG(ERROR) << "VIDIOC_S_EXT_CTRLS";
+
+  std::vector<struct v4l2_ext_control> camera_controls;
+  for (const auto& control : kControls) {
+    std::vector<struct v4l2_ext_control> camera_controls;
+
+    v4l2_queryctrl range = {};
+    range.id = control.control_base | V4L2_CTRL_FLAG_NEXT_CTRL;
+    while (0 ==
+           HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_QUERYCTRL, &range))) {
+      if (V4L2_CTRL_ID2CLASS(range.id) != V4L2_CTRL_ID2CLASS(control.class_id))
+        break;
+      range.id |= V4L2_CTRL_FLAG_NEXT_CTRL;
+
+      if (IsSpecialControl(range.id & ~V4L2_CTRL_FLAG_NEXT_CTRL))
+        continue;
+      if (IsBlacklistedControl(range.id & ~V4L2_CTRL_FLAG_NEXT_CTRL))
+        continue;
+
+      struct v4l2_ext_control ext_control = {};
+      ext_control.id = range.id & ~V4L2_CTRL_FLAG_NEXT_CTRL;
+      ext_control.value = range.default_value;
+      camera_controls.push_back(ext_control);
+    }
+
+    if (!camera_controls.empty()) {
+      struct v4l2_ext_controls ext_controls = {};
+      ext_controls.ctrl_class = control.class_id;
+      ext_controls.count = camera_controls.size();
+      ext_controls.controls = camera_controls.data();
+      if (HANDLE_EINTR(
+              v4l2_->ioctl(device_fd, VIDIOC_S_EXT_CTRLS, &ext_controls)) < 0)
+        DPLOG(ERROR) << "VIDIOC_S_EXT_CTRLS";
+    }
+  }
+
+  // Now set the special flags to the default values
+  v4l2_queryctrl range = {};
+  range.id = V4L2_CID_AUTO_WHITE_BALANCE;
+  HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
+  auto_white_balance.value = range.default_value;
+  HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_S_CTRL, &auto_white_balance));
+
+  special_camera_controls.clear();
+  memset(&range, 0, sizeof(struct v4l2_queryctrl));
+  range.id = V4L2_CID_EXPOSURE_AUTO;
+  HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
+  auto_exposure.value = range.default_value;
+  special_camera_controls.push_back(auto_exposure);
+
+  memset(&range, 0, sizeof(struct v4l2_queryctrl));
+  range.id = V4L2_CID_EXPOSURE_AUTO_PRIORITY;
+  HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
+  priority_auto_exposure.value = range.default_value;
+  special_camera_controls.push_back(priority_auto_exposure);
+
+  memset(&range, 0, sizeof(struct v4l2_queryctrl));
+  range.id = V4L2_CID_FOCUS_AUTO;
+  HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_QUERYCTRL, &range));
+  auto_focus.value = range.default_value;
+  special_camera_controls.push_back(auto_focus);
+
+  memset(&ext_controls, 0, sizeof(struct v4l2_ext_controls));
+  ext_controls.ctrl_class = V4L2_CID_CAMERA_CLASS;
+  ext_controls.count = special_camera_controls.size();
+  ext_controls.controls = special_camera_controls.data();
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd, VIDIOC_S_EXT_CTRLS, &ext_controls)) <
+      0)
+    DPLOG(ERROR) << "VIDIOC_S_EXT_CTRLS";
+}
+
 bool V4L2CaptureDelegate::MapAndQueueBuffer(int index) {
   v4l2_buffer buffer;
   FillV4L2Buffer(&buffer, index);
 
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_QUERYBUF, &buffer)) < 0) {
-    DLOG(ERROR) << "Error querying status of a MMAP V4L2 buffer";
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_QUERYBUF, &buffer)) <
+      0) {
+    DLOG(ERROR) << "Error querying status of a MMAP V4L2CaptureDevice buffer";
     return false;
   }
 
-  const scoped_refptr<BufferTracker> buffer_tracker(new BufferTracker());
+  const scoped_refptr<BufferTracker> buffer_tracker(new BufferTracker(v4l2_));
   if (!buffer_tracker->Init(device_fd_.get(), buffer)) {
     DLOG(ERROR) << "Error creating BufferTracker";
     return false;
@@ -771,8 +823,9 @@
   buffer_tracker_pool_.push_back(buffer_tracker);
 
   // Enqueue the buffer in the drivers incoming queue.
-  if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_QBUF, &buffer)) < 0) {
-    DLOG(ERROR) << "Error enqueuing a V4L2 buffer back into the driver";
+  if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_QBUF, &buffer)) < 0) {
+    DLOG(ERROR)
+        << "Error enqueuing a V4L2CaptureDevice buffer back into the driver";
     return false;
   }
   return true;
@@ -786,7 +839,8 @@
   pollfd device_pfd = {};
   device_pfd.fd = device_fd_.get();
   device_pfd.events = POLLIN;
-  const int result = HANDLE_EINTR(poll(&device_pfd, 1, kCaptureTimeoutMs));
+  const int result =
+      HANDLE_EINTR(v4l2_->poll(&device_pfd, 1, kCaptureTimeoutMs));
   if (result < 0) {
     SetErrorState(FROM_HERE, "Poll failed");
     return;
@@ -810,7 +864,8 @@
     v4l2_buffer buffer;
     FillV4L2Buffer(&buffer, 0);
 
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_DQBUF, &buffer)) < 0) {
+    if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_DQBUF, &buffer)) <
+        0) {
       SetErrorState(FROM_HERE, "Failed to dequeue capture buffer");
       return;
     }
@@ -856,7 +911,8 @@
         std::move(cb).Run(std::move(blob));
     }
 
-    if (HANDLE_EINTR(ioctl(device_fd_.get(), VIDIOC_QBUF, &buffer)) < 0) {
+    if (HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), VIDIOC_QBUF, &buffer)) <
+        0) {
       SetErrorState(FROM_HERE, "Failed to enqueue capture buffer");
       return;
     }
@@ -873,23 +929,24 @@
   client_->OnError(from_here, reason);
 }
 
-V4L2CaptureDelegate::BufferTracker::BufferTracker() = default;
+V4L2CaptureDelegate::BufferTracker::BufferTracker(V4L2CaptureDevice* v4l2)
+    : v4l2_(v4l2) {}
 
 V4L2CaptureDelegate::BufferTracker::~BufferTracker() {
   if (start_ == nullptr)
     return;
-  const int result = munmap(start_, length_);
-  PLOG_IF(ERROR, result < 0) << "Error munmap()ing V4L2 buffer";
+  const int result = v4l2_->munmap(start_, length_);
+  PLOG_IF(ERROR, result < 0) << "Error munmap()ing V4L2CaptureDevice buffer";
 }
 
 bool V4L2CaptureDelegate::BufferTracker::Init(int fd,
                                               const v4l2_buffer& buffer) {
   // Some devices require mmap() to be called with both READ and WRITE.
   // See http://crbug.com/178582.
-  void* const start = mmap(NULL, buffer.length, PROT_READ | PROT_WRITE,
-                           MAP_SHARED, fd, buffer.m.offset);
+  void* const start = v4l2_->mmap(NULL, buffer.length, PROT_READ | PROT_WRITE,
+                                  MAP_SHARED, fd, buffer.m.offset);
   if (start == MAP_FAILED) {
-    DLOG(ERROR) << "Error mmap()ing a V4L2 buffer into userspace";
+    DLOG(ERROR) << "Error mmap()ing a V4L2CaptureDevice buffer into userspace";
     return false;
   }
   start_ = static_cast<uint8_t*>(start);
diff --git a/media/capture/video/linux/v4l2_capture_delegate.h b/media/capture/video/linux/v4l2_capture_delegate.h
index 37f1964..5a246a3 100644
--- a/media/capture/video/linux/v4l2_capture_delegate.h
+++ b/media/capture/video/linux/v4l2_capture_delegate.h
@@ -12,6 +12,7 @@
 #include "base/files/scoped_file.h"
 #include "base/macros.h"
 #include "build/build_config.h"
+#include "media/capture/video/linux/v4l2_capture_device_impl.h"
 #include "media/capture/video/video_capture_device.h"
 
 #if defined(OS_OPENBSD)
@@ -26,9 +27,10 @@
 
 namespace media {
 
-// Class doing the actual Linux capture using V4L2 API. V4L2 SPLANE/MPLANE
-// capture specifics are implemented in derived classes. Created on the owner's
-// thread, otherwise living, operating and destroyed on |v4l2_task_runner_|.
+// Class doing the actual Linux capture using V4L2CaptureDevice API.
+// V4L2CaptureDevice SPLANE/MPLANE capture specifics are implemented in derived
+// classes. Created on the owner's thread, otherwise living, operating and
+// destroyed on |v4l2_task_runner_|.
 class CAPTURE_EXPORT V4L2CaptureDelegate final {
  public:
   // Retrieves the #planes for a given |fourcc|, or 0 if unknown.
@@ -42,6 +44,7 @@
   static std::list<uint32_t> GetListOfUsableFourCcs(bool prefer_mjpeg);
 
   V4L2CaptureDelegate(
+      V4L2CaptureDevice* v4l2,
       const VideoCaptureDeviceDescriptor& device_descriptor,
       const scoped_refptr<base::SingleThreadTaskRunner>& v4l2_task_runner,
       int power_line_frequency);
@@ -68,9 +71,28 @@
   friend class V4L2CaptureDelegateTest;
 
   class BufferTracker;
+  class ScopedV4L2DeviceFD {
+   public:
+    static constexpr int kInvalidId = -1;
+    ScopedV4L2DeviceFD(V4L2CaptureDevice* v4l2);
+    ~ScopedV4L2DeviceFD();
+    int get();
+    void reset(int fd = kInvalidId);
+    bool is_valid();
 
-  // VIDIOC_QUERYBUFs a buffer from V4L2, creates a BufferTracker for it and
-  // enqueues it (VIDIOC_QBUF) back into V4L2.
+   private:
+    int device_fd_;
+    V4L2CaptureDevice* const v4l2_;
+  };
+
+  bool RunIoctl(int fd, int request, void* argp);
+  mojom::RangePtr RetrieveUserControlRange(int device_fd, int control_id);
+  void ResetUserAndCameraControlsToDefault(int device_fd);
+
+  // void CloseDevice();
+
+  // VIDIOC_QUERYBUFs a buffer from V4L2CaptureDevice, creates a BufferTracker
+  // for it and enqueues it (VIDIOC_QBUF) back into V4L2CaptureDevice.
   bool MapAndQueueBuffer(int index);
 
   void DoCapture();
@@ -78,6 +100,7 @@
   void SetErrorState(const base::Location& from_here,
                      const std::string& reason);
 
+  V4L2CaptureDevice* const v4l2_;
   const scoped_refptr<base::SingleThreadTaskRunner> v4l2_task_runner_;
   const VideoCaptureDeviceDescriptor device_descriptor_;
   const int power_line_frequency_;
@@ -86,7 +109,7 @@
   VideoCaptureFormat capture_format_;
   v4l2_format video_fmt_;
   std::unique_ptr<VideoCaptureDevice::Client> client_;
-  base::ScopedFD device_fd_;
+  ScopedV4L2DeviceFD device_fd_;
 
   base::queue<VideoCaptureDevice::TakePhotoCallback> take_photo_callbacks_;
 
diff --git a/media/capture/video/linux/v4l2_capture_delegate_unittest.cc b/media/capture/video/linux/v4l2_capture_delegate_unittest.cc
index bbbd9b7..446aab37 100644
--- a/media/capture/video/linux/v4l2_capture_delegate_unittest.cc
+++ b/media/capture/video/linux/v4l2_capture_delegate_unittest.cc
@@ -221,7 +221,9 @@
  public:
   V4L2CaptureDelegateTest()
       : device_descriptor_("Device 0", "/dev/video0"),
+        v4l2_(new V4L2CaptureDeviceImpl()),
         delegate_(std::make_unique<V4L2CaptureDelegate>(
+            v4l2_.get(),
             device_descriptor_,
             base::ThreadTaskRunnerHandle::Get(),
             50)) {}
@@ -229,6 +231,7 @@
 
   base::test::ScopedTaskEnvironment scoped_task_environment_;
   VideoCaptureDeviceDescriptor device_descriptor_;
+  scoped_refptr<V4L2CaptureDevice> v4l2_;
   std::unique_ptr<V4L2CaptureDelegate> delegate_;
 };
 
diff --git a/media/capture/video/linux/v4l2_capture_device.h b/media/capture/video/linux/v4l2_capture_device.h
new file mode 100644
index 0000000..2c95357
--- /dev/null
+++ b/media/capture/video/linux/v4l2_capture_device.h
@@ -0,0 +1,44 @@
+// 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 MEDIA_CAPTURE_VIDEO_LINUX_V4L2_CAPTURE_DEVICE_H_
+#define MEDIA_CAPTURE_VIDEO_LINUX_V4L2_CAPTURE_DEVICE_H_
+
+#include <poll.h>
+#include <sys/fcntl.h>
+
+#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_refptr.h"
+#include "media/capture/capture_export.h"
+
+namespace media {
+
+// Interface for abstracting out the V4L2 API. This allows using a mock or fake
+// implementation in testing.
+class CAPTURE_EXPORT V4L2CaptureDevice
+    : public base::RefCounted<V4L2CaptureDevice> {
+ public:
+  virtual int open(const char* device_name, int flags) = 0;
+  virtual int close(int fd) = 0;
+  virtual int ioctl(int fd, int request, void* argp) = 0;
+  virtual void* mmap(void* start,
+                     size_t length,
+                     int prot,
+                     int flags,
+                     int fd,
+                     off_t offset) = 0;
+
+  virtual int munmap(void* start, size_t length) = 0;
+  virtual int poll(struct pollfd* ufds, unsigned int nfds, int timeout) = 0;
+
+ protected:
+  virtual ~V4L2CaptureDevice() {}
+
+ private:
+  friend class base::RefCounted<V4L2CaptureDevice>;
+};
+
+}  // namespace media
+
+#endif  // MEDIA_CAPTURE_VIDEO_LINUX_V4L2_CAPTURE_DEVICE_H_
diff --git a/media/capture/video/linux/v4l2_capture_device_impl.cc b/media/capture/video/linux/v4l2_capture_device_impl.cc
new file mode 100644
index 0000000..c9040f5d
--- /dev/null
+++ b/media/capture/video/linux/v4l2_capture_device_impl.cc
@@ -0,0 +1,48 @@
+// 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 "media/capture/video/linux/v4l2_capture_device_impl.h"
+
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <sys/mman.h>
+#include <sys/poll.h>
+#include <unistd.h>
+
+namespace media {
+
+V4L2CaptureDeviceImpl::~V4L2CaptureDeviceImpl() = default;
+
+int V4L2CaptureDeviceImpl::open(const char* device_name, int flags) {
+  return ::open(device_name, flags);
+}
+
+int V4L2CaptureDeviceImpl::close(int fd) {
+  return ::close(fd);
+}
+
+int V4L2CaptureDeviceImpl::ioctl(int fd, int request, void* argp) {
+  return ::ioctl(fd, request, argp);
+}
+
+void* V4L2CaptureDeviceImpl::mmap(void* start,
+                                  size_t length,
+                                  int prot,
+                                  int flags,
+                                  int fd,
+                                  off_t offset) {
+  return ::mmap(start, length, prot, flags, fd, offset);
+}
+
+int V4L2CaptureDeviceImpl::munmap(void* start, size_t length) {
+  return ::munmap(start, length);
+}
+
+int V4L2CaptureDeviceImpl::poll(struct pollfd* ufds,
+                                unsigned int nfds,
+                                int timeout) {
+  return ::poll(ufds, nfds, timeout);
+}
+
+}  // namespace media
diff --git a/media/capture/video/linux/v4l2_capture_device_impl.h b/media/capture/video/linux/v4l2_capture_device_impl.h
new file mode 100644
index 0000000..936c8b0
--- /dev/null
+++ b/media/capture/video/linux/v4l2_capture_device_impl.h
@@ -0,0 +1,39 @@
+// 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 MEDIA_CAPTURE_VIDEO_LINUX_V4L2_CAPTURE_DEVICE_IMPL_H_
+#define MEDIA_CAPTURE_VIDEO_LINUX_V4L2_CAPTURE_DEVICE_IMPL_H_
+
+#include <poll.h>
+#include <sys/fcntl.h>
+
+#include "media/capture/capture_export.h"
+#include "media/capture/video/linux/v4l2_capture_device.h"
+
+namespace media {
+
+// Implementation of V4L2CaptureDevice interface that delegates to the actual
+// V4L2 APIs.
+class CAPTURE_EXPORT V4L2CaptureDeviceImpl : public V4L2CaptureDevice {
+ public:
+  int open(const char* device_name, int flags) override;
+  int close(int fd) override;
+  int ioctl(int fd, int request, void* argp) override;
+  void* mmap(void* start,
+             size_t length,
+             int prot,
+             int flags,
+             int fd,
+             off_t offset) override;
+
+  int munmap(void* start, size_t length) override;
+  int poll(struct pollfd* ufds, unsigned int nfds, int timeout) override;
+
+ private:
+  ~V4L2CaptureDeviceImpl() override;
+};
+
+}  // namespace media
+
+#endif  // MEDIA_CAPTURE_VIDEO_LINUX_V4L2_CAPTURE_DEVICE_IMPL_H_
diff --git a/media/capture/video/linux/video_capture_device_chromeos.cc b/media/capture/video/linux/video_capture_device_chromeos.cc
index 329939b..7139897c 100644
--- a/media/capture/video/linux/video_capture_device_chromeos.cc
+++ b/media/capture/video/linux/video_capture_device_chromeos.cc
@@ -24,8 +24,9 @@
 
 VideoCaptureDeviceChromeOS::VideoCaptureDeviceChromeOS(
     scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+    scoped_refptr<V4L2CaptureDevice> v4l2,
     const VideoCaptureDeviceDescriptor& device_descriptor)
-    : VideoCaptureDeviceLinux(device_descriptor),
+    : VideoCaptureDeviceLinux(std::move(v4l2), device_descriptor),
       screen_observer_delegate_(
           new ScreenObserverDelegate(this, ui_task_runner)),
       lens_facing_(
diff --git a/media/capture/video/linux/video_capture_device_chromeos.h b/media/capture/video/linux/video_capture_device_chromeos.h
index d9e738ed..46ab552 100644
--- a/media/capture/video/linux/video_capture_device_chromeos.h
+++ b/media/capture/video/linux/video_capture_device_chromeos.h
@@ -25,6 +25,7 @@
  public:
   explicit VideoCaptureDeviceChromeOS(
       scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+      scoped_refptr<V4L2CaptureDevice> v4l2,
       const VideoCaptureDeviceDescriptor& device_descriptor);
   ~VideoCaptureDeviceChromeOS() override;
 
diff --git a/media/capture/video/linux/video_capture_device_factory_linux.cc b/media/capture/video/linux/video_capture_device_factory_linux.cc
index e8ca805a..e60ba8c 100644
--- a/media/capture/video/linux/video_capture_device_factory_linux.cc
+++ b/media/capture/video/linux/video_capture_device_factory_linux.cc
@@ -88,7 +88,7 @@
   frame_interval.width = width;
   frame_interval.height = height;
   for (; HANDLE_EINTR(ioctl(fd, VIDIOC_ENUM_FRAMEINTERVALS, &frame_interval)) ==
-             0;
+         0;
        ++frame_interval.index) {
     if (frame_interval.type == V4L2_FRMIVAL_TYPE_DISCRETE) {
       if (frame_interval.discrete.numerator != 0) {
@@ -191,8 +191,7 @@
 
 VideoCaptureDeviceFactoryLinux::VideoCaptureDeviceFactoryLinux(
     scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
-    : ui_task_runner_(ui_task_runner) {
-}
+    : v4l2_(new V4L2CaptureDeviceImpl()), ui_task_runner_(ui_task_runner) {}
 
 VideoCaptureDeviceFactoryLinux::~VideoCaptureDeviceFactoryLinux() = default;
 
@@ -201,11 +200,11 @@
     const VideoCaptureDeviceDescriptor& device_descriptor) {
   DCHECK(thread_checker_.CalledOnValidThread());
 #if defined(OS_CHROMEOS)
-  VideoCaptureDeviceChromeOS* self =
-      new VideoCaptureDeviceChromeOS(ui_task_runner_, device_descriptor);
+  VideoCaptureDeviceChromeOS* self = new VideoCaptureDeviceChromeOS(
+      ui_task_runner_, v4l2_.get(), device_descriptor);
 #else
   VideoCaptureDeviceLinux* self =
-      new VideoCaptureDeviceLinux(device_descriptor);
+      new VideoCaptureDeviceLinux(v4l2_.get(), device_descriptor);
 #endif
   if (!self)
     return std::unique_ptr<VideoCaptureDevice>();
@@ -239,8 +238,8 @@
       DLOG(ERROR) << "Couldn't open " << info.GetName().value();
       continue;
     }
-    // Test if this is a V4L2 capture device and if it has at least one
-    // supported capture format. Devices that have capture and output
+    // Test if this is a V4L2CaptureDevice capture device and if it has at least
+    // one supported capture format. Devices that have capture and output
     // capabilities at the same time are memory-to-memory and are skipped, see
     // http://crbug.com/139356.
     v4l2_capability cap;
diff --git a/media/capture/video/linux/video_capture_device_factory_linux.h b/media/capture/video/linux/video_capture_device_factory_linux.h
index 50e8db4..46038de 100644
--- a/media/capture/video/linux/video_capture_device_factory_linux.h
+++ b/media/capture/video/linux/video_capture_device_factory_linux.h
@@ -11,6 +11,7 @@
 
 #include "base/macros.h"
 #include "base/single_thread_task_runner.h"
+#include "media/capture/video/linux/v4l2_capture_device_impl.h"
 #include "media/capture/video_capture_types.h"
 
 namespace media {
@@ -33,6 +34,7 @@
       VideoCaptureFormats* supported_formats) override;
 
  private:
+  scoped_refptr<V4L2CaptureDevice> v4l2_;
   scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
   DISALLOW_COPY_AND_ASSIGN(VideoCaptureDeviceFactoryLinux);
 };
diff --git a/media/capture/video/linux/video_capture_device_linux.cc b/media/capture/video/linux/video_capture_device_linux.cc
index 594596a..808b74f 100644
--- a/media/capture/video/linux/video_capture_device_linux.cc
+++ b/media/capture/video/linux/video_capture_device_linux.cc
@@ -37,8 +37,10 @@
 }
 
 VideoCaptureDeviceLinux::VideoCaptureDeviceLinux(
+    scoped_refptr<V4L2CaptureDevice> v4l2,
     const VideoCaptureDeviceDescriptor& device_descriptor)
     : device_descriptor_(device_descriptor),
+      v4l2_(std::move(v4l2)),
       v4l2_thread_("V4L2CaptureThread") {}
 
 VideoCaptureDeviceLinux::~VideoCaptureDeviceLinux() {
@@ -59,7 +61,8 @@
   const int line_frequency =
       TranslatePowerLineFrequencyToV4L2(GetPowerLineFrequency(params));
   capture_impl_ = std::make_unique<V4L2CaptureDelegate>(
-      device_descriptor_, v4l2_thread_.task_runner(), line_frequency);
+      v4l2_.get(), device_descriptor_, v4l2_thread_.task_runner(),
+      line_frequency);
   if (!capture_impl_) {
     client->OnError(FROM_HERE, "Failed to create VideoCaptureDelegate");
     return;
diff --git a/media/capture/video/linux/video_capture_device_linux.h b/media/capture/video/linux/video_capture_device_linux.h
index cd34355e..e94cc6a 100644
--- a/media/capture/video/linux/video_capture_device_linux.h
+++ b/media/capture/video/linux/video_capture_device_linux.h
@@ -18,6 +18,7 @@
 #include "base/files/scoped_file.h"
 #include "base/macros.h"
 #include "base/threading/thread.h"
+#include "media/capture/video/linux/v4l2_capture_device_impl.h"
 #include "media/capture/video/video_capture_device.h"
 #include "media/capture/video_capture_types.h"
 
@@ -32,6 +33,7 @@
   static std::list<uint32_t> GetListOfUsableFourCCs(bool favour_mjpeg);
 
   explicit VideoCaptureDeviceLinux(
+      scoped_refptr<V4L2CaptureDevice> v4l2,
       const VideoCaptureDeviceDescriptor& device_descriptor);
   ~VideoCaptureDeviceLinux() override;
 
@@ -52,6 +54,8 @@
  private:
   static int TranslatePowerLineFrequencyToV4L2(PowerLineFrequency frequency);
 
+  const scoped_refptr<V4L2CaptureDevice> v4l2_;
+
   // Internal delegate doing the actual capture setting, buffer allocation and
   // circulation with the V4L2 API. Created in the thread where
   // VideoCaptureDeviceLinux lives but otherwise operating and deleted on
diff --git a/media/mojo/services/video_decode_perf_history.cc b/media/mojo/services/video_decode_perf_history.cc
index 20286fae..3ee0ae8 100644
--- a/media/mojo/services/video_decode_perf_history.cc
+++ b/media/mojo/services/video_decode_perf_history.cc
@@ -9,6 +9,7 @@
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
+#include "media/base/bind_to_current_loop.h"
 #include "media/base/video_codecs.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
@@ -111,7 +112,7 @@
   // this will be janky.
 
   // No stats? Lets be optimistic.
-  if (!stats) {
+  if (!stats || stats->frames_decoded == 0) {
     *is_power_efficient = true;
     *is_smooth = true;
     return;
@@ -144,7 +145,7 @@
 
   AssessStats(stats.get(), &is_smooth, &is_power_efficient);
 
-  if (stats) {
+  if (stats && stats->frames_decoded) {
     DCHECK(database_success);
     percent_dropped =
         static_cast<double>(stats->frames_dropped) / stats->frames_decoded;
@@ -367,4 +368,27 @@
   std::move(clear_done_cb).Run();
 }
 
+void VideoDecodePerfHistory::GetVideoDecodeStatsDB(GetCB get_db_cb) {
+  DVLOG(3) << __func__;
+  DCHECK(get_db_cb);
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  if (db_init_status_ == FAILED) {
+    std::move(get_db_cb).Run(nullptr);
+    return;
+  }
+
+  // Defer this request until the DB is initialized.
+  if (db_init_status_ != COMPLETE) {
+    init_deferred_api_calls_.push_back(
+        base::BindOnce(&VideoDecodePerfHistory::GetVideoDecodeStatsDB,
+                       weak_ptr_factory_.GetWeakPtr(), std::move(get_db_cb)));
+    InitDatabase();
+    return;
+  }
+
+  // DB is already initialized. BindToCurrentLoop to avoid reentrancy.
+  std::move(BindToCurrentLoop(std::move(get_db_cb))).Run(db_.get());
+}
+
 }  // namespace media
diff --git a/media/mojo/services/video_decode_perf_history.h b/media/mojo/services/video_decode_perf_history.h
index 8b1daa0..5ec8691 100644
--- a/media/mojo/services/video_decode_perf_history.h
+++ b/media/mojo/services/video_decode_perf_history.h
@@ -15,6 +15,7 @@
 #include "base/supports_user_data.h"
 #include "media/base/video_codecs.h"
 #include "media/capabilities/video_decode_stats_db.h"
+#include "media/capabilities/video_decode_stats_db_provider.h"
 #include "media/mojo/interfaces/video_decode_perf_history.mojom.h"
 #include "media/mojo/services/media_mojo_export.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
@@ -45,6 +46,7 @@
 // sequence.
 class MEDIA_MOJO_EXPORT VideoDecodePerfHistory
     : public mojom::VideoDecodePerfHistory,
+      public VideoDecodeStatsDBProvider,
       public base::SupportsUserData::Data {
  public:
   explicit VideoDecodePerfHistory(
@@ -76,6 +78,10 @@
   // complete.
   void ClearHistory(base::OnceClosure clear_done_cb);
 
+  // From VideoDecodeStatsDBProvider. |cb| receives a pointer to the
+  // *initialized* VideoDecodeStatsDB, or null in case of error.
+  void GetVideoDecodeStatsDB(GetCB cb) override;
+
  private:
   friend class VideoDecodePerfHistoryTest;
 
@@ -104,7 +110,7 @@
   // Callback from |db_->Initialize()|.
   void OnDatabaseInit(bool success);
 
-  // Initiated saving of the provided record. See GetSaveCallback().
+  // Initiate saving of the provided record. See GetSaveCallback().
   void SavePerfRecord(const url::Origin& untrusted_top_frame_origin,
                       bool is_top_frame,
                       mojom::PredictionFeatures features,
diff --git a/media/mojo/services/video_decode_perf_history_unittest.cc b/media/mojo/services/video_decode_perf_history_unittest.cc
index 2149ab9..f0b7f728 100644
--- a/media/mojo/services/video_decode_perf_history_unittest.cc
+++ b/media/mojo/services/video_decode_perf_history_unittest.cc
@@ -21,6 +21,9 @@
 #include "url/origin.h"
 
 using UkmEntry = ukm::builders::Media_VideoDecodePerfRecord;
+using testing::Eq;
+using testing::IsNull;
+using testing::_;
 
 namespace {
 
@@ -159,6 +162,8 @@
   // the operation has completed. See CompleteDBInitOnClearedHistory().
   MOCK_METHOD0(MockOnClearedHistory, void());
 
+  MOCK_METHOD1(MockGetVideoDecodeStatsDBCB, void(VideoDecodeStatsDB* db));
+
   mojom::PredictionFeatures MakeFeatures(VideoCodecProfile profile,
                                          gfx::Size video_size,
                                          int frames_per_sec) {
@@ -292,9 +297,7 @@
     GetFakeDB()->CompleteInitialize(true);
 
     // Allow initialize-deferred API calls to complete.
-    base::RunLoop run_loop;
-    base::PostTask(FROM_HERE, base::BindOnce(run_loop.QuitWhenIdleClosure()));
-    run_loop.Run();
+    scoped_task_environment_.RunUntilIdle();
   }
 }
 
@@ -386,9 +389,7 @@
     GetFakeDB()->CompleteInitialize(true);
 
     // Allow initialize-deferred API calls to complete.
-    base::RunLoop run_loop;
-    base::PostTask(FROM_HERE, base::BindOnce(run_loop.QuitWhenIdleClosure()));
-    run_loop.Run();
+    scoped_task_environment_.RunUntilIdle();
   }
 }
 
@@ -415,9 +416,7 @@
     GetFakeDB()->CompleteInitialize(false);
 
     // Allow initialize-deferred API calls to complete.
-    base::RunLoop run_loop;
-    base::PostTask(FROM_HERE, base::BindOnce(run_loop.QuitWhenIdleClosure()));
-    run_loop.Run();
+    scoped_task_environment_.RunUntilIdle();
   }
 }
 
@@ -472,9 +471,7 @@
     GetFakeDB()->CompleteInitialize(true);
 
     // Allow initialize-deferred API calls to complete.
-    base::RunLoop run_loop;
-    base::PostTask(FROM_HERE, base::BindOnce(run_loop.QuitWhenIdleClosure()));
-    run_loop.Run();
+    scoped_task_environment_.RunUntilIdle();
   }
 
   const auto& entries = test_recorder_->GetEntriesByName(UkmEntry::kEntryName);
@@ -495,6 +492,70 @@
   }
 }
 
+TEST_P(VideoDecodePerfHistoryParamTest, GetVideoDecodeStatsDB) {
+  // NOTE: The when the DB initialization is deferred, All EXPECT_CALLs are then
+  // delayed until we db_->CompleteInitialize(). testing::InSequence enforces
+  // that EXPECT_CALLs arrive in top-to-bottom order.
+  bool defer_initialize = GetParam();
+  testing::InSequence dummy;
+
+  // Complete initialization in advance of API calls when not asked to defer.
+  if (!defer_initialize)
+    PreInitializeDB(/* success */ true);
+
+  // Request a pointer to VideoDecodeStatsDB and verify the callback.
+  EXPECT_CALL(*this, MockGetVideoDecodeStatsDBCB(_))
+      .WillOnce([&](const auto* db_ptr) {
+        // Not able to simply use a matcher because the DB does not exist at the
+        // time we setup the EXPECT_CALL.
+        EXPECT_EQ(GetFakeDB(), db_ptr);
+      });
+
+  perf_history_->GetVideoDecodeStatsDB(
+      base::BindOnce(&VideoDecodePerfHistoryTest::MockGetVideoDecodeStatsDBCB,
+                     base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+
+  // Complete successful deferred DB initialization (see comment at top of test)
+  if (defer_initialize) {
+    GetFakeDB()->CompleteInitialize(true);
+
+    // Allow initialize-deferred API calls to complete.
+    scoped_task_environment_.RunUntilIdle();
+  }
+}
+
+TEST_P(VideoDecodePerfHistoryParamTest,
+       GetVideoDecodeStatsDB_FailedInitialize) {
+  // NOTE: The when the DB initialization is deferred, All EXPECT_CALLs are then
+  // delayed until we db_->CompleteInitialize(). testing::InSequence enforces
+  // that EXPECT_CALLs arrive in top-to-bottom order.
+  bool defer_initialize = GetParam();
+  testing::InSequence dummy;
+
+  // Complete initialization in advance of API calls when not asked to defer.
+  if (!defer_initialize)
+    PreInitializeDB(/* success */ false);
+
+  // Request a pointer to VideoDecodeStatsDB and verify the callback provides
+  // a nullptr due to failed initialization.
+  EXPECT_CALL(*this, MockGetVideoDecodeStatsDBCB(IsNull()));
+  perf_history_->GetVideoDecodeStatsDB(
+      base::BindOnce(&VideoDecodePerfHistoryTest::MockGetVideoDecodeStatsDBCB,
+                     base::Unretained(this)));
+
+  scoped_task_environment_.RunUntilIdle();
+
+  // Complete failed deferred DB initialization (see comment at top of test)
+  if (defer_initialize) {
+    GetFakeDB()->CompleteInitialize(false);
+
+    // Allow initialize-deferred API calls to complete.
+    scoped_task_environment_.RunUntilIdle();
+  }
+}
+
 INSTANTIATE_TEST_CASE_P(VaryDBInitTiming,
                         VideoDecodePerfHistoryParamTest,
                         ::testing::Values(true, false));
@@ -540,9 +601,7 @@
   GetFakeDB()->CompleteInitialize(/* success */ true);
 
   // Allow initialize-deferred API calls to complete.
-  base::RunLoop run_loop;
-  base::PostTask(FROM_HERE, base::BindOnce(run_loop.QuitWhenIdleClosure()));
-  run_loop.Run();
+  scoped_task_environment_.RunUntilIdle();
 }
 
 }  // namespace media
diff --git a/pdf/BUILD.gn b/pdf/BUILD.gn
index e888dcb1..5841d56 100644
--- a/pdf/BUILD.gn
+++ b/pdf/BUILD.gn
@@ -78,6 +78,8 @@
         "pdfium/pdfium_api_string_buffer_adapter.cc",
         "pdfium/pdfium_api_string_buffer_adapter.h",
         "pdfium/pdfium_assert_matching_enums.cc",
+        "pdfium/pdfium_document.cc",
+        "pdfium/pdfium_document.h",
         "pdfium/pdfium_engine.cc",
         "pdfium/pdfium_engine.h",
         "pdfium/pdfium_engine_exports.cc",
diff --git a/pdf/pdfium/pdfium_document.cc b/pdf/pdfium/pdfium_document.cc
new file mode 100644
index 0000000..da34ffb
--- /dev/null
+++ b/pdf/pdfium/pdfium_document.cc
@@ -0,0 +1,79 @@
+// 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 "pdf/pdfium/pdfium_document.h"
+
+#include "pdf/pdfium/pdfium_engine.h"
+
+namespace chrome_pdf {
+
+PDFiumDocument::PDFiumDocument(DocumentLoader* doc_loader)
+    : doc_loader_(doc_loader) {
+  file_access_.m_FileLen = 0;
+  file_access_.m_GetBlock = &GetBlock;
+  file_access_.m_Param = doc_loader_;
+
+  file_availability_.version = 1;
+  file_availability_.IsDataAvail = &IsDataAvail;
+  file_availability_.doc_loader = doc_loader_;
+
+  download_hints_.version = 1;
+  download_hints_.AddSegment = &AddSegment;
+  download_hints_.doc_loader = doc_loader_;
+}
+
+PDFiumDocument::~PDFiumDocument() = default;
+
+void PDFiumDocument::CreateFPDFAvailability() {
+  fpdf_availability_.reset(
+      FPDFAvail_Create(&file_availability_, &file_access_));
+}
+
+void PDFiumDocument::ResetFPDFAvailability() {
+  fpdf_availability_.reset();
+}
+
+void PDFiumDocument::LoadDocument(const char* password) {
+  if (doc_loader_->IsDocumentComplete() &&
+      !FPDFAvail_IsLinearized(fpdf_availability())) {
+    doc_.reset(FPDF_LoadCustomDocument(&file_access_, password));
+  } else {
+    doc_.reset(FPDFAvail_GetDocument(fpdf_availability(), password));
+  }
+}
+
+void PDFiumDocument::SetFormStatus() {
+  form_status_ = FPDFAvail_IsFormAvail(fpdf_availability(), &download_hints_);
+}
+
+void PDFiumDocument::InitializeForm(FPDF_FORMFILLINFO* form_info) {
+  form_.reset(FPDFDOC_InitFormFillEnvironment(doc(), form_info));
+}
+
+// static
+int PDFiumDocument::GetBlock(void* param,
+                             unsigned long position,
+                             unsigned char* buffer,
+                             unsigned long size) {
+  auto* doc_loader = static_cast<DocumentLoader*>(param);
+  return doc_loader->GetBlock(position, size, buffer);
+}
+
+// static
+FPDF_BOOL PDFiumDocument::IsDataAvail(FX_FILEAVAIL* param,
+                                      size_t offset,
+                                      size_t size) {
+  auto* file_avail = static_cast<FileAvail*>(param);
+  return file_avail->doc_loader->IsDataAvailable(offset, size);
+}
+
+// static
+void PDFiumDocument::AddSegment(FX_DOWNLOADHINTS* param,
+                                size_t offset,
+                                size_t size) {
+  auto* download_hints = static_cast<DownloadHints*>(param);
+  return download_hints->doc_loader->RequestData(offset, size);
+}
+
+}  // namespace chrome_pdf
diff --git a/pdf/pdfium/pdfium_document.h b/pdf/pdfium/pdfium_document.h
new file mode 100644
index 0000000..dfb70f8
--- /dev/null
+++ b/pdf/pdfium/pdfium_document.h
@@ -0,0 +1,91 @@
+// 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 PDF_PDFIUM_PDFIUM_DOCUMENT_H_
+#define PDF_PDFIUM_PDFIUM_DOCUMENT_H_
+
+#include "base/macros.h"
+#include "third_party/pdfium/public/cpp/fpdf_scopers.h"
+#include "third_party/pdfium/public/fpdf_dataavail.h"
+#include "third_party/pdfium/public/fpdfview.h"
+
+namespace chrome_pdf {
+
+class DocumentLoader;
+
+class PDFiumDocument {
+ public:
+  explicit PDFiumDocument(DocumentLoader* doc_loader);
+  ~PDFiumDocument();
+
+  FPDF_FILEACCESS& file_access() { return file_access_; }
+  FX_FILEAVAIL& file_availability() { return file_availability_; }
+  FX_DOWNLOADHINTS& download_hints() { return download_hints_; }
+
+  FPDF_AVAIL fpdf_availability() const { return fpdf_availability_.get(); }
+  FPDF_DOCUMENT doc() const { return doc_.get(); }
+  FPDF_FORMHANDLE form() const { return form_.get(); }
+
+  int form_status() const { return form_status_; }
+
+  void CreateFPDFAvailability();
+  void ResetFPDFAvailability();
+
+  void LoadDocument(const char* password);
+
+  void SetFormStatus();
+  void InitializeForm(FPDF_FORMFILLINFO* form_info);
+
+ private:
+  struct FileAvail : public FX_FILEAVAIL {
+    DocumentLoader* doc_loader;
+  };
+
+  struct DownloadHints : public FX_DOWNLOADHINTS {
+    DocumentLoader* doc_loader;
+  };
+
+  // PDFium interface to get block of data.
+  static int GetBlock(void* param,
+                      unsigned long position,
+                      unsigned char* buffer,
+                      unsigned long size);
+
+  // PDFium interface to check is block of data is available.
+  static FPDF_BOOL IsDataAvail(FX_FILEAVAIL* param, size_t offset, size_t size);
+
+  // PDFium interface to request download of the block of data.
+  static void AddSegment(FX_DOWNLOADHINTS* param, size_t offset, size_t size);
+
+  DocumentLoader* const doc_loader_;
+
+  // Interface structure to provide access to document stream.
+  FPDF_FILEACCESS file_access_;
+
+  // Interface structure to check data availability in the document stream.
+  FileAvail file_availability_;
+
+  // Interface structure to request data chunks from the document stream.
+  DownloadHints download_hints_;
+
+  // Pointer to the document availability interface.
+  ScopedFPDFAvail fpdf_availability_;
+
+  // The PDFium wrapper object for the document. Must come after
+  // |fpdf_availability_| to prevent outliving it.
+  ScopedFPDFDocument doc_;
+
+  // The PDFium wrapper for form data.  Used even if there are no form controls
+  // on the page. Must come after |doc_| to prevent outliving it.
+  ScopedFPDFFormHandle form_;
+
+  // Current form availability status.
+  int form_status_ = PDF_FORM_NOTAVAIL;
+
+  DISALLOW_COPY_AND_ASSIGN(PDFiumDocument);
+};
+
+}  // namespace chrome_pdf
+
+#endif  // PDF_PDFIUM_PDFIUM_DOCUMENT_H_
diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
index 42f079c..d67cb1a 100644
--- a/pdf/pdfium/pdfium_engine.cc
+++ b/pdf/pdfium/pdfium_engine.cc
@@ -31,6 +31,7 @@
 #include "pdf/draw_utils.h"
 #include "pdf/pdf_transform.h"
 #include "pdf/pdfium/pdfium_api_string_buffer_adapter.h"
+#include "pdf/pdfium/pdfium_document.h"
 #include "pdf/pdfium/pdfium_mem_buffer_file_read.h"
 #include "pdf/pdfium/pdfium_mem_buffer_file_write.h"
 #include "pdf/pdfium/pdfium_unsupported_features.h"
@@ -685,18 +686,6 @@
   find_factory_.Initialize(this);
   password_factory_.Initialize(this);
 
-  file_access_.m_FileLen = 0;
-  file_access_.m_GetBlock = &GetBlock;
-  file_access_.m_Param = this;
-
-  file_availability_.version = 1;
-  file_availability_.IsDataAvail = &IsDataAvail;
-  file_availability_.engine = this;
-
-  download_hints_.version = 1;
-  download_hints_.AddSegment = &AddSegment;
-  download_hints_.engine = this;
-
   IFSDK_PAUSE::version = 1;
   IFSDK_PAUSE::user = nullptr;
   IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow;
@@ -713,7 +702,7 @@
   for (auto& page : pages_)
     page->Unload();
 
-  if (doc_)
+  if (doc())
     FORM_DoDocumentAAction(form(), FPDFDOC_AACTION_WC);
 }
 
@@ -723,28 +712,6 @@
   g_create_document_loader_for_testing = function;
 }
 
-int PDFiumEngine::GetBlock(void* param,
-                           unsigned long position,
-                           unsigned char* buffer,
-                           unsigned long size) {
-  PDFiumEngine* engine = static_cast<PDFiumEngine*>(param);
-  return engine->doc_loader_->GetBlock(position, size, buffer);
-}
-
-FPDF_BOOL PDFiumEngine::IsDataAvail(FX_FILEAVAIL* param,
-                                    size_t offset,
-                                    size_t size) {
-  auto* file_avail = static_cast<FileAvail*>(param);
-  return file_avail->engine->doc_loader_->IsDataAvailable(offset, size);
-}
-
-void PDFiumEngine::AddSegment(FX_DOWNLOADHINTS* param,
-                              size_t offset,
-                              size_t size) {
-  auto* download_hints = static_cast<DownloadHints*>(param);
-  return download_hints->engine->doc_loader_->RequestData(offset, size);
-}
-
 bool PDFiumEngine::New(const char* url, const char* headers) {
   url_ = url;
   if (headers)
@@ -889,6 +856,7 @@
     if (!doc_loader_->Init(std::move(loader_wrapper), url_))
       return false;
   }
+  document_ = std::make_unique<PDFiumDocument>(doc_loader_.get());
 
   // request initial data.
   doc_loader_->RequestData(0, 1);
@@ -925,11 +893,11 @@
 void PDFiumEngine::OnPendingRequestComplete() {
   if (!process_when_pending_request_complete_)
     return;
-  if (!fpdf_availability_) {
-    file_access_.m_FileLen = doc_loader_->GetDocumentSize();
-    fpdf_availability_.reset(
-        FPDFAvail_Create(&file_availability_, &file_access_));
-    DCHECK(fpdf_availability_);
+
+  if (!fpdf_availability()) {
+    document_->file_access().m_FileLen = doc_loader_->GetDocumentSize();
+    document_->CreateFPDFAvailability();
+    DCHECK(fpdf_availability());
     // Currently engine does not deal efficiently with some non-linearized
     // files.
     // See http://code.google.com/p/chromium/issues/detail?id=59400
@@ -938,12 +906,12 @@
     if (FPDFAvail_IsLinearized(fpdf_availability()) != PDF_LINEARIZED) {
       // Wait complete document.
       process_when_pending_request_complete_ = false;
-      fpdf_availability_.reset();
+      document_->ResetFPDFAvailability();
       return;
     }
   }
 
-  if (!doc_) {
+  if (!doc()) {
     LoadDocument();
     return;
   }
@@ -978,14 +946,13 @@
 }
 
 void PDFiumEngine::OnDocumentComplete() {
-  if (doc_)
+  if (doc())
     return FinishLoadingDocument();
 
-  file_access_.m_FileLen = doc_loader_->GetDocumentSize();
-  if (!fpdf_availability_) {
-    fpdf_availability_.reset(
-        FPDFAvail_Create(&file_availability_, &file_access_));
-    DCHECK(fpdf_availability_);
+  document_->file_access().m_FileLen = doc_loader_->GetDocumentSize();
+  if (!fpdf_availability()) {
+    document_->CreateFPDFAvailability();
+    DCHECK(fpdf_availability());
   }
   LoadDocument();
 }
@@ -1002,11 +969,12 @@
 }
 
 void PDFiumEngine::FinishLoadingDocument() {
-  DCHECK(doc_);
+  DCHECK(doc());
   DCHECK(doc_loader_->IsDocumentComplete());
 
   LoadBody();
 
+  FX_DOWNLOADHINTS& download_hints = document_->download_hints();
   bool need_update = false;
   for (size_t i = 0; i < pages_.size(); ++i) {
     if (pages_[i]->available())
@@ -1015,7 +983,7 @@
     pages_[i]->set_available(true);
     // We still need to call IsPageAvail() even if the whole document is
     // already downloaded.
-    FPDFAvail_IsPageAvail(fpdf_availability(), i, &download_hints_);
+    FPDFAvail_IsPageAvail(fpdf_availability(), i, &download_hints);
     need_update = true;
     if (IsPageVisible(i))
       client_->Invalidate(GetPageScreenRect(i));
@@ -1035,7 +1003,7 @@
     FORM_DoPageAAction(new_page, form(), FPDFPAGE_AACTION_OPEN);
   }
 
-  if (doc_) {
+  if (doc()) {
     DocumentFeatures document_features;
     document_features.page_count = pages_.size();
     document_features.has_attachments = (FPDFDoc_GetAttachmentCount(doc()) > 0);
@@ -1057,6 +1025,18 @@
   client_->FontSubstituted();
 }
 
+FPDF_AVAIL PDFiumEngine::fpdf_availability() const {
+  return document_ ? document_->fpdf_availability() : nullptr;
+}
+
+FPDF_DOCUMENT PDFiumEngine::doc() const {
+  return document_ ? document_->doc() : nullptr;
+}
+
+FPDF_FORMHANDLE PDFiumEngine::form() const {
+  return document_ ? document_->form() : nullptr;
+}
+
 void PDFiumEngine::ContinueFind(int32_t result) {
   StartFind(current_find_text_, result != 0);
 }
@@ -1162,7 +1142,7 @@
   DCHECK(page_range_count);
 
   // If document is not downloaded yet, disable printing.
-  if (doc_ && !doc_loader_->IsDocumentComplete())
+  if (doc() && !doc_loader_->IsDocumentComplete())
     return pp::Buffer_Dev();
 
   KillFormFocus();
@@ -1181,7 +1161,7 @@
     const PP_PrintSettings_Dev& print_settings,
     const PP_PdfPrintSettings_Dev& pdf_print_settings) {
   DCHECK(page_range_count);
-  DCHECK(doc_);
+  DCHECK(doc());
 
   KillFormFocus();
 
@@ -2459,7 +2439,7 @@
 void PDFiumEngine::AppendBlankPages(int num_pages) {
   DCHECK_NE(num_pages, 0);
 
-  if (!doc_)
+  if (!doc())
     return;
 
   selection_.clear();
@@ -2515,9 +2495,10 @@
 void PDFiumEngine::LoadDocument() {
   // Check if the document is ready for loading. If it isn't just bail for now,
   // we will call LoadDocument() again later.
-  if (!doc_ && !doc_loader_->IsDocumentComplete() &&
-      !FPDFAvail_IsDocAvail(fpdf_availability(), &download_hints_)) {
-    return;
+  if (!doc() && !doc_loader_->IsDocumentComplete()) {
+    FX_DOWNLOADHINTS& download_hints = document_->download_hints();
+    if (!FPDFAvail_IsDocAvail(fpdf_availability(), &download_hints))
+      return;
   }
 
   // If we're in the middle of getting a password, just return. We will retry
@@ -2541,11 +2522,12 @@
 bool PDFiumEngine::TryLoadingDoc(const std::string& password,
                                  bool* needs_password) {
   *needs_password = false;
-  if (doc_) {
+  if (doc()) {
     // This is probably not necessary, because it should have already been
     // called below in the |doc_| initialization path. However, the previous
     // call may have failed, so call it again for good measure.
-    FPDFAvail_IsDocAvail(fpdf_availability(), &download_hints_);
+    FX_DOWNLOADHINTS& download_hints = document_->download_hints();
+    FPDFAvail_IsDocAvail(fpdf_availability(), &download_hints);
     return true;
   }
 
@@ -2554,13 +2536,8 @@
     password_cstr = password.c_str();
     password_tries_remaining_--;
   }
-  if (doc_loader_->IsDocumentComplete() &&
-      !FPDFAvail_IsLinearized(fpdf_availability())) {
-    doc_.reset(FPDF_LoadCustomDocument(&file_access_, password_cstr));
-  } else {
-    doc_.reset(FPDFAvail_GetDocument(fpdf_availability(), password_cstr));
-  }
-  if (!doc_) {
+  document_->LoadDocument(password_cstr);
+  if (!doc()) {
     if (FPDF_GetLastError() == FPDF_ERR_PASSWORD)
       *needs_password = true;
     return false;
@@ -2568,13 +2545,14 @@
 
   // Always call FPDFAvail_IsDocAvail() so PDFium initializes internal data
   // structures.
-  FPDFAvail_IsDocAvail(fpdf_availability(), &download_hints_);
+  FX_DOWNLOADHINTS& download_hints = document_->download_hints();
+  FPDFAvail_IsDocAvail(fpdf_availability(), &download_hints);
   return true;
 }
 
 void PDFiumEngine::GetPasswordAndLoad() {
   getting_password_ = true;
-  DCHECK(!doc_);
+  DCHECK(!doc());
   DCHECK_EQ(static_cast<unsigned long>(FPDF_ERR_PASSWORD), FPDF_GetLastError());
   client_->GetDocumentPassword(password_factory_.NewCallbackWithOutput(
       &PDFiumEngine::OnGetPasswordComplete));
@@ -2602,7 +2580,7 @@
     return;
   }
 
-  if (!doc_) {
+  if (!doc()) {
     client_->DocumentLoadFailed();
     return;
   }
@@ -2646,8 +2624,9 @@
     if (reload) {
       page_available = pages_[i]->available();
     } else if (is_linear) {
+      FX_DOWNLOADHINTS& download_hints = document_->download_hints();
       int linear_page_avail =
-          FPDFAvail_IsPageAvail(fpdf_availability(), i, &download_hints_);
+          FPDFAvail_IsPageAvail(fpdf_availability(), i, &download_hints);
       page_available = linear_page_avail == PDF_DATA_AVAIL;
     } else {
       page_available = doc_complete;
@@ -2687,8 +2666,8 @@
 }
 
 void PDFiumEngine::LoadBody() {
-  DCHECK(doc_);
-  DCHECK(fpdf_availability_);
+  DCHECK(doc());
+  DCHECK(fpdf_availability());
   if (doc_loader_->IsDocumentComplete()) {
     LoadForm();
   } else if (FPDFAvail_IsLinearized(fpdf_availability()) == PDF_LINEARIZED &&
@@ -2697,7 +2676,7 @@
     // XFA document. And after loading form the page count and its contents may
     // be changed.
     LoadForm();
-    if (form_status_ == PDF_FORM_NOTAVAIL)
+    if (document_->form_status() == PDF_FORM_NOTAVAIL)
       return;
   }
   LoadPages();
@@ -2716,12 +2695,14 @@
 }
 
 void PDFiumEngine::LoadForm() {
-  if (form_)
+  if (form())
     return;
-  DCHECK(doc_);
-  form_status_ = FPDFAvail_IsFormAvail(fpdf_availability(), &download_hints_);
-  if (form_status_ != PDF_FORM_NOTAVAIL || doc_loader_->IsDocumentComplete()) {
-    form_.reset(FPDFDOC_InitFormFillEnvironment(doc(), &form_filler_));
+
+  DCHECK(doc());
+  document_->SetFormStatus();
+  if (document_->form_status() != PDF_FORM_NOTAVAIL ||
+      doc_loader_->IsDocumentComplete()) {
+    document_->InitializeForm(&form_filler_);
 #if defined(PDF_ENABLE_XFA)
     FPDF_LoadXFA(doc());
 #endif
@@ -2730,7 +2711,7 @@
                                     kFormHighlightColor);
     FPDF_SetFormFieldHighlightAlpha(form(), kFormHighlightAlpha);
   }
-}  // namespace chrome_pdf
+}
 
 void PDFiumEngine::CalculateVisiblePages() {
   if (!doc_loader_)
@@ -2806,14 +2787,15 @@
 }
 
 bool PDFiumEngine::CheckPageAvailable(int index, std::vector<int>* pending) {
-  if (!doc_)
+  if (!doc())
     return false;
 
   const int num_pages = static_cast<int>(pages_.size());
   if (index < num_pages && pages_[index]->available())
     return true;
 
-  if (!FPDFAvail_IsPageAvail(fpdf_availability(), index, &download_hints_)) {
+  FX_DOWNLOADHINTS& download_hints = document_->download_hints();
+  if (!FPDFAvail_IsPageAvail(fpdf_availability(), index, &download_hints)) {
     if (!base::ContainsValue(*pending, index))
       pending->push_back(index);
     return false;
@@ -3330,7 +3312,7 @@
 void PDFiumEngine::SetCurrentPage(int index) {
   in_flight_visible_page_.reset();
 
-  if (index == most_visible_page_ || !form_)
+  if (index == most_visible_page_ || !form())
     return;
 
   if (most_visible_page_ != -1 && called_do_document_action_) {
diff --git a/pdf/pdfium/pdfium_engine.h b/pdf/pdfium/pdfium_engine.h
index 3f18bc94..5e0c878b 100644
--- a/pdf/pdfium/pdfium_engine.h
+++ b/pdf/pdfium/pdfium_engine.h
@@ -31,13 +31,13 @@
 #include "ppapi/cpp/var_array.h"
 #include "ppapi/utility/completion_callback_factory.h"
 #include "third_party/pdfium/public/cpp/fpdf_scopers.h"
-#include "third_party/pdfium/public/fpdf_dataavail.h"
 #include "third_party/pdfium/public/fpdf_formfill.h"
 #include "third_party/pdfium/public/fpdf_progressive.h"
 #include "third_party/pdfium/public/fpdfview.h"
 
 namespace chrome_pdf {
 
+class PDFiumDocument;
 class ShadowMatrix;
 
 class PDFiumEngine : public PDFEngine,
@@ -141,9 +141,9 @@
   void UnsupportedFeature(const std::string& feature);
   void FontSubstituted();
 
-  FPDF_AVAIL fpdf_availability() const { return fpdf_availability_.get(); }
-  FPDF_DOCUMENT doc() const { return doc_.get(); }
-  FPDF_FORMHANDLE form() const { return form_.get(); }
+  FPDF_AVAIL fpdf_availability() const;
+  FPDF_DOCUMENT doc() const;
+  FPDF_FORMHANDLE form() const;
 
  private:
   // This helper class is used to detect the difference in selection between
@@ -194,26 +194,6 @@
   friend class PDFiumFormFiller;
   friend class SelectionChangeInvalidator;
 
-  struct FileAvail : public FX_FILEAVAIL {
-    PDFiumEngine* engine;
-  };
-
-  struct DownloadHints : public FX_DOWNLOADHINTS {
-    PDFiumEngine* engine;
-  };
-
-  // PDFium interface to get block of data.
-  static int GetBlock(void* param,
-                      unsigned long position,
-                      unsigned char* buffer,
-                      unsigned long size);
-
-  // PDFium interface to check is block of data is available.
-  static FPDF_BOOL IsDataAvail(FX_FILEAVAIL* param, size_t offset, size_t size);
-
-  // PDFium interface to request download of the block of data.
-  static void AddSegment(FX_DOWNLOADHINTS* param, size_t offset, size_t size);
-
   // We finished getting the pdf file, so load it. This will complete
   // asynchronously (due to password fetching) and may be run multiple times.
   void LoadDocument();
@@ -515,28 +495,7 @@
   // form filler.
   PDFiumFormFiller form_filler_;
 
-  // Interface structure to provide access to document stream.
-  FPDF_FILEACCESS file_access_;
-
-  // Interface structure to check data availability in the document stream.
-  FileAvail file_availability_;
-
-  // Interface structure to request data chunks from the document stream.
-  DownloadHints download_hints_;
-
-  // Pointer to the document availability interface.
-  ScopedFPDFAvail fpdf_availability_;
-
-  // The PDFium wrapper object for the document. Must come after
-  // |fpdf_availability_| to prevent outliving it.
-  ScopedFPDFDocument doc_;
-
-  // The PDFium wrapper for form data.  Used even if there are no form controls
-  // on the page. Must come after |doc_| to prevent outliving it.
-  ScopedFPDFFormHandle form_;
-
-  // Current form availability status.
-  int form_status_ = PDF_FORM_NOTAVAIL;
+  std::unique_ptr<PDFiumDocument> document_;
 
   // The page(s) of the document.
   std::vector<std::unique_ptr<PDFiumPage>> pages_;
diff --git a/services/device/device_service.cc b/services/device/device_service.cc
index 12be693..44cacfed 100644
--- a/services/device/device_service.cc
+++ b/services/device/device_service.cc
@@ -108,19 +108,10 @@
       io_task_runner_(std::move(io_task_runner)),
       geolocation_request_context_producer_(
           geolocation_request_context_producer),
-      geolocation_api_key_(geolocation_api_key) {
-  base::MessageLoopCurrent::Get()->AddDestructionObserver(this);
-}
+      geolocation_api_key_(geolocation_api_key) {}
 #endif
 
 DeviceService::~DeviceService() {
-  if (base::MessageLoopCurrent::Get()) {
-    base::MessageLoopCurrent::Get()->RemoveDestructionObserver(this);
-    ShutDown();
-  }
-}
-
-void DeviceService::ShutDown() {
 #if !defined(OS_ANDROID)
   device::BatteryStatusService::GetInstance()->Shutdown();
 #endif
@@ -131,17 +122,6 @@
   }
 }
 
-// On embedder shutdown, the Device Service needs to shut down certain parts of
-// its state to avoid DCHECKs going off (see. https://crbug.com/794105 for
-// details). However, when used in the context of the browser the Device Service
-// is not guaranteed to have its destructor run, as the sequence on which it
-// runs is stopped before the task posted to run the Device Service destructor
-// is run. Hence, observe destruction of that sequence in order to clean up the
-// necessary state.
-void DeviceService::WillDestroyCurrentMessageLoop() {
-  ShutDown();
-}
-
 void DeviceService::OnStart() {
   registry_.AddInterface<mojom::Fingerprint>(base::Bind(
       &DeviceService::BindFingerprintRequest, base::Unretained(this)));
diff --git a/services/device/device_service.h b/services/device/device_service.h
index 5395d649..12146f3 100644
--- a/services/device/device_service.h
+++ b/services/device/device_service.h
@@ -9,7 +9,6 @@
 #include <string>
 
 #include "base/memory/ref_counted.h"
-#include "base/message_loop/message_loop_current.h"
 #include "build/build_config.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
 #include "services/device/geolocation/geolocation_provider.h"
@@ -86,8 +85,7 @@
     const CustomLocationProviderCallback& custom_location_provider_callback);
 #endif
 
-class DeviceService : public service_manager::Service,
-                      public base::MessageLoopCurrent::DestructionObserver {
+class DeviceService : public service_manager::Service {
  public:
 #if defined(OS_ANDROID)
   DeviceService(scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
@@ -104,17 +102,9 @@
                     geolocation_request_context_producer,
                 const std::string& geolocation_api_key);
 #endif
-  // Not guaranteed to run on embedder shutdown; see Shutdown().
   ~DeviceService() override;
 
  private:
-  // base::MessageLoopCurrent::DestructionObserver:
-  void WillDestroyCurrentMessageLoop() override;
-
-  // Any state that *must* be cleaned up when the embedder shuts down should be
-  // placed in this method.
-  void ShutDown();
-
   // service_manager::Service:
   void OnStart() override;
   void OnBindInterface(const service_manager::BindSourceInfo& source_info,
diff --git a/services/network/network_quality_estimator_manager.cc b/services/network/network_quality_estimator_manager.cc
index 38c473a..a107763 100644
--- a/services/network/network_quality_estimator_manager.cc
+++ b/services/network/network_quality_estimator_manager.cc
@@ -24,6 +24,28 @@
 // determined by the operating system.
 const char kNetworkQualityEstimatorFieldTrialName[] = "NetworkQualityEstimator";
 
+// Returns true if |past_value| is significantly different from |current_value|.
+bool MetricChangedMeaningfully(int32_t past_value, int32_t current_value) {
+  // Metric changed meaningfully only if (i) the difference between the two
+  // values exceed the threshold; and, (ii) the ratio of the values also exceeds
+  // the threshold.
+  static const int kMinDifferenceInMetrics = 100;
+  static const float kMinRatio = 1.2f;
+
+  if (std::abs(past_value - current_value) < kMinDifferenceInMetrics) {
+    // The absolute change in the value is not sufficient enough.
+    return false;
+  }
+
+  if (past_value < (kMinRatio * current_value) &&
+      current_value < (kMinRatio * past_value)) {
+    // The relative change in the value is not sufficient enough.
+    return false;
+  }
+
+  return true;
+}
+
 }  // namespace
 
 namespace network {
@@ -61,13 +83,20 @@
 #endif
 
   network_quality_estimator_->AddEffectiveConnectionTypeObserver(this);
+  network_quality_estimator_->AddRTTAndThroughputEstimatesObserver(this);
   effective_connection_type_ =
       network_quality_estimator_->GetEffectiveConnectionType();
+  http_rtt_ =
+      network_quality_estimator_->GetHttpRTT().value_or(base::TimeDelta());
+  downstream_throughput_kbps_ =
+      network_quality_estimator_->GetDownstreamThroughputKbps().value_or(
+          INT32_MAX);
 }
 
 NetworkQualityEstimatorManager::~NetworkQualityEstimatorManager() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   network_quality_estimator_->RemoveEffectiveConnectionTypeObserver(this);
+  network_quality_estimator_->RemoveRTTAndThroughputEstimatesObserver(this);
 }
 
 void NetworkQualityEstimatorManager::AddRequest(
@@ -79,18 +108,51 @@
 void NetworkQualityEstimatorManager::RequestNotifications(
     mojom::NetworkQualityEstimatorManagerClientPtr client_ptr) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  client_ptr->OnNetworkQualityChanged(effective_connection_type_);
+  client_ptr->OnNetworkQualityChanged(effective_connection_type_, http_rtt_,
+                                      downstream_throughput_kbps_);
   clients_.AddPtr(std::move(client_ptr));
 }
 
 void NetworkQualityEstimatorManager::OnEffectiveConnectionTypeChanged(
     net::EffectiveConnectionType effective_connection_type) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  base::TimeDelta http_rtt = http_rtt_;
+  int32_t downstream_throughput_kbps = downstream_throughput_kbps_;
+
   effective_connection_type_ = effective_connection_type;
-  clients_.ForAllPtrs([effective_connection_type](
-                          mojom::NetworkQualityEstimatorManagerClient* client) {
-    client->OnNetworkQualityChanged(effective_connection_type);
-  });
+  clients_.ForAllPtrs(
+      [effective_connection_type, http_rtt, downstream_throughput_kbps](
+          mojom::NetworkQualityEstimatorManagerClient* client) {
+        client->OnNetworkQualityChanged(effective_connection_type, http_rtt,
+                                        downstream_throughput_kbps);
+      });
+}
+
+void NetworkQualityEstimatorManager::OnRTTOrThroughputEstimatesComputed(
+    base::TimeDelta http_rtt,
+    base::TimeDelta transport_rtt,
+    int32_t downstream_throughput_kbps) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  bool rtt_changed_meaningfully = MetricChangedMeaningfully(
+      http_rtt.InMilliseconds(), http_rtt_.InMilliseconds());
+  bool downlink_changed_meaningfully = MetricChangedMeaningfully(
+      downstream_throughput_kbps, downstream_throughput_kbps_);
+
+  if (!rtt_changed_meaningfully && !downlink_changed_meaningfully)
+    return;
+
+  net::EffectiveConnectionType effective_connection_type =
+      effective_connection_type_;
+  http_rtt_ = http_rtt;
+  downstream_throughput_kbps_ = downstream_throughput_kbps;
+
+  clients_.ForAllPtrs(
+      [effective_connection_type, http_rtt, downstream_throughput_kbps](
+          mojom::NetworkQualityEstimatorManagerClient* client) {
+        client->OnNetworkQualityChanged(effective_connection_type, http_rtt,
+                                        downstream_throughput_kbps);
+      });
 }
 
 net::NetworkQualityEstimator*
diff --git a/services/network/network_quality_estimator_manager.h b/services/network/network_quality_estimator_manager.h
index 4b96687b..6857848 100644
--- a/services/network/network_quality_estimator_manager.h
+++ b/services/network/network_quality_estimator_manager.h
@@ -10,10 +10,12 @@
 #include "base/component_export.h"
 #include "base/macros.h"
 #include "base/sequence_checker.h"
+#include "base/time/time.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
 #include "mojo/public/cpp/bindings/interface_ptr_set.h"
 #include "net/nqe/effective_connection_type.h"
 #include "net/nqe/effective_connection_type_observer.h"
+#include "net/nqe/rtt_throughput_estimates_observer.h"
 #include "services/network/public/mojom/network_quality_estimator_manager.mojom.h"
 
 namespace net {
@@ -25,12 +27,14 @@
 
 // Implementation of mojom::NetworkQualityEstimatorManager. All accesses to this
 // class are done through mojo on the main thread. This registers itself to
-// receive broadcasts from net::EffectiveConnectionTypeObserver and rebroadcasts
-// the notifications to mojom::NetworkQualityEstimatorManagerClients through
-// mojo pipes.
+// receive broadcasts from net::EffectiveConnectionTypeObserver and
+// net::RTTAndThroughputEstimatesObserver. NetworkQualityEstimatorManager then
+// rebroadcasts the notifications to
+// mojom::NetworkQualityEstimatorManagerClients through mojo pipes.
 class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkQualityEstimatorManager
     : public mojom::NetworkQualityEstimatorManager,
-      public net::EffectiveConnectionTypeObserver {
+      public net::EffectiveConnectionTypeObserver,
+      public net::RTTAndThroughputEstimatesObserver {
  public:
   explicit NetworkQualityEstimatorManager(net::NetLog* net_log);
 
@@ -50,11 +54,18 @@
   // net::EffectiveConnectionTypeObserver implementation:
   void OnEffectiveConnectionTypeChanged(
       net::EffectiveConnectionType type) override;
+  // net::RTTAndThroughputEstimatesObserver implementation:
+  void OnRTTOrThroughputEstimatesComputed(
+      base::TimeDelta http_rtt,
+      base::TimeDelta transport_rtt,
+      int32_t downstream_throughput_kbps) override;
 
   std::unique_ptr<net::NetworkQualityEstimator> network_quality_estimator_;
   mojo::BindingSet<mojom::NetworkQualityEstimatorManager> bindings_;
   mojo::InterfacePtrSet<mojom::NetworkQualityEstimatorManagerClient> clients_;
   net::EffectiveConnectionType effective_connection_type_;
+  base::TimeDelta http_rtt_;
+  int32_t downstream_throughput_kbps_;
 
   SEQUENCE_CHECKER(sequence_checker_);
 
diff --git a/services/network/network_quality_estimator_manager_unittest.cc b/services/network/network_quality_estimator_manager_unittest.cc
index a5e6af3..572cf556 100644
--- a/services/network/network_quality_estimator_manager_unittest.cc
+++ b/services/network/network_quality_estimator_manager_unittest.cc
@@ -10,6 +10,7 @@
 #include "base/macros.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_task_environment.h"
+#include "base/time/time.h"
 #include "net/log/test_net_log.h"
 #include "net/nqe/effective_connection_type.h"
 #include "net/nqe/network_quality_estimator.h"
@@ -29,6 +30,8 @@
         num_network_quality_changed_(0),
         run_loop_(std::make_unique<base::RunLoop>()),
         effective_connection_type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN),
+        http_rtt_(base::TimeDelta()),
+        downlink_bandwidth_kbps_(INT32_MAX),
         binding_(this) {
     mojom::NetworkQualityEstimatorManagerPtr manager_ptr;
     mojom::NetworkQualityEstimatorManagerRequest request(
@@ -44,17 +47,21 @@
 
   ~TestNetworkQualityEstimatorManagerClient() override {}
 
-  void OnNetworkQualityChanged(net::EffectiveConnectionType type) override {
+  void OnNetworkQualityChanged(net::EffectiveConnectionType type,
+                               base::TimeDelta http_rtt,
+                               int32_t downlink_bandwidth_kbps) override {
     num_network_quality_changed_++;
     effective_connection_type_ = type;
-    EXPECT_EQ(type,
-              network_quality_estimator_manager_->GetNetworkQualityEstimator()
-                  ->GetEffectiveConnectionType());
+    http_rtt_ = http_rtt;
+    downlink_bandwidth_kbps_ = downlink_bandwidth_kbps;
     if (run_loop_wait_effective_connection_type_ == type)
       run_loop_->Quit();
   }
 
-  // Returns the number of OnNetworkQualityChanged() notifications.
+  // Returns the number of OnNetworkQualityChanged() notifications. Note that
+  // the number may change based on the order in which underlying network
+  // quality estimator provides notifications when effective connection
+  // type, RTT and downlink estimates change simultaneously.
   size_t num_network_quality_changed() const {
     return num_network_quality_changed_;
   }
@@ -69,6 +76,8 @@
   net::EffectiveConnectionType effective_connection_type() const {
     return effective_connection_type_;
   }
+  base::TimeDelta http_rtt() const { return http_rtt_; }
+  int32_t downlink_bandwidth_kbps() const { return downlink_bandwidth_kbps_; }
 
  private:
   NetworkQualityEstimatorManager* network_quality_estimator_manager_;
@@ -76,6 +85,8 @@
   std::unique_ptr<base::RunLoop> run_loop_;
   net::EffectiveConnectionType run_loop_wait_effective_connection_type_;
   net::EffectiveConnectionType effective_connection_type_;
+  base::TimeDelta http_rtt_;
+  int32_t downlink_bandwidth_kbps_;
   mojo::Binding<mojom::NetworkQualityEstimatorManagerClient> binding_;
 
   DISALLOW_COPY_AND_ASSIGN(TestNetworkQualityEstimatorManagerClient);
@@ -134,8 +145,16 @@
       net::EFFECTIVE_CONNECTION_TYPE_3G,
       network_quality_estimator_manager_client()->effective_connection_type());
   base::RunLoop().RunUntilIdle();
-  EXPECT_EQ(1u, network_quality_estimator_manager_client()
+  // Verify that not more than 2 notifications were received.
+  EXPECT_GE(2u, network_quality_estimator_manager_client()
                     ->num_network_quality_changed());
+  // Typical RTT and downlink values when effective connection type is 3G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(450),
+            network_quality_estimator_manager_client()->http_rtt());
+  EXPECT_EQ(
+      400,
+      network_quality_estimator_manager_client()->downlink_bandwidth_kbps());
 }
 
 TEST_F(NetworkQualityEstimatorManagerTest, OneClientPipeBroken) {
@@ -156,12 +175,19 @@
   EXPECT_EQ(
       net::EFFECTIVE_CONNECTION_TYPE_4G,
       network_quality_estimator_manager_client2->effective_connection_type());
+  // Typical RTT and downlink values when effective connection type is 4G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(175),
+            network_quality_estimator_manager_client2->http_rtt());
+  EXPECT_EQ(
+      1600,
+      network_quality_estimator_manager_client2->downlink_bandwidth_kbps());
   base::RunLoop().RunUntilIdle();
 
-  EXPECT_EQ(1u, network_quality_estimator_manager_client()
+  EXPECT_GE(2u, network_quality_estimator_manager_client()
                     ->num_network_quality_changed());
-  EXPECT_EQ(
-      1u,
+  EXPECT_GE(
+      2u,
       network_quality_estimator_manager_client2->num_network_quality_changed());
   network_quality_estimator_manager_client2.reset();
 
@@ -176,8 +202,13 @@
   EXPECT_EQ(
       net::EFFECTIVE_CONNECTION_TYPE_2G,
       network_quality_estimator_manager_client()->effective_connection_type());
-  EXPECT_EQ(2u, network_quality_estimator_manager_client()
+  EXPECT_GE(3u, network_quality_estimator_manager_client()
                     ->num_network_quality_changed());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(1800),
+            network_quality_estimator_manager_client()->http_rtt());
+  EXPECT_EQ(
+      75,
+      network_quality_estimator_manager_client()->downlink_bandwidth_kbps());
 }
 
 TEST_F(NetworkQualityEstimatorManagerTest,
@@ -191,6 +222,13 @@
       net::EFFECTIVE_CONNECTION_TYPE_2G,
       network_quality_estimator_manager_client()->effective_connection_type());
   base::RunLoop().RunUntilIdle();
+  // Typical RTT and downlink values when effective connection type is 2G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(1800),
+            network_quality_estimator_manager_client()->http_rtt());
+  EXPECT_EQ(
+      75,
+      network_quality_estimator_manager_client()->downlink_bandwidth_kbps());
 
   // Register a new client after the network quality change and it should
   // receive the up-to-date effective connection type.
@@ -202,6 +240,12 @@
   EXPECT_EQ(
       net::EFFECTIVE_CONNECTION_TYPE_2G,
       network_quality_estimator_manager_client2.effective_connection_type());
+  // Typical RTT and downlink values when when effective connection type is 2G.
+  // Taken from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(1800),
+            network_quality_estimator_manager_client2.http_rtt());
+  EXPECT_EQ(
+      75, network_quality_estimator_manager_client2.downlink_bandwidth_kbps());
 }
 
-}  // namespace network
\ No newline at end of file
+}  // namespace network
diff --git a/services/network/public/cpp/network_quality_tracker.cc b/services/network/public/cpp/network_quality_tracker.cc
index d311b8c..3121d8c 100644
--- a/services/network/public/cpp/network_quality_tracker.cc
+++ b/services/network/public/cpp/network_quality_tracker.cc
@@ -14,6 +14,7 @@
     base::RepeatingCallback<network::mojom::NetworkService*()> callback)
     : get_network_service_callback_(callback),
       effective_connection_type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN),
+      downlink_bandwidth_kbps_(INT32_MAX),
       binding_(this) {
   InitializeMojoChannel();
   DCHECK(binding_.is_bound());
@@ -27,6 +28,16 @@
   return effective_connection_type_;
 }
 
+base::TimeDelta NetworkQualityTracker::GetHttpRTT() const {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  return http_rtt_;
+}
+
+int32_t NetworkQualityTracker::GetDownstreamThroughputKbps() const {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  return downlink_bandwidth_kbps_;
+}
+
 void NetworkQualityTracker::AddEffectiveConnectionTypeObserver(
     EffectiveConnectionTypeObserver* observer) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -42,8 +53,14 @@
 }
 
 void NetworkQualityTracker::OnNetworkQualityChanged(
-    net::EffectiveConnectionType effective_connection_type) {
+    net::EffectiveConnectionType effective_connection_type,
+    base::TimeDelta http_rtt,
+    int32_t bandwidth_kbps) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  http_rtt_ = http_rtt;
+  downlink_bandwidth_kbps_ = bandwidth_kbps;
+
   if (effective_connection_type == effective_connection_type_)
     return;
   effective_connection_type_ = effective_connection_type;
diff --git a/services/network/public/cpp/network_quality_tracker.h b/services/network/public/cpp/network_quality_tracker.h
index 9a9e11be..703fb63 100644
--- a/services/network/public/cpp/network_quality_tracker.h
+++ b/services/network/public/cpp/network_quality_tracker.h
@@ -52,6 +52,15 @@
   // Returns the current estimate of the effective connection type.
   net::EffectiveConnectionType GetEffectiveConnectionType() const;
 
+  // Returns the current HTTP RTT estimate. The RTT at the HTTP layer measures
+  // the time from when the request was sent (this happens after the connection
+  // is established) to the time when the response headers were received.
+  base::TimeDelta GetHttpRTT() const;
+
+  // Returns the current downstream throughput estimate (in kilobits per
+  // second).
+  int32_t GetDownstreamThroughputKbps() const;
+
   // Registers |observer| to receive notifications of network changes. The
   // thread on which this is called is the thread on which |observer| will be
   // called back with notifications. The |observer| is notified of the current
@@ -71,7 +80,9 @@
  protected:
   // NetworkQualityEstimatorManagerClient implementation. Protected for testing.
   void OnNetworkQualityChanged(
-      net::EffectiveConnectionType effective_connection_type) override;
+      net::EffectiveConnectionType effective_connection_type,
+      base::TimeDelta http_rtt,
+      int32_t downlink_bandwidth_kbps) override;
 
  private:
   // Starts listening for network quality change notifications from
@@ -88,6 +99,8 @@
       get_network_service_callback_;
 
   net::EffectiveConnectionType effective_connection_type_;
+  base::TimeDelta http_rtt_;
+  int32_t downlink_bandwidth_kbps_;
 
   base::ObserverList<EffectiveConnectionTypeObserver>
       effective_connection_type_observer_list_;
diff --git a/services/network/public/cpp/network_quality_tracker_unittest.cc b/services/network/public/cpp/network_quality_tracker_unittest.cc
index 95c794d..5369a93 100644
--- a/services/network/public/cpp/network_quality_tracker_unittest.cc
+++ b/services/network/public/cpp/network_quality_tracker_unittest.cc
@@ -135,6 +135,11 @@
   effective_connection_type_observer()->WaitForNotification();
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_3G,
             effective_connection_type_observer()->effective_connection_type());
+  // Typical RTT and downlink values when effective connection type is 3G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(450),
+            network_quality_tracker()->GetHttpRTT());
+  EXPECT_EQ(400, network_quality_tracker()->GetDownstreamThroughputKbps());
   base::RunLoop().RunUntilIdle();
   EXPECT_EQ(1u, effective_connection_type_observer()->num_notifications());
 }
@@ -153,6 +158,11 @@
   effective_connection_type_observer()->WaitForNotification();
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_3G,
             effective_connection_type_observer()->effective_connection_type());
+  // Typical RTT and downlink values when effective connection type is 3G. Taken
+  // from net::NetworkQualityEstimatorParams.
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(450),
+            network_quality_tracker()->GetHttpRTT());
+  EXPECT_EQ(400, network_quality_tracker()->GetDownstreamThroughputKbps());
   base::RunLoop().RunUntilIdle();
 
   network_quality_observer2.reset();
@@ -162,6 +172,9 @@
   effective_connection_type_observer()->WaitForNotification();
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_2G,
             effective_connection_type_observer()->effective_connection_type());
+  EXPECT_EQ(base::TimeDelta::FromMilliseconds(1800),
+            network_quality_tracker()->GetHttpRTT());
+  EXPECT_EQ(75, network_quality_tracker()->GetDownstreamThroughputKbps());
   EXPECT_EQ(2u, effective_connection_type_observer()->num_notifications());
 }
 
diff --git a/services/network/public/mojom/network_quality_estimator_manager.mojom b/services/network/public/mojom/network_quality_estimator_manager.mojom
index 921eeaad..c61d364 100644
--- a/services/network/public/mojom/network_quality_estimator_manager.mojom
+++ b/services/network/public/mojom/network_quality_estimator_manager.mojom
@@ -4,13 +4,27 @@
 
 module network.mojom;
 
+import "mojo/public/mojom/base/time.mojom";
 import "services/network/public/mojom/network_types.mojom";
 
 // A client interface that subscribes to network quality change events from
 // NetworkQualityEstimatorManager.
 interface NetworkQualityEstimatorManagerClient {
-  // Invoked when there is a change in the network quality.
-  OnNetworkQualityChanged(EffectiveConnectionType type);
+  // Invoked when there is a change in the network quality. The effective
+  // connection type is computed by the network quality estimator at regular
+  // intervals and at certain events (e.g., connection change).
+  // |http_rtt| is the current estimate of the HTTP RTT. The RTT at the HTTP
+  // layer measures the time from when the request was sent (this happens after
+  // the connection is established) to the time when the response headers were
+  // received. A negative value of |http_rtt| implies that the RTT estimate
+  // was unavailable.
+  // |downlink_bandwidth_kbps| is the current downlink throughput estimate (in
+  // kilobits per second). A negative value of |downlink_bandwidth_kbps| implies
+  // that the downlink throughput estimate was unavailable.
+  OnNetworkQualityChanged(
+    EffectiveConnectionType type,
+    mojo_base.mojom.TimeDelta http_rtt,
+    int32 downlink_bandwidth_kbps);
 };
 
 // An interface that broadcasts network quality change events.
diff --git a/testing/buildbot/chromium.gpu.fyi.json b/testing/buildbot/chromium.gpu.fyi.json
index 70885c7..48fa982 100644
--- a/testing/buildbot/chromium.gpu.fyi.json
+++ b/testing/buildbot/chromium.gpu.fyi.json
@@ -7854,21 +7854,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_end2end_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_end2end_tests"
       },
       {
         "args": [
@@ -7881,21 +7872,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_unittests"
       },
       {
         "args": [
@@ -7908,21 +7890,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_tests"
       },
       {
         "args": [
@@ -7934,21 +7907,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_unittests"
       },
       {
         "args": [
@@ -7960,21 +7924,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gles2_conform_test",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gles2_conform_test"
       },
       {
         "swarming": {
@@ -7983,21 +7938,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gpu_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gpu_unittests"
       },
       {
         "args": [
@@ -8010,21 +7956,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "services_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "services_unittests"
       },
       {
         "swarming": {
@@ -8033,21 +7970,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "swiftshader_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "swiftshader_unittests"
       }
     ],
     "isolated_scripts": [
@@ -8068,19 +7996,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8100,19 +8019,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8132,19 +8042,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8164,19 +8065,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8200,19 +8092,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8239,19 +8122,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8286,19 +8160,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8319,19 +8184,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8351,19 +8207,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8383,20 +8230,11 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 2
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
@@ -8414,21 +8252,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_end2end_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_end2end_tests"
       },
       {
         "args": [
@@ -8441,21 +8270,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_unittests"
       },
       {
         "args": [
@@ -8468,21 +8288,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_tests"
       },
       {
         "args": [
@@ -8494,21 +8305,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_unittests"
       },
       {
         "args": [
@@ -8520,21 +8322,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gles2_conform_test",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gles2_conform_test"
       },
       {
         "swarming": {
@@ -8543,21 +8336,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gpu_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gpu_unittests"
       },
       {
         "args": [
@@ -8570,21 +8354,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "services_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "services_unittests"
       },
       {
         "swarming": {
@@ -8593,21 +8368,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "swiftshader_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "swiftshader_unittests"
       }
     ],
     "isolated_scripts": [
@@ -8628,19 +8394,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8660,19 +8417,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8692,19 +8440,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8724,19 +8463,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8760,19 +8490,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8799,19 +8520,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8846,19 +8558,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8879,19 +8582,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8911,19 +8605,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -8943,20 +8628,11 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 2
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
@@ -8974,21 +8650,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_end2end_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_end2end_tests"
       },
       {
         "args": [
@@ -9001,21 +8668,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_unittests"
       },
       {
         "args": [
@@ -9031,21 +8689,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "browser_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "browser_tests"
       },
       {
         "args": [
@@ -9058,21 +8707,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_tests"
       },
       {
         "args": [
@@ -9084,21 +8724,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_unittests"
       },
       {
         "args": [
@@ -9110,21 +8741,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gles2_conform_test",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gles2_conform_test"
       },
       {
         "swarming": {
@@ -9133,21 +8755,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gpu_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gpu_unittests"
       },
       {
         "args": [
@@ -9160,21 +8773,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "services_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "services_unittests"
       },
       {
         "swarming": {
@@ -9183,21 +8787,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "swiftshader_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "swiftshader_unittests"
       }
     ],
     "isolated_scripts": [
@@ -9218,19 +8813,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9250,19 +8836,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9282,19 +8859,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9314,19 +8882,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9350,19 +8909,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9389,19 +8939,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9436,19 +8977,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9469,19 +9001,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9501,19 +9024,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9535,20 +9049,11 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 20
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9568,20 +9073,11 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 2
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
@@ -9599,21 +9095,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_end2end_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_end2end_tests"
       },
       {
         "args": [
@@ -9626,21 +9113,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_unittests"
       },
       {
         "args": [
@@ -9656,21 +9134,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "browser_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "browser_tests"
       },
       {
         "args": [
@@ -9683,21 +9152,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_tests"
       },
       {
         "args": [
@@ -9709,21 +9169,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_unittests"
       },
       {
         "args": [
@@ -9735,21 +9186,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gles2_conform_test",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gles2_conform_test"
       },
       {
         "swarming": {
@@ -9758,21 +9200,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gpu_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gpu_unittests"
       },
       {
         "args": [
@@ -9785,21 +9218,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "services_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "services_unittests"
       },
       {
         "swarming": {
@@ -9808,21 +9232,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "swiftshader_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "swiftshader_unittests"
       }
     ],
     "isolated_scripts": [
@@ -9843,19 +9258,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9875,19 +9281,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9907,19 +9304,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9939,19 +9327,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -9975,19 +9354,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -10014,19 +9384,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -10061,19 +9422,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -10094,19 +9446,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -10126,19 +9469,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -10160,20 +9494,11 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 20
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -10193,20 +9518,11 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 2
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
@@ -10225,22 +9541,13 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 4
         },
-        "test": "angle_deqp_egl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_deqp_egl_tests"
       },
       {
         "args": [
@@ -10254,22 +9561,13 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 4
         },
-        "test": "angle_deqp_gles2_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_deqp_gles2_tests"
       },
       {
         "args": [
@@ -10283,22 +9581,13 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 12
         },
-        "test": "angle_deqp_gles3_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_deqp_gles3_tests"
       }
     ]
   },
@@ -11215,21 +10504,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_end2end_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_end2end_tests"
       },
       {
         "args": [
@@ -11241,21 +10521,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gles2_conform_test",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gles2_conform_test"
       },
       {
         "swarming": {
@@ -11264,21 +10535,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gpu_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gpu_unittests"
       },
       {
         "args": [
@@ -11291,21 +10553,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "services_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "services_unittests"
       },
       {
         "swarming": {
@@ -11314,21 +10567,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "swiftshader_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "swiftshader_unittests"
       }
     ],
     "isolated_scripts": [
@@ -11353,19 +10597,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -11387,20 +10622,11 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 20
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
@@ -11418,21 +10644,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_end2end_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_end2end_tests"
       },
       {
         "args": [
@@ -11444,21 +10661,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gles2_conform_test",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gles2_conform_test"
       },
       {
         "swarming": {
@@ -11467,21 +10675,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gpu_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gpu_unittests"
       },
       {
         "args": [
@@ -11494,21 +10693,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "services_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "services_unittests"
       },
       {
         "swarming": {
@@ -11517,21 +10707,12 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "swiftshader_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "swiftshader_unittests"
       }
     ],
     "isolated_scripts": [
@@ -11556,19 +10737,10 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"10de:0fe9\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
diff --git a/testing/buildbot/chromium.gpu.json b/testing/buildbot/chromium.gpu.json
index ca21e6e0..7e441b26 100644
--- a/testing/buildbot/chromium.gpu.json
+++ b/testing/buildbot/chromium.gpu.json
@@ -1553,21 +1553,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_unittests"
       },
       {
         "args": [
@@ -1580,21 +1571,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_tests"
       },
       {
         "args": [
@@ -1606,21 +1588,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_unittests"
       }
     ],
     "isolated_scripts": [
@@ -1641,19 +1614,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1673,19 +1637,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1705,19 +1660,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1737,19 +1683,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1773,19 +1710,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1812,19 +1740,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1859,19 +1778,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1892,19 +1802,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1924,19 +1825,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -1956,20 +1848,11 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 2
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
@@ -1987,21 +1870,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "angle_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "angle_unittests"
       },
       {
         "args": [
@@ -2017,21 +1891,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "browser_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "browser_tests"
       },
       {
         "args": [
@@ -2044,21 +1909,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_tests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_tests"
       },
       {
         "args": [
@@ -2070,21 +1926,12 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
         },
-        "test": "gl_unittests",
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
-        }
+        "test": "gl_unittests"
       }
     ],
     "isolated_scripts": [
@@ -2105,19 +1952,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2137,19 +1975,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2169,19 +1998,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2201,19 +2021,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2237,19 +2048,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2276,19 +2078,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2323,19 +2116,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2356,19 +2140,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2388,19 +2163,10 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ]
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       },
       {
@@ -2420,20 +2186,11 @@
             {
               "gpu": "1002:6821",
               "hidpi": "1",
-              "os": "Mac-10.12.6",
+              "os": "Mac-10.13.5",
               "pool": "Chrome-GPU"
             }
           ],
           "shards": 2
-        },
-        "trigger_script": {
-          "args": [
-            "--multiple-trigger-configs",
-            "[{\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.12.6\", \"pool\": \"Chrome-GPU\"}, {\"gpu\": \"1002:6821\", \"hidpi\": \"1\", \"os\": \"Mac-10.13.5\", \"pool\": \"Chrome-GPU\"}]",
-            "--multiple-dimension-script-verbose",
-            "True"
-          ],
-          "script": "//testing/trigger_scripts/trigger_multiple_dimensions.py"
         }
       }
     ]
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl
index 8fc5d0f84..95298a1d 100644
--- a/testing/buildbot/waterfalls.pyl
+++ b/testing/buildbot/waterfalls.pyl
@@ -954,7 +954,7 @@
             {
               'gpu': '1002:6821',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -963,15 +963,6 @@
           'gtest_tests': 'gpu_desktop_gtests',
           'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '1002:6821',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Mac Retina Release (AMD)': {
         'browser_config': 'release',
@@ -981,7 +972,7 @@
             {
               'gpu': '1002:6821',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -990,15 +981,6 @@
           'gtest_tests': 'gpu_desktop_gtests',
           'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '1002:6821',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Win10 Debug (NVIDIA)': {
         'browser_config': 'debug',
@@ -1608,7 +1590,7 @@
             {
               'gpu': '1002:6821',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1617,15 +1599,6 @@
           'gtest_tests': 'gpu_fyi_mac_debug_gtests',
           'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '1002:6821',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Mac FYI Retina Debug (NVIDIA)': {
         'os_type': 'mac',
@@ -1635,7 +1608,7 @@
             {
               'gpu': '10de:0fe9',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1644,15 +1617,6 @@
           'gtest_tests': 'gpu_fyi_mac_debug_gtests',
           'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '10de:0fe9',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Mac FYI Retina Release (AMD)': {
         'os_type': 'mac',
@@ -1662,7 +1626,7 @@
             {
               'gpu': '1002:6821',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1671,15 +1635,6 @@
           'gtest_tests': 'gpu_fyi_mac_release_gtests',
           'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '1002:6821',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Mac FYI Retina Release (NVIDIA)': {
         'os_type': 'mac',
@@ -1689,7 +1644,7 @@
             {
               'gpu': '10de:0fe9',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1698,15 +1653,6 @@
           'gtest_tests': 'gpu_fyi_mac_release_gtests',
           'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '10de:0fe9',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Mac FYI dEQP Release AMD': {
         'os_type': 'mac',
@@ -1715,7 +1661,7 @@
             {
               'gpu': '1002:6821',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1723,15 +1669,6 @@
         'test_suites': {
           'gtest_tests': 'gpu_angle_deqp_mac_gtests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '1002:6821',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Mac FYI dEQP Release Intel': {
         'os_type': 'mac',
@@ -1847,7 +1784,7 @@
             {
               'gpu': '1002:6821',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1856,7 +1793,6 @@
           'gtest_tests': 'gpu_fyi_mac_optional_gtests',
           'gpu_telemetry_tests': 'gpu_fyi_optional_telemetry_tests',
         },
-        'use_multi_dimension_trigger_script': True,
       },
       'Optional Mac Retina Release (NVIDIA)': {
         'os_type': 'mac',
@@ -1866,7 +1802,7 @@
             {
               'gpu': '10de:0fe9',
               'hidpi': '1',
-              'os': 'Mac-10.12.6',
+              'os': 'Mac-10.13.5',
               'pool': 'Chrome-GPU',
             },
           ],
@@ -1875,15 +1811,6 @@
           'gtest_tests': 'gpu_fyi_mac_optional_gtests',
           'gpu_telemetry_tests': 'gpu_fyi_optional_telemetry_tests',
         },
-        'alternate_swarming_dimensions': [
-          {
-            'gpu': '10de:0fe9',
-            'hidpi': '1',
-            'os': 'Mac-10.13.5',
-            'pool': 'Chrome-GPU',
-          },
-        ],
-        'use_multi_dimension_trigger_script': True,
       },
       'Optional Win10 Release (Intel HD 630)': {
         'os_type': 'win',
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 9781df4..2026a0f 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -443,6 +443,26 @@
             ]
         }
     ],
+    "AutofillDynamicForms": [
+        {
+            "platforms": [
+                "android",
+                "chromeos",
+                "ios",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "AutofillDynamicForms"
+                    ]
+                }
+            ]
+        }
+    ],
     "AutofillExpandedPopupViews": [
         {
             "platforms": [
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index b7638e4..373cbe9 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -4611,7 +4611,6 @@
 crbug.com/862588 [ Linux ] external/wpt/cookie-store/idlharness.tentative.https.html [ Timeout Pass ]
 crbug.com/862588 [ Linux ] external/wpt/fetch/cors-rfc1918/idlharness.tentative.any.html [ Timeout Pass ]
 crbug.com/862588 [ Linux ] external/wpt/gamepad/idlharness.html [ Timeout Pass ]
-crbug.com/862588 [ Linux ] external/wpt/payment-request/idlharness.https.window.html [ Timeout Pass ]
 crbug.com/862588 [ Linux ] external/wpt/push-api/idlharness.https.any.sharedworker.html [ Timeout Pass ]
 crbug.com/862588 [ Linux ] external/wpt/push-api/idlharness.https.any.worker.html [ Timeout Pass ]
 crbug.com/862588 [ Linux ] external/wpt/resource-timing/idlharness.any.html [ Timeout Pass ]
@@ -4625,3 +4624,6 @@
 
 # S13N Sheriff 2018-7-11
 crbug.com/862643 http/tests/serviceworker/navigation_preload/use-counter.html [ Failure Pass ]
+
+# Sheriff 2018-7-12
+crbug.com/863067 [ Win10 ] fast/dom/Window/window-focus-self.html [ Failure Pass ]
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
index d0be2203..e672642 100644
--- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
+++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -146436,61 +146436,6 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/document-write/005.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/006.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/007.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/008-1.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/008.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/010-1.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/010.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/011-1.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/011.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/012.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/013.js": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/document-write/OWNERS": [
     [
      {}
@@ -146501,36 +146446,6 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/document-write/empty.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_005.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/nested-document-write-1.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/nested-document-write-2.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/nested-document-write-external.js": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/original-id.json": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/document-write/write-active-document-expected.txt": [
     [
      {}
@@ -146546,11 +146461,6 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/document-writeln/original-id.json": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/opening-the-input-stream/.gitkeep": [
     [
      {}
@@ -146561,11 +146471,6 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt": [
     [
      {}
@@ -146581,56 +146486,16 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt": [
     [
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt": [
     [
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html": [
-    [
-     {}
-    ]
-   ],
    "html/dom/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt": [
     [
      {}
@@ -146646,21 +146511,6 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html": [
-    [
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt": [
-    [
-     {}
-    ]
-   ],
    "html/dom/elements-embedded.js": [
     [
      {}
@@ -157266,11 +157116,221 @@
      {}
     ]
    ],
+   "html/webappapis/dynamic-markup-insertion/document-write/005.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/006.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/007.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/008-1.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/008.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/010-1.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/010.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/011-1.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/011.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/012.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/013.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/empty.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_005.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-2.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-external.js": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/original-id.json": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-writeln/original-id.json": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-2.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-1.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html": [
+    [
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html": [
+    [
+     {}
+    ]
+   ],
    "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html": [
     [
      {}
     ]
    ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt": [
+    [
+     {}
+    ]
+   ],
    "html/webappapis/scripting/.gitkeep": [
     [
      {}
@@ -185157,12 +185217,6 @@
      {}
     ]
    ],
-   "compat/webkit-appearance.tentative.html": [
-    [
-     "/compat/webkit-appearance.tentative.html",
-     {}
-    ]
-   ],
    "compat/webkit-text-fill-color-currentColor.html": [
     [
      "/compat/webkit-text-fill-color-currentColor.html",
@@ -214629,636 +214683,6 @@
      {}
     ]
    ],
-   "html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml": [
-    [
-     "/html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/001.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/001.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/002.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/002.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/003.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/003.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/004.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/004.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/005.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/005.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/006.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/006.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/007.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/007.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/008.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/008.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/009.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/009.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/010.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/010.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/011.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/011.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/012.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/012.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/013.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/013.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/014.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/014.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/015.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/015.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/016.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/016.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/017.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/017.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/018.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/018.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/019.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/019.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/020.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/020.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/021.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/021.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/022.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/022.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/023.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/023.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/024.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/024.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/025.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/025.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/026.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/026.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/027.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/027.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/028.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/028.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/029.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/029.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/030.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/030.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/031.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/031.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/032.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/032.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/033.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/033.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/034.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/034.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/035.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/035.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/036.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/036.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/037.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/037.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/038.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/038.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/039.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/039.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/040.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/040.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/041.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/041.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/042.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/042.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/043.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/043.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/044.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/044.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/045.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/045.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/046.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/046.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/047.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/047.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/048.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/048.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/049.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/049.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/050.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/050.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/051.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/051.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/contentType.window.js": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/contentType.window.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/document.write-02.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/document.write-02.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_001.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_001.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_002.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_002.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_003.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_003.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_004.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_004.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_005.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_005.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_006.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_006.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_007.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_007.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_008.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_008.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_009.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_009.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/iframe_010.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/iframe_010.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_001.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_001.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_002.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_002.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_003.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_003.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_004.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_004.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_005.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_005.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_006.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_006.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_007.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_007.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_008.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_008.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_009.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_009.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_010.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_010.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_011.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_011.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_012.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_012.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/script_013.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/script_013.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-write/write-active-document.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-write/write-active-document.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/009.https.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.https.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/encoding.window.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.html",
-     {}
-    ]
-   ],
-   "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js": [
-    [
-     "/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.html",
-     {}
-    ]
-   ],
    "html/dom/elements/elements-in-the-dom/historical.html": [
     [
      "/html/dom/elements/elements-in-the-dom/historical.html",
@@ -224241,6 +223665,630 @@
      {}
     ]
    ],
+   "html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/001.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/001.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/002.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/002.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/003.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/003.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/004.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/004.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/005.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/005.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/006.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/006.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/007.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/007.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/008.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/008.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/009.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/009.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/010.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/010.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/011.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/011.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/012.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/012.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/013.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/013.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/014.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/014.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/015.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/015.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/016.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/016.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/017.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/017.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/018.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/018.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/019.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/019.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/020.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/020.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/021.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/021.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/022.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/022.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/023.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/023.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/024.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/024.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/025.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/025.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/026.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/026.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/027.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/027.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/028.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/028.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/029.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/029.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/030.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/030.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/031.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/031.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/032.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/032.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/033.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/033.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/034.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/034.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/035.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/035.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/036.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/036.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/037.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/037.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/038.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/038.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/039.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/039.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/040.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/040.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/041.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/041.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/042.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/042.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/043.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/043.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/044.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/044.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/045.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/045.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/046.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/046.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/047.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/047.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/048.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/048.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/049.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/049.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/050.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/050.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/051.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/051.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_001.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_001.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_002.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_002.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_003.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_003.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_004.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_004.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_005.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_005.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_006.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_006.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_007.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_007.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_008.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_008.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_009.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_009.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_010.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_010.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_011.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_011.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_012.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_012.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/script_013.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/script_013.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/007.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/007.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.html",
+     {}
+    ]
+   ],
    "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html": [
     [
      "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html",
@@ -224253,6 +224301,18 @@
      {}
     ]
    ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.html",
+     {}
+    ]
+   ],
+   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js": [
+    [
+     "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.html",
+     {}
+    ]
+   ],
    "html/webappapis/scripting/event-loops/microtask_after_raf.html": [
     [
      "/html/webappapis/scripting/event-loops/microtask_after_raf.html",
@@ -251671,6 +251731,18 @@
      {}
     ]
    ],
+   "trusted-types/DOMParser-requiresTrustedTypes.tentative.html": [
+    [
+     "/trusted-types/DOMParser-requiresTrustedTypes.tentative.html",
+     {}
+    ]
+   ],
+   "trusted-types/DOMParser.tentative.html": [
+    [
+     "/trusted-types/DOMParser.tentative.html",
+     {}
+    ]
+   ],
    "trusted-types/TrustedHTML.tentative.html": [
     [
      "/trusted-types/TrustedHTML.tentative.html",
@@ -266897,7 +266969,7 @@
    "support"
   ],
   "./lint.whitelist": [
-   "5674cca69b5c0dd2722172c460d5b3cf98875552",
+   "a10b26945c0ef0105e7e183cfb4d1df05ea5af15",
    "support"
   ],
   "./update-built-tests.sh": [
@@ -271269,11 +271341,11 @@
    "testharness"
   ],
   "FileAPI/idlharness.html": [
-   "8758857fee6e2c4504368ed4d8ca5e818bf84171",
+   "440dcecf7e94b58ff6bc0035663d673fa3a1145f",
    "testharness"
   ],
   "FileAPI/idlharness.worker.js": [
-   "3564b7fa9eaecdc3796ba25606159ae031942ca0",
+   "c3cddfbde633d69e17bc1d37eacb3656ef51a06f",
    "testharness"
   ],
   "FileAPI/reading-data-section/Determining-Encoding.html": [
@@ -275948,10 +276020,6 @@
    "ec03c693d69bb98735d0235cf84ad797829a1457",
    "support"
   ],
-  "compat/webkit-appearance.tentative.html": [
-   "19f5d49ab9383759357d9b7cd73f15fe7fff2939",
-   "testharness"
-  ],
   "compat/webkit-background-origin-text-ref.html": [
    "35b0175a64f38fb1e3723f7f634c18d7974a131f",
    "support"
@@ -359812,262 +359880,10 @@
    "e3e7f3973cf8f9b466d4f22d1ec3b9b9241fb906",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml": [
-   "a33055bb7c79c3802b657df70d8daa56b1703713",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/document-write/.gitkeep": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/document-write/001.html": [
-   "8c8aceec7a111f55f0c4102f87a9f2e9a647b723",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/002.html": [
-   "eee21c06d708c51b8bcfd4601e0e1df370db445d",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/003.html": [
-   "bc3be6177a1f80b82d7abc002407553f32e1730d",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/004.html": [
-   "a121985df6e745c4a8e18c088e9bbd190d6cbaf3",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/005.html": [
-   "c019f5e27f53398c08ec11e10b40fe64322f3933",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/005.js": [
-   "dad693bf94993ee3d127f2f2bd8aeb846784f6cb",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/006.html": [
-   "51297ed0ca0604a2ca4696cc9aa6d1f272063f2a",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/006.js": [
-   "dad693bf94993ee3d127f2f2bd8aeb846784f6cb",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/007.html": [
-   "6b5a6f6732a8fbaf60b109a6dbffe24b85f1f027",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/007.js": [
-   "a9b6847ff6b22f2ee1c77e80e43d6429b07b1f35",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/008-1.js": [
-   "e761f4b4e0d9ecfd1dccc2e5012c6ede0d5494f8",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/008.html": [
-   "f6c7ddf6afd5ff7f74440a53d1611e985f2ab66f",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/008.js": [
-   "8dc71f4f792944136b2268b6996978d2f05547f6",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/009.html": [
-   "efb4e9cc8fab72987d7db4d843b1d3372341c27e",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/010-1.js": [
-   "4f995d0008ae13d3e7952bd9341c2109e2b2a0da",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/010.html": [
-   "af4328218d8aa6b7cb1114026088f01efa1c035c",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/010.js": [
-   "daf7cdc770a5d05cdeb5ccbc8618134b613f2b98",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/011-1.js": [
-   "6e4bf99110b51a69f844fa3c4cf1bf6cbfdd54f5",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/011.html": [
-   "f55604bf3353a8edc3d7526831f055a5c3737df3",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/011.js": [
-   "16225e651165db9a1607cbf042a2297d3488b86b",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/012.html": [
-   "34cd06f8bc45466a601dea8492920bbda4dbdd5c",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/012.js": [
-   "3ed9cf147bdaa1a177d863c047ce60493c10a98a",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/013.html": [
-   "e02dfff2b6f98f796d63ecf1ba85e8d2c99ee605",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/013.js": [
-   "c8b1c4dfe0eaed3b84d58855f41bd2b2552ea9b9",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/014.html": [
-   "ab08a8015d397ba752372c6298202c46c003f6ec",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/015.html": [
-   "201466fd4a1a291220dbca8fc341a56264cbbd54",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/016.html": [
-   "b21df3653e4ea1cc8fdc3ceb0db36e9b9a2191f5",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/017.html": [
-   "122c9609c3ca328e2c2d02483ad47b50ed8155c6",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/018.html": [
-   "e28b55e191c78575142aae53a14aa9f59cd3d04d",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/019.html": [
-   "b4267fa1f88679537dde437a35d95c1e0a48c2c4",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/020.html": [
-   "16940003fba526f723f698e35a8c0c584604c1ca",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/021.html": [
-   "f8c5ffa09b6c5828c0b39a36535be70064281339",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/022.html": [
-   "c79b37206d78a6c641585ed681535a2b30493a17",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/023.html": [
-   "34a9fddbb892f2410937b5627f322862241a0539",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/024.html": [
-   "b6e901f124c099a87100b083d47cdb3ab621a74e",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/025.html": [
-   "9e2aba6b4be1e032ddc67ccebf8cb9f4021935ab",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/026.html": [
-   "4007e8d057ce5e6fe991220bc29b3966d576fc79",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/027.html": [
-   "3a9492537987b7d688015e5e79a46ae2f49936f5",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/028.html": [
-   "14d932aeba095e24733b1197b64897719c809ba2",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/029.html": [
-   "44976fbc1fb75f99430aeef2df89e444d55751fe",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/030.html": [
-   "e9a3580093caf362bcf2d59321f6917bab7b668f",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/031.html": [
-   "ed70f8d3ffdc1220160df7f3b47c03526bb61697",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/032.html": [
-   "5f5fe390b66d77e862c553d2a5f3a33029bc8a6f",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/033.html": [
-   "e981ce9c2b4c4615e524d982f004aa7c79c4c6a2",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/034.html": [
-   "22f988ee407cee6ebc001d8fae6f881a60c8668f",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/035.html": [
-   "b485caf54e23e2e81085e54057c9aa151e6f14b1",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/036.html": [
-   "1aed908834cb95d963261003db7cc780a47a04bf",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/037.html": [
-   "cb3d413b0ffc1bb0b4e5391b34b6aa8c19407a4f",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/038.html": [
-   "c6aa999d6a611f94acc4eb50d316f2f525dece10",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/039.html": [
-   "7b2f7827e84cfb7589bc224c07c26c0b743fdbe7",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/040.html": [
-   "9463d2fcf88d84f415a1fb5ed44ca216c08a49b6",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/041.html": [
-   "95bfe438f109dbc35ada28b5e8c5cc539b892279",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/042.html": [
-   "a706a05835f815c2362f3fb2e8f921ae05ae4128",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/043.html": [
-   "1b7dc5cc552626fe5daaa4d409c403dfbf06d795",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/044.html": [
-   "d0126ff1e0eebac313c35a1ca6bbc941cec25721",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/045.html": [
-   "9c08d3ecf9d21e093997833062eb0248ff169ab1",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/046.html": [
-   "7391e6e5e0528114d39ae3af5226f0b03730fb14",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/047.html": [
-   "b72d2ad21a9127b9fbfae9f9732c25f614646704",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/048.html": [
-   "b72d2ad21a9127b9fbfae9f9732c25f614646704",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/049.html": [
-   "058198bdccaa24e77438cc78aef061903c2b80c0",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/050.html": [
-   "6a0a46450d2b203592763e74998aeab5c40a0535",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/051.html": [
-   "e7c9064ba73547f25e0c7f202f14d51ee4e10fd1",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/document-write/OWNERS": [
    "e3e7f3973cf8f9b466d4f22d1ec3b9b9241fb906",
    "support"
@@ -360076,142 +359892,10 @@
    "8fcd5137f518a1281ffea0d9c6cd646a29c323c0",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/document-write/contentType.window.js": [
-   "3f1218b65f930ba0a31044163fb995527c020fa8",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml": [
-   "3b309503bf8f002712eafba1d5e7a1f3f743d7e1",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/document.write-02.html": [
-   "f4c6db3136e0860d38fe21193a0012eb5e4842ef",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/empty.html": [
-   "b1149d9764ff4a9a7e8698f7a56ed003796d8582",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_001.html": [
-   "1c9c5a787612667df557c57cb1ec5e101a38dfab",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_002.html": [
-   "28e827f8b8b0c9af9dfa46dfb505920df72345d4",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_003.html": [
-   "011b66b2d7cbf4a6184bbbfeb198cfb27e181343",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_004.html": [
-   "525eeb4f4805cec5341055278507fd8dfe7c3cfa",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_005.html": [
-   "ab2ea0edc62e53c2a8e403797206a5d4f74ead0f",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_005.js": [
-   "487a5b400bc7f145455c5267b07a7f083ec4adb0",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_006.html": [
-   "6af33c96b459f56fc8c57216eb20877f252112db",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_007.html": [
-   "21f2b8f36521e3e76bee968ee25febf016b5a263",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_008.html": [
-   "c5a6befd4b60d826b522f5009346cc5cdd23b3da",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_009.html": [
-   "e1f0e5b3149a7b3e2386d91147d0d63620135f3c",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/iframe_010.html": [
-   "8d70bfbc321000ccbfae07c4a435a09d4d7948f3",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/nested-document-write-1.html": [
-   "9f6c0ffee84cbf54639e6d39276e331a759336d1",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/nested-document-write-2.html": [
-   "4748eb3ed5fdbbd036c50f31ab5a3e817f9291e0",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/nested-document-write-external.js": [
-   "7350fb83fcec2374dad98d7ad13dd07cd78f5396",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/original-id.json": [
-   "c1955e14b1222d952cab1eeff293ec3f5d3b0791",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_001.html": [
-   "68400d60bf827e9e48cda169574f0a279c55cda7",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_002.html": [
-   "8eb2c9faf27578fad096e4373c34739afaeab2a8",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_003.html": [
-   "14887f0ec4302566de0fbb977d03933ad539b5b5",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_004.html": [
-   "18b1736b952328c6de2ac9b902cada3b5beb5224",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_005.html": [
-   "3c6a906f97417cbc93cf7bcb80255963e54e0910",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_006.html": [
-   "581e59a4cce498d590d6199dbe5169ce964df631",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_007.html": [
-   "cd326b87b050741ca4dd5d66a5a72522efdaf29a",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_008.html": [
-   "0216f7d4199ca405da6f20e34ef5a4ff4b0406dd",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_009.html": [
-   "0efdaefe472ec6621de75dde22197ee1a33cd529",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_010.html": [
-   "0a53afd7a3de453cf398033fd4159e3e4988244d",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_011.html": [
-   "c8d129add739cb431d1b50e693744c6bc6adc4ed",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_012.html": [
-   "833de0abb686ed91179cd8228e09e05a61817c42",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-write/script_013.html": [
-   "0c45797b8e51b33aa49148eff24e021b69c372d9",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/document-write/write-active-document-expected.txt": [
    "4a0a7a7c2c9826da0d42c938abf4ba95499c31b9",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/document-write/write-active-document.html": [
-   "66d780431c740841834f0af67d20d28ac5178d9b",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/document-writeln/.gitkeep": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
@@ -360220,22 +359904,6 @@
    "e3e7f3973cf8f9b466d4f22d1ec3b9b9241fb906",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml": [
-   "443e8d9d653feb514dfc3cb8a1b4cb204ef38820",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02.html": [
-   "f81725d70babcb3e5f30b191d891dba2d30ba038",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html": [
-   "5564adb6a1c14b3f08b33c1838a3c8377fccea2c",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/document-writeln/original-id.json": [
-   "37ea841113fc00fe481bd43a635e7bb690ec6057",
-   "support"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/.gitkeep": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
@@ -360244,178 +359912,38 @@
    "d62cf0e7da5d5bd68e6b2fba048e01ba5e90094a",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html": [
-   "f3194a3557ea4991b93d53f729912e45de1a676d",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html": [
-   "6f633c653ba9fb431fe41f69687e37ac1083c320",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html": [
-   "448f6f9971f92c4b9b7b7a536be353793f6147d6",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html": [
-   "290990faf1c4107c80069110d28b925e65e4719c",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt": [
    "5172e81331c674b29188fb37ca2ac46b9b503564",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html": [
-   "6eb18f167496446c4c9d776e0f10be71c8f65a95",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html": [
-   "94989d1ee98fb9e739a116b103c23e8d8108ac87",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html": [
-   "6a409aa8cd0629dc1f71977e3994d07ccc7bbcfd",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt": [
    "87950e080e06ff90f5923983c97a32093bd091b3",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html": [
-   "1c813722dd68b1a13348aa8071d99cf358ab9eca",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/009.https-expected.txt": [
    "37c7df8f30a22219c493917e16ddea0405088e27",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/009.https.html": [
-   "02278f0ed00b2392afcbcacd56ddd750b7204241",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html": [
-   "bf26fa8b0d8542fb5b7f6db9c1e8bdcc8cfa8081",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html": [
-   "6b3c91516759cf79a2e15a45455f8071f517c346",
-   "support"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt": [
    "25fa80e1c9f388afb26af6d3251b492ae8d46aa5",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html": [
-   "95a5ad21f6ff58456d614f767046c5d3c2131460",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html": [
-   "5feea2d56edcfd872eeac109e2ff8e52acd6d60c",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html": [
-   "ca6b4c77e86496b0b6df85d8e61312786536c285",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html": [
-   "923397f1eec1ea22f8515c44113dea080d9230eb",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html": [
-   "cd5d66387f4057c11c5b9645cbba5e66805f52d1",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html": [
-   "32cd8db0139a5d65ce3ade4906724b3897a9e64d",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html": [
-   "ec55397d532ecac54cb3b04356b8034120161dbe",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html": [
-   "23c430e683be5ea67d4be1c8ab7ff8064914199b",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html": [
-   "fff1c433d2d010c8afa15fc702afc5b33643dad3",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html": [
-   "bfcf2e3d916c30f00f448f6c1b225be99f35c1c1",
-   "support"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt": [
    "82822a4af0010098fea36402f64ba24a9aa4034f",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html": [
-   "3c6015624e24b5928ea38a574a76c4aee7b6dd40",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html": [
-   "3320a164d93b8d39254c4609a5320e2f1bd115b2",
-   "support"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt": [
    "fe93fdedced27b1b201ef03268861d9159687e6c",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html": [
-   "ea3ff6e58680da8c3f08e7f26ebc738d82703801",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/OWNERS": [
    "e3e7f3973cf8f9b466d4f22d1ec3b9b9241fb906",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml": [
-   "cb059c7c17320c0e63e9453d3a0486a8a94b060a",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html": [
-   "1941d51b6489947d979480d097898e91b212e508",
-   "testharness"
-  ],
   "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt": [
    "f9279c0eba4cb306ff433e841d73cb884dc54031",
    "support"
   ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html": [
-   "bcc6a14a9c3d116d95e72d3f057d0cd7cbffd2cb",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html": [
-   "a2a5acc9dfe53c7482eeaa4be3a4819238f8e120",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js": [
-   "b021d6fcc38925ddf39309e21716c5be37791247",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js": [
-   "ccf357a8081b99de1d85e05196145e83b3de2ab5",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js": [
-   "1e1c656e1d19c9c459faf16327e099a4c9e13872",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html": [
-   "1d8ae9f75fe05343c1858caad637c9f7602c9f28",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt": [
-   "8d06cea05d408d70c59b1dbc5df3bda374d869a4",
-   "support"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js": [
-   "1f440ff93300a0ab715982feb067dd3162c8fce9",
-   "testharness"
-  ],
-  "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js": [
-   "0f0020e1d7d8050892ef146d687178cfe8eedcd2",
-   "testharness"
-  ],
   "html/dom/elements-embedded.js": [
    "99489e3a8ac2be0d7dcfb22f7f45c30b00511358",
    "support"
@@ -371377,11 +370905,11 @@
    "support"
   ],
   "html/semantics/forms/the-label-element/label-attributes.sub-expected.txt": [
-   "8d3ab0b4e011ff2f865baa572b3cef4b8ac80a2b",
+   "5cdf501932c1ffacf72795acd8b8b58ba6bd2c8a",
    "support"
   ],
   "html/semantics/forms/the-label-element/label-attributes.sub.html": [
-   "8977e6a8c0ddd8ef2b85a879bf7d4255af8eeecb",
+   "084ab750c7706f2d01b934cddcfb8f296f06bf9c",
    "testharness"
   ],
   "html/semantics/forms/the-label-element/labelable-elements.html": [
@@ -375800,6 +375328,574 @@
    "d720c251750e32d5ba6a76897439128a0eaa8479",
    "testharness"
   ],
+  "html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml": [
+   "a33055bb7c79c3802b657df70d8daa56b1703713",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/001.html": [
+   "8c8aceec7a111f55f0c4102f87a9f2e9a647b723",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/002.html": [
+   "eee21c06d708c51b8bcfd4601e0e1df370db445d",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/003.html": [
+   "bc3be6177a1f80b82d7abc002407553f32e1730d",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/004.html": [
+   "a121985df6e745c4a8e18c088e9bbd190d6cbaf3",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/005.html": [
+   "c019f5e27f53398c08ec11e10b40fe64322f3933",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/005.js": [
+   "dad693bf94993ee3d127f2f2bd8aeb846784f6cb",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/006.html": [
+   "51297ed0ca0604a2ca4696cc9aa6d1f272063f2a",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/006.js": [
+   "dad693bf94993ee3d127f2f2bd8aeb846784f6cb",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/007.html": [
+   "6b5a6f6732a8fbaf60b109a6dbffe24b85f1f027",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/007.js": [
+   "a9b6847ff6b22f2ee1c77e80e43d6429b07b1f35",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/008-1.js": [
+   "e761f4b4e0d9ecfd1dccc2e5012c6ede0d5494f8",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/008.html": [
+   "f6c7ddf6afd5ff7f74440a53d1611e985f2ab66f",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/008.js": [
+   "8dc71f4f792944136b2268b6996978d2f05547f6",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/009.html": [
+   "efb4e9cc8fab72987d7db4d843b1d3372341c27e",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/010-1.js": [
+   "4f995d0008ae13d3e7952bd9341c2109e2b2a0da",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/010.html": [
+   "af4328218d8aa6b7cb1114026088f01efa1c035c",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/010.js": [
+   "daf7cdc770a5d05cdeb5ccbc8618134b613f2b98",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/011-1.js": [
+   "6e4bf99110b51a69f844fa3c4cf1bf6cbfdd54f5",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/011.html": [
+   "f55604bf3353a8edc3d7526831f055a5c3737df3",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/011.js": [
+   "16225e651165db9a1607cbf042a2297d3488b86b",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/012.html": [
+   "34cd06f8bc45466a601dea8492920bbda4dbdd5c",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/012.js": [
+   "3ed9cf147bdaa1a177d863c047ce60493c10a98a",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/013.html": [
+   "e02dfff2b6f98f796d63ecf1ba85e8d2c99ee605",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/013.js": [
+   "c8b1c4dfe0eaed3b84d58855f41bd2b2552ea9b9",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/014.html": [
+   "ab08a8015d397ba752372c6298202c46c003f6ec",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/015.html": [
+   "201466fd4a1a291220dbca8fc341a56264cbbd54",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/016.html": [
+   "b21df3653e4ea1cc8fdc3ceb0db36e9b9a2191f5",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/017.html": [
+   "122c9609c3ca328e2c2d02483ad47b50ed8155c6",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/018.html": [
+   "e28b55e191c78575142aae53a14aa9f59cd3d04d",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/019.html": [
+   "b4267fa1f88679537dde437a35d95c1e0a48c2c4",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/020.html": [
+   "16940003fba526f723f698e35a8c0c584604c1ca",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/021.html": [
+   "f8c5ffa09b6c5828c0b39a36535be70064281339",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/022.html": [
+   "c79b37206d78a6c641585ed681535a2b30493a17",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/023.html": [
+   "34a9fddbb892f2410937b5627f322862241a0539",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/024.html": [
+   "b6e901f124c099a87100b083d47cdb3ab621a74e",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/025.html": [
+   "9e2aba6b4be1e032ddc67ccebf8cb9f4021935ab",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/026.html": [
+   "4007e8d057ce5e6fe991220bc29b3966d576fc79",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/027.html": [
+   "3a9492537987b7d688015e5e79a46ae2f49936f5",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/028.html": [
+   "14d932aeba095e24733b1197b64897719c809ba2",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/029.html": [
+   "44976fbc1fb75f99430aeef2df89e444d55751fe",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/030.html": [
+   "e9a3580093caf362bcf2d59321f6917bab7b668f",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/031.html": [
+   "ed70f8d3ffdc1220160df7f3b47c03526bb61697",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/032.html": [
+   "5f5fe390b66d77e862c553d2a5f3a33029bc8a6f",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/033.html": [
+   "e981ce9c2b4c4615e524d982f004aa7c79c4c6a2",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/034.html": [
+   "22f988ee407cee6ebc001d8fae6f881a60c8668f",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/035.html": [
+   "b485caf54e23e2e81085e54057c9aa151e6f14b1",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/036.html": [
+   "1aed908834cb95d963261003db7cc780a47a04bf",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/037.html": [
+   "cb3d413b0ffc1bb0b4e5391b34b6aa8c19407a4f",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/038.html": [
+   "c6aa999d6a611f94acc4eb50d316f2f525dece10",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/039.html": [
+   "7b2f7827e84cfb7589bc224c07c26c0b743fdbe7",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/040.html": [
+   "9463d2fcf88d84f415a1fb5ed44ca216c08a49b6",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/041.html": [
+   "95bfe438f109dbc35ada28b5e8c5cc539b892279",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/042.html": [
+   "a706a05835f815c2362f3fb2e8f921ae05ae4128",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/043.html": [
+   "1b7dc5cc552626fe5daaa4d409c403dfbf06d795",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/044.html": [
+   "d0126ff1e0eebac313c35a1ca6bbc941cec25721",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/045.html": [
+   "9c08d3ecf9d21e093997833062eb0248ff169ab1",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/046.html": [
+   "7391e6e5e0528114d39ae3af5226f0b03730fb14",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/047.html": [
+   "b72d2ad21a9127b9fbfae9f9732c25f614646704",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/048.html": [
+   "b72d2ad21a9127b9fbfae9f9732c25f614646704",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/049.html": [
+   "058198bdccaa24e77438cc78aef061903c2b80c0",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/050.html": [
+   "6a0a46450d2b203592763e74998aeab5c40a0535",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/051.html": [
+   "e7c9064ba73547f25e0c7f202f14d51ee4e10fd1",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt": [
+   "8fcd5137f518a1281ffea0d9c6cd646a29c323c0",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js": [
+   "3f1218b65f930ba0a31044163fb995527c020fa8",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml": [
+   "3b309503bf8f002712eafba1d5e7a1f3f743d7e1",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html": [
+   "f4c6db3136e0860d38fe21193a0012eb5e4842ef",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/empty.html": [
+   "b1149d9764ff4a9a7e8698f7a56ed003796d8582",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html": [
+   "1c9c5a787612667df557c57cb1ec5e101a38dfab",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html": [
+   "28e827f8b8b0c9af9dfa46dfb505920df72345d4",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html": [
+   "011b66b2d7cbf4a6184bbbfeb198cfb27e181343",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html": [
+   "525eeb4f4805cec5341055278507fd8dfe7c3cfa",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html": [
+   "ab2ea0edc62e53c2a8e403797206a5d4f74ead0f",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_005.js": [
+   "487a5b400bc7f145455c5267b07a7f083ec4adb0",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html": [
+   "6af33c96b459f56fc8c57216eb20877f252112db",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html": [
+   "21f2b8f36521e3e76bee968ee25febf016b5a263",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html": [
+   "c5a6befd4b60d826b522f5009346cc5cdd23b3da",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html": [
+   "e1f0e5b3149a7b3e2386d91147d0d63620135f3c",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html": [
+   "8d70bfbc321000ccbfae07c4a435a09d4d7948f3",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-1.html": [
+   "9f6c0ffee84cbf54639e6d39276e331a759336d1",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-2.html": [
+   "4748eb3ed5fdbbd036c50f31ab5a3e817f9291e0",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-external.js": [
+   "7350fb83fcec2374dad98d7ad13dd07cd78f5396",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/original-id.json": [
+   "c1955e14b1222d952cab1eeff293ec3f5d3b0791",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_001.html": [
+   "68400d60bf827e9e48cda169574f0a279c55cda7",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_002.html": [
+   "8eb2c9faf27578fad096e4373c34739afaeab2a8",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_003.html": [
+   "14887f0ec4302566de0fbb977d03933ad539b5b5",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_004.html": [
+   "18b1736b952328c6de2ac9b902cada3b5beb5224",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_005.html": [
+   "3c6a906f97417cbc93cf7bcb80255963e54e0910",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_006.html": [
+   "581e59a4cce498d590d6199dbe5169ce964df631",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_007.html": [
+   "cd326b87b050741ca4dd5d66a5a72522efdaf29a",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_008.html": [
+   "0216f7d4199ca405da6f20e34ef5a4ff4b0406dd",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_009.html": [
+   "0efdaefe472ec6621de75dde22197ee1a33cd529",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_010.html": [
+   "0a53afd7a3de453cf398033fd4159e3e4988244d",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_011.html": [
+   "c8d129add739cb431d1b50e693744c6bc6adc4ed",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_012.html": [
+   "833de0abb686ed91179cd8228e09e05a61817c42",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/script_013.html": [
+   "0c45797b8e51b33aa49148eff24e021b69c372d9",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt": [
+   "4a0a7a7c2c9826da0d42c938abf4ba95499c31b9",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html": [
+   "66d780431c740841834f0af67d20d28ac5178d9b",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml": [
+   "443e8d9d653feb514dfc3cb8a1b4cb204ef38820",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html": [
+   "f81725d70babcb3e5f30b191d891dba2d30ba038",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html": [
+   "5564adb6a1c14b3f08b33c1838a3c8377fccea2c",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/document-writeln/original-id.json": [
+   "37ea841113fc00fe481bd43a635e7bb690ec6057",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt": [
+   "d62cf0e7da5d5bd68e6b2fba048e01ba5e90094a",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001.html": [
+   "f3194a3557ea4991b93d53f729912e45de1a676d",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html": [
+   "6f633c653ba9fb431fe41f69687e37ac1083c320",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004-1.html": [
+   "448f6f9971f92c4b9b7b7a536be353793f6147d6",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html": [
+   "290990faf1c4107c80069110d28b925e65e4719c",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt": [
+   "5172e81331c674b29188fb37ca2ac46b9b503564",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005.html": [
+   "6eb18f167496446c4c9d776e0f10be71c8f65a95",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html": [
+   "94989d1ee98fb9e739a116b103c23e8d8108ac87",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/007.html": [
+   "6a409aa8cd0629dc1f71977e3994d07ccc7bbcfd",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt": [
+   "87950e080e06ff90f5923983c97a32093bd091b3",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008.html": [
+   "1c813722dd68b1a13348aa8071d99cf358ab9eca",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https-expected.txt": [
+   "37c7df8f30a22219c493917e16ddea0405088e27",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https.html": [
+   "02278f0ed00b2392afcbcacd56ddd750b7204241",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-1.html": [
+   "bf26fa8b0d8542fb5b7f6db9c1e8bdcc8cfa8081",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-2.html": [
+   "6b3c91516759cf79a2e15a45455f8071f517c346",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt": [
+   "25fa80e1c9f388afb26af6d3251b492ae8d46aa5",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010.html": [
+   "95a5ad21f6ff58456d614f767046c5d3c2131460",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-1.html": [
+   "5feea2d56edcfd872eeac109e2ff8e52acd6d60c",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html": [
+   "ca6b4c77e86496b0b6df85d8e61312786536c285",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-1.html": [
+   "923397f1eec1ea22f8515c44113dea080d9230eb",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html": [
+   "cd5d66387f4057c11c5b9645cbba5e66805f52d1",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-1.html": [
+   "32cd8db0139a5d65ce3ade4906724b3897a9e64d",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html": [
+   "ec55397d532ecac54cb3b04356b8034120161dbe",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-1.html": [
+   "23c430e683be5ea67d4be1c8ab7ff8064914199b",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html": [
+   "fff1c433d2d010c8afa15fc702afc5b33643dad3",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-1.html": [
+   "bfcf2e3d916c30f00f448f6c1b225be99f35c1c1",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt": [
+   "82822a4af0010098fea36402f64ba24a9aa4034f",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html": [
+   "3c6015624e24b5928ea38a574a76c4aee7b6dd40",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-1.html": [
+   "3320a164d93b8d39254c4609a5320e2f1bd115b2",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt": [
+   "fe93fdedced27b1b201ef03268861d9159687e6c",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html": [
+   "ea3ff6e58680da8c3f08e7f26ebc738d82703801",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js": [
+   "0ef6dab1d5e2364a0a75513469e339c20b14c674",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml": [
+   "cb059c7c17320c0e63e9453d3a0486a8a94b060a",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html": [
+   "1941d51b6489947d979480d097898e91b212e508",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt": [
+   "f9279c0eba4cb306ff433e841d73cb884dc54031",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html": [
+   "bcc6a14a9c3d116d95e72d3f057d0cd7cbffd2cb",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html": [
+   "a2a5acc9dfe53c7482eeaa4be3a4819238f8e120",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js": [
+   "b021d6fcc38925ddf39309e21716c5be37791247",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js": [
+   "ccf357a8081b99de1d85e05196145e83b3de2ab5",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js": [
+   "1e1c656e1d19c9c459faf16327e099a4c9e13872",
+   "testharness"
+  ],
   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html": [
    "5aea157f38d3bc075959be3d1f277ea25c731a66",
    "testharness"
@@ -375808,10 +375904,34 @@
    "b4cdd98c6eb9a3946b49a6876c62c7e35501f413",
    "testharness"
   ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html": [
+   "38be68cf85bbe4cef461963768fe1390733d67db",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html": [
+   "4cb26a783d232652a580e511e439b8bfaac04dfe",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html": [
+   "1d8ae9f75fe05343c1858caad637c9f7602c9f28",
+   "support"
+  ],
   "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html": [
    "f777c3f2ce746d415814083dc932f4a25a82c34f",
    "support"
   ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt": [
+   "8d06cea05d408d70c59b1dbc5df3bda374d869a4",
+   "support"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js": [
+   "1f440ff93300a0ab715982feb067dd3162c8fce9",
+   "testharness"
+  ],
+  "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js": [
+   "0f0020e1d7d8050892ef146d687178cfe8eedcd2",
+   "testharness"
+  ],
   "html/webappapis/scripting/.gitkeep": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
@@ -377281,7 +377401,7 @@
    "support"
   ],
   "interfaces/payment-request.idl": [
-   "75b25f49f12c282187aec91cfc59b92867ffa0ad",
+   "36c79f7397769aecbde6c47b2fb430c197b369b2",
    "support"
   ],
   "interfaces/performance-timeline.idl": [
@@ -387737,11 +387857,11 @@
    "testharness"
   ],
   "payment-request/idlharness.https.window-expected.txt": [
-   "4820c131955ad8ac437f54e4a260f8393784df12",
+   "47cedc7dd148721107820787139b7016c490a653",
    "support"
   ],
   "payment-request/idlharness.https.window.js": [
-   "f79dbdeb7275cea54a8dd8329fc1802dbd91743f",
+   "a1481e724c7881e44db341195c8cf818189cc5ec",
    "testharness"
   ],
   "payment-request/interfaces.https-expected.txt": [
@@ -388129,7 +388249,7 @@
    "testharness"
   ],
   "pointerevents/pointerevent_attributes_hoverable_pointers-manual.html": [
-   "9a71336042a931e45c7aef0e031669c26ac5c36c",
+   "852c9d598c230405d82a96dcd92a52827764e15c",
    "manual"
   ],
   "pointerevents/pointerevent_attributes_nohover_pointers-manual.html": [
@@ -404292,6 +404412,14 @@
    "11c8d88f78cb3e857479000332af49484da99212",
    "testharness"
   ],
+  "trusted-types/DOMParser-requiresTrustedTypes.tentative.html": [
+   "0846d9c9f9c97063915cee559bcf4a3e711e9887",
+   "testharness"
+  ],
+  "trusted-types/DOMParser.tentative.html": [
+   "a32d31137bcfc113ce1ca9f75c9770d3501364d5",
+   "testharness"
+  ],
   "trusted-types/META.yml": [
    "4966e7a03e815dac333218faf57875b57b9dd535",
    "support"
@@ -406041,7 +406169,7 @@
    "testharness"
   ],
   "web-animations/timing-model/timelines/update-and-send-events.html": [
-   "1f60aba2afa57960f17f19aa5ea1ff0370ec0b74",
+   "22947e732cd1b879118b0379302132c097960970",
    "testharness"
   ],
   "web-locks/META.yml": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.html b/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.html
index da39152..eb55b655 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.html
@@ -22,28 +22,22 @@
     <script>
       'use strict';
 
-      promise_test(async () => {
-        const idl = await fetch('/interfaces/FileAPI.idl').then(r => r.text());
-        const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
-        const html = await fetch('/interfaces/html.idl').then(r => r.text());
-        const url = await fetch('/interfaces/url.idl').then(r => r.text());
-
-        const idl_array = new IdlArray();
-        idl_array.add_idls(idl);
-        idl_array.add_dependency_idls(url);
-        idl_array.add_dependency_idls(html);
-        idl_array.add_dependency_idls(dom);
-        idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
-
-        idl_array.add_objects({
-          Blob: ['new Blob(["TEST"])'],
-          File: ['new File(["myFileBits"], "myFileName")'],
-          FileList: ['document.querySelector("#fileChooser").files'],
-          FileReader: ['new FileReader()']
-        });
-
-        idl_array.test();
-      }, 'Test FileAPI IDL implementation');
+      idl_test(
+        ['FileAPI'],
+        ['dom', 'html', 'url'],
+        idl_array => {
+          idl_array.add_untested_idls(
+            "[Exposed=(Window,Worker)] interface ArrayBuffer {};"
+          );
+          idl_array.add_objects({
+            Blob: ['new Blob(["TEST"])'],
+            File: ['new File(["myFileBits"], "myFileName")'],
+            FileList: ['document.querySelector("#fileChooser").files'],
+            FileReader: ['new FileReader()']
+          });
+        },
+        'Test FileAPI IDL implementation'
+      );
     </script>
 
   </body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.worker.js b/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.worker.js
index 4262a6d..e65ee01 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.worker.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/FileAPI/idlharness.worker.js
@@ -1,25 +1,22 @@
 importScripts("/resources/testharness.js");
 importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
 
-promise_test(async () => {
-  const idl = await fetch('/interfaces/FileAPI.idl').then(r => r.text());
-  const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
-  const html = await fetch('/interfaces/html.idl').then(r => r.text());
-  const url = await fetch('/interfaces/url.idl').then(r => r.text());
+'use strict';
 
-  const idl_array = new IdlArray();
-  idl_array.add_idls(idl);
-  idl_array.add_dependency_idls(dom);
-  idl_array.add_dependency_idls(html);
-  idl_array.add_dependency_idls(url);
-  idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
-  idl_array.add_objects({
-    Blob: ['new Blob(["TEST"])'],
-    File: ['new File(["myFileBits"], "myFileName")'],
-    FileReader: ['new FileReader()'],
-    FileReaderSync: ['new FileReaderSync()']
-  });
+// https://w3c.github.io/FileAPI/
 
-  idl_array.test();
-}, 'Test FileAPI IDL implementation');
+idl_test(
+  ['FileAPI'],
+  ['dom', 'html', 'url'],
+  idl_array => {
+    idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
+    idl_array.add_objects({
+      Blob: ['new Blob(["TEST"])'],
+      File: ['new File(["myFileBits"], "myFileName")'],
+      FileReader: ['new FileReader()'],
+      FileReaderSync: ['new FileReaderSync()']
+    });
+  },
+  'Test FileAPI IDL implementation'
+);
 done();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub-expected.txt
index 758fbfd..657edfe 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub-expected.txt
@@ -10,7 +10,7 @@
 PASS A labelable element is moved to inside of nested associated labels.
 PASS A labelable element which is a descendant of non-labelable element is moved to outside of associated label.
 PASS A labelable element is moved to iframe.
-PASS A div element which contains labelable element is removed.
+FAIL A div element which contains labelable element is removed. assert_equals: The number of labels should be 1 after the labelable element is removed but label element is still in the same tree. expected 1 but got 0
 FAIL A labelable element not in a document can label element in the same tree. assert_equals: The number of labels associated with a form control should be the number of label elements for which it is a labeled control. expected 2 but got 0
 PASS A labelable element inside the shadow DOM.
 PASS A form control has an implicit label.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub.html
index 25c7e511..8149a87 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/label-attributes.sub.html
@@ -227,7 +227,8 @@
   }, "A labelable element is moved to iframe.");
 
   test(function () {
-    var labels1 = document.getElementById("test14").labels;
+    var test14 = document.getElementById("test14");
+    var labels1 = test14.labels;
     var labels2 = document.getElementById("test15").labels;
     assert_true(labels1 instanceof NodeList,
                 "A form control's 'labels' property should be an instance of a NodeList.");
@@ -237,12 +238,17 @@
                   "The number of labels associated with a form control should be the number of label elements for which it is a labeled control.");
     assert_array_equals(labels1, [document.getElementById("lbl14")],
                         "The labels for a form control should be returned in tree order.");
+    assert_array_equals(labels2, [document.getElementById("lbl15")],
+                        "The labels for a form control should be returned in tree order.");
 
     document.getElementById('div6').removeChild(document.getElementById('div7'));
-    assert_equals(labels1.length, 0,
-                  "The number of labels should be 0 after the labelable element is removed.");
+    assert_equals(labels1.length, 1,
+                  "The number of labels should be 1 after the labelable element is removed but label element is still in the same tree.");
     assert_equals(labels2.length, 0,
                   "The number of labels should be 0 since there is no label with a 'for' attribute associated with this labelable element.");
+    test14.remove();
+    assert_equals(labels1.length, 0,
+                  "The number of labels should be 0 after the labelable element is removed.");
   }, "A div element which contains labelable element is removed.");
 
   test(function () {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/001.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/001.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/001.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/001.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/002.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/002.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/002.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/002.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/003.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/003.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/003.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/003.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/004.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/004.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/004.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/004.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/005.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/005.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/005.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/005.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/005.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/005.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/005.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/005.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/006.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/006.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/006.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/006.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/006.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/006.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/006.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/006.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/007.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/007.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/007.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/007.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/007.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/007.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/007.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/007.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/008-1.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/008-1.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/008-1.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/008-1.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/008.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/008.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/008.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/008.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/008.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/008.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/008.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/008.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/009.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/009.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/009.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/009.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/010-1.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/010-1.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/010-1.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/010-1.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/010.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/010.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/010.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/010.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/010.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/010.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/010.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/010.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/011-1.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/011-1.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/011-1.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/011-1.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/011.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/011.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/011.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/011.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/011.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/011.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/011.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/011.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/012.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/012.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/012.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/012.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/012.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/012.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/012.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/012.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/013.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/013.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/013.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/013.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/013.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/013.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/013.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/013.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/014.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/014.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/014.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/014.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/015.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/015.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/015.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/015.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/016.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/016.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/016.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/016.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/017.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/017.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/017.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/017.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/018.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/018.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/018.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/018.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/019.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/019.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/019.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/019.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/020.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/020.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/020.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/020.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/021.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/021.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/021.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/021.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/022.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/022.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/022.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/022.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/023.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/023.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/023.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/023.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/024.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/024.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/024.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/024.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/025.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/025.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/025.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/025.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/026.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/026.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/026.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/026.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/027.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/027.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/027.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/027.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/028.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/028.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/028.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/028.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/029.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/029.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/029.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/029.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/030.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/030.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/030.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/030.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/031.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/031.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/031.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/031.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/032.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/032.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/032.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/032.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/033.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/033.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/033.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/033.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/034.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/034.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/034.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/034.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/035.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/035.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/035.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/035.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/036.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/036.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/036.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/036.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/037.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/037.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/037.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/037.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/038.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/038.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/038.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/038.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/039.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/039.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/039.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/039.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/040.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/040.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/040.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/040.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/041.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/041.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/041.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/041.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/042.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/042.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/042.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/042.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/043.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/043.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/043.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/043.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/044.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/044.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/044.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/044.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/045.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/045.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/045.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/045.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/046.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/046.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/046.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/046.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/047.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/047.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/047.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/047.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/048.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/048.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/048.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/048.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/049.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/049.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/049.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/049.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/050.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/050.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/050.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/050.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/051.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/051.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/051.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/051.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt
new file mode 100644
index 0000000..ff3d352
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+FAIL document.write(): video document Cannot read property 'firstChild' of null
+FAIL document.write(): image document Cannot read property 'firstChild' of null
+PASS document.write(): text document
+PASS document.write(): HTML document
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/contentType.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/contentType.window.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/document.write-02.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/document.write-02.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/empty.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/empty.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/empty.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/empty.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_001.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_001.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_002.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_002.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_003.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_003.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_004.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_004.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_005.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_005.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_005.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_005.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_006.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_006.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_007.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_007.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_008.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_008.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_009.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_009.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_010.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/iframe_010.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/nested-document-write-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/nested-document-write-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/nested-document-write-2.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-2.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/nested-document-write-2.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-2.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/nested-document-write-external.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-external.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/nested-document-write-external.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-external.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/original-id.json b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/original-id.json
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/original-id.json
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/original-id.json
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_001.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_001.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_001.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_001.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_002.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_002.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_002.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_002.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_003.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_003.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_003.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_003.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_004.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_004.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_004.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_004.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_005.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_005.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_005.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_005.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_006.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_006.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_006.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_006.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_007.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_007.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_007.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_007.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_008.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_008.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_008.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_008.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_009.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_009.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_009.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_009.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_010.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_010.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_010.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_010.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_011.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_011.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_011.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_011.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_012.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_012.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_012.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_012.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_013.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_013.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/script_013.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/script_013.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt
new file mode 100644
index 0000000..7c64cdb14
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL document.write only writes to active documents assert_equals: expected (string) "IFRAME" but got (undefined) undefined
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/write-active-document.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-write/write-active-document.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-02.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/document.writeln-03.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/original-id.json b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/original-id.json
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/document-writeln/original-id.json
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/document-writeln/original-id.json
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt
new file mode 100644
index 0000000..213d5f7f51
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Replacement of window object after document.open assert_false: Variables are not preserved after document.open expected false got true
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/001.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/001.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/002.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/004-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/004.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt
new file mode 100644
index 0000000..3694fe0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Cancelling timeout after document.open assert_unreached: Reached unreachable code
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/005.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/005.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/006.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/007.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/007.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/007.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt
new file mode 100644
index 0000000..80de0ce5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Replacement of document prototype object after document.open assert_equals: expected (undefined) undefined but got (number) 1
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/008.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/008.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https-expected.txt
new file mode 100644
index 0000000..498a5b5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https-expected.txt
@@ -0,0 +1,11 @@
+This is a testharness.js-based test.
+FAIL document.open replacing singleton window assert_equals: expected (undefined) undefined but got (number) 1
+FAIL document.open replacing singleton location assert_equals: expected (undefined) undefined but got (number) 1
+FAIL document.open replacing singleton history assert_equals: expected (undefined) undefined but got (number) 1
+FAIL document.open replacing singleton navigator assert_equals: expected (undefined) undefined but got (number) 1
+FAIL document.open replacing singleton applicationCache assert_equals: expected (undefined) undefined but got (number) 1
+FAIL document.open replacing singleton sessionStorage assert_equals: expected (undefined) undefined but got (string) "1"
+FAIL document.open replacing singleton localStorage assert_equals: expected (undefined) undefined but got (string) "1"
+FAIL document.open replacing singleton locationbar assert_equals: expected (undefined) undefined but got (number) 1
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.https.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/009.https.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/009.https.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-2.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-2.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-2.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt
new file mode 100644
index 0000000..f342c3fb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Salvagability of document.opened document assert_unreached: Reached unreachable code
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/010.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/011-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/011.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/012-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/012.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/013-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/013.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/014-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/014.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/015-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt
new file mode 100644
index 0000000..ec9594c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt
@@ -0,0 +1,6 @@
+This is a testharness.js-based test.
+FAIL global scope unchanged assert_equals: expected 1 but got 2
+PASS window object changed
+PASS this is the window object
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/015.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-1.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/016-1.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-1.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt
new file mode 100644
index 0000000..75d73c9a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+FAIL Timeout on original window, scope assert_equals: Global scope from original window timeout expected 1 but got 2
+PASS Timeout on original window, this object
+FAIL Timeout on new window, scope assert_equals: Global scope from original window timeout expected 1 but got 2
+PASS Timeout on new window, this object
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/016.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js
new file mode 100644
index 0000000..1d94de8a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js
@@ -0,0 +1,28 @@
+// document.open() bails out early if there is an **active parser** with
+// non-zero script nesting level. window.stop() aborts the current parser and
+// makes it no longer active, and should allow document.open() to work.
+// For more details, see https://bugzilla.mozilla.org/show_bug.cgi?id=1475000.
+
+window.handlers = {};
+
+async_test(t => {
+  const frame = document.body.appendChild(document.createElement("iframe"));
+  frame.src = "resources/aborted-parser-frame.html";
+  window.handlers.afterOpen = t.step_func_done(() => {
+    const openCalled = frame.contentDocument.childNodes.length === 0;
+    frame.remove();
+    assert_true(openCalled, "child document should be empty");
+  });
+}, "document.open() after parser is aborted");
+
+// Note: This test should pass even if window.close() is not there, as
+// document.open() is not executed synchronously in an inline script.
+async_test(t => {
+  const frame = document.body.appendChild(document.createElement("iframe"));
+  frame.src = "resources/aborted-parser-async-frame.html";
+  window.handlers.afterOpenAsync = t.step_func_done(() => {
+    const openCalled = frame.contentDocument.childNodes.length === 0;
+    frame.remove();
+    assert_true(openCalled, "child document should be empty");
+  });
+}, "async document.open() after parser is aborted");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt
new file mode 100644
index 0000000..e2f4c2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL document.open and singleton replacement assert_equals: setTimeout expected false but got true
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html
new file mode 100644
index 0000000..d5535630
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<p>Text</p>
+<script>
+window.stop();
+parent.step_timeout(() => {
+  document.open();
+  parent.handlers.afterOpenAsync();
+}, 10);
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html
new file mode 100644
index 0000000..d9ec235
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html
@@ -0,0 +1,7 @@
+<!doctype html>
+<p>Text</p>
+<script>
+window.stop();
+document.open();
+parent.handlers.afterOpen();
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js
rename to third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl
index 0c0a3f4..e9c6d76 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl
@@ -4,149 +4,169 @@
 // See: https://w3c.github.io/payment-request/
 
 [Constructor(sequence<PaymentMethodData> methodData, PaymentDetailsInit details, optional PaymentOptions options),
- SecureContext,
- Exposed=Window]
+SecureContext, Exposed=Window]
 interface PaymentRequest : EventTarget {
-    Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
-    Promise<void>            abort();
-    Promise<boolean>         canMakePayment();
+  [NewObject]
+  Promise<PaymentResponse> show(optional Promise<PaymentDetailsUpdate> detailsPromise);
+  [NewObject]
+  Promise<void> abort();
+  [NewObject]
+  Promise<boolean> canMakePayment();
 
-    readonly attribute DOMString            id;
-    readonly attribute PaymentAddress?      shippingAddress;
-    readonly attribute DOMString?           shippingOption;
-    readonly attribute PaymentShippingType? shippingType;
+  readonly attribute DOMString id;
+  readonly attribute PaymentAddress? shippingAddress;
+  readonly attribute DOMString? shippingOption;
+  readonly attribute PaymentShippingType? shippingType;
 
-             attribute EventHandler         onshippingaddresschange;
-
-             attribute EventHandler         onshippingoptionchange;
+  attribute EventHandler onshippingaddresschange;
+  attribute EventHandler onshippingoptionchange;
+  attribute EventHandler onpaymentmethodchange;
 };
 dictionary PaymentMethodData {
-    required DOMString supportedMethods;
-             object    data;
+  required DOMString supportedMethods;
+  object data;
 };
 dictionary PaymentCurrencyAmount {
-    required DOMString currency;
-    required DOMString value;
+  required DOMString currency;
+  required DOMString value;
 };
 dictionary PaymentDetailsBase {
-    sequence<PaymentItem>            displayItems;
-    sequence<PaymentShippingOption>  shippingOptions;
-    sequence<PaymentDetailsModifier> modifiers;
+  sequence<PaymentItem> displayItems;
+  sequence<PaymentShippingOption> shippingOptions;
+  sequence<PaymentDetailsModifier> modifiers;
 };
 dictionary PaymentDetailsInit : PaymentDetailsBase {
-             DOMString   id;
-    required PaymentItem total;
+  DOMString id;
+  required PaymentItem total;
 };
 dictionary PaymentDetailsUpdate : PaymentDetailsBase {
-    DOMString          error;
-    PaymentItem        total;
-    AddressErrorFields shippingAddressErrors;
+  DOMString error;
+  PaymentItem total;
+  AddressErrorFields shippingAddressErrors;
 };
 dictionary PaymentDetailsModifier {
-    required DOMString             supportedMethods;
-             PaymentItem           total;
-             sequence<PaymentItem> additionalDisplayItems;
-             object                data;
+  required DOMString supportedMethods;
+  PaymentItem total;
+  sequence<PaymentItem> additionalDisplayItems;
+  object data;
 };
 enum PaymentShippingType {
-    "shipping",
-    "delivery",
-    "pickup"
+  "shipping",
+  "delivery",
+  "pickup"
 };
 dictionary PaymentOptions {
-    boolean             requestPayerName = false;
-    boolean             requestPayerEmail = false;
-    boolean             requestPayerPhone = false;
-    boolean             requestShipping = false;
-    PaymentShippingType shippingType = "shipping";
+  boolean requestPayerName = false;
+  boolean requestPayerEmail = false;
+  boolean requestPayerPhone = false;
+  boolean requestShipping = false;
+  PaymentShippingType shippingType = "shipping";
 };
 dictionary PaymentItem {
-    required DOMString             label;
-    required PaymentCurrencyAmount amount;
-             boolean               pending = false;
-    // Note: type member is "at risk" of being removed!
-             PaymentItemType       type;
+  required DOMString label;
+  required PaymentCurrencyAmount amount;
+  boolean pending = false;
+  // Note: type member is "at risk" of being removed!
+  PaymentItemType type;
 };
 enum PaymentItemType {
-    "tax"
+  "tax"
 };
-[SecureContext,
- Exposed=(Window)]
+[SecureContext, Exposed=(Window)]
 interface PaymentAddress {
-    [Default] object toJSON();
-    readonly attribute DOMString              city;
-    readonly attribute DOMString              country;
-    readonly attribute DOMString              dependentLocality;
-    readonly attribute DOMString              languageCode;
-    readonly attribute DOMString              organization;
-    readonly attribute DOMString              phone;
-    readonly attribute DOMString              postalCode;
-    readonly attribute DOMString              recipient;
-    readonly attribute DOMString              region;
-    readonly attribute DOMString              regionCode;
-    readonly attribute DOMString              sortingCode;
-    readonly attribute FrozenArray<DOMString> addressLine;
+  [Default] object toJSON();
+  readonly attribute DOMString city;
+  readonly attribute DOMString country;
+  readonly attribute DOMString dependentLocality;
+  readonly attribute DOMString languageCode;
+  readonly attribute DOMString organization;
+  readonly attribute DOMString phone;
+  readonly attribute DOMString postalCode;
+  readonly attribute DOMString recipient;
+  readonly attribute DOMString region;
+  readonly attribute DOMString regionCode;
+  readonly attribute DOMString sortingCode;
+  readonly attribute FrozenArray<DOMString> addressLine;
 };
 dictionary AddressInit {
-    DOMString           country;
-    sequence<DOMString> addressLine;
-    DOMString           region;
-    DOMString           regionCode;
-    DOMString           city;
-    DOMString           dependentLocality;
-    DOMString           postalCode;
-    DOMString           sortingCode;
-    DOMString           languageCode;
-    DOMString           organization;
-    DOMString           recipient;
-    DOMString           phone;
+  DOMString country;
+  sequence<DOMString> addressLine;
+  DOMString region;
+  DOMString regionCode;
+  DOMString city;
+  DOMString dependentLocality;
+  DOMString postalCode;
+  DOMString sortingCode;
+  DOMString languageCode;
+  DOMString organization;
+  DOMString recipient;
+  DOMString phone;
 };
 dictionary AddressErrorFields {
-    DOMString addressLineError;
-    DOMString cityError;
-    DOMString countryError;
-    DOMString dependentLocalityError;
-    DOMString languageCodeError;
-    DOMString organizationError;
-    DOMString phoneError;
-    DOMString postalCodeError;
-    DOMString recipientError;
-    DOMString regionError;
-    DOMString regionCodeError;
-    DOMString sortingCodeError;
+  DOMString addressLine;
+  DOMString city;
+  DOMString country;
+  DOMString dependentLocality;
+  DOMString languageCode;
+  DOMString organization;
+  DOMString phone;
+  DOMString postalCode;
+  DOMString recipient;
+  DOMString region;
+  DOMString regionCode;
+  DOMString sortingCode;
 };
 dictionary PaymentShippingOption {
-    required DOMString             id;
-    required DOMString             label;
-    required PaymentCurrencyAmount amount;
-             boolean               selected = false;
+  required DOMString id;
+  required DOMString label;
+  required PaymentCurrencyAmount amount;
+  boolean selected = false;
 };
 enum PaymentComplete {
-    "fail",
-    "success",
-    "unknown"
+  "fail",
+  "success",
+  "unknown"
 };
-[SecureContext,
- Exposed=Window]
-interface PaymentResponse {
-    [Default] object        toJSON();
+[SecureContext, Exposed=Window]
+interface PaymentResponse : EventTarget {
+  [Default] object toJSON();
 
-    readonly attribute DOMString       requestId;
-    readonly attribute DOMString       methodName;
-    readonly attribute object          details;
-    readonly attribute PaymentAddress? shippingAddress;
-    readonly attribute DOMString?      shippingOption;
-    readonly attribute DOMString?      payerName;
-    readonly attribute DOMString?      payerEmail;
-    readonly attribute DOMString?      payerPhone;
+  readonly attribute DOMString requestId;
+  readonly attribute DOMString methodName;
+  readonly attribute object details;
+  readonly attribute PaymentAddress? shippingAddress;
+  readonly attribute DOMString? shippingOption;
+  readonly attribute DOMString? payerName;
+  readonly attribute DOMString? payerEmail;
+  readonly attribute DOMString? payerPhone;
 
-    Promise<void> complete(optional PaymentComplete result = "unknown");
+  [NewObject]
+  Promise<void> complete(optional PaymentComplete result = "unknown");
+  [NewObject]
+  Promise<void> retry(PaymentValidationErrors errorFields);
+
+  attribute EventHandler onpayerdetailchange;
 };
-[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict),
- SecureContext,
- Exposed=Window]
+dictionary PaymentValidationErrors {
+  PayerErrorFields payer;
+  AddressErrorFields shippingAddress;
+};
+dictionary PayerErrorFields {
+  DOMString email;
+  DOMString name;
+  DOMString phone;
+};
+[Constructor(DOMString type, optional PaymentMethodChangeEventInit eventInitDict), SecureContext, Exposed=Window]
+interface PaymentMethodChangeEvent : PaymentRequestUpdateEvent {
+  readonly attribute DOMString methodName;
+  readonly attribute object? methodDetails;
+};
+dictionary PaymentMethodChangeEventInit : PaymentRequestUpdateEventInit {
+  required DOMString methodName;
+  object? methodDetails;
+};
+[Constructor(DOMString type, optional PaymentRequestUpdateEventInit eventInitDict), SecureContext, Exposed=Window]
 interface PaymentRequestUpdateEvent : Event {
-    void updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
+  void updateWith(Promise<PaymentDetailsUpdate> detailsPromise);
 };
-dictionary PaymentRequestUpdateEventInit : EventInit {
-};
+dictionary PaymentRequestUpdateEventInit : EventInit {};
diff --git a/third_party/WebKit/LayoutTests/external/wpt/lint.whitelist b/third_party/WebKit/LayoutTests/external/wpt/lint.whitelist
index 01e4179..de9e36cf 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/lint.whitelist
+++ b/third_party/WebKit/LayoutTests/external/wpt/lint.whitelist
@@ -156,11 +156,11 @@
 SET TIMEOUT: html/browsers/history/the-session-history-of-browsing-contexts/*
 SET TIMEOUT: html/browsers/offline/*
 SET TIMEOUT: html/browsers/the-window-object/*
-SET TIMEOUT: html/dom/dynamic-markup-insertion/opening-the-input-stream/*
 SET TIMEOUT: html/editing/dnd/*
 SET TIMEOUT: html/semantics/embedded-content/the-iframe-element/*
 SET TIMEOUT: html/semantics/embedded-content/the-img-element/*
 SET TIMEOUT: html/semantics/scripting-1/the-script-element/*
+SET TIMEOUT: html/webappapis/dynamic-markup-insertion/opening-the-input-stream/0*
 SET TIMEOUT: html/webappapis/scripting/event-loops/*
 SET TIMEOUT: html/webappapis/scripting/events/event-handler-processing-algorithm-error/*
 SET TIMEOUT: html/webappapis/scripting/processing-model-2/*
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window-expected.txt
index 32e5de76..ecdb827a 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window-expected.txt
@@ -24,6 +24,8 @@
 PASS Unscopable handled correctly for onshippingaddresschange property on PaymentRequest
 PASS PaymentRequest interface: attribute onshippingoptionchange
 PASS Unscopable handled correctly for onshippingoptionchange property on PaymentRequest
+FAIL PaymentRequest interface: attribute onpaymentmethodchange assert_true: The prototype object must have a property "onpaymentmethodchange" expected true got false
+PASS Unscopable handled correctly for onpaymentmethodchange property on PaymentRequest
 PASS PaymentRequest must be primary interface of paymentRequest
 PASS Stringification of paymentRequest
 PASS PaymentRequest interface: paymentRequest must inherit property "show([object Object])" with the proper type
@@ -36,6 +38,7 @@
 PASS PaymentRequest interface: paymentRequest must inherit property "shippingType" with the proper type
 PASS PaymentRequest interface: paymentRequest must inherit property "onshippingaddresschange" with the proper type
 PASS PaymentRequest interface: paymentRequest must inherit property "onshippingoptionchange" with the proper type
+FAIL PaymentRequest interface: paymentRequest must inherit property "onpaymentmethodchange" with the proper type assert_inherits: property "onpaymentmethodchange" not found in prototype chain
 PASS PaymentAddress interface: existence and properties of interface object
 PASS PaymentAddress interface object length
 PASS PaymentAddress interface object name
@@ -68,10 +71,10 @@
 PASS Unscopable handled correctly for sortingCode property on PaymentAddress
 PASS PaymentAddress interface: attribute addressLine
 PASS Unscopable handled correctly for addressLine property on PaymentAddress
-PASS PaymentResponse interface: existence and properties of interface object
+FAIL PaymentResponse interface: existence and properties of interface object assert_equals: prototype of PaymentResponse is not EventTarget expected function "function EventTarget() { [native code] }" but got function "function () { [native code] }"
 PASS PaymentResponse interface object length
 PASS PaymentResponse interface object name
-PASS PaymentResponse interface: existence and properties of interface prototype object
+FAIL PaymentResponse interface: existence and properties of interface prototype object assert_equals: prototype of PaymentResponse.prototype is not EventTarget.prototype expected object "[object EventTarget]" but got object "[object Object]"
 PASS PaymentResponse interface: existence and properties of interface prototype object's "constructor" property
 PASS PaymentResponse interface: existence and properties of interface prototype object's @@unscopables property
 PASS PaymentResponse interface: operation toJSON()
@@ -94,6 +97,26 @@
 PASS Unscopable handled correctly for payerPhone property on PaymentResponse
 PASS PaymentResponse interface: operation complete(PaymentComplete)
 PASS Unscopable handled correctly for complete(PaymentComplete) on PaymentResponse
+PASS PaymentResponse interface: operation retry(PaymentValidationErrors)
+PASS Unscopable handled correctly for retry(PaymentValidationErrors) on PaymentResponse
+FAIL PaymentResponse interface: attribute onpayerdetailchange assert_true: The prototype object must have a property "onpayerdetailchange" expected true got false
+PASS Unscopable handled correctly for onpayerdetailchange property on PaymentResponse
+FAIL PaymentMethodChangeEvent interface: existence and properties of interface object assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+FAIL PaymentMethodChangeEvent interface object length assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+FAIL PaymentMethodChangeEvent interface object name assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+FAIL PaymentMethodChangeEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+FAIL PaymentMethodChangeEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+FAIL PaymentMethodChangeEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+FAIL PaymentMethodChangeEvent interface: attribute methodName assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+PASS Unscopable handled correctly for methodName property on PaymentMethodChangeEvent
+FAIL PaymentMethodChangeEvent interface: attribute methodDetails assert_own_property: self does not have own property "PaymentMethodChangeEvent" expected property "PaymentMethodChangeEvent" missing
+PASS Unscopable handled correctly for methodDetails property on PaymentMethodChangeEvent
+FAIL PaymentMethodChangeEvent must be primary interface of new PaymentMethodChangeEvent("paymentmethodchange") assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: PaymentMethodChangeEvent is not defined"
+FAIL Stringification of new PaymentMethodChangeEvent("paymentmethodchange") assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: PaymentMethodChangeEvent is not defined"
+FAIL PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodName" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: PaymentMethodChangeEvent is not defined"
+FAIL PaymentMethodChangeEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "methodDetails" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: PaymentMethodChangeEvent is not defined"
+FAIL PaymentRequestUpdateEvent interface: new PaymentMethodChangeEvent("paymentmethodchange") must inherit property "updateWith([object Object])" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: PaymentMethodChangeEvent is not defined"
+FAIL PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentMethodChangeEvent("paymentmethodchange") with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: PaymentMethodChangeEvent is not defined"
 PASS PaymentRequestUpdateEvent interface: existence and properties of interface object
 PASS PaymentRequestUpdateEvent interface object length
 PASS PaymentRequestUpdateEvent interface object name
@@ -102,5 +125,9 @@
 PASS PaymentRequestUpdateEvent interface: existence and properties of interface prototype object's @@unscopables property
 PASS PaymentRequestUpdateEvent interface: operation updateWith([object Object])
 PASS Unscopable handled correctly for updateWith([object Object]) on PaymentRequestUpdateEvent
+PASS PaymentRequestUpdateEvent must be primary interface of new PaymentRequestUpdateEvent("paymentrequestupdate")
+PASS Stringification of new PaymentRequestUpdateEvent("paymentrequestupdate")
+PASS PaymentRequestUpdateEvent interface: new PaymentRequestUpdateEvent("paymentrequestupdate") must inherit property "updateWith([object Object])" with the proper type
+PASS PaymentRequestUpdateEvent interface: calling updateWith([object Object]) on new PaymentRequestUpdateEvent("paymentrequestupdate") with too few arguments must throw TypeError
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window.js b/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window.js
index 1efdfb2..57a2c942 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/idlharness.https.window.js
@@ -10,16 +10,21 @@
   ['dom', 'html'],
   idlArray => {
     try {
-      const methods = [{supportedMethods: 'foo'}];
+      const methods = [
+        {supportedMethods: 'basic-card'},
+        {supportedMethods: 'https://apple.com/apple-pay'},
+      ];
       const amount = {currency: 'USD', value: '0'};
-      const details = {total: {label: 'bar', amount: amount} };
+      const details = {total: {label: 'label', amount: amount} };
       window.paymentRequest = new PaymentRequest(methods, details);
     } catch (e) {
-      // Will be surfaced in idlharness.js's test_object below.
+      // Surfaced below when paymentRequest is undefined.
     }
 
     idlArray.add_objects({
       PaymentRequest: ['paymentRequest'],
+      PaymentMethodChangeEvent: ['new PaymentMethodChangeEvent("paymentmethodchange")'],
+      PaymentRequestUpdateEvent: ['new PaymentRequestUpdateEvent("paymentrequestupdate")'],
     });
   },
   'Setup for Payment Request API IDL tests.'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html b/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html
index 0922ae7..e7471451 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html
@@ -60,11 +60,14 @@
                 // Test clientX and clientY
                 if (event.type != 'pointerout' && event.type != 'pointerleave' ) {
                     test(function () {
-                        assert_true(event.clientX >= targetBoundingClientRect.left && event.clientX < targetBoundingClientRect.right && event.clientY >= targetBoundingClientRect.top && event.clientY < targetBoundingClientRect.bottom, "ClientX/Y should be in the boundaries of the box");
+                        assert_greater_than_equal(event.clientX, targetBoundingClientRect.left, "clientX should be greater or equal than left of the box");
+                        assert_greater_than_equal(event.clientY, targetBoundingClientRect.top, "clientY should be greater or equal than top of the box");
+                        assert_less_than_equal(event.clientX, targetBoundingClientRect.right, "clientX should be less or equal than right of the box");
+                        assert_less_than_equal(event.clientY, targetBoundingClientRect.bottom, "clientY should be less or equal than bottom of the box");
                     }, pointerTestName + "'s ClientX and ClientY attributes are correct.");
                 } else {
                     test(function () {
-                        assert_true(event.clientX < targetBoundingClientRect.left || event.clientX > targetBoundingClientRect.right - 1 || event.clientY < targetBoundingClientRect.top || event.clientY > targetBoundingClientRect.bottom - 1, "ClientX/Y should be out of the boundaries of the box");
+                        assert_true(event.clientX < targetBoundingClientRect.left || event.clientX >= targetBoundingClientRect.right || event.clientY < targetBoundingClientRect.top || event.clientY >= targetBoundingClientRect.bottom, "ClientX/Y should be out of the boundaries of the box");
                     }, pointerTestName + "'s ClientX and ClientY attributes are correct.");
                 }
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https-expected.txt
new file mode 100644
index 0000000..ed6a9fc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https-expected.txt
@@ -0,0 +1,5 @@
+This is a testharness.js-based test.
+PASS fetch() in Worker should be intercepted after the client is claimed.
+FAIL fetch() in nested Worker should be intercepted after the client is claimed. assert_equals: fetch() should not be intercepted. expected "a simple text file\n" but got "Fail: undefined"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https.html
index 2bc6536..c2c254c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/claim-worker-fetch.https.html
@@ -8,16 +8,26 @@
 <script>
 
 promise_test(function(t) {
-  var frame;
+  return runTest(t, 'resources/claim-worker-fetch-iframe.html');
+}, 'fetch() in Worker should be intercepted after the client is claimed.');
+
+promise_test(function(t) {
+  return runTest(t, 'resources/claim-nested-worker-fetch-iframe.html');
+}, 'fetch() in nested Worker should be intercepted after the client is claimed.');
+
+var frame;
+var registration;
+
+function runTest(t, iframe_url) {
   var resource = 'simple.txt';
 
   var worker;
   var scope = 'resources/';
   var script = 'resources/claim-worker.js';
 
-  return Promise.resolve()
+  const test_result = Promise.resolve()
     // Create the test iframe with a dedicated worker.
-    .then(() => with_iframe('resources/claim-worker-fetch-iframe.html'))
+    .then(() => with_iframe(iframe_url))
     .then(f => frame = f)
 
     // Check the controller and test with fetch in the worker.
@@ -49,20 +59,29 @@
 
     // Check the controller and test with fetch in the worker.
     .then(() => frame.contentWindow.navigator.serviceWorker.getRegistration(scope))
-    .then(r => assert_equals(frame.contentWindow.navigator.serviceWorker.controller,
-                             r.active,
+    .then(r => registration = r)
+    .then(() => assert_equals(frame.contentWindow.navigator.serviceWorker.controller,
+                             registration.active,
                              'Test iframe should be claimed.'))
     // TODO(horo): Check the worker's navigator.seviceWorker.controller.
     .then(() => frame.contentWindow.fetch_in_worker(resource))
     .then(response_text =>
           assert_equals(response_text,
                         'Intercepted!',
-                        'fetch() in the worker should be intercepted.'))
+                        'fetch() in the worker should be intercepted.'));
 
     // Cleanup this testcase.
-    .then(() => frame.remove())
-    .then(() => service_worker_unregister_and_done(t, scope));
-}, 'fetch() in Worker should be intercepted after the client is claimed.')
+    return Promise.resolve()
+        .then(cleanup, cleanup)
+        .then(() => { return test_result; });
+}
+
+const cleanup = async () => {
+  if (registration)
+    await registration.unregister();
+  if (frame)
+    frame.remove();
+}
 
 </script>
 </body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-nested-worker-fetch-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-nested-worker-fetch-iframe.html
new file mode 100644
index 0000000..2fa15db
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-nested-worker-fetch-iframe.html
@@ -0,0 +1,16 @@
+<!doctype html>
+<script>
+// An iframe that starts a nested worker. Our parent frame (the test page) calls
+// fetch_in_worker() to ask the nested worker to perform a fetch to see whether
+// it's controlled by a service worker.
+var worker = new Worker('./claim-nested-worker-fetch-parent-worker.js');
+
+function fetch_in_worker(url) {
+  return new Promise((resolve) => {
+    worker.onmessage = (event) => {
+      resolve(event.data);
+    };
+    worker.postMessage(url);
+  });
+}
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-nested-worker-fetch-parent-worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-nested-worker-fetch-parent-worker.js
new file mode 100644
index 0000000..f5ff7c2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/claim-nested-worker-fetch-parent-worker.js
@@ -0,0 +1,12 @@
+try {
+  var worker = new Worker('./claim-worker-fetch-worker.js');
+
+  self.onmessage = (event) => {
+    worker.postMessage(event.data);
+  }
+  worker.onmessage = (event) => {
+    self.postMessage(event.data);
+  };
+} catch (e) {
+  self.postMessage("Fail: " + e.data);
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/nested_load_worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/nested_load_worker.js
new file mode 100644
index 0000000..6e2e9edc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/nested_load_worker.js
@@ -0,0 +1,9 @@
+var worker = new Worker("load_worker.js");
+
+self.onmessage = function (evt) {
+  worker.postMessage(evt.data);
+};
+
+worker.onmessage = function (evt) {
+  self.postMessage(evt.data);
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html
index e89b386..ab10a07 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html
@@ -3,9 +3,9 @@
 <script>
 var host_info = get_host_info();
 
-function boilerplate_test(msg) {
+function boilerplate_test(url, msg) {
     return new Promise(function(resolve, reject) {
-          var worker = new Worker("load_worker.js");
+          var worker = new Worker(url);
           worker.onmessage = function(e) { resolve(e.data) };
           worker.onerror = function(e) { reject(e) };
           worker.postMessage(msg);
@@ -16,15 +16,27 @@
 }
 
 function xhr_test() {
-    return boilerplate_test("xhr");
+    return boilerplate_test("load_worker.js", "xhr");
 }
 
 function fetch_test() {
-    return boilerplate_test("fetch");
+    return boilerplate_test("load_worker.js", "fetch");
 }
 
 function importScripts_test() {
-    return boilerplate_test("importScripts");
+    return boilerplate_test("load_worker.js", "importScripts");
+}
+
+function nested_worker_xhr_test() {
+    return boilerplate_test("nested_load_worker.js", "xhr");
+}
+
+function nested_worker_fetch_test() {
+    return boilerplate_test("nested_load_worker.js", "fetch");
+}
+
+function nested_worker_importScripts_test() {
+    return boilerplate_test("nested_load_worker.js", "importScripts");
 }
 
 window.addEventListener('message', function(evt) {
@@ -32,6 +44,9 @@
     xhr_test()
       .then(fetch_test)
       .then(importScripts_test)
+      .then(nested_worker_xhr_test)
+      .then(nested_worker_fetch_test)
+      .then(nested_worker_importScripts_test)
       .then(function() { port.postMessage({results: 'finish'}); })
       .catch(function(e) { port.postMessage({results: 'failure:' + e}); });
   });
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/timelines/update-and-send-events.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/timelines/update-and-send-events.html
index 0134815..a0561fa3 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/timelines/update-and-send-events.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/timelines/update-and-send-events.html
@@ -19,9 +19,7 @@
   await animation.ready;
 
   let rAFReceived = false;
-  requestAnimationFrame(() => {
-    rAFReceived = true;
-  });
+  requestAnimationFrame(() => rAFReceived = true);
 
   const eventWatcher = new EventWatcher(t, animation, 'cancel');
   animation.cancel();
@@ -42,9 +40,7 @@
   await animation.ready;
 
   let rAFReceived = false;
-  requestAnimationFrame(() => {
-    rAFReceived = true;
-  });
+  requestAnimationFrame(() => rAFReceived = true);
 
   const eventWatcher = new EventWatcher(t, animation, 'finish');
   animation.finish();
@@ -109,12 +105,8 @@
     receivedEvents.push({ type, timeStamp });
   }
 
-  div.onanimationcancel = event => {
-    receiveEvent(event.type, event.timeStamp);
-  };
-  div.ontransitioncancel = event => {
-    receiveEvent(event.type, event.timeStamp);
-  };
+  div.onanimationcancel = event => receiveEvent(event.type, event.timeStamp);
+  div.ontransitioncancel = event => receiveEvent(event.type, event.timeStamp);
 
   getComputedStyle(div).marginLeft;
   div.style = 'animation: anim 100s; ' +
@@ -164,9 +156,7 @@
   const anim = div.getAnimations()[0];
 
   let receivedEvents = [];
-  anim.oncancel = event => {
-    receivedEvents.push(event);
-  };
+  anim.oncancel = event => receivedEvents.push(event);
 
   const eventWatcher = new EventWatcher(t, div, 'transitionstart');
   await eventWatcher.wait_for('transitionstart');
@@ -188,4 +178,32 @@
     'The cancel event should be dispatched in a later frame');
 }, 'Queues a cancel event in transitionstart event callback');
 
+promise_test(async t => {
+  const div = createDiv(t);
+  getComputedStyle(div).marginLeft;
+  div.style = 'transition: margin-left 100s; margin-left: 100px;';
+  const anim = div.getAnimations()[0];
+
+  let receivedEvents = [];
+  anim.oncancel = event => receivedEvents.push(event);
+  anim.onfinish = event => receivedEvents.push(event);
+  div.ontransitionstart = event => receivedEvents.push(event);
+  div.ontransitioncancel = event => receivedEvents.push(event);
+
+  await anim.ready;
+
+  anim.finish();
+  anim.cancel();
+
+  await waitForAnimationFrames(1);
+
+  assert_array_equals(receivedEvents.map(event => event.type),
+    [ 'transitionstart',
+      'finish',
+      'cancel',
+      'transitioncancel' ],
+    'Playback and CSS events for the same transition should be sorted by ' +
+    'schedule event time and composite order');
+}, 'Sorts events for the same transition');
+
 </script>
diff --git a/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing-expected.txt b/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing-expected.txt
new file mode 100644
index 0000000..75cf7f0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing-expected.txt
@@ -0,0 +1 @@
+ Test passes if we don't crash.
diff --git a/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing.html b/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing.html
new file mode 100644
index 0000000..1fd2cc7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/loader/detach-while-printing.html
@@ -0,0 +1,11 @@
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+print();
+setTimeout(() => {
+  var child = document.querySelector('object');
+  child.parentNode.removeChild(child);
+});
+</script>
+<object data="/404-dir-should-not-exist/"></object>
+Test passes if we don't crash.
diff --git a/third_party/WebKit/LayoutTests/fast/text/editing-text-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/text/editing-text-crash-expected.txt
deleted file mode 100644
index 15a5a3f..0000000
--- a/third_party/WebKit/LayoutTests/fast/text/editing-text-crash-expected.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-The test passes if it does not CRASH in debug builds.
-
diff --git a/third_party/WebKit/LayoutTests/fast/text/editing-text-crash.html b/third_party/WebKit/LayoutTests/fast/text/editing-text-crash.html
index d18b656..a5bc9dfb 100644
--- a/third_party/WebKit/LayoutTests/fast/text/editing-text-crash.html
+++ b/third_party/WebKit/LayoutTests/fast/text/editing-text-crash.html
@@ -1,13 +1,6 @@
 <!DOCTYPE html>
-<script>
-if (window.testRunner)
-  testRunner.dumpAsText();
-
-window.onload = function() {
-  document.getElementById('object').appendChild(document.getElementById('meta'));
-  document.execCommand('FindString', false, 'test');
-};
-</script>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
 <style>
   caption:first-line { visibility: hidden; }
   caption:first-letter { color: red; }
@@ -21,3 +14,9 @@
     <caption dir="rtl">)))TQ?</caption>
   </table>
 </object>
+<script>
+test(() => {
+  document.getElementById('object').appendChild(document.getElementById('meta'));
+  document.execCommand('FindString', false, 'test');
+}, 'Should not crash');
+</script>
diff --git a/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash-expected.txt
deleted file mode 100644
index 7c169136..0000000
--- a/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash-expected.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-The test passes if it does not CRASH in debug builds.
-
-
diff --git a/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash.html b/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash.html
index d241288..696de8ec 100644
--- a/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash.html
+++ b/third_party/WebKit/LayoutTests/fast/text/text-iterator-crash.html
@@ -1,13 +1,6 @@
 <!DOCTYPE html>
-<script>
-if (window.testRunner)
-  testRunner.dumpAsText();
-
-window.onload = function() {
-  document.getElementById('object').appendChild(document.getElementById('meta'));
-  document.execCommand('FindString', 'test');
-};
-</script>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
 <style>
   caption:first-line { visibility: hidden; }
   caption:first-letter { color: red; }
@@ -24,3 +17,9 @@
   </object>
 </p>
 <p></p>
+<script>
+test(() => {
+  document.getElementById('object').appendChild(document.getElementById('meta'));
+  document.execCommand('FindString', 'test');
+}, 'Should not crash');
+</script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/inspector-protocol-test.js b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/inspector-protocol-test.js
index 105fa5c..7d9fb8a 100644
--- a/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/inspector-protocol-test.js
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/inspector-protocol-test.js
@@ -3,9 +3,10 @@
 // found in the LICENSE file.
 
 var TestRunner = class {
-  constructor(baseURL, log, completeTest, fetch) {
+  constructor(testBaseURL, targetBaseURL, log, completeTest, fetch) {
     this._dumpInspectorProtocolMessages = false;
-    this._baseURL = baseURL;
+    this._testBaseURL = testBaseURL;
+    this._targetBaseURL = targetBaseURL;
     this._log = log;
     this._completeTest = completeTest;
     this._fetch = fetch;
@@ -79,7 +80,7 @@
   url(relative) {
     if (relative.startsWith('http://') || relative.startsWith('https://'))
       return relative;
-    return this._baseURL + relative;
+    return this._targetBaseURL + relative;
   }
 
   async runTestSuite(testSuite) {
@@ -125,7 +126,7 @@
   }
 
   async loadScript(url) {
-    var source = await this._fetch(this.url(url));
+    var source = await this._fetch(this._testBaseURL + url);
     return eval(`${source}\n//# sourceURL=${url}`);
   };
 
@@ -558,10 +559,15 @@
 
 window.addEventListener('load', () => {
   var params = new URLSearchParams(window.location.search);
+
   var testScriptURL = params.get('test');
-  var baseURL = testScriptURL.substring(0, testScriptURL.lastIndexOf('/') + 1);
+  var testBaseURL = testScriptURL.substring(0, testScriptURL.lastIndexOf('/') + 1);
+
+  var targetPageURL = params.get('target') || params.get('test');
+  var targetBaseURL = targetPageURL.substring(0, targetPageURL.lastIndexOf('/') + 1);
+
   DevToolsAPI._fetch(testScriptURL).then(testScript => {
-    var testRunner = new TestRunner(baseURL, DevToolsAPI._log, DevToolsAPI._completeTest, DevToolsAPI._fetch);
+    var testRunner = new TestRunner(testBaseURL, targetBaseURL, DevToolsAPI._log, DevToolsAPI._completeTest, DevToolsAPI._fetch);
     var testFunction = eval(`${testScript}\n//# sourceURL=${testScriptURL}`);
     if (params.get('debug')) {
       var dispatch = DevToolsAPI.dispatchMessage;
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-detach-expected.txt b/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-detach-expected.txt
index 9ea68ba5..db47f72 100644
--- a/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-detach-expected.txt
+++ b/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-detach-expected.txt
@@ -8,7 +8,6 @@
 CONSOLE MESSAGE: line 12: iframe: clicking
 CONSOLE MESSAGE: line 5: iframe: onreadystatechange
 frame "iframe" - didFailLoadWithError
-frame "iframe" - didFailProvisionalLoadWithError
 main frame - didHandleOnloadEventsForFrame
 main frame - didFinishLoadForFrame
 CONSOLE MESSAGE: line 8: main frame: iframe is done
diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-window-stop.html b/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-window-stop.html
new file mode 100644
index 0000000..c9cd2f1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/loading/onreadystatechange-window-stop.html
@@ -0,0 +1,18 @@
+<title>
+  This test ensures that page cannot stop navigation away from itself by calling
+  window.stop() from onreadystatechange.
+</title>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<a href="?done">click me</a>
+<script>
+if (!location.search) {
+  document.addEventListener('readystatechange', () => {
+    window.stop();
+  });
+  document.querySelector('a').click();
+} else {
+  assert_equals(location.search, "?done");
+  done();
+}
+</script>
diff --git a/third_party/WebKit/LayoutTests/media/controls/closed-captions-locale.html b/third_party/WebKit/LayoutTests/media/controls/closed-captions-locale.html
new file mode 100644
index 0000000..87591eaf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/media/controls/closed-captions-locale.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<title>Tests that the closed captions icon is shown in the correct locales.</title>
+<script src='../../resources/testharness.js'></script>
+<script src='../../resources/testharnessreport.js'></script>
+<script src='../media-controls.js'></script>
+<body>
+<script>
+  const expectedClass = 'closed-captions';
+
+  const testCases = [
+    { locale: "ar", expected: false },
+    { locale: "am", expected: false },
+    { locale: "bg", expected: false },
+    { locale: "bn", expected: false },
+    { locale: "ca", expected: false },
+    { locale: "cs", expected: false },
+    { locale: "da", expected: false },
+    { locale: "de", expected: false },
+    { locale: "el", expected: false },
+    { locale: "en", expected: true },
+    { locale: "en-GB", expected: false },
+    { locale: "en-US", expected: true },
+    { locale: "es", expected: false },
+    { locale: "es-419", expected: true },
+    { locale: "et", expected: false },
+    { locale: "fa", expected: false },
+    { locale: "fi", expected: false },
+    { locale: "fil", expected: false },
+    { locale: "fr", expected: false },
+    { locale: "gu", expected: false },
+    { locale: "he", expected: false },
+    { locale: "hi", expected: false },
+    { locale: "hr", expected: false },
+    { locale: "hu", expected: false },
+    { locale: "id", expected: false },
+    { locale: "it", expected: false },
+    { locale: "ja", expected: false },
+    { locale: "kn", expected: false },
+    { locale: "ko", expected: false },
+    { locale: "lt", expected: false },
+    { locale: "lv", expected: false },
+    { locale: "ml", expected: false },
+    { locale: "mt", expected: false },
+    { locale: "ms", expected: false },
+    { locale: "nl", expected: false },
+    { locale: "no", expected: false },
+    { locale: "pl", expected: false },
+    { locale: "pt-BR", expected: true },
+    { locale: "pt-PT", expected: false },
+    { locale: "ro", expected: false },
+    { locale: "ru", expected: false },
+    { locale: "sk", expected: false },
+    { locale: "sl", expected: false },
+    { locale: "sr", expected: false },
+    { locale: "sv", expected: false },
+    { locale: "sw", expected: false },
+    { locale: "ta", expected: false },
+    { locale: "te", expected: false },
+    { locale: "th", expected: false },
+    { locale: "tr", expected: false },
+    { locale: "uk", expected: false },
+    { locale: "vi", expected: false },
+    { locale: "zh-CN", expected: false },
+    { locale: "zh-TW", expected: false },
+  ];
+
+  function runTest(t) {
+    if (window.internals)
+      window.internals.setUserPreferredLanguages([t.properties.locale]);
+
+    const video = document.createElement('video');
+    video.controls = true;
+    document.body.appendChild(video);
+
+    assert_equals(
+        captionsOverflowItem(video).classList.contains(expectedClass),
+        t.properties.expected);
+  }
+
+  testCases.forEach((testCase) => {
+    test(runTest, testCase.locale, testCase);
+  });
+</script>
diff --git a/third_party/android_build_tools/bundletool/README.chromium b/third_party/android_build_tools/bundletool/README.chromium
index 8caab5c..0df912b 100644
--- a/third_party/android_build_tools/bundletool/README.chromium
+++ b/third_party/android_build_tools/bundletool/README.chromium
@@ -1,6 +1,6 @@
 Name: Android SDK bundletool
 Short Name:  bundletool
-Version: 0.4.2
+Version: 0.5.0
 License: Apache Version 2.0
 License File: NOT_SHIPPED
 Security Critical: No
diff --git a/third_party/blink/public/mojom/feature_policy/feature_policy.mojom b/third_party/blink/public/mojom/feature_policy/feature_policy.mojom
index 3b031c70..ecf3e71b 100644
--- a/third_party/blink/public/mojom/feature_policy/feature_policy.mojom
+++ b/third_party/blink/public/mojom/feature_policy/feature_policy.mojom
@@ -98,7 +98,7 @@
   kDocumentWrite,
 };
 
-// This struct holds feature policy whitelist data that needs to be replicated
+// This struct holds feature policy allowlist data that needs to be replicated
 // between a RenderFrame and any of its associated RenderFrameProxies. A list of
 // these form a ParsedFeaturePolicy.
 // NOTE: These types are used for replication frame state between processes.
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index e22d970..16fd65c 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -3368,21 +3368,31 @@
          AllDescendantsAreComplete(frame_);
 }
 
+void Document::Abort() {
+  CancelParsing();
+  CheckCompletedInternal();
+}
+
 void Document::CheckCompleted() {
+  if (CheckCompletedInternal())
+    frame_->Loader().DidFinishNavigation();
+}
+
+bool Document::CheckCompletedInternal() {
   if (!ShouldComplete())
-    return;
+    return false;
 
   if (frame_) {
     frame_->Client()->RunScriptsAtDocumentIdle();
 
     // Injected scripts may have disconnected this frame.
     if (!frame_)
-      return;
+      return false;
 
     // Check again, because runScriptsAtDocumentIdle() may have delayed the load
     // event.
     if (!ShouldComplete())
-      return;
+      return false;
   }
 
   // OK, completed. Fire load completion events as needed.
@@ -3392,7 +3402,7 @@
 
   // The readystatechanged or load event may have disconnected this frame.
   if (!frame_ || !frame_->IsAttached())
-    return;
+    return false;
   if (frame_->GetSettings()->GetSavePreviousDocumentResources() ==
       SavePreviousDocumentResources::kUntilOnLoad) {
     fetcher_->ClearResourcesFromPreviousFetcher();
@@ -3402,7 +3412,7 @@
   // The document itself is complete, but if a child frame was restarted due to
   // an event, this document is still considered to be in progress.
   if (!AllDescendantsAreComplete(frame_))
-    return;
+    return false;
 
   // No need to repeat if we've already notified this load as finished.
   if (!Loader()->SentDidFinishLoad()) {
@@ -3411,7 +3421,7 @@
     Loader()->SetSentDidFinishLoad();
     frame_->Client()->DispatchDidFinishLoad();
     if (!frame_)
-      return;
+      return false;
 
     // Send the source ID of the document to the browser.
     if (frame_->Client()->GetRemoteNavigationAssociatedInterfaces()) {
@@ -3423,7 +3433,7 @@
     }
   }
 
-  frame_->Loader().DidFinishNavigation();
+  return true;
 }
 
 bool Document::DispatchBeforeUnloadEvent(ChromeClient& chrome_client,
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
index 6add704..f30f1e0 100644
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -610,6 +610,10 @@
   // This is used internally and does not handle exceptions.
   void close();
 
+  // Corresponds to "9. Abort the active document of browsingContext."
+  // https://html.spec.whatwg.org/#navigate
+  void Abort();
+
   void CheckCompleted();
 
   bool DispatchBeforeUnloadEvent(ChromeClient&,
@@ -1467,6 +1471,11 @@
   void ImplicitClose();
   bool ShouldComplete();
 
+  // Returns |true| if both document and its owning frame are still attached.
+  // Any of them could be detached during the check, e.g. by calling
+  // iframe.remove() from an event handler.
+  bool CheckCompletedInternal();
+
   void DetachParser();
 
   void BeginLifecycleUpdatesIfRenderingReady();
diff --git a/third_party/blink/renderer/core/exported/local_frame_client_impl.cc b/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
index 594e9ac2..22e36a1 100644
--- a/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
+++ b/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
@@ -138,6 +138,25 @@
          !local_frame->GetDocument()->LoadEventFinished();
 }
 
+// Called after committing provisional load to reset the EventHandlerProperties.
+// Only called on local frame roots.
+void ResetWheelAndTouchEventHandlerProperties(LocalFrame& frame) {
+  // If we are loading a local root, it is important to explicitly set the event
+  // listener properties to Nothing as this triggers notifications to the
+  // client. Clients may assume the presence of handlers for touch and wheel
+  // events, so these notifications tell it there are (presently) no handlers.
+  auto& chrome_client = frame.GetPage()->GetChromeClient();
+  chrome_client.SetEventListenerProperties(
+      &frame, cc::EventListenerClass::kTouchStartOrMove,
+      cc::EventListenerProperties::kNone);
+  chrome_client.SetEventListenerProperties(&frame,
+                                           cc::EventListenerClass::kMouseWheel,
+                                           cc::EventListenerProperties::kNone);
+  chrome_client.SetEventListenerProperties(
+      &frame, cc::EventListenerClass::kTouchEndOrCancel,
+      cc::EventListenerProperties::kNone);
+}
+
 }  // namespace
 
 LocalFrameClientImpl::LocalFrameClientImpl(WebLocalFrameImpl* frame)
@@ -434,6 +453,13 @@
   if (web_frame_->Client()) {
     web_frame_->Client()->DidCommitProvisionalLoad(
         WebHistoryItem(item), commit_type, global_object_reuse_policy);
+    if (web_frame_->GetFrame()->IsLocalRoot()) {
+      // This update should be sent as soon as loading the new document begins
+      // so that the browser and compositor could reset their states. However,
+      // up to this point |web_frame_| is still provisional and the updates will
+      // not get sent. Revise this when https://crbug.com/578349 is fixed.
+      ResetWheelAndTouchEventHandlerProperties(*web_frame_->GetFrame());
+    }
   }
   if (WebDevToolsAgentImpl* dev_tools = DevToolsAgent())
     dev_tools->DidCommitLoadForLocalFrame(web_frame_->GetFrame());
diff --git a/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.cc b/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.cc
index d772150..616754d 100644
--- a/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.cc
+++ b/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.cc
@@ -63,25 +63,54 @@
 }
 
 CanvasResourceProvider*
-CanvasRenderingContextHost::GetOrCreateCanvasResourceProvider() {
+CanvasRenderingContextHost::GetOrCreateCanvasResourceProvider(
+    AccelerationHint hint) {
   if (!ResourceProvider() && !did_fail_to_create_resource_provider_) {
-    resource_provider_is_clear_ = true;
     if (IsValidImageSize(Size())) {
+      base::WeakPtr<CanvasResourceDispatcher> dispatcher =
+          GetOrCreateResourceDispatcher()
+              ? GetOrCreateResourceDispatcher()->GetWeakPtr()
+              : nullptr;
       if (Is3d()) {
+        CanvasResourceProvider::PresentationMode presentation_mode =
+            RuntimeEnabledFeatures::WebGLImageChromiumEnabled()
+                ? CanvasResourceProvider::kAllowImageChromiumPresentationMode
+                : CanvasResourceProvider::kDefaultPresentationMode;
+
         ReplaceResourceProvider(CanvasResourceProvider::Create(
             Size(),
-            Platform::Current()->IsGpuCompositingDisabled()
-                ? CanvasResourceProvider::kSoftwareResourceUsage
-                : CanvasResourceProvider::kAcceleratedResourceUsage,
+            SharedGpuContext::IsGpuCompositingEnabled()
+                ? CanvasResourceProvider::kAcceleratedCompositedResourceUsage
+                : CanvasResourceProvider::kSoftwareCompositedResourceUsage,
             SharedGpuContext::ContextProviderWrapper(),
             0,  // msaa_sample_count
-            ColorParams(), CanvasResourceProvider::kDefaultPresentationMode,
-            nullptr));  // canvas_resource_dispatcher
+            ColorParams(), presentation_mode, std::move(dispatcher)));
       } else {
-        // 2d context
-        // TODO: move resource provider ownership from canvas 2d layer bridge
-        // to here.
-        NOTREACHED();
+        bool want_acceleration =
+            hint == kPreferAcceleration && ShouldAccelerate2dContext();
+
+        CanvasResourceProvider::ResourceUsage usage =
+            want_acceleration
+                ? CanvasResourceProvider::kAcceleratedCompositedResourceUsage
+                : CanvasResourceProvider::kSoftwareCompositedResourceUsage;
+
+        CanvasResourceProvider::PresentationMode presentation_mode =
+            RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()
+                ? CanvasResourceProvider::kAllowImageChromiumPresentationMode
+                : CanvasResourceProvider::kDefaultPresentationMode;
+
+        ReplaceResourceProvider(CanvasResourceProvider::Create(
+            Size(), usage, SharedGpuContext::ContextProviderWrapper(),
+            GetMSAASampleCountFor2dContext(), ColorParams(), presentation_mode,
+            std::move(dispatcher)));
+
+        if (ResourceProvider()) {
+          // Always save an initial frame, to support resetting the top level
+          // matrix and clip.
+          ResourceProvider()->Canvas()->save();
+          ResourceProvider()->SetFilterQuality(FilterQuality());
+          ResourceProvider()->SetResourceRecyclingEnabled(true);
+        }
       }
     }
     if (!ResourceProvider()) {
diff --git a/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.h b/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.h
index ac9c85c6b..e897a7d 100644
--- a/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.h
+++ b/third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.h
@@ -21,6 +21,7 @@
 
 class CanvasColorParams;
 class CanvasRenderingContext;
+class CanvasResourceDispatcher;
 class FontSelector;
 class StaticBitmapImage;
 class KURL;
@@ -42,6 +43,7 @@
   virtual void SetOriginTainted() = 0;
   virtual const IntSize& Size() const = 0;
   virtual CanvasRenderingContext* RenderingContext() const = 0;
+  virtual CanvasResourceDispatcher* GetOrCreateResourceDispatcher() = 0;
 
   virtual ExecutionContext* GetTopExecutionContext() const = 0;
   virtual DispatchEventResult HostDispatchEvent(Event*) = 0;
@@ -58,6 +60,9 @@
 
   virtual FontSelector* GetFontSelector() = 0;
 
+  virtual bool ShouldAccelerate2dContext() const = 0;
+  virtual unsigned GetMSAASampleCountFor2dContext() const = 0;
+
   // TODO(fserb): remove this.
   virtual bool IsOffscreenCanvas() const { return false; }
   virtual bool IsNeutered() const { return false; }
@@ -71,11 +76,12 @@
 
   // Partial CanvasResourceHost implementation
   void RestoreCanvasMatrixClipStack(cc::PaintCanvas*) const final;
+  CanvasResourceProvider* GetOrCreateCanvasResourceProvider(
+      AccelerationHint hint) final;
 
   bool Is3d() const;
   bool Is2d() const;
   CanvasColorParams ColorParams() const;
-  CanvasResourceProvider* GetOrCreateCanvasResourceProvider();
 
   ScriptPromise convertToBlob(ScriptState*,
                               const ImageEncodeOptions&,
@@ -87,7 +93,6 @@
   scoped_refptr<StaticBitmapImage> CreateTransparentImage(const IntSize&) const;
 
   bool did_fail_to_create_resource_provider_ = false;
-  bool resource_provider_is_clear_ = false;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
index 951ebdde..48b8abd 100644
--- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
+++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
@@ -34,7 +34,6 @@
 #include "base/location.h"
 #include "base/numerics/checked_math.h"
 #include "build/build_config.h"
-#include "gpu/config/gpu_feature_info.h"
 #include "third_party/blink/public/platform/task_type.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
 #include "third_party/blink/renderer/core/css/css_font_selector.h"
@@ -310,11 +309,13 @@
       OriginTrials::lowLatencyCanvasEnabled(&GetDocument())) {
     CreateLayer();
     SetNeedsUnbufferedInputEvents(true);
-    // TODO(fserb): rename to CanvasFrameDispatcher
     frame_dispatcher_ = std::make_unique<CanvasResourceDispatcher>(
         nullptr, surface_layer_bridge_->GetFrameSinkId().client_id(),
         surface_layer_bridge_->GetFrameSinkId().sink_id(),
         CanvasResourceDispatcher::kInvalidPlaceholderCanvasId, size_);
+    // We don't actually need the begin frame signal when in low latency mode,
+    // but we need to subscribe to it or else dispatching frames will not work.
+    frame_dispatcher_->SetNeedsBeginFrame(GetPage()->IsPageVisible());
   }
 
   SetNeedsCompositingUpdate();
@@ -363,7 +364,7 @@
 void HTMLCanvasElement::DidDraw(const FloatRect& rect) {
   if (rect.IsEmpty())
     return;
-  resource_provider_is_clear_ = false;
+  canvas_is_clear_ = false;
   ClearCopiedImage();
   if (GetLayoutObject() && !LowLatencyEnabled())
     GetLayoutObject()->SetMayNeedPaintInvalidation();
@@ -413,7 +414,8 @@
     if (!LowLatencyEnabled())
       canvas2d_bridge_->FinalizeFrame();
 
-    if (LowLatencyEnabled() && !dirty_rect_.IsEmpty()) {
+    if (LowLatencyEnabled() && !dirty_rect_.IsEmpty() &&
+        GetOrCreateCanvasResourceProvider(kPreferAcceleration)) {
       // Push a frame
       base::TimeTicks start_time = WTF::CurrentTimeTicks();
       scoped_refptr<StaticBitmapImage> image =
@@ -423,7 +425,7 @@
       IntRect int_dirty = EnclosingIntRect(dirty_rect_);
       SkIRect damage_rect = SkIRect::MakeXYWH(
           int_dirty.X(), int_dirty.Y(), int_dirty.Width(), int_dirty.Height());
-      frame_dispatcher_->DispatchFrame(image, start_time, damage_rect);
+      frame_dispatcher_->DispatchFrameSync(image, start_time, damage_rect);
       (void)start_time;
       (void)damage_rect;
       dirty_rect_ = FloatRect();
@@ -568,8 +570,8 @@
   // If the size of an existing buffer matches, we can just clear it instead of
   // reallocating.  This optimization is only done for 2D canvases for now.
   if (had_resource_provider && old_size == new_size && Is2d()) {
-    if (!resource_provider_is_clear_) {
-      resource_provider_is_clear_ = true;
+    if (!canvas_is_clear_) {
+      canvas_is_clear_ = true;
       context_->ClearRect(0, 0, width(), height());
     }
     return;
@@ -650,6 +652,17 @@
   return std::make_pair(broken_canvas_lo_res, 1);
 }
 
+SkFilterQuality HTMLCanvasElement::FilterQuality() const {
+  if (!isConnected())
+    return kLow_SkFilterQuality;
+  HTMLCanvasElement* non_const_this = const_cast<HTMLCanvasElement*>(this);
+  non_const_this->UpdateDistributionForFlatTreeTraversal();
+  const ComputedStyle* style = non_const_this->EnsureComputedStyle();
+  return (style && style->ImageRendering() == EImageRendering::kPixelated)
+             ? kNone_SkFilterQuality
+             : kLow_SkFilterQuality;
+}
+
 void HTMLCanvasElement::Paint(GraphicsContext& context, const LayoutRect& r) {
   if (context_creation_was_blocked_ ||
       (context_ && context_->isContextLost())) {
@@ -676,19 +689,13 @@
   if (!context_ && !PlaceholderFrame())
     return;
 
-  const ComputedStyle* style = EnsureComputedStyle();
-  SkFilterQuality filter_quality =
-      (style && style->ImageRendering() == EImageRendering::kPixelated)
-          ? kNone_SkFilterQuality
-          : kLow_SkFilterQuality;
-
   if (Is3d()) {
-    context_->SetFilterQuality(filter_quality);
+    context_->SetFilterQuality(FilterQuality());
   } else if (canvas2d_bridge_) {
-    canvas2d_bridge_->SetFilterQuality(filter_quality);
+    canvas2d_bridge_->UpdateFilterQuality();
   }
 
-  if (HasResourceProvider() && !resource_provider_is_clear_)
+  if (HasResourceProvider() && !canvas_is_clear_)
     PaintTiming::From(GetDocument()).MarkFirstContentfulPaint();
 
   if (!PaintsIntoCanvasBuffer() && !GetDocument().Printing())
@@ -696,7 +703,9 @@
 
   if (PlaceholderFrame()) {
     DCHECK(GetDocument().Printing());
-    context.DrawImage(PlaceholderFrame()->Bitmap().get(), Image::kSyncDecode,
+    scoped_refptr<StaticBitmapImage> image_for_printing =
+        PlaceholderFrame()->Bitmap()->MakeUnaccelerated();
+    context.DrawImage(image_for_printing.get(), Image::kSyncDecode,
                       FloatRect(PixelSnappedIntRect(r)));
     return;
   }
@@ -932,6 +941,17 @@
   return origin_clean_;
 }
 
+bool HTMLCanvasElement::ShouldAccelerate2dContext() const {
+  return ShouldAccelerate(kNormalAccelerationCriteria);
+}
+
+CanvasResourceDispatcher* HTMLCanvasElement::GetOrCreateResourceDispatcher() {
+  // The HTMLCanvasElement override of this method never needs to 'create'
+  // because the frame_dispatcher is only used in low latency mode, in which
+  // case the dispatcher is created upfront.
+  return frame_dispatcher_.get();
+}
+
 bool HTMLCanvasElement::ShouldAccelerate(AccelerationCriteria criteria) const {
   if (context_ && !Is2d())
     return false;
@@ -940,9 +960,6 @@
   if (LowLatencyEnabled())
     return false;
 
-  if (!RuntimeEnabledFeatures::Accelerated2dCanvasEnabled())
-    return false;
-
   // The following is necessary for handling the special case of canvases in the
   // dev tools overlay, which run in a process that supports accelerated 2d
   // canvas but in a special compositing context that does not.
@@ -976,10 +993,6 @@
       return false;
   }
 
-  // Don't use accelerated canvas if compositor is in software mode.
-  if (!SharedGpuContext::IsGpuCompositingEnabled())
-    return false;
-
   // Avoid creating |contextProvider| until we're sure we want to try use it,
   // since it costs us GPU memory.
   base::WeakPtr<WebGraphicsContext3DProviderWrapper> context_provider_wrapper =
@@ -990,28 +1003,22 @@
     return false;
   }
 
-  const gpu::GpuFeatureInfo& gpu_feature_info =
-      context_provider_wrapper->ContextProvider()->GetGpuFeatureInfo();
-  if (gpu::kGpuFeatureStatusEnabled !=
-      gpu_feature_info
-          .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS]) {
-    // Accelerated 2D canvas is blacklisted.
-    return false;
-  }
+  return context_provider_wrapper->Utils()->Accelerated2DCanvasFeatureEnabled();
+}
 
-  return true;
+unsigned HTMLCanvasElement::GetMSAASampleCountFor2dContext() const {
+  unsigned msaa_sample_count = 0;
+  if (GetDocument().GetSettings()) {
+    msaa_sample_count =
+        GetDocument().GetSettings()->GetAccelerated2dCanvasMSAASampleCount();
+  }
+  return msaa_sample_count;
 }
 
 std::unique_ptr<Canvas2DLayerBridge>
-HTMLCanvasElement::CreateAccelerated2dBuffer(int* msaa_sample_count) {
-  if (GetDocument().GetSettings()) {
-    *msaa_sample_count =
-        GetDocument().GetSettings()->GetAccelerated2dCanvasMSAASampleCount();
-  }
-
+HTMLCanvasElement::CreateAccelerated2dBuffer() {
   auto surface = std::make_unique<Canvas2DLayerBridge>(
-      Size(), *msaa_sample_count, Canvas2DLayerBridge::kEnableAcceleration,
-      ColorParams());
+      Size(), Canvas2DLayerBridge::kEnableAcceleration, ColorParams());
   if (!surface->IsValid()) {
     CanvasMetrics::CountCanvasContextUsage(
         CanvasMetrics::kGPUAccelerated2DCanvasImageBufferCreationFailed);
@@ -1029,7 +1036,7 @@
 std::unique_ptr<Canvas2DLayerBridge>
 HTMLCanvasElement::CreateUnaccelerated2dBuffer() {
   auto surface = std::make_unique<Canvas2DLayerBridge>(
-      Size(), 0, Canvas2DLayerBridge::kDisableAcceleration, ColorParams());
+      Size(), Canvas2DLayerBridge::kDisableAcceleration, ColorParams());
   if (surface->IsValid()) {
     CanvasMetrics::CountCanvasContextUsage(
         CanvasMetrics::kUnaccelerated2DCanvasImageBufferCreated);
@@ -1044,20 +1051,17 @@
 void HTMLCanvasElement::SetCanvas2DLayerBridgeInternal(
     std::unique_ptr<Canvas2DLayerBridge> external_canvas2d_bridge) {
   DCHECK(Is2d() && !canvas2d_bridge_);
-
   did_fail_to_create_resource_provider_ = true;
-  resource_provider_is_clear_ = true;
 
   if (!IsValidImageSize(Size()))
     return;
 
-  int msaa_sample_count = 0;
   if (external_canvas2d_bridge) {
     if (external_canvas2d_bridge->IsValid())
       canvas2d_bridge_ = std::move(external_canvas2d_bridge);
   } else {
     if (ShouldAccelerate(kNormalAccelerationCriteria)) {
-      canvas2d_bridge_ = CreateAccelerated2dBuffer(&msaa_sample_count);
+      canvas2d_bridge_ = CreateAccelerated2dBuffer();
     }
     if (!canvas2d_bridge_) {
       canvas2d_bridge_ = CreateUnaccelerated2dBuffer();
@@ -1077,7 +1081,7 @@
   // regardless of whether the rendering mode is accelerated or not. For
   // consistency, we don't want to apply AA in accelerated canvases but not in
   // unaccelerated canvases.
-  if (!msaa_sample_count && GetDocument().GetSettings() &&
+  if (!GetMSAASampleCountFor2dContext() && GetDocument().GetSettings() &&
       !GetDocument().GetSettings()->GetAntialiased2dCanvasEnabled())
     context_->SetShouldAntialias(false);
 
@@ -1154,7 +1158,7 @@
   if (need_to_update) {
     if (Is2d() && GetOrCreateCanvas2DLayerBridge()) {
       copied_image_ = canvas2d_bridge_->NewImageSnapshot(hint);
-    } else if (Is3d() && GetOrCreateCanvasResourceProvider()) {
+    } else if (Is3d() && GetOrCreateCanvasResourceProvider(hint)) {
       copied_image_ = ResourceProvider()->Snapshot();
     }
     UpdateMemoryUsage();
@@ -1214,9 +1218,7 @@
       source->IsAccelerated() && GetOrCreateCanvas2DLayerBridge() &&
       !canvas2d_bridge_->IsAccelerated() &&
       ShouldAccelerate(kIgnoreResourceLimitCriteria)) {
-    int msaa_sample_count = 0;
-    std::unique_ptr<Canvas2DLayerBridge> surface =
-        CreateAccelerated2dBuffer(&msaa_sample_count);
+    std::unique_ptr<Canvas2DLayerBridge> surface = CreateAccelerated2dBuffer();
     if (surface) {
       ReplaceExisting2dLayerBridge(std::move(surface));
       SetNeedsCompositingUpdate();
diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.h b/third_party/blink/renderer/core/html/canvas/html_canvas_element.h
index eeb7063..75a1a59 100644
--- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.h
+++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.h
@@ -178,6 +178,8 @@
 
   void FinalizeFrame() override;
 
+  CanvasResourceDispatcher* GetOrCreateResourceDispatcher() override;
+
   // ContextLifecycleObserver and PageVisibilityObserver implementation
   void ContextDestroyed(ExecutionContext*) override;
 
@@ -203,6 +205,9 @@
   void NotifyGpuContextLost() override;
   void SetNeedsCompositingUpdate() override;
   void UpdateMemoryUsage() override;
+  bool ShouldAccelerate2dContext() const override;
+  unsigned GetMSAASampleCountFor2dContext() const override;
+  SkFilterQuality FilterQuality() const override;
 
   void DisableAcceleration(std::unique_ptr<Canvas2DLayerBridge>
                                unaccelerated_bridge_used_for_testing = nullptr);
@@ -308,8 +313,7 @@
 
   void Reset();
 
-  std::unique_ptr<Canvas2DLayerBridge> CreateAccelerated2dBuffer(
-      int* msaa_sample_count);
+  std::unique_ptr<Canvas2DLayerBridge> CreateAccelerated2dBuffer();
   std::unique_ptr<Canvas2DLayerBridge> CreateUnaccelerated2dBuffer();
   void SetCanvas2DLayerBridgeInternal(std::unique_ptr<Canvas2DLayerBridge>);
 
@@ -336,6 +340,8 @@
   // Used only for WebGL currently.
   bool context_creation_was_blocked_;
 
+  bool canvas_is_clear_ = true;
+
   bool ignore_reset_;
   FloatRect dirty_rect_;
 
diff --git a/third_party/blink/renderer/core/loader/frame_loader.cc b/third_party/blink/renderer/core/loader/frame_loader.cc
index eff085b..69c9cb8 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.cc
+++ b/third_party/blink/renderer/core/loader/frame_loader.cc
@@ -861,12 +861,19 @@
   CHECK(!passed_request.Form());
   CHECK(passed_request.TriggeringEventInfo() ==
         WebTriggeringEventInfo::kNotFromEvent);
-
   DCHECK(frame_->GetDocument());
-  DCHECK(!in_stop_all_loaders_);
-  DCHECK(frame_->IsNavigationAllowed());
-  DCHECK_EQ(Document::kNoDismissal,
-            frame_->GetDocument()->PageDismissalEventBeingDispatched());
+
+  if (in_stop_all_loaders_ || !frame_->IsNavigationAllowed() ||
+      frame_->GetDocument()->PageDismissalEventBeingDispatched() !=
+          Document::kNoDismissal) {
+    // Any of the checks above should not be necessary.
+    // Unfortunately, in the case of sync IPCs like print() there might be
+    // reentrancy and, for example, frame detach happening.
+    // See fast/loader/detach-while-printing.html for a repro.
+    // TODO(https://crbug.com/862088): we should probably ignore print()
+    // call in this case instead.
+    return;
+  }
 
   // TODO(dgozman): figure out the better place for this check
   // to cancel lazy load both on start and commit. Perhaps
@@ -1068,22 +1075,6 @@
   if (!PrepareForCommit())
     return;
 
-  // If we are loading a local root, it is important to explicitly set the event
-  // listener properties to Nothing as this triggers notifications to the
-  // client. Clients may assume the presence of handlers for touch and wheel
-  // events, so these notifications tell it there are (presently) no handlers.
-  if (frame_->IsLocalRoot()) {
-    frame_->GetPage()->GetChromeClient().SetEventListenerProperties(
-        frame_, cc::EventListenerClass::kTouchStartOrMove,
-        cc::EventListenerProperties::kNone);
-    frame_->GetPage()->GetChromeClient().SetEventListenerProperties(
-        frame_, cc::EventListenerClass::kMouseWheel,
-        cc::EventListenerProperties::kNone);
-    frame_->GetPage()->GetChromeClient().SetEventListenerProperties(
-        frame_, cc::EventListenerClass::kTouchEndOrCancel,
-        cc::EventListenerProperties::kNone);
-  }
-
   Client()->TransitionToCommittedForNewPage();
 
   frame_->GetNavigationScheduler().Cancel();
@@ -1479,18 +1470,6 @@
       resource_request, frame_load_request, type, navigation_type,
       std::move(extra_data), navigation_timings);
 
-  // This seems to correspond to step 9 of the specification:
-  // "9. Abort the active document of browsingContext."
-  // https://html.spec.whatwg.org/#navigate
-  frame_->GetDocument()->CancelParsing();
-  frame_->GetDocument()->CheckCompleted();
-
-  // document.onreadystatechange can fire in CancelParsing(), which can:
-  // 1) Detach this frame.
-  // 2) Stop the provisional DocumentLoader (i.e window.stop())
-  if (!frame_->GetPage() || !provisional_document_loader_)
-    return;
-
   if (frame_load_request.Form())
     Client()->DispatchWillSubmitForm(frame_load_request.Form());
 
@@ -1533,8 +1512,18 @@
   // for a placeholder simply being replaced with a new DocumentLoader.
   if (had_placeholder_client_document_loader)
     provisional_document_loader_->SetSentDidFinishLoad();
-  DetachDocumentLoader(provisional_document_loader_);
 
+  // This seems to correspond to step 9 of the specification:
+  // "9. Abort the active document of browsingContext."
+  // https://html.spec.whatwg.org/#navigate
+  frame_->GetDocument()->Abort();
+  // document.onreadystatechange can fire in Abort(), which can:
+  // 1) Detach this frame.
+  // 2) Stop the provisional DocumentLoader (i.e window.stop()).
+  if (!frame_->GetPage())
+    return false;
+
+  DetachDocumentLoader(provisional_document_loader_);
   // Detaching the provisional DocumentLoader above may leave the frame without
   // any loading DocumentLoader. It can causes the 'load' event to fire, which
   // can be used to detach this frame.
diff --git a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc
index 6cc91ea..bb3945f6 100644
--- a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc
+++ b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.cc
@@ -51,7 +51,7 @@
 
   base::TimeTicks commit_start_time = WTF::CurrentTimeTicks();
   current_frame_damage_rect_.join(damage_rect);
-  GetOrCreateFrameDispatcher()->DispatchFrameSync(
+  GetOrCreateResourceDispatcher()->DispatchFrameSync(
       std::move(bitmap_image), commit_start_time, current_frame_damage_rect_);
   current_frame_damage_rect_ = SkIRect::MakeEmpty();
 }
@@ -231,7 +231,14 @@
   return context_ && context_->IsAccelerated();
 }
 
-CanvasResourceDispatcher* OffscreenCanvas::GetOrCreateFrameDispatcher() {
+bool OffscreenCanvas::HasPlaceholderCanvas() const {
+  return placeholder_canvas_id_ != kInvalidDOMNodeId;
+}
+
+CanvasResourceDispatcher* OffscreenCanvas::GetOrCreateResourceDispatcher() {
+  DCHECK(HasPlaceholderCanvas());
+  // If we don't have a valid placeholder_canvas_id_, then this is a standalone
+  // OffscreenCanvas, and it should not have a placeholder.
   if (!frame_dispatcher_) {
     // The frame dispatcher connects the current thread of OffscreenCanvas
     // (either main or worker) to the browser process and remains unchanged
@@ -316,12 +323,19 @@
   if (!HasPlaceholderCanvas())
     return;
 
-  GetOrCreateFrameDispatcher()->SetNeedsBeginFrame(true);
+  GetOrCreateResourceDispatcher()->SetNeedsBeginFrame(true);
 }
 
 void OffscreenCanvas::BeginFrame() {
   context_->PushFrame();
-  GetOrCreateFrameDispatcher()->SetNeedsBeginFrame(false);
+  GetOrCreateResourceDispatcher()->SetNeedsBeginFrame(false);
+}
+
+bool OffscreenCanvas::ShouldAccelerate2dContext() const {
+  base::WeakPtr<WebGraphicsContext3DProviderWrapper> context_provider_wrapper =
+      SharedGpuContext::ContextProviderWrapper();
+  return context_provider_wrapper &&
+         context_provider_wrapper->Utils()->Accelerated2DCanvasFeatureEnabled();
 }
 
 void OffscreenCanvas::PushFrame(scoped_refptr<StaticBitmapImage> image,
@@ -330,7 +344,7 @@
   if (current_frame_damage_rect_.isEmpty())
     return;
   base::TimeTicks commit_start_time = WTF::CurrentTimeTicks();
-  GetOrCreateFrameDispatcher()->DispatchFrame(
+  GetOrCreateResourceDispatcher()->DispatchFrame(
       std::move(image), commit_start_time, current_frame_damage_rect_);
   current_frame_damage_rect_ = SkIRect::MakeEmpty();
 }
diff --git a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h
index 6c67bb8..ec515f6 100644
--- a/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h
+++ b/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h
@@ -65,9 +65,7 @@
     placeholder_canvas_id_ = canvas_id;
   }
   DOMNodeId PlaceholderCanvasId() const { return placeholder_canvas_id_; }
-  bool HasPlaceholderCanvas() {
-    return placeholder_canvas_id_ != kInvalidDOMNodeId;
-  }
+  bool HasPlaceholderCanvas() const;
   bool IsNeutered() const override { return is_neutered_; }
   void SetNeutered();
   CanvasRenderingContext* GetCanvasRenderingContext(
@@ -105,11 +103,16 @@
   void DidDraw() override;
   void Commit(scoped_refptr<StaticBitmapImage> bitmap_image,
               const SkIRect& damage_rect) override;
+  bool ShouldAccelerate2dContext() const override;
+  unsigned GetMSAASampleCountFor2dContext() const override { return 0; }
+  CanvasResourceDispatcher* GetOrCreateResourceDispatcher() override;
 
   // Partial CanvasResourceHost implementation
   void NotifyGpuContextLost() override {}
   void SetNeedsCompositingUpdate() override {}
-  void UpdateMemoryUsage() override { /*TODO(crbug.com/842693): implement*/
+  void UpdateMemoryUsage() override {}  // TODO(crbug.com/842693): implement
+  SkFilterQuality FilterQuality() const override {
+    return kLow_SkFilterQuality;  // TODO(crbug.com/856654)
   }
 
   // EventTarget implementation
@@ -165,7 +168,6 @@
  private:
   friend class OffscreenCanvasTest;
   explicit OffscreenCanvas(const IntSize&);
-  CanvasResourceDispatcher* GetOrCreateFrameDispatcher();
   using ContextFactoryVector =
       Vector<std::unique_ptr<CanvasRenderingContextFactory>>;
   static ContextFactoryVector& RenderingContextFactories();
diff --git a/third_party/blink/renderer/core/paint/html_canvas_painter_test.cc b/third_party/blink/renderer/core/paint/html_canvas_painter_test.cc
index fbbf3da0..34c5b8d0e 100644
--- a/third_party/blink/renderer/core/paint/html_canvas_painter_test.cc
+++ b/third_party/blink/renderer/core/paint/html_canvas_painter_test.cc
@@ -67,7 +67,7 @@
   std::unique_ptr<Canvas2DLayerBridge> MakeCanvas2DLayerBridge(
       const IntSize& size) {
     return std::make_unique<Canvas2DLayerBridge>(
-        size, 0, Canvas2DLayerBridge::kForceAccelerationForTesting,
+        size, Canvas2DLayerBridge::kForceAccelerationForTesting,
         CanvasColorParams());
   }
 
diff --git a/third_party/blink/renderer/devtools/front_end/ui/Toolbar.js b/third_party/blink/renderer/devtools/front_end/ui/Toolbar.js
index 790a753..73cd266 100644
--- a/third_party/blink/renderer/devtools/front_end/ui/Toolbar.js
+++ b/third_party/blink/renderer/devtools/front_end/ui/Toolbar.js
@@ -595,7 +595,10 @@
 
     const clearButton = this.element.createChild('div', 'toolbar-input-clear-button');
     clearButton.appendChild(UI.Icon.create('mediumicon-gray-cross-hover', 'search-cancel-button'));
-    clearButton.addEventListener('click', () => this._internalSetValue('', true));
+    clearButton.addEventListener('click', () => {
+      this._internalSetValue('', true);
+      this._prompt.focus();
+    });
 
     this._updateEmptyStyles();
   }
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
index 5bd505a..783f5c3e3 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -1656,7 +1656,6 @@
     exception_state.ThrowRangeError("Out of memory at ImageData creation");
     return nullptr;
   }
-
   base::Optional<ScopedUsHistogramTimer> timer;
   if (!IsPaint2D()) {
     if (CanCreateCanvas2dResourceProvider() && IsAccelerated()) {
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
index cfff90b..a854c83 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
@@ -187,7 +187,7 @@
   if (context_lost_mode_ != kNotLostContext)
     return;
   context_lost_mode_ = lost_mode;
-  if (context_lost_mode_ == kSyntheticLostContext && canvas()) {
+  if (context_lost_mode_ == kSyntheticLostContext && Host()) {
     Host()->DiscardResourceProvider();
   }
   dispatch_context_lost_event_timer_.StartOneShot(TimeDelta(), FROM_HERE);
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
index a0b0854f..5c679f9 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
@@ -119,6 +119,13 @@
   intptr_t GetCurrentGPUMemoryUsage() const {
     return CanvasElement().GetGPUMemoryUsage();
   }
+  void DrawSomething() {
+    Canvas2DLayerBridge* bridge = CanvasElement().GetCanvas2DLayerBridge();
+    bridge->DidDraw(FloatRect(0, 0, 1, 1));
+    bridge->FinalizeFrame();
+    // Grabbing an image forces a flush
+    bridge->NewImageSnapshot(kPreferAcceleration);
+  }
 
   void CreateContext(OpacityMode,
                      String color_space = String(),
@@ -250,7 +257,7 @@
     const IntSize& size,
     Canvas2DLayerBridge::AccelerationMode acceleration_mode) {
   std::unique_ptr<Canvas2DLayerBridge> bridge =
-      std::make_unique<Canvas2DLayerBridge>(size, 0, acceleration_mode,
+      std::make_unique<Canvas2DLayerBridge>(size, acceleration_mode,
                                             CanvasColorParams());
   bridge->SetCanvasResourceHost(canvas_element_);
   return bridge;
@@ -263,7 +270,7 @@
   FakeCanvas2DLayerBridge(const IntSize& size,
                           CanvasColorParams color_params,
                           AccelerationHint hint)
-      : Canvas2DLayerBridge(size, 0, kDisableAcceleration, color_params),
+      : Canvas2DLayerBridge(size, kDisableAcceleration, color_params),
         is_accelerated_(hint != kPreferNoAcceleration) {}
   ~FakeCanvas2DLayerBridge() override = default;
   bool IsAccelerated() const override { return is_accelerated_; }
@@ -285,7 +292,6 @@
   MockImageBufferSurfaceForOverwriteTesting(const IntSize& size,
                                             CanvasColorParams color_params)
       : Canvas2DLayerBridge(size,
-                            0,
                             Canvas2DLayerBridge::kDisableAcceleration,
                             color_params) {}
   ~MockImageBufferSurfaceForOverwriteTesting() override = default;
@@ -632,12 +638,13 @@
 TEST_F(CanvasRenderingContext2DTest, MAYBE_GetImageDataDisablesAcceleration) {
   ScopedCanvas2dFixedRenderingModeForTest canvas_2d_fixed_rendering_mode(false);
 
+  GetPage().GetSettings().SetAcceleratedCompositingEnabled(true);
   CreateContext(kNonOpaque);
   IntSize size(300, 300);
   std::unique_ptr<Canvas2DLayerBridge> bridge =
       MakeBridge(size, Canvas2DLayerBridge::kForceAccelerationForTesting);
   CanvasElement().SetCanvas2DLayerBridgeForTesting(std::move(bridge), size);
-
+  DrawSomething();  // Lock-in gpu acceleration
   EXPECT_TRUE(CanvasElement().GetCanvas2DLayerBridge()->IsAccelerated());
   EXPECT_EQ(1u, GetGlobalAcceleratedContextCount());
   EXPECT_EQ(720000, GetGlobalGPUMemoryUsage());
@@ -788,7 +795,7 @@
   CanvasElement().SetCanvas2DLayerBridgeForTesting(
       std::move(fake_accelerate_surface), size);
 
-  FakeCanvasResourceHost host;
+  FakeCanvasResourceHost host(size);
   auto fake_deaccelerate_surface = std::make_unique<FakeCanvas2DLayerBridge>(
       size, CanvasColorParams(), kPreferNoAcceleration);
   fake_deaccelerate_surface->SetCanvasResourceHost(&host);
@@ -1135,6 +1142,7 @@
 // In these cases, the element should request a compositing update.
 TEST_F(CanvasRenderingContext2DTestWithTestingPlatform,
        ElementRequestsCompositingUpdateOnHibernateAndWakeUp) {
+  GetPage().GetSettings().SetAcceleratedCompositingEnabled(true);
   CreateContext(kNonOpaque);
   IntSize size(300, 300);
   std::unique_ptr<Canvas2DLayerBridge> bridge =
@@ -1147,6 +1155,8 @@
   // Take a snapshot to trigger lazy resource provider creation
   CanvasElement().GetCanvas2DLayerBridge()->NewImageSnapshot(
       kPreferAcceleration);
+  EXPECT_TRUE(!!CanvasElement().ResourceProvider());
+  EXPECT_TRUE(CanvasElement().ResourceProvider()->IsAccelerated());
   EXPECT_TRUE(CanvasElement().GetLayoutBoxModelObject());
   PaintLayer* layer = CanvasElement().GetLayoutBoxModelObject()->Layer();
   EXPECT_TRUE(layer);
@@ -1159,6 +1169,8 @@
   // If enabled, hibernation should cause compositing update.
   EXPECT_EQ(!!CANVAS2D_HIBERNATION_ENABLED,
             layer->NeedsCompositingInputsUpdate());
+  EXPECT_EQ(!!CANVAS2D_HIBERNATION_ENABLED,
+            !CanvasElement().ResourceProvider());
 
   GetDocument().View()->UpdateAllLifecyclePhases();
   EXPECT_FALSE(layer->NeedsCompositingInputsUpdate());
diff --git a/third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_test.cc b/third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_test.cc
index 3e82edb..d1e3db9 100644
--- a/third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_test.cc
+++ b/third_party/blink/renderer/modules/canvas/offscreencanvas/offscreen_canvas_test.cc
@@ -31,7 +31,7 @@
   HTMLCanvasElement& CanvasElement() const { return *canvas_element_; }
   OffscreenCanvas& OSCanvas() const { return *offscreen_canvas_; }
   CanvasResourceDispatcher* Dispatcher() const {
-    return offscreen_canvas_->GetOrCreateFrameDispatcher();
+    return offscreen_canvas_->GetOrCreateResourceDispatcher();
   }
   OffscreenCanvasRenderingContext2D& Context() const { return *context_; }
   ScriptState* GetScriptState() const {
diff --git a/third_party/blink/renderer/modules/media_controls/elements/media_control_toggle_closed_captions_button_element.cc b/third_party/blink/renderer/modules/media_controls/elements/media_control_toggle_closed_captions_button_element.cc
index 113c997..a58b550a 100644
--- a/third_party/blink/renderer/modules/media_controls/elements/media_control_toggle_closed_captions_button_element.cc
+++ b/third_party/blink/renderer/modules/media_controls/elements/media_control_toggle_closed_captions_button_element.cc
@@ -10,9 +10,38 @@
 #include "third_party/blink/renderer/core/html/track/text_track_list.h"
 #include "third_party/blink/renderer/core/input_type_names.h"
 #include "third_party/blink/renderer/modules/media_controls/media_controls_impl.h"
+#include "third_party/blink/renderer/platform/language.h"
 
 namespace blink {
 
+namespace {
+
+// The CSS class to use if we should use the closed captions icon.
+const char kClosedCaptionClass[] = "closed-captions";
+
+const char* kClosedCaptionLocales[] = {
+    // English (United States)
+    "en", "en-US",
+
+    // Spanish (Latin America and Caribbean)
+    "es-419",
+
+    // Portuguese (Brazil)
+    "pt-BR",
+};
+
+// Returns true if the default language should use the closed captions icon.
+bool UseClosedCaptionsIcon() {
+  for (auto*& locale : kClosedCaptionLocales) {
+    if (locale == DefaultLanguage())
+      return true;
+  }
+
+  return false;
+}
+
+}  // namespace
+
 MediaControlToggleClosedCaptionsButtonElement::
     MediaControlToggleClosedCaptionsButtonElement(
         MediaControlsImpl& media_controls)
@@ -20,6 +49,7 @@
   setType(InputTypeNames::button);
   SetShadowPseudoId(
       AtomicString("-webkit-media-controls-toggle-closed-captions-button"));
+  SetClass(kClosedCaptionClass, UseClosedCaptionsIcon());
 }
 
 bool MediaControlToggleClosedCaptionsButtonElement::
diff --git a/third_party/blink/renderer/modules/media_controls/resources/ic_subtitles.svg b/third_party/blink/renderer/modules/media_controls/resources/ic_subtitles.svg
new file mode 100644
index 0000000..aa5d49cb
--- /dev/null
+++ b/third_party/blink/renderer/modules/media_controls/resources/ic_subtitles.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24" fill="#000000">
+    <path d="M0 0h24v24H0z" fill="none"/>
+    <path d="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z"/>
+</svg>
diff --git a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
index aeda668..0c491a9 100644
--- a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
+++ b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
@@ -334,6 +334,10 @@
 }
 
 video::-webkit-media-controls-toggle-closed-captions-button {
+  background-image: -webkit-image-set(url(ic_subtitles.svg) 1x);
+}
+
+video::-webkit-media-controls-toggle-closed-captions-button.closed-captions {
   background-image: -webkit-image-set(url(ic_closed_caption.svg) 1x);
 }
 
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
index 985bfe649..88c47ee 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
@@ -215,7 +215,7 @@
   init.setFetches(BackgroundFetchSettledFetches::Create(script_state, fetches));
 
   BackgroundFetchUpdateEvent* event = BackgroundFetchUpdateEvent::Create(
-      EventTypeNames::backgroundfetched, init, unique_id, script_state,
+      EventTypeNames::backgroundfetchfail, init, unique_id, script_state,
       observer, worker_global_scope_->registration());
 
   WorkerGlobalScope()->DispatchExtendableEvent(event, observer);
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
index 06ccd0cd..c76a733 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -1532,7 +1532,7 @@
   canvas()->ClearCopiedImage();
   marked_canvas_dirty_ = false;
 
-  if (!canvas()->GetOrCreateCanvasResourceProvider())
+  if (!canvas()->GetOrCreateCanvasResourceProvider(kPreferAcceleration))
     return false;
 
   if (!canvas()->ResourceProvider()->IsAccelerated())
diff --git a/third_party/blink/renderer/modules/xr/xr_frame_provider.cc b/third_party/blink/renderer/modules/xr/xr_frame_provider.cc
index 1f70168..2e0796c 100644
--- a/third_party/blink/renderer/modules/xr/xr_frame_provider.cc
+++ b/third_party/blink/renderer/modules/xr/xr_frame_provider.cc
@@ -181,16 +181,6 @@
   if (exclusive_session_)
     return;
 
-  if (device_->xrDisplayInfoPtr()
-          ->capabilities->can_provide_pass_through_images) {
-    DoubleSize session_size_double = session->OutputCanvasSize();
-    IntSize session_size(session_size_double.Width(),
-                         session_size_double.Height());
-    ar_requested_transfer_size_ =
-        ar_requested_transfer_size_.ExpandedTo(session_size);
-    // Have to pick an angle so we'll take the last angle.
-    ar_requested_transfer_angle_ = session->OutputCanvasAngle();
-  }
   ScheduleNonExclusiveFrame();
 }
 
@@ -211,6 +201,7 @@
   TRACE_EVENT0("gpu", __FUNCTION__);
   DCHECK(!exclusive_session_)
       << "Scheduling should be done via the exclusive session if present.";
+  DCHECK(device_->xrMagicWindowProviderPtr());
 
   if (pending_non_exclusive_vsync_)
     return;
@@ -227,36 +218,12 @@
 
   pending_non_exclusive_vsync_ = true;
 
+  device_->xrMagicWindowProviderPtr()->GetFrameData(WTF::Bind(
+      &XRFrameProvider::OnNonExclusiveFrameData, WrapWeakPersistent(this)));
+
   // TODO(https://crbug.com/839253): Generalize the pass-through images
   // code path so that it also works for exclusive sessions on an AR device
   // with pass-through technology.
-  if (device_->xrDisplayInfoPtr()
-          ->capabilities->can_provide_pass_through_images) {
-    DVLOG(2) << __FUNCTION__ << ": transfer_size "
-             << ar_requested_transfer_size_.Width() << "x"
-             << ar_requested_transfer_size_.Height()
-             << " angle=" << ar_requested_transfer_angle_;
-    DCHECK(display::Display::IsValidRotation(ar_requested_transfer_angle_));
-
-    // TODO(https://crbug.com/836496): ensure valid frame sizes, including when
-    // using multiple sessions. Currently, we take the max size of all the
-    // active session's requested sizes and pass that to the browser as-is.
-    // Unsupported sizes such as zero or excessively large ones may be rejected
-    // by the device, resulting in null XRFrameData responses.
-    // Requests for frames of 0 size are making it to this point - we should
-    // ensure that frames are not scheduled until the frame context is ready.
-    // In the future, we should signal an error back to the client.
-
-    // TODO(http://crbug.com/856259): Only call if there was a change, this may
-    // be an expensive operation. If there was no change, the previous values
-    // should remain valid.
-    device_->xrMagicWindowProviderPtr()->UpdateSessionGeometry(
-        ar_requested_transfer_size_,
-        display::Display::DegreesToRotation(ar_requested_transfer_angle_));
-  }
-
-  device_->xrMagicWindowProviderPtr()->GetFrameData(WTF::Bind(
-      &XRFrameProvider::OnNonExclusiveFrameData, WrapWeakPersistent(this)));
 
   // TODO(http://crbug.com/856257) Remove the special casing for AR and non-AR.
   if (!device_->xrDisplayInfoPtr()
@@ -398,12 +365,6 @@
     // from the requests to prevent infinite loops.
     HeapVector<Member<XRSession>> processing_sessions;
     swap(requesting_sessions_, processing_sessions);
-    if (device_->xrDisplayInfoPtr()
-            ->capabilities->can_provide_pass_through_images) {
-      // Clear the AR transfer size for next frame.
-      ar_requested_transfer_size_.SetWidth(0);
-      ar_requested_transfer_size_.SetHeight(0);
-    }
 
     // Inform sessions with a pending request of the new frame
     for (unsigned i = 0; i < processing_sessions.size(); ++i) {
diff --git a/third_party/blink/renderer/modules/xr/xr_frame_provider.h b/third_party/blink/renderer/modules/xr/xr_frame_provider.h
index 266e02b..1f0fd82 100644
--- a/third_party/blink/renderer/modules/xr/xr_frame_provider.h
+++ b/third_party/blink/renderer/modules/xr/xr_frame_provider.h
@@ -68,11 +68,6 @@
   device::mojom::blink::VRMagicWindowProviderPtr magic_window_provider_;
   device::mojom::blink::VRPosePtr frame_pose_;
 
-  // Track the size/orientation of the requested canvas.
-  // TODO(https://crbug.com/836496): move these to XRSession.
-  IntSize ar_requested_transfer_size_;
-  int ar_requested_transfer_angle_ = 0;
-
   // This frame ID is XR-specific and is used to track when frames arrive at the
   // XR compositor so that it knows which poses to use, when to apply bounds
   // updates, etc.
diff --git a/third_party/blink/renderer/modules/xr/xr_session.cc b/third_party/blink/renderer/modules/xr/xr_session.cc
index acde21d..6ac38b0a 100644
--- a/third_party/blink/renderer/modules/xr/xr_session.cc
+++ b/third_party/blink/renderer/modules/xr/xr_session.cc
@@ -415,10 +415,6 @@
   return DoubleSize(output_width_, output_height_);
 }
 
-int XRSession::OutputCanvasAngle() const {
-  return output_angle_;
-}
-
 void XRSession::OnFocus() {
   if (!blurred_)
     return;
@@ -540,13 +536,21 @@
   update_views_next_frame_ = true;
   output_width_ = element->OffsetWidth() * devicePixelRatio;
   output_height_ = element->OffsetHeight() * devicePixelRatio;
+  int output_angle = 0;
 
   // TODO(crbug.com/836948): handle square canvases.
   // TODO(crbug.com/840346): we should not need to use ScreenOrientation here.
   ScreenOrientation* orientation = ScreenOrientation::Create(frame);
+
   if (orientation) {
-    output_angle_ = orientation->angle();
-    DVLOG(2) << __FUNCTION__ << ": got angle=" << output_angle_;
+    output_angle = orientation->angle();
+    DVLOG(2) << __FUNCTION__ << ": got angle=" << output_angle;
+  }
+
+  if (device_->xrMagicWindowProviderPtr()) {
+    device_->xrMagicWindowProviderPtr()->UpdateSessionGeometry(
+        IntSize(output_width_, output_height_),
+        display::Display::DegreesToRotation(output_angle));
   }
 
   if (base_layer_) {
diff --git a/third_party/blink/renderer/modules/xr/xr_session.h b/third_party/blink/renderer/modules/xr/xr_session.h
index f461bae..a6c3cc0 100644
--- a/third_party/blink/renderer/modules/xr/xr_session.h
+++ b/third_party/blink/renderer/modules/xr/xr_session.h
@@ -115,9 +115,6 @@
 
   void LogGetPose() const;
 
-  // Output canvas orientation in degrees. Expected to be multiple of 90.
-  int OutputCanvasAngle() const;
-
   // EventTarget overrides.
   ExecutionContext* GetExecutionContext() const override;
   const AtomicString& InterfaceName() const override;
@@ -196,7 +193,6 @@
   // Dimensions of the output canvas.
   int output_width_ = 1;
   int output_height_ = 1;
-  int output_angle_ = 0;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/feature_policy/feature_policy.cc b/third_party/blink/renderer/platform/feature_policy/feature_policy.cc
index 414670ec..dbcf678 100644
--- a/third_party/blink/renderer/platform/feature_policy/feature_policy.cc
+++ b/third_party/blink/renderer/platform/feature_policy/feature_policy.cc
@@ -38,7 +38,7 @@
     scoped_refptr<const SecurityOrigin> src_origin,
     Vector<String>* messages,
     const FeatureNameMap& feature_names) {
-  ParsedFeaturePolicy whitelists;
+  ParsedFeaturePolicy allowlists;
   BitVector features_specified(
       static_cast<int>(mojom::FeaturePolicyFeature::kMaxValue));
 
@@ -72,8 +72,8 @@
       if (features_specified.QuickGet(static_cast<int>(feature)))
         continue;
 
-      ParsedFeaturePolicyDeclaration whitelist;
-      whitelist.feature = feature;
+      ParsedFeaturePolicyDeclaration allowlist;
+      allowlist.feature = feature;
       features_specified.QuickSet(static_cast<int>(feature));
       std::vector<url::Origin> origins;
       // If a policy entry has no (optional) values (e,g,
@@ -89,7 +89,7 @@
         } else if (!src_origin->IsOpaque()) {
           origins.push_back(src_origin->ToUrlOrigin());
         } else {
-          whitelist.matches_opaque_src = true;
+          allowlist.matches_opaque_src = true;
         }
       }
 
@@ -110,14 +110,14 @@
           // the |matches_opaque_src| flag on the declaration is set, rather
           // than adding an origin to the allowlist.
           if (src_origin->IsOpaque()) {
-            whitelist.matches_opaque_src = true;
+            allowlist.matches_opaque_src = true;
           } else {
             origins.push_back(src_origin->ToUrlOrigin());
           }
         } else if (EqualIgnoringASCIICase(tokens[i], "'none'")) {
           continue;
         } else if (tokens[i] == "*") {
-          whitelist.matches_all_origins = true;
+          allowlist.matches_all_origins = true;
           break;
         } else {
           url::Origin target_origin = url::Origin::Create(
@@ -128,21 +128,30 @@
             messages->push_back("Unrecognized origin: '" + tokens[i] + "'.");
         }
       }
-      whitelist.origins = origins;
-      whitelists.push_back(whitelist);
+      allowlist.origins = origins;
+      allowlists.push_back(allowlist);
     }
   }
-  return whitelists;
+  return allowlists;
 }
 
+// This method defines the feature names which will be recognized by the parser
+// for the Feature-Policy HTTP header and the <iframe> "allow" attribute, as
+// well as the features which will be recognized by the document or iframe
+// policy object.
+//
+// Features which are implemented behind a flag should generally also have the
+// same flag controlling whether they are in this map. Note that features which
+// are shipping as part of an origin trial should add their feature names to
+// this map unconditionally, as the trial token could be added after the HTTP
+// header needs to be parsed. This also means that top-level documents which
+// simply want to embed another page which uses an origin trial feature, without
+// using the feature themselves, can use feature policy to allow use of the
+// feature in subframes. (The framed document will still require a valid origin
+// trial token to use the feature in this scenario.)
 const FeatureNameMap& GetDefaultFeatureNameMap() {
   DEFINE_STATIC_LOCAL(FeatureNameMap, default_feature_name_map, ());
   if (default_feature_name_map.IsEmpty()) {
-    default_feature_name_map.Set("accelerometer",
-                                 mojom::FeaturePolicyFeature::kAccelerometer);
-    default_feature_name_map.Set(
-        "ambient-light-sensor",
-        mojom::FeaturePolicyFeature::kAmbientLightSensor);
     default_feature_name_map.Set("camera",
                                  mojom::FeaturePolicyFeature::kCamera);
     default_feature_name_map.Set("encrypted-media",
@@ -151,27 +160,20 @@
                                  mojom::FeaturePolicyFeature::kFullscreen);
     default_feature_name_map.Set("geolocation",
                                  mojom::FeaturePolicyFeature::kGeolocation);
-    default_feature_name_map.Set("gyroscope",
-                                 mojom::FeaturePolicyFeature::kGyroscope);
-    default_feature_name_map.Set("magnetometer",
-                                 mojom::FeaturePolicyFeature::kMagnetometer);
     default_feature_name_map.Set("microphone",
                                  mojom::FeaturePolicyFeature::kMicrophone);
     default_feature_name_map.Set("midi",
                                  mojom::FeaturePolicyFeature::kMidiFeature);
-    default_feature_name_map.Set("payment",
-                                 mojom::FeaturePolicyFeature::kPayment);
     default_feature_name_map.Set("speaker",
                                  mojom::FeaturePolicyFeature::kSpeaker);
     default_feature_name_map.Set("sync-xhr",
                                  mojom::FeaturePolicyFeature::kSyncXHR);
-    default_feature_name_map.Set("usb", mojom::FeaturePolicyFeature::kUsb);
+    // Under origin trial: Should be made conditional on WebVR and WebXR
+    // runtime flags once it is out of trial.
     default_feature_name_map.Set("vr", mojom::FeaturePolicyFeature::kWebVr);
-    if (RuntimeEnabledFeatures::PictureInPictureAPIEnabled()) {
-      default_feature_name_map.Set(
-          "picture-in-picture", mojom::FeaturePolicyFeature::kPictureInPicture);
-    }
     if (RuntimeEnabledFeatures::ExperimentalProductivityFeaturesEnabled()) {
+      default_feature_name_map.Set("animations",
+                                   mojom::FeaturePolicyFeature::kAnimations);
       default_feature_name_map.Set("document-write",
                                    mojom::FeaturePolicyFeature::kDocumentWrite);
       default_feature_name_map.Set(
@@ -187,14 +189,32 @@
       default_feature_name_map.Set(
           "vertical-scroll", mojom::FeaturePolicyFeature::kVerticalScroll);
     }
-    if (RuntimeEnabledFeatures::FeaturePolicyExperimentalFeaturesEnabled()) {
-      default_feature_name_map.Set("animations",
-                                   mojom::FeaturePolicyFeature::kAnimations);
-    }
     if (RuntimeEnabledFeatures::FeaturePolicyAutoplayFeatureEnabled()) {
       default_feature_name_map.Set("autoplay",
                                    mojom::FeaturePolicyFeature::kAutoplay);
     }
+    if (RuntimeEnabledFeatures::PaymentRequestEnabled()) {
+      default_feature_name_map.Set("payment",
+                                   mojom::FeaturePolicyFeature::kPayment);
+    }
+    if (RuntimeEnabledFeatures::PictureInPictureAPIEnabled()) {
+      default_feature_name_map.Set(
+          "picture-in-picture", mojom::FeaturePolicyFeature::kPictureInPicture);
+    }
+    if (RuntimeEnabledFeatures::SensorEnabled()) {
+      default_feature_name_map.Set("accelerometer",
+                                   mojom::FeaturePolicyFeature::kAccelerometer);
+      default_feature_name_map.Set(
+          "ambient-light-sensor",
+          mojom::FeaturePolicyFeature::kAmbientLightSensor);
+      default_feature_name_map.Set("gyroscope",
+                                   mojom::FeaturePolicyFeature::kGyroscope);
+      default_feature_name_map.Set("magnetometer",
+                                   mojom::FeaturePolicyFeature::kMagnetometer);
+    }
+    if (RuntimeEnabledFeatures::WebUSBEnabled()) {
+      default_feature_name_map.Set("usb", mojom::FeaturePolicyFeature::kUsb);
+    }
   }
   return default_feature_name_map;
 }
diff --git a/third_party/blink/renderer/platform/feature_policy/feature_policy.h b/third_party/blink/renderer/platform/feature_policy/feature_policy.h
index d20931b..289b3b2 100644
--- a/third_party/blink/renderer/platform/feature_policy/feature_policy.h
+++ b/third_party/blink/renderer/platform/feature_policy/feature_policy.h
@@ -24,7 +24,7 @@
 typedef HashMap<String, mojom::FeaturePolicyFeature> FeatureNameMap;
 PLATFORM_EXPORT const FeatureNameMap& GetDefaultFeatureNameMap();
 
-// Converts a header policy string into a vector of whitelists, one for each
+// Converts a header policy string into a vector of allowlists, one for each
 // feature specified. Unrecognized features are filtered out. If |messages|
 // is not null, then any message in the input will cause a warning message to be
 // appended to it.
@@ -35,7 +35,7 @@
                          scoped_refptr<const SecurityOrigin>,
                          Vector<String>* messages);
 
-// Converts a container policy string into a vector of whitelists, given self
+// Converts a container policy string into a vector of allowlists, given self
 // and src origins provided, one for each feature specified. Unrecognized
 // features are filtered out. If |messages| is not null, then any message in the
 // input will cause as warning message to be appended to it.
@@ -47,7 +47,7 @@
                             scoped_refptr<const SecurityOrigin> src_origin,
                             Vector<String>* messages);
 
-// Converts a feature policy string into a vector of whitelists (see comments
+// Converts a feature policy string into a vector of allowlists (see comments
 // above), with an explicit FeatureNameMap. This algorithm is called by both
 // header policy parsing and container policy parsing. |self_origin| and
 // |src_origin| are both nullable.
diff --git a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
index 15b51a6..678a5ed 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc
@@ -61,14 +61,11 @@
 namespace blink {
 
 Canvas2DLayerBridge::Canvas2DLayerBridge(const IntSize& size,
-                                         int msaa_sample_count,
                                          AccelerationMode acceleration_mode,
                                          const CanvasColorParams& color_params)
     : logger_(std::make_unique<Logger>()),
-      msaa_sample_count_(msaa_sample_count),
       bytes_allocated_(0),
       have_recorded_draw_commands_(false),
-      filter_quality_(kLow_SkFilterQuality),
       is_hidden_(false),
       is_deferral_enabled_(true),
       software_rendering_while_hidden_(false),
@@ -282,8 +279,13 @@
     return nullptr;
   }
 
-  if (resource_provider && resource_provider->IsValid())
+  if (resource_provider && resource_provider->IsValid()) {
+    // If resource provider is accelerated, a layer should already exist.
+    // If not, it could mean that the resource provider was create without
+    // going through this method, which is bad.
+    DCHECK(!IsAccelerated() || !!layer_);
     return resource_provider;
+  }
 
   if (layer_ && !IsHibernating() && hint == kPreferAcceleration &&
       acceleration_mode_ != kDisableAcceleration) {
@@ -296,42 +298,22 @@
     want_acceleration = false;
     software_rendering_while_hidden_ = true;
   }
+  AccelerationHint adjusted_hint =
+      want_acceleration ? kPreferAcceleration : kPreferNoAcceleration;
 
-  // TODO: switch to kSoftwareResourceUsage and start using mailbox+layer
-  // for non-accelerated 2D canvas.
-  CanvasResourceProvider::ResourceUsage usage =
-      want_acceleration
-          ? CanvasResourceProvider::kAcceleratedCompositedResourceUsage
-          : CanvasResourceProvider::kSoftwareResourceUsage;
+  resource_provider =
+      resource_host_->GetOrCreateCanvasResourceProvider(adjusted_hint);
 
-  CanvasResourceProvider::PresentationMode presentation_mode =
-      RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()
-          ? CanvasResourceProvider::kAllowImageChromiumPresentationMode
-          : CanvasResourceProvider::kDefaultPresentationMode;
-
-  resource_host_->ReplaceResourceProvider(CanvasResourceProvider::Create(
-      size_, usage, SharedGpuContext::ContextProviderWrapper(),
-      msaa_sample_count_, color_params_, presentation_mode,
-      nullptr  // canvas_resource_dispatcher
-      ));
-  resource_provider = resource_host_->ResourceProvider();
-
-  if (resource_provider) {
-    // Always save an initial frame, to support resetting the top level matrix
-    // and clip.
-    resource_provider->Canvas()->save();
-    resource_provider->SetFilterQuality(filter_quality_);
-    resource_provider->SetResourceRecyclingEnabled(!IsHidden());
-  } else {
+  if (!resource_provider)
     ReportResourceProviderCreationFailure();
-  }
 
-  if (resource_provider && resource_provider->IsAccelerated() && !layer_) {
+  if (resource_provider && IsAccelerated() && !layer_) {
     layer_ = cc::TextureLayer::CreateForMailbox(this);
     layer_->SetIsDrawable(true);
     layer_->SetContentsOpaque(ColorParams().GetOpacityMode() == kOpaque);
     layer_->SetBlendBackgroundColor(ColorParams().GetOpacityMode() != kOpaque);
-    layer_->SetNearestNeighbor(filter_quality_ == kNone_SkFilterQuality);
+    layer_->SetNearestNeighbor(resource_host_->FilterQuality() ==
+                               kNone_SkFilterQuality);
     GraphicsLayer::RegisterContentsLayer(layer_.get());
   }
 
@@ -374,7 +356,7 @@
   DCHECK(resource_host_);
   if (!is_deferral_enabled_) {
     if (GetOrCreateResourceProvider())
-      return resource_host_->ResourceProvider()->Canvas();
+      return ResourceProvider()->Canvas();
     return nullptr;
   }
   return recorder_->getRecordingCanvas();
@@ -411,9 +393,9 @@
     resource_host_->RestoreCanvasMatrixClipStack(ResourceProvider()->Canvas());
 }
 
-void Canvas2DLayerBridge::SetFilterQuality(SkFilterQuality filter_quality) {
-  filter_quality_ = filter_quality;
-  if (ResourceProvider())
+void Canvas2DLayerBridge::UpdateFilterQuality() {
+  SkFilterQuality filter_quality = resource_host_->FilterQuality();
+  if (GetOrCreateResourceProvider())
     ResourceProvider()->SetFilterQuality(filter_quality);
   if (layer_)
     layer_->SetNearestNeighbor(filter_quality == kNone_SkFilterQuality);
@@ -427,8 +409,8 @@
   if (ResourceProvider())
     ResourceProvider()->SetResourceRecyclingEnabled(!IsHidden());
 
-  if (CANVAS2D_HIBERNATION_ENABLED && ResourceProvider() && IsHidden() &&
-      !hibernation_scheduled_) {
+  if (CANVAS2D_HIBERNATION_ENABLED && ResourceProvider() && IsAccelerated() &&
+      IsHidden() && !hibernation_scheduled_) {
     if (layer_)
       layer_->ClearTexture();
     logger_->ReportHibernationEvent(kHibernationScheduled);
@@ -548,7 +530,7 @@
     return true;
   if (context_lost_)
     return false;
-  if (ResourceProvider() && ResourceProvider()->IsAccelerated() &&
+  if (ResourceProvider() && IsAccelerated() &&
       ResourceProvider()->IsGpuContextLost()) {
     context_lost_ = true;
     ResetResourceProvider();
@@ -575,17 +557,8 @@
     shared_gl = context_provider_wrapper->ContextProvider()->ContextGL();
 
   if (shared_gl && shared_gl->GetGraphicsResetStatusKHR() == GL_NO_ERROR) {
-    CanvasResourceProvider::PresentationMode presentation_mode =
-        RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()
-            ? CanvasResourceProvider::kAllowImageChromiumPresentationMode
-            : CanvasResourceProvider::kDefaultPresentationMode;
-    std::unique_ptr<CanvasResourceProvider> resource_provider =
-        CanvasResourceProvider::Create(
-            size_, CanvasResourceProvider::kAcceleratedCompositedResourceUsage,
-            std::move(context_provider_wrapper), msaa_sample_count_,
-            color_params_, presentation_mode,
-            nullptr  // canvas_resource_dispatcher
-            );
+    CanvasResourceProvider* resource_provider =
+        resource_host_->GetOrCreateCanvasResourceProvider(kPreferAcceleration);
 
     if (!resource_provider)
       ReportResourceProviderCreationFailure();
@@ -594,11 +567,12 @@
     // non-accelerated, which would be tricky due to changes to the layer tree,
     // which can only happen at specific times during the document lifecycle.
     // Therefore, we can only accept the restored surface if it is accelerated.
-    if (resource_provider && resource_provider->IsAccelerated()) {
-      resource_host_->ReplaceResourceProvider(std::move(resource_provider));
+    if (resource_provider && !IsAccelerated()) {
+      resource_host_->ReplaceResourceProvider(nullptr);
       // FIXME: draw sad canvas picture into new buffer crbug.com/243842
+    } else {
+      context_lost_ = false;
     }
-    context_lost_ = false;
   }
 
   if (resource_host_)
diff --git a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h
index 5df74cd..a22973e 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h
+++ b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h
@@ -82,7 +82,6 @@
   };
 
   Canvas2DLayerBridge(const IntSize&,
-                      int msaa_sample_count,
                       AccelerationMode,
                       const CanvasColorParams&);
 
@@ -102,7 +101,7 @@
   cc::Layer* Layer();
   bool Restore();
   void DisableDeferral(DisableDeferralReason);
-  void SetFilterQuality(SkFilterQuality);
+  void UpdateFilterQuality();
 
   // virtual for unit testing
   virtual void WillOverwriteCanvas();
@@ -187,7 +186,6 @@
   int frames_since_last_commit_ = 0;
   size_t bytes_allocated_;
   bool have_recorded_draw_commands_;
-  SkFilterQuality filter_quality_;
   bool is_hidden_;
   bool is_deferral_enabled_;
   bool software_rendering_while_hidden_;
diff --git a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge_test.cc b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge_test.cc
index 5def4dc..772ff4d 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge_test.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge_test.cc
@@ -147,6 +147,12 @@
   bool disallow_cache_use_ = false;
 };
 
+class MockCanvasResourceHost : public blink::FakeCanvasResourceHost {
+ public:
+  MockCanvasResourceHost(const IntSize& size) : FakeCanvasResourceHost(size) {}
+  MOCK_CONST_METHOD1(RestoreCanvasMatrixClipStack, void(cc::PaintCanvas*));
+};
+
 }  // anonymous namespace
 
 class Canvas2DLayerBridgeTest : public Test {
@@ -156,12 +162,15 @@
       Canvas2DLayerBridge::AccelerationMode acceleration_mode,
       const CanvasColorParams& color_params) {
     std::unique_ptr<Canvas2DLayerBridge> bridge =
-        std::make_unique<Canvas2DLayerBridge>(size, 0, acceleration_mode,
+        std::make_unique<Canvas2DLayerBridge>(size, acceleration_mode,
                                               color_params);
     bridge->DontUseIdleSchedulingForTesting();
-    bridge->SetCanvasResourceHost(&host_);
+    if (!host_)
+      host_ = std::make_unique<MockCanvasResourceHost>(size);
+    bridge->SetCanvasResourceHost(host_.get());
     return bridge;
   }
+
   void SetUp() override {
     auto factory = [](FakeGLES2Interface* gl, ImageTrackingDecodeCache* cache,
                       bool* gpu_compositing_disabled)
@@ -172,15 +181,21 @@
     SharedGpuContext::SetContextProviderFactoryForTesting(WTF::BindRepeating(
         factory, WTF::Unretained(&gl_), WTF::Unretained(&image_decode_cache_)));
   }
+
   void TearDown() override { SharedGpuContext::ResetForTesting(); }
 
+  MockCanvasResourceHost* Host() {
+    DCHECK(host_);
+    return host_.get();
+  }
+
  protected:
   MockGLES2InterfaceWithImageSupport gl_;
   ImageTrackingDecodeCache image_decode_cache_;
-  FakeCanvasResourceHost host_;
+  std::unique_ptr<MockCanvasResourceHost> host_;
 };
 
-TEST_F(Canvas2DLayerBridgeTest, FullLifecycleSingleThreaded) {
+TEST_F(Canvas2DLayerBridgeTest, DisableAcceleration) {
   std::unique_ptr<Canvas2DLayerBridge> bridge =
       MakeBridge(IntSize(300, 150), Canvas2DLayerBridge::kDisableAcceleration,
                  CanvasColorParams());
@@ -393,14 +408,6 @@
   ~MockLogger() override = default;
 };
 
-class MockCanvasResourceHost : public CanvasResourceHost {
- public:
-  void NotifyGpuContextLost() override {}
-  void SetNeedsCompositingUpdate() override {}
-  void UpdateMemoryUsage() override {}
-  MOCK_CONST_METHOD1(RestoreCanvasMatrixClipStack, void(cc::PaintCanvas*));
-};
-
 void DrawSomething(Canvas2DLayerBridge* bridge) {
   bridge->DidDraw(FloatRect(0, 0, 1, 1));
   bridge->FinalizeFrame();
@@ -420,6 +427,7 @@
                  CanvasColorParams());
   bridge->DontUseIdleSchedulingForTesting();
   DrawSomething(bridge.get());
+  EXPECT_TRUE(bridge->IsAccelerated());
 
   // Register an alternate Logger for tracking hibernation events
   std::unique_ptr<MockLogger> mock_logger = std::make_unique<MockLogger>();
@@ -510,14 +518,12 @@
 #endif
 {
   ScopedTestingPlatformSupport<FakePlatformSupport> platform;
-  MockCanvasResourceHost mock_host;
-  EXPECT_CALL(mock_host, RestoreCanvasMatrixClipStack(_)).Times(AnyNumber());
 
   std::unique_ptr<Canvas2DLayerBridge> bridge =
       MakeBridge(IntSize(300, 300), Canvas2DLayerBridge::kEnableAcceleration,
                  CanvasColorParams());
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AnyNumber());
 
-  bridge->SetCanvasResourceHost(&mock_host);
   bridge->DontUseIdleSchedulingForTesting();
   DrawSomething(bridge.get());
   bridge->DisableDeferral(kDisableDeferralReasonUnknown);
@@ -535,7 +541,7 @@
   bridge->SetIsHidden(true);
   platform->RunUntilIdle();
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_host);
+  testing::Mock::VerifyAndClearExpectations(host_.get());
   EXPECT_FALSE(bridge->IsAccelerated());
   EXPECT_TRUE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
@@ -544,11 +550,11 @@
   EXPECT_CALL(
       *mock_logger_ptr,
       ReportHibernationEvent(Canvas2DLayerBridge::kHibernationEndedNormally));
-  EXPECT_CALL(mock_host, RestoreCanvasMatrixClipStack(_))
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_))
       .Times(AtLeast(1));  // Because deferred rendering is disabled
   bridge->SetIsHidden(false);
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_TRUE(bridge->IsAccelerated());
   EXPECT_FALSE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
@@ -619,10 +625,7 @@
                  CanvasColorParams());
   bridge->DontUseIdleSchedulingForTesting();
   DrawSomething(bridge.get());
-  MockCanvasResourceHost mock_canvas_resource_host;
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AnyNumber());
-  bridge->SetCanvasResourceHost(&mock_canvas_resource_host);
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AnyNumber());
   bridge->DisableDeferral(kDisableDeferralReasonUnknown);
 
   // Register an alternate Logger for tracking hibernation events
@@ -638,7 +641,7 @@
   bridge->SetIsHidden(true);
   platform->RunUntilIdle();
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_FALSE(bridge->IsAccelerated());
   EXPECT_TRUE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
@@ -648,21 +651,19 @@
               ReportHibernationEvent(
                   Canvas2DLayerBridge::
                       kHibernationEndedWithSwitchToBackgroundRendering));
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AtLeast(1));
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AtLeast(1));
   DrawSomething(bridge.get());
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_FALSE(bridge->IsAccelerated());
   EXPECT_FALSE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
 
   // Unhide
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AtLeast(1));
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AtLeast(1));
   bridge->SetIsHidden(false);
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_TRUE(
       bridge->IsAccelerated());  // Becoming visible causes switch back to GPU
   EXPECT_FALSE(bridge->IsHibernating());
@@ -683,10 +684,7 @@
   bridge->DontUseIdleSchedulingForTesting();
   DrawSomething(bridge.get());
 
-  MockCanvasResourceHost mock_canvas_resource_host;
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AnyNumber());
-  bridge->SetCanvasResourceHost(&mock_canvas_resource_host);
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AnyNumber());
 
   // Register an alternate Logger for tracking hibernation events
   std::unique_ptr<MockLogger> mock_logger = std::make_unique<MockLogger>();
@@ -701,7 +699,7 @@
   bridge->SetIsHidden(true);
   platform->RunUntilIdle();
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_FALSE(bridge->IsAccelerated());
   EXPECT_TRUE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
@@ -711,30 +709,27 @@
               ReportHibernationEvent(
                   Canvas2DLayerBridge::
                       kHibernationEndedWithSwitchToBackgroundRendering));
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AtLeast(1));
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AtLeast(1));
   bridge->DisableDeferral(kDisableDeferralReasonUnknown);
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_FALSE(bridge->IsAccelerated());
   EXPECT_FALSE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
 
   // Unhide
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AtLeast(1));
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AtLeast(1));
   bridge->SetIsHidden(false);
   testing::Mock::VerifyAndClearExpectations(mock_logger_ptr);
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
   EXPECT_TRUE(
       bridge->IsAccelerated());  // Becoming visible causes switch back to GPU
   EXPECT_FALSE(bridge->IsHibernating());
   EXPECT_TRUE(bridge->IsValid());
 
-  EXPECT_CALL(mock_canvas_resource_host, RestoreCanvasMatrixClipStack(_))
-      .Times(AnyNumber());
+  EXPECT_CALL(*Host(), RestoreCanvasMatrixClipStack(_)).Times(AnyNumber());
   bridge.reset();
-  testing::Mock::VerifyAndClearExpectations(&mock_canvas_resource_host);
+  testing::Mock::VerifyAndClearExpectations(Host());
 }
 
 #if CANVAS2D_HIBERNATION_ENABLED
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource.cc b/third_party/blink/renderer/platform/graphics/canvas_resource.cc
index badd210..6c12ff0d 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource.cc
@@ -62,15 +62,6 @@
 #endif
 }
 
-bool CanvasResource::IsBitmap() {
-  return false;
-}
-
-scoped_refptr<StaticBitmapImage> CanvasResource::Bitmap() {
-  NOTREACHED();
-  return nullptr;
-}
-
 gpu::gles2::GLES2Interface* CanvasResource::ContextGL() const {
   if (!ContextProviderWrapper())
     return nullptr;
@@ -251,10 +242,6 @@
   return GL_TEXTURE_2D;
 }
 
-bool CanvasResourceBitmap::IsBitmap() {
-  return true;
-}
-
 scoped_refptr<StaticBitmapImage> CanvasResourceBitmap::Bitmap() {
   return image_;
 }
@@ -285,6 +272,11 @@
   return image_->OriginClean();
 }
 
+void CanvasResourceBitmap::SetOriginClean(bool value) {
+  DCHECK(image_);
+  image_->SetOriginClean(value);
+}
+
 base::WeakPtr<WebGraphicsContext3DProviderWrapper>
 CanvasResourceBitmap::ContextProviderWrapper() const {
   if (!image_)
@@ -557,6 +549,14 @@
   return context_provider_wrapper_;
 }
 
+scoped_refptr<StaticBitmapImage> CanvasResourceGpuMemoryBuffer::Bitmap() {
+  WillPaint();
+  scoped_refptr<StaticBitmapImage> bitmap = StaticBitmapImage::Create(
+      surface_->makeImageSnapshot(), ContextProviderWrapper());
+  DidPaint();
+  return bitmap;
+}
+
 // CanvasResourceSharedBitmap
 //==============================================================================
 
@@ -601,6 +601,30 @@
   return size_;
 }
 
+scoped_refptr<StaticBitmapImage> CanvasResourceSharedBitmap::Bitmap() {
+  if (!IsValid())
+    return nullptr;
+  // Construct an SkImage that references the shared memory buffer.
+  // The release callback holds a reference to |this| to ensure that the
+  // canvas resource that owns the shared memory stays alive at least until
+  // the SkImage is destroyed.
+  SkImageInfo image_info = SkImageInfo::Make(
+      Size().Width(), Size().Height(), ColorParams().GetSkColorType(),
+      ColorParams().GetSkAlphaType(), ColorParams().GetSkColorSpace());
+  SkPixmap pixmap(image_info, shared_memory_->memory(),
+                  image_info.minRowBytes());
+  this->AddRef();
+  sk_sp<SkImage> sk_image = SkImage::MakeFromRaster(
+      pixmap,
+      [](const void*, SkImage::ReleaseContext resource_to_unref) {
+        static_cast<CanvasResourceSharedBitmap*>(resource_to_unref)->Release();
+      },
+      this);
+  auto image = StaticBitmapImage::Create(sk_image);
+  image->SetOriginClean(is_origin_clean_);
+  return image;
+}
+
 scoped_refptr<CanvasResourceSharedBitmap> CanvasResourceSharedBitmap::Create(
     const IntSize& size,
     const CanvasColorParams& color_params,
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource.h b/third_party/blink/renderer/platform/graphics/canvas_resource.h
index bc9ad9f..9c2fac8 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource.h
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource.h
@@ -62,7 +62,7 @@
   virtual bool NeedsReadLockFences() const { return false; }
   virtual IntSize Size() const = 0;
   virtual const gpu::Mailbox& GetOrCreateGpuMailbox(MailboxSyncMode) = 0;
-  virtual void Transfer() { NOTREACHED(); }
+  virtual void Transfer() {}
   virtual const gpu::SyncToken GetSyncToken() {
     NOTREACHED();
     return gpu::SyncToken();
@@ -74,12 +74,9 @@
   virtual scoped_refptr<CanvasResource> MakeAccelerated(
       base::WeakPtr<WebGraphicsContext3DProviderWrapper>) = 0;
   virtual scoped_refptr<CanvasResource> MakeUnaccelerated() = 0;
-  virtual bool IsBitmap();
-  virtual bool OriginClean() const {
-    NOTREACHED();
-    return false;
-  }
-  virtual scoped_refptr<StaticBitmapImage> Bitmap();
+  virtual bool OriginClean() const = 0;
+  virtual void SetOriginClean(bool) = 0;
+  virtual scoped_refptr<StaticBitmapImage> Bitmap() = 0;
   virtual void CopyFromTexture(GLuint source_texture,
                                GLenum format,
                                GLenum type) {
@@ -150,10 +147,10 @@
   }
   bool IsValid() const final;
   IntSize Size() const final;
-  bool IsBitmap() final;
   void Transfer() final;
   scoped_refptr<StaticBitmapImage> Bitmap() final;
   bool OriginClean() const final;
+  void SetOriginClean(bool value) final;
   scoped_refptr<CanvasResource> MakeAccelerated(
       base::WeakPtr<WebGraphicsContext3DProviderWrapper>) final;
   scoped_refptr<CanvasResource> MakeUnaccelerated() final;
@@ -193,6 +190,8 @@
   bool IsValid() const override;
   bool SupportsAcceleratedCompositing() const override { return true; }
   bool NeedsReadLockFences() const final { return true; }
+  bool OriginClean() const final { return is_origin_clean_; }
+  void SetOriginClean(bool value) final { is_origin_clean_ = value; }
   scoped_refptr<CanvasResource> MakeAccelerated(
       base::WeakPtr<WebGraphicsContext3DProviderWrapper>) final {
     NOTREACHED();
@@ -208,6 +207,7 @@
   void CopyFromTexture(GLuint source_texture,
                        GLenum format,
                        GLenum type) override;
+  scoped_refptr<StaticBitmapImage> Bitmap() override;
 
  private:
   void TearDown() override;
@@ -240,6 +240,7 @@
   GLuint texture_id_ = 0;
   MailboxSyncMode mailbox_sync_mode_ = kVerifiedSyncToken;
   bool is_accelerated_;
+  bool is_origin_clean_ = true;
 
   // GL_TEXTURE_2D view of |gpu_memory_buffer_| for CopyFromTexture(); only used
   // if TextureTarget() is GL_TEXTURE_EXTERNAL_OES.
@@ -277,6 +278,9 @@
                        GLenum type) override {
     NOTREACHED();
   }
+  scoped_refptr<StaticBitmapImage> Bitmap() final;
+  bool OriginClean() const final { return is_origin_clean_; }
+  void SetOriginClean(bool flag) final { is_origin_clean_ = flag; }
 
  private:
   void TearDown() override;
@@ -291,6 +295,7 @@
   viz::SharedBitmapId shared_bitmap_id_;
   std::unique_ptr<base::SharedMemory> shared_memory_;
   IntSize size_;
+  bool is_origin_clean_ = true;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc b/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc
index 44eb7e4..829faff 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc
@@ -173,7 +173,6 @@
     base::TimeTicks commit_start_time,
     const SkIRect& damage_rect,
     viz::CompositorFrame* frame) {
-  DCHECK(canvas_resource->IsBitmap());
   if (!canvas_resource || !VerifyImageSize(canvas_resource->Size()))
     return false;
 
@@ -426,8 +425,6 @@
 
 void CanvasResourceDispatcher::OnBeginFrame(
     const viz::BeginFrameArgs& begin_frame_args) {
-  DCHECK(Client());
-
   current_begin_frame_ack_ = viz::BeginFrameAck(begin_frame_args, false);
   if (pending_compositor_frames_ >= kMaxPendingCompositorFrames ||
       (begin_frame_args.type == viz::BeginFrameArgs::MISSED &&
@@ -436,7 +433,8 @@
     return;
   }
 
-  Client()->BeginFrame();
+  if (Client())
+    Client()->BeginFrame();
   // TODO(eseckler): Tell |m_sink| if we did not draw during the BeginFrame.
   current_begin_frame_ack_.sequence_number =
       viz::BeginFrameArgs::kInvalidFrameNumber;
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_host.h b/third_party/blink/renderer/platform/graphics/canvas_resource_host.h
index 52dc32438..99f178d 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_host.h
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_host.h
@@ -7,6 +7,8 @@
 
 #include <memory>
 
+#include "third_party/blink/renderer/platform/graphics/graphics_types.h"
+#include "third_party/blink/renderer/platform/graphics/paint/paint_canvas.h"
 #include "third_party/blink/renderer/platform/platform_export.h"
 
 namespace cc {
@@ -23,6 +25,10 @@
   virtual void SetNeedsCompositingUpdate() = 0;
   virtual void RestoreCanvasMatrixClipStack(cc::PaintCanvas*) const = 0;
   virtual void UpdateMemoryUsage() = 0;
+  virtual CanvasResourceProvider* GetOrCreateCanvasResourceProvider(
+      AccelerationHint hint) = 0;
+
+  virtual SkFilterQuality FilterQuality() const = 0;
 
   CanvasResourceProvider* ResourceProvider() const;
 
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
index da4c4fc..9725b26 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc
@@ -51,6 +51,7 @@
 
   bool IsValid() const final { return GetSkSurface() && !IsGpuContextLost(); }
   bool IsAccelerated() const final { return true; }
+  bool SupportsDirectCompositing() const override { return true; }
 
   GLuint GetBackingTextureHandleForOverwrite() override {
     GrBackendTexture backend_texture = GetSkSurface()->getBackendTexture(
@@ -149,6 +150,7 @@
                                       std::move(resource_dispatcher)) {}
 
   ~CanvasResourceProviderTextureGpuMemoryBuffer() override = default;
+  bool SupportsDirectCompositing() const override { return true; }
 
  private:
   scoped_refptr<CanvasResource> CreateResource() final {
@@ -218,11 +220,11 @@
 
   bool IsValid() const final { return GetSkSurface(); }
   bool IsAccelerated() const final { return false; }
+  bool SupportsDirectCompositing() const override { return false; }
 
  private:
   scoped_refptr<CanvasResource> ProduceFrame() override {
-    NOTREACHED();  // Not directly compositable.
-    return nullptr;
+    return nullptr;  // Does not support direct compositing
   }
 
   sk_sp<SkSurface> CreateSkSurface() const override {
@@ -254,6 +256,7 @@
                                      std::move(resource_dispatcher)) {}
 
   ~CanvasResourceProviderRamGpuMemoryBuffer() override = default;
+  bool SupportsDirectCompositing() const override { return true; }
 
  private:
   scoped_refptr<CanvasResource> CreateResource() final {
@@ -307,16 +310,23 @@
     DCHECK(ResourceDispatcher());
   }
   ~CanvasResourceProviderSharedBitmap() override = default;
+  bool SupportsDirectCompositing() const override { return true; }
 
  private:
   scoped_refptr<CanvasResource> CreateResource() final {
-    return CanvasResourceSharedBitmap::Create(Size(), ColorParams(),
+    CanvasColorParams color_params = ColorParams();
+    if (!IsBitmapFormatSupported(color_params.TransferableResourceFormat())) {
+      // If the rendering format is not supported, downgrate to 8-bits.
+      // TODO(junov): Should we try 12-12-12-12 and 10-10-10-2?
+      color_params.SetCanvasPixelFormat(kRGBA8CanvasPixelFormat);
+    }
+
+    return CanvasResourceSharedBitmap::Create(Size(), color_params,
                                               CreateWeakPtr(), FilterQuality());
   }
 
   scoped_refptr<CanvasResource> ProduceFrame() final {
     DCHECK(GetSkSurface());
-
     scoped_refptr<CanvasResource> output_resource = NewOrRecycledResource();
     if (!output_resource) {
       // Not compositable without a SharedBitmap
@@ -332,8 +342,6 @@
 
     return output_resource;
   }
-
-  base::WeakPtr<CanvasResourceDispatcher> resource_dispatcher_;
 };
 
 // CanvasResourceProvider base class implementation
@@ -349,6 +357,7 @@
 
 constexpr ResourceType kSoftwareCompositedFallbackList[] = {
     kRamGpuMemoryBufferResourceType, kSharedBitmapResourceType,
+    // Fallback to no direct compositing support
     kBitmapResourceType,
 };
 
@@ -357,14 +366,16 @@
 };
 
 constexpr ResourceType kAcceleratedFallbackList[] = {
-    kTextureResourceType, kBitmapResourceType,
+    kTextureResourceType,
+    // Fallback to software
+    kBitmapResourceType,
 };
 
 constexpr ResourceType kAcceleratedCompositedFallbackList[] = {
-    kTextureGpuMemoryBufferResourceType,
-    kTextureResourceType,
-    kRamGpuMemoryBufferResourceType,
-    kSharedBitmapResourceType,
+    kTextureGpuMemoryBufferResourceType, kTextureResourceType,
+    // Fallback to software composited
+    kRamGpuMemoryBufferResourceType, kSharedBitmapResourceType,
+    // Fallback to no direct compositing support
     kBitmapResourceType,
 };
 
@@ -437,15 +448,12 @@
             size, color_params, resource_dispatcher);
         break;
       case kSharedBitmapResourceType:
-        if (!IsBitmapFormatSupported(color_params.TransferableResourceFormat()))
-          continue;
         if (!resource_dispatcher)
           continue;
         provider = std::make_unique<CanvasResourceProviderSharedBitmap>(
             size, color_params, resource_dispatcher);
         break;
       case kTextureResourceType:
-        DCHECK(SharedGpuContext::IsGpuCompositingEnabled());
         provider = std::make_unique<CanvasResourceProviderTexture>(
             size, msaa_sample_count, color_params, context_provider_wrapper,
             resource_dispatcher);
@@ -677,8 +685,9 @@
 
 void CanvasResourceProvider::RecycleResource(
     scoped_refptr<CanvasResource> resource) {
-  DCHECK(resource->HasOneRef());
-  if (resource_recycling_enabled_)
+  // Need to check HasOneRef() because if there are outstanding references to
+  // the resource, it cannot be safely recycled.
+  if (resource->HasOneRef() && resource_recycling_enabled_)
     recycled_resources_.push_back(std::move(resource));
 }
 
diff --git a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
index e833ceb..cfa543e5 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
+++ b/third_party/blink/renderer/platform/graphics/canvas_resource_provider.h
@@ -40,7 +40,6 @@
 namespace blink {
 
 class CanvasResourceDispatcher;
-class StaticBitmapImage;
 class WebGraphicsContext3DProviderWrapper;
 
 // CanvasResourceProvider
@@ -100,6 +99,7 @@
   const IntSize& Size() const { return size_; }
   virtual bool IsValid() const = 0;
   virtual bool IsAccelerated() const = 0;
+  virtual bool SupportsDirectCompositing() const = 0;
   uint32_t ContentUniqueID() const;
   CanvasResourceDispatcher* ResourceDispatcher() {
     return resource_dispatcher_.get();
@@ -121,6 +121,10 @@
     NOTREACHED();
     return 0;
   }
+  virtual void* GetPixelBufferAddressForOverwrite() {
+    NOTREACHED();
+    return nullptr;
+  }
   void Clear();
   ~CanvasResourceProvider() override;
 
diff --git a/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.cc b/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.cc
index 1f8b756..b1b4dcb1 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.cc
@@ -5,7 +5,10 @@
 #include "third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.h"
 
 #include "gpu/command_buffer/client/gles2_interface.h"
+#include "gpu/config/gpu_feature_info.h"
+#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h"
 #include "third_party/blink/renderer/platform/graphics/web_graphics_context_3d_provider_wrapper.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/skia/include/core/SkImage.h"
 #include "third_party/skia/include/gpu/GrContext.h"
 
@@ -84,4 +87,20 @@
   cached_mailboxes_.erase(gr_texture);
 }
 
+bool GraphicsContext3DUtils::Accelerated2DCanvasFeatureEnabled() {
+  // Don't use accelerated canvas if compositor is in software mode.
+  if (!SharedGpuContext::IsGpuCompositingEnabled())
+    return false;
+
+  if (!RuntimeEnabledFeatures::Accelerated2dCanvasEnabled())
+    return false;
+
+  DCHECK(context_provider_wrapper_);
+  const gpu::GpuFeatureInfo& gpu_feature_info =
+      context_provider_wrapper_->ContextProvider()->GetGpuFeatureInfo();
+  return gpu::kGpuFeatureStatusEnabled ==
+         gpu_feature_info
+             .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS];
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.h b/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.h
index d88bef3..54b117b3 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.h
+++ b/third_party/blink/renderer/platform/graphics/gpu/graphics_context_3d_utils.h
@@ -36,6 +36,8 @@
                             GLenum filter);
   void RemoveCachedMailbox(GrTexture*);
 
+  bool Accelerated2DCanvasFeatureEnabled();
+
  private:
   base::WeakPtr<WebGraphicsContext3DProviderWrapper> context_provider_wrapper_;
   WTF::HashMap<GrTexture*, gpu::Mailbox> cached_mailboxes_;
diff --git a/third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context_test.cc b/third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context_test.cc
index d1f6510..3eed0a6 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context_test.cc
+++ b/third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context_test.cc
@@ -134,9 +134,7 @@
   CanvasColorParams color_params;
   std::unique_ptr<Canvas2DLayerBridge> bridge =
       std::make_unique<Canvas2DLayerBridge>(
-          size, 0,
-          /*msaa sample count*/ Canvas2DLayerBridge::kEnableAcceleration,
-          color_params);
+          size, Canvas2DLayerBridge::kEnableAcceleration, color_params);
   EXPECT_TRUE(bridge->IsAccelerated());
   EXPECT_TRUE(SharedGpuContext::IsValidWithoutRestoring());
 }
diff --git a/third_party/blink/renderer/platform/graphics/test/fake_canvas_resource_host.h b/third_party/blink/renderer/platform/graphics/test/fake_canvas_resource_host.h
index 85baa546..925d9e0 100644
--- a/third_party/blink/renderer/platform/graphics/test/fake_canvas_resource_host.h
+++ b/third_party/blink/renderer/platform/graphics/test/fake_canvas_resource_host.h
@@ -6,7 +6,8 @@
 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_TEST_FAKE_CANVAS_RESOURCE_HOST_H_
 
 #include "third_party/blink/renderer/platform/graphics/canvas_resource_host.h"
-#include "third_party/blink/renderer/platform/platform_export.h"
+#include "third_party/blink/renderer/platform/graphics/paint/paint_canvas.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 
 namespace cc {
 class PaintCanvas;
@@ -16,11 +17,37 @@
 
 class FakeCanvasResourceHost : public CanvasResourceHost {
  public:
+  FakeCanvasResourceHost(IntSize size) : size_(size) {}
   ~FakeCanvasResourceHost() override {}
   void NotifyGpuContextLost() override {}
   void SetNeedsCompositingUpdate() override {}
   void RestoreCanvasMatrixClipStack(cc::PaintCanvas*) const override {}
   void UpdateMemoryUsage() override {}
+  CanvasResourceProvider* GetOrCreateCanvasResourceProvider(
+      AccelerationHint hint) override {
+    if (ResourceProvider())
+      return ResourceProvider();
+    CanvasResourceProvider::ResourceUsage usage =
+        hint == kPreferAcceleration
+            ? CanvasResourceProvider::kAcceleratedCompositedResourceUsage
+            : CanvasResourceProvider::kSoftwareCompositedResourceUsage;
+
+    CanvasResourceProvider::PresentationMode presentation_mode =
+        RuntimeEnabledFeatures::Canvas2dImageChromiumEnabled()
+            ? CanvasResourceProvider::kAllowImageChromiumPresentationMode
+            : CanvasResourceProvider::kDefaultPresentationMode;
+
+    ReplaceResourceProvider(CanvasResourceProvider::Create(
+        size_, usage, SharedGpuContext::ContextProviderWrapper(), 0,
+        CanvasColorParams(), presentation_mode, nullptr));
+    return ResourceProvider();
+  }
+  SkFilterQuality FilterQuality() const override {
+    return kLow_SkFilterQuality;
+  }
+
+ private:
+  IntSize size_;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/graphics/test/fake_web_graphics_context_3d_provider.h b/third_party/blink/renderer/platform/graphics/test/fake_web_graphics_context_3d_provider.h
index 0c65090..740febed 100644
--- a/third_party/blink/renderer/platform/graphics/test/fake_web_graphics_context_3d_provider.h
+++ b/third_party/blink/renderer/platform/graphics/test/fake_web_graphics_context_3d_provider.h
@@ -25,6 +25,11 @@
         image_decode_cache_(cache ? cache : &stub_image_decode_cache_) {
     sk_sp<const GrGLInterface> gl_interface(GrGLCreateNullInterface());
     gr_context_ = GrContext::MakeGL(std::move(gl_interface));
+    // enable all gpu features.
+    for (unsigned feature = 0; feature < gpu::NUMBER_OF_GPU_FEATURE_TYPES;
+         ++feature) {
+      gpu_feature_info_.status_values[feature] = gpu::kGpuFeatureStatusEnabled;
+    }
   }
   ~FakeWebGraphicsContext3DProvider() override = default;
 
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 4fec277..17910012 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -485,10 +485,6 @@
       status: "stable"
     },
     {
-      name: "FeaturePolicyExperimentalFeatures",
-      status: "experimental"
-    },
-    {
       name: "FeaturePolicyForPermissions",
       status: "stable"
     },
diff --git a/third_party/blink/renderer/platform/scheduler/BUILD.gn b/third_party/blink/renderer/platform/scheduler/BUILD.gn
index 526c525..c738a50 100644
--- a/third_party/blink/renderer/platform/scheduler/BUILD.gn
+++ b/third_party/blink/renderer/platform/scheduler/BUILD.gn
@@ -197,8 +197,6 @@
   deps = [
     "//base",
     "//base/test:test_support",
-    "//components/viz/common",
-    "//components/viz/test:test_support",
     "//testing/gmock",
     "//testing/gtest",
     "//third_party/blink/public:test_support",
diff --git a/third_party/blink/renderer/platform/scheduler/child/DEPS b/third_party/blink/renderer/platform/scheduler/child/DEPS
index aadaadfbc..f3b7e66 100644
--- a/third_party/blink/renderer/platform/scheduler/child/DEPS
+++ b/third_party/blink/renderer/platform/scheduler/child/DEPS
@@ -2,9 +2,3 @@
   "+third_party/blink/public/platform/scheduler/base",
   "+third_party/blink/renderer/platform/scheduler/base",
 ]
-
-specific_include_rules = {
-  ".*test\.cc": [
-    "+components/viz/test",
-  ],
-}
diff --git a/third_party/blink/renderer/platform/scheduler/common/DEPS b/third_party/blink/renderer/platform/scheduler/common/DEPS
deleted file mode 100644
index a3018fec..0000000
--- a/third_party/blink/renderer/platform/scheduler/common/DEPS
+++ /dev/null
@@ -1,6 +0,0 @@
-specific_include_rules = {
-  ".*test\.cc": [
-    "+cc/test",
-    "+components/viz/test",
-  ],
-}
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/DEPS b/third_party/blink/renderer/platform/scheduler/main_thread/DEPS
index c754e5d..3b1fae2 100644
--- a/third_party/blink/renderer/platform/scheduler/main_thread/DEPS
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/DEPS
@@ -6,9 +6,6 @@
 ]
 
 specific_include_rules = {
-  ".*test\.cc": [
-    "+components/viz/test",
-  ],
   "main_thread_task_queue.h": [
     "+base/task/sequence_manager/task_queue_impl.h",
   ],
diff --git a/third_party/blink/renderer/platform/scheduler/renderer/DEPS b/third_party/blink/renderer/platform/scheduler/renderer/DEPS
index 37007ef..e6bf2b8 100644
--- a/third_party/blink/renderer/platform/scheduler/renderer/DEPS
+++ b/third_party/blink/renderer/platform/scheduler/renderer/DEPS
@@ -6,10 +6,3 @@
   "+third_party/blink/renderer/platform/scheduler/base",
   "+third_party/blink/renderer/platform/scheduler/child",
 ]
-
-specific_include_rules = {
-  ".*test\.cc": [
-    "+cc/test",
-    "+components/viz/test",
-  ],
-}
diff --git a/third_party/blink/renderer/platform/scheduler/worker/DEPS b/third_party/blink/renderer/platform/scheduler/worker/DEPS
index 14dd35a..0674e3c 100644
--- a/third_party/blink/renderer/platform/scheduler/worker/DEPS
+++ b/third_party/blink/renderer/platform/scheduler/worker/DEPS
@@ -1,7 +1,4 @@
 specific_include_rules = {
-  ".*test\.cc": [
-    "+components/viz/test",
-  ],
   "non_main_thread_task_queue.h": [
     "+base/task/sequence_manager/task_queue_impl.h",
   ],
diff --git a/third_party/blink/renderer/platform/testing/DEPS b/third_party/blink/renderer/platform/testing/DEPS
index d2086083..ea9cdc9 100644
--- a/third_party/blink/renderer/platform/testing/DEPS
+++ b/third_party/blink/renderer/platform/testing/DEPS
@@ -16,7 +16,6 @@
     "+base/metrics/statistics_recorder.h",
     "+base/test/test_io_thread.h",
     "+cc",
-    "+components/viz/test",
     "+mojo/core/embedder",
     '+testing',
 
diff --git a/tools/binary_size/libsupersize/html_report.py b/tools/binary_size/libsupersize/html_report.py
index abb3f6d..40e267f 100644
--- a/tools/binary_size/libsupersize/html_report.py
+++ b/tools/binary_size/libsupersize/html_report.py
@@ -5,6 +5,7 @@
 """Creates an html report that allows you to view binary size by component."""
 
 import codecs
+import collections
 import json
 import logging
 import os
@@ -39,18 +40,18 @@
 _COMPACT_SYMBOL_BYTE_SIZE_KEY = 'b'
 _COMPACT_SYMBOL_TYPE_KEY = 't'
 
-_SYMBOL_TYPE_DESCRIPTIONS = {
-  'b': '.bss',
-  'd': '.data and .data.*',
-  'r': '.rodata',
-  't': '.text',
-  'v': 'Vtable Entry',
-  '*': 'Generated Symbols (typeinfo, thunks, etc)',
-  'x': 'Dex Non-Method Entries',
-  'm': 'Dex Methods',
-  'p': 'Locale Pak Entries',
-  'P': 'Non-Locale Pak Entries',
-  'o': 'Other Entries',
+_SMALL_SYMBOL_DESCRIPTIONS = {
+  'b': 'Other small uninitialized data',
+  'd': 'Other small initialized data',
+  'r': 'Other small readonly data',
+  't': 'Other small code',
+  'v': 'Other small vtable entries',
+  '*': 'Other small generated symbols',
+  'x': 'Other small dex non-method entries',
+  'm': 'Other small dex methods',
+  'p': 'Other small locale pak entries',
+  'P': 'Other small non-locale pak entries',
+  'o': 'Other small entries',
 }
 
 # The display name of the bucket where we put symbols without path.
@@ -66,6 +67,7 @@
   'favicon.ico',
   'options.css',
   'infocard.css',
+  'start-worker.js',
   'shared.js',
   'state.js',
   'infocard-ui.js',
@@ -246,57 +248,50 @@
   total_size = 0
 
   # Build a container for symbols smaller than min_symbol_size
-  small_symbols = {}
-  small_file_node = None
-  if min_symbol_size > 0:
-    component_index = components.GetOrAdd('')
-    small_file_node = {
-      _COMPACT_FILE_PATH_KEY: _NAME_SMALL_SYMBOL_BUCKET,
-      _COMPACT_FILE_COMPONENT_INDEX_KEY: component_index,
-      _COMPACT_FILE_SYMBOLS_KEY: [],
-    }
-    file_nodes[_NAME_SMALL_SYMBOL_BUCKET] = small_file_node
+  small_symbols = collections.defaultdict(dict)
 
   # Bundle symbols by the file they belong to,
   # and add all the file buckets into file_nodes
   for symbol in symbols:
     symbol_type = _GetSymbolType(symbol)
+    if symbol_type not in _SMALL_SYMBOL_DESCRIPTIONS:
+      symbol_type = 'o'
+
     total_size += symbol.pss
     symbol_size = round(symbol.pss, 2)
     if symbol_size.is_integer():
       symbol_size = int(symbol_size)
 
-    if abs(symbol_size) >= min_symbol_size or symbol_type == 'm':
-      path = symbol.source_path or symbol.object_path
-      file_node = file_nodes.get(path)
-      if file_node is None:
-        component_index = components.GetOrAdd(symbol.component)
+    path = symbol.source_path or symbol.object_path
+    file_node = file_nodes.get(path)
+    if file_node is None:
+      component_index = components.GetOrAdd(symbol.component)
+      file_node = {
+        _COMPACT_FILE_PATH_KEY: path,
+        _COMPACT_FILE_COMPONENT_INDEX_KEY: component_index,
+        _COMPACT_FILE_SYMBOLS_KEY: [],
+      }
+      file_nodes[path] = file_node
 
-        file_node = {
-          _COMPACT_FILE_PATH_KEY: path,
-          _COMPACT_FILE_COMPONENT_INDEX_KEY: component_index,
-          _COMPACT_FILE_SYMBOLS_KEY: [],
-        }
-        file_nodes[path] = file_node
-
+    # Dex methods (type "m") are whitelisted for the method_count mode on the
+    # UI. It's important to see details on all the methods, and most fall below
+    # the default byte size.
+    if symbol_type == 'm' or abs(symbol_size) >= min_symbol_size:
       file_node[_COMPACT_FILE_SYMBOLS_KEY].append({
         _COMPACT_SYMBOL_NAME_KEY: symbol.template_name,
         _COMPACT_SYMBOL_TYPE_KEY: symbol_type,
         _COMPACT_SYMBOL_BYTE_SIZE_KEY: symbol_size,
       })
     else:
-      if symbol_type not in _SYMBOL_TYPE_DESCRIPTIONS:
-        symbol_type = 'o'
-
-      small_type_symbol = small_symbols.get(symbol_type)
+      small_type_symbol = small_symbols[path].get(symbol_type)
       if small_type_symbol is None:
         small_type_symbol = {
-          _COMPACT_SYMBOL_NAME_KEY: _SYMBOL_TYPE_DESCRIPTIONS[symbol_type],
+          _COMPACT_SYMBOL_NAME_KEY: _SMALL_SYMBOL_DESCRIPTIONS[symbol_type],
           _COMPACT_SYMBOL_TYPE_KEY: symbol_type,
           _COMPACT_SYMBOL_BYTE_SIZE_KEY: 0,
         }
-        small_symbols[symbol_type] = small_type_symbol
-        small_file_node[_COMPACT_FILE_SYMBOLS_KEY].append(small_type_symbol)
+        small_symbols[path][symbol_type] = small_type_symbol
+        file_node[_COMPACT_FILE_SYMBOLS_KEY].append(small_type_symbol)
 
       small_type_symbol[_COMPACT_SYMBOL_BYTE_SIZE_KEY] += symbol_size
 
diff --git a/tools/binary_size/libsupersize/template_tree_view/index.html b/tools/binary_size/libsupersize/template_tree_view/index.html
index 88d0000..7ea28059 100644
--- a/tools/binary_size/libsupersize/template_tree_view/index.html
+++ b/tools/binary_size/libsupersize/template_tree_view/index.html
@@ -8,6 +8,7 @@
 
 <head>
     <title>Binary Size Analysis</title>
+    <script src="start-worker.js"></script>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link href="https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,500" rel="stylesheet">
     <style>
@@ -195,7 +196,6 @@
             content: ' diff';
         }
     </style>
-    <link rel="preload" href="tree-worker.js" as="worker">
     <link rel="stylesheet" href="options.css">
     <link rel="icon" href="favicon.ico" sizes="16x16 32x32 256x256" type="image/x-icon">
     <script defer src="shared.js"></script>
diff --git a/tools/binary_size/libsupersize/template_tree_view/start-worker.js b/tools/binary_size/libsupersize/template_tree_view/start-worker.js
new file mode 100644
index 0000000..eafaff7
--- /dev/null
+++ b/tools/binary_size/libsupersize/template_tree_view/start-worker.js
@@ -0,0 +1,91 @@
+// 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.
+
+// @ts-check
+'use strict';
+
+const _innerWorker = new Worker('tree-worker.js');
+
+/**
+ * We use a worker to keep large tree creation logic off the UI thread.
+ * This class is used to interact with the worker.
+ */
+class TreeWorker {
+  /**
+   * @param {Worker} worker Web worker to wrap
+   */
+  constructor(worker) {
+    this._worker = worker;
+    /** ID counter used by `waitForResponse` */
+    this._requestId = 1;
+
+    /** @type {(data: TreeProgress) => void | null} callback for `loadTree` */
+    this._loadTreeCallback = null;
+
+    this._worker.addEventListener('message', event => {
+      if (this._loadTreeCallback && event.data.id === 0) {
+        this._loadTreeCallback(event.data);
+      }
+    });
+  }
+
+  /**
+   *
+   * @param {string} action
+   * @param {any} data
+   */
+  _waitForResponse(action, data) {
+    const id = ++this._requestId;
+    return new Promise((resolve, reject) => {
+      const handleResponse = event => {
+        if (event.data.id === id) {
+          this._worker.removeEventListener('message', handleResponse);
+          if (event.data.error) {
+            reject(event.data.error);
+          } else {
+            resolve(event.data.result);
+          }
+        }
+      };
+
+      this._worker.addEventListener('message', handleResponse);
+      this._worker.postMessage({id, action, data});
+    });
+  }
+
+  /**
+   * Get data for a node with `idPath`. Loads information about the node and its
+   * direct children. Deeper children can be loaded by calling this function
+   * again.
+   * @param {string} idPath Path of the node to find
+   * @returns {Promise<TreeNode | null>}
+   */
+  openNode(idPath) {
+    return this._waitForResponse('open', idPath);
+  }
+
+  /**
+   * Set callback used after `loadTree` is first called.
+   * @param {(data: TreeProgress) => void} callback Called when the worker
+   * has some data to display. Complete when `progress` is 1.
+   */
+  setOnProgressHandler(callback) {
+    this._loadTreeCallback = callback;
+  }
+
+  /**
+   * Loads the tree data given on a worker thread and replaces the tree view in
+   * the UI once complete. Uses query string as state for the options.
+   * Use `onProgress` before calling `loadTree`.
+   * @returns {Promise<TreeProgress>}
+   */
+  loadTree() {
+    return this._waitForResponse('load', location.search.slice(1));
+  }
+}
+
+const worker = new TreeWorker(_innerWorker);
+// Kick off the worker ASAP so it can start parsing data faster.
+// Subsequent calls will just use a worker locally.
+const treeReady = worker.loadTree();
diff --git a/tools/binary_size/libsupersize/template_tree_view/state.js b/tools/binary_size/libsupersize/template_tree_view/state.js
index b27095d..5f59ee1 100644
--- a/tools/binary_size/libsupersize/template_tree_view/state.js
+++ b/tools/binary_size/libsupersize/template_tree_view/state.js
@@ -49,78 +49,6 @@
   },
 };
 
-/**
- * We use a worker to keep large tree creation logic off the UI thread.
- * This class is used to interact with the worker.
- */
-class TreeWorker {
-  constructor(url) {
-    this._worker = new Worker(url);
-    /** ID counter used by `waitForResponse` */
-    this._requestId = 1;
-
-    /** @type {(data: TreeProgress) => void | null} callback for `loadTree` */
-    this._loadTreeCallback = null;
-
-    this._worker.addEventListener('message', event => {
-      if (event.data.id === 0) {
-        if (!this._loadTreeCallback) {
-          throw new Error('Got response to loadTree before listener was set');
-        }
-        this._loadTreeCallback(event.data);
-      }
-    });
-  }
-
-  /**
-   * Get data for a node with `idPath`. Loads information about the node and its
-   * direct children. Deeper children can be loaded by calling this function
-   * again.
-   * @param {string} idPath Path of the node to find
-   * @returns {Promise<TreeNode | null>}
-   */
-  openNode(idPath) {
-    const id = ++this._requestId;
-    return new Promise((resolve, reject) => {
-      const handleResponse = event => {
-        if (event.data.id === id) {
-          this._worker.removeEventListener('message', handleResponse);
-          if (event.data.error) {
-            reject(event.data.error);
-          } else {
-            resolve(event.data.result);
-          }
-        }
-      };
-
-      this._worker.addEventListener('message', handleResponse);
-      this._worker.postMessage({id, action: 'open', data: idPath});
-    });
-  }
-
-  /**
-   * Set callback used after `loadTree` is first called.
-   * @param {(data: TreeProgress) => void} callback Called when the worker
-   * has some data to display. Complete when `progress` is 1.
-   */
-  setOnLoadHandler(callback) {
-    this._loadTreeCallback = callback;
-  }
-
-  /**
-   * Loads the tree data given on a worker thread and replaces the tree view in
-   * the UI once complete. Uses query string as state for the options.
-   * Use `onProgress` before calling `loadTree`.
-   */
-  loadTree() {
-    this._worker.postMessage({
-      id: 0,
-      action: 'load',
-      data: location.search.slice(1),
-    });
-  }
-}
-
 /** Build utilities for working with the state. */
 function _initState() {
   const _DEFAULT_FORM = new FormData(form);
diff --git a/tools/binary_size/libsupersize/template_tree_view/tree-ui.js b/tools/binary_size/libsupersize/template_tree_view/tree-ui.js
index afa2146..8100c15b 100644
--- a/tools/binary_size/libsupersize/template_tree_view/tree-ui.js
+++ b/tools/binary_size/libsupersize/template_tree_view/tree-ui.js
@@ -11,8 +11,6 @@
  * Binary Size Analysis HTML report.
  */
 
-const worker = new TreeWorker('tree-worker.js');
-
 {
   /** Capture one of: "::", "../", "./", "/", "#" */
   const _SPECIAL_CHAR_REGEX = /(::|(?:\.*\/)+|#)/g;
@@ -393,11 +391,14 @@
   /** @type {HTMLProgressElement} */
   const _progress = document.getElementById('progress');
 
-  /** Displays the given data as a tree view */
-  worker.setOnLoadHandler(({root, percent, diffMode, error}) => {
+  /**
+   * Displays the given data as a tree view
+   * @param {TreeProgress} param0
+   */
+  function displayTree({root, percent, diffMode, error}) {
+    /** @type {DocumentFragment | null} */
     let rootElement = null;
     if (root) {
-      /** @type {DocumentFragment} */
       rootElement = newTreeElement(root);
       /** @type {HTMLAnchorElement} */
       const link = rootElement.querySelector('.node');
@@ -421,18 +422,20 @@
 
       dom.replace(_symbolTree, rootElement);
     });
-  });
+  }
 
-  worker.loadTree();
+  treeReady.then(displayTree);
+  worker.setOnProgressHandler(displayTree);
+
   form.addEventListener('change', event => {
     if (event.target.dataset.dynamic == null) {
       _progress.value = 0;
-      worker.loadTree();
+      worker.loadTree().then(displayTree);
     }
   });
   form.addEventListener('submit', event => {
     event.preventDefault();
     _progress.value = 0;
-    worker.loadTree();
+    worker.loadTree().then(displayTree);
   });
 }
diff --git a/tools/binary_size/libsupersize/template_tree_view/tree-worker.js b/tools/binary_size/libsupersize/template_tree_view/tree-worker.js
index 15ae7110..3ae69c7 100644
--- a/tools/binary_size/libsupersize/template_tree_view/tree-worker.js
+++ b/tools/binary_size/libsupersize/template_tree_view/tree-worker.js
@@ -12,25 +12,23 @@
  */
 
 /**
- * @typedef {object} DataFile JSON data created by html_report python script
- * @prop {FileEntry[]} file_nodes - List of file entries
- * @prop {string[]} source_paths - Array of source_paths referenced by index in
- * the symbols.
- * @prop {string[]} components - Array of components referenced by index in the
- * symbols.
- * @prop {object} meta - Metadata about the data
+ * @typedef {object} Meta
+ * @prop {string[]} components
+ * @prop {number} total
+ * @prop {boolean} diff_mode
  */
-
+/**
+ * @typedef {object} SymbolEntry JSON object representing a single symbol.
+ * @prop {string} n Name of the symbol.
+ * @prop {number} b Byte size of the symbol, divided by num_aliases.
+ * @prop {string} t Single character string to indicate the symbol type.
+ */
 /**
  * @typedef {object} FileEntry JSON object representing a single file and its
  * symbols.
- * @prop {number} p - source_path
- * @prop {number} c - component_index
- * @prop {Array<{n:string,b:number,t:string}>} s - Symbols belonging to this
- * node. Array of objects.
- *    n - name of the symbol
- *    b - size of the symbol in bytes, divided by num_aliases.
- *    t - single character string to indicate the symbol type
+ * @prop {number} p Path to the file (source_path).
+ * @prop {number} c Index of the file's component in meta (component_index).
+ * @prop {SymbolEntry[]} s - Symbols belonging to this node. Array of objects.
  */
 
 importScripts('./shared.js');
@@ -83,21 +81,13 @@
 
 /**
  * Make a node with some default arguments
- * @param {Partial<TreeNode> & {shortName?:string}} options
+ * @param {Partial<TreeNode> & {shortName:string}} options
  * Values to use for the node. If a value is
  * omitted, a default will be used instead.
- * @param {string} [sep] Path seperator, such as '/'. Used for creating a
- * default shortName. Not required if `shortName` is supplied.
  * @returns {TreeNode}
  */
-function createNode(options, sep) {
-  const {
-    idPath,
-    type,
-    shortName = basename(idPath, sep),
-    size = 0,
-    childStats = {},
-  } = options;
+function createNode(options) {
+  const {idPath, type, shortName, size = 0, childStats = {}} = options;
   return {
     children: [],
     parent: null,
@@ -121,6 +111,7 @@
  * children in the tree.
  * @param {TreeNode} node Node to format
  * @param {number} depth How many levels of children to keep.
+ * @returns {TreeNode}
  */
 function formatNode(node, depth = 1) {
   const childDepth = depth - 1;
@@ -163,14 +154,11 @@
     this._filterTest = options.filterTest;
     this._sep = options.sep || _PATH_SEP;
 
-    this.rootNode = createNode(
-      {
-        idPath: this._sep,
-        shortName: this._sep,
-        type: this._containerType(this._sep),
-      },
-      this._sep
-    );
+    this.rootNode = createNode({
+      idPath: this._sep,
+      shortName: this._sep,
+      type: this._containerType(this._sep),
+    });
     /** @type {Map<string, TreeNode>} Cache for directory nodes */
     this._parents = new Map();
 
@@ -311,10 +299,11 @@
       // get parent from cache if it exists, otherwise create it
       parentNode = this._parents.get(parentPath);
       if (parentNode == null) {
-        parentNode = createNode(
-          {idPath: parentPath, type: this._containerType(childNode.idPath)},
-          this._sep
-        );
+        parentNode = createNode({
+          idPath: parentPath,
+          shortName: basename(parentPath, this._sep),
+          type: this._containerType(childNode.idPath),
+        });
         this._parents.set(parentPath, parentNode);
       }
     }
@@ -338,33 +327,23 @@
     // browser it could add a line break there on small screen sizes.
     const idPath = this._getPath(fileEntry);
     // make node for this
-    const fileNode = createNode(
-      {
-        idPath,
-        shortName: basename(filePath, this._sep),
-        type: _CONTAINER_TYPES.FILE,
-      },
-      this._sep
-    );
+    const fileNode = createNode({
+      idPath,
+      shortName: basename(filePath, this._sep),
+      type: _CONTAINER_TYPES.FILE,
+    });
     // build child nodes for this file's symbols and attach to self
     for (const symbol of fileEntry[_KEYS.FILE_SYMBOLS]) {
       const size = symbol[_KEYS.SIZE];
-      // Turn all unknown types into other.
-      const type = _SYMBOL_TYPE_SET.has(symbol[_KEYS.TYPE])
-        ? symbol[_KEYS.TYPE]
-        : _OTHER_SYMBOL_TYPE;
-
-      const symbolNode = createNode(
-        {
-          // Join file path to symbol name with a ":"
-          idPath: `${idPath}:${symbol[_KEYS.SYMBOL_NAME]}`,
-          shortName: symbol[_KEYS.SYMBOL_NAME],
-          size,
-          type,
-          childStats: {[type]: {size, count: 1}},
-        },
-        this._sep
-      );
+      const type = symbol[_KEYS.TYPE];
+      const symbolNode = createNode({
+        // Join file path to symbol name with a ":"
+        idPath: `${idPath}:${symbol[_KEYS.SYMBOL_NAME]}`,
+        shortName: symbol[_KEYS.SYMBOL_NAME],
+        size,
+        type: symbol[_KEYS.TYPE],
+        childStats: {[type]: {size, count: 1}},
+      });
 
       if (this._filterTest(symbolNode)) {
         TreeBuilder._attachToParent(symbolNode, fileNode);
@@ -470,6 +449,7 @@
   /**
    * Transforms a binary stream into a newline delimited JSON (.ndjson) stream.
    * Each yielded value corresponds to one line in the stream.
+   * @returns {AsyncIterable<Meta | FileEntry>}
    */
   async *newlineDelimtedJsonStream() {
     const response = await this.fetch();
@@ -571,12 +551,12 @@
 /**
  * Assemble a tree when this worker receives a message.
  * @param {string} options Query string containing options for the builder.
- * @param {(msg: TreeProgress) => void} callback
+ * @param {(msg: TreeProgress) => void} onProgress
  */
-async function buildTree(options, callback) {
+async function buildTree(options, onProgress) {
   const {groupBy, filterTest} = parseOptions(options);
 
-  /** Object from the first line of the data file */
+  /** @type {Meta | null} Object from the first line of the data file */
   let meta = null;
 
   const getPathMap = {
@@ -625,7 +605,7 @@
       message.error = data.error.message;
     }
 
-    callback(message);
+    onProgress(message);
   }
 
   /** @type {number} ID from setInterval */
@@ -643,32 +623,34 @@
     }
     clearInterval(interval);
 
-    postToUi({root: builder.build(), percent: 1});
+    return {
+      root: builder.build(),
+      percent: 1,
+      diffMode: meta && meta.diff_mode,
+    };
   } catch (error) {
     if (interval != null) clearInterval(interval);
     if (error.name === 'AbortError') {
       console.info(error.message);
     } else {
       console.error(error);
+      throw error;
     }
-    postToUi({error});
   }
 }
 
-/** @type {{[action:string]: (id:number,data:any) => Promise<void>}} */
+/** @type {{[action:string]: (data:any) => Promise<any>}} */
 const actions = {
-  load(id, data) {
-    return buildTree(data, msg => {
-      msg.id = id;
+  load(data) {
+    return buildTree(data, progress => {
       // @ts-ignore
-      self.postMessage(msg);
+      self.postMessage(progress);
     });
   },
-  async open(id, path) {
+  async open(path) {
+    if (!builder) throw new Error('Called open before load');
     const node = builder.find(path);
-    const result = await formatNode(node);
-    // @ts-ignore
-    self.postMessage({id, result});
+    return formatNode(node);
   },
 };
 
@@ -680,7 +662,9 @@
 self.onmessage = async event => {
   const {id, action, data} = event.data;
   try {
-    await actions[action](id, data);
+    const result = await actions[action](data);
+    // @ts-ignore
+    self.postMessage({id, result});
   } catch (err) {
     // @ts-ignore
     self.postMessage({id, error: err.message});
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index c770f9e..71fa3bc 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -13795,6 +13795,7 @@
   <int value="456" label="AllowedInputMethods"/>
   <int value="457" label="OverrideSecurityRestrictionsOnInsecureOrigin"/>
   <int value="458" label="DeviceUpdateStagingPercentOfFleetPerWeek"/>
+  <int value="459" label="AutofillProfileEnabled"/>
 </enum>
 
 <enum name="EnterprisePolicyInvalidations">
@@ -27754,6 +27755,7 @@
   <int value="-1334327410" label="ash-enable-touch-view-testing"/>
   <int value="-1332267458" label="RemoveNavigationHistory:enabled"/>
   <int value="-1327676774" label="disable-accelerated-mjpeg-decode"/>
+  <int value="-1326463296" label="SSLCommittedInterstitials:disabled"/>
   <int value="-1325887476" label="NewPrintPreview:enabled"/>
   <int value="-1322882747" label="disable-datasaver-prompt"/>
   <int value="-1320952186" label="new-files-app-navigation"/>
@@ -29111,6 +29113,7 @@
   <int value="1571998166" label="DetectingHeavyPages:disabled"/>
   <int value="1579461102" label="MemoryCoordinator:disabled"/>
   <int value="1586022426" label="AutofillCreditCardAssist:enabled"/>
+  <int value="1587521886" label="SSLCommittedInterstitials:enabled"/>
   <int value="1589341623" label="disable-easy-unlock"/>
   <int value="1590278995"
       label="AutofillSendExperimentIdsInPaymentsRPCs:enabled"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index db627e1..6e0e813 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -610,6 +610,16 @@
   </summary>
 </histogram>
 
+<histogram name="AnchorElementMetrics.Clicked.HrefEngagementScorePositive"
+    units="score">
+  <owner>chelu@chromium.org</owner>
+  <summary>
+    The site engagement score of the target link (href) of an anchor element.
+    The score is retrived from the site engagement service. This histogram is
+    recorded when the anchor element is clicked, and the score is larger than 0.
+  </summary>
+</histogram>
+
 <histogram name="AnchorElementMetrics.Clicked.IsInIFrame" enum="Boolean">
   <owner>chelu@chromium.org</owner>
   <summary>
@@ -6695,6 +6705,15 @@
   </summary>
 </histogram>
 
+<histogram name="Autofill.SaveCardCardholderNameWasEdited" enum="Boolean">
+  <owner>jsaul@google.com</owner>
+  <summary>
+    If the cardholder name fix flow is shown during credit card upload and the
+    user accepts upload, logs whether the final cardholder name was changed from
+    its prefilled value or not.
+  </summary>
+</histogram>
+
 <histogram name="Autofill.SaveCardWithFirstAndLastNameComplete" enum="Boolean">
   <owner>sebsg@chromium.org</owner>
 <!-- Name completed by histogram_suffixes name="AutofillCreditCardType" -->
diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore
new file mode 100644
index 0000000..45f14ba
--- /dev/null
+++ b/tools/perf/.gitignore
@@ -0,0 +1,4 @@
+/*.html
+/artifacts
+/data
+/internal
diff --git a/tools/perf/contrib/vr_benchmarks/vr_browsing_mode_pages.py b/tools/perf/contrib/vr_benchmarks/vr_browsing_mode_pages.py
index 01f2d20..c555e7f 100644
--- a/tools/perf/contrib/vr_benchmarks/vr_browsing_mode_pages.py
+++ b/tools/perf/contrib/vr_benchmarks/vr_browsing_mode_pages.py
@@ -25,7 +25,7 @@
   current_page.platform.LaunchAndroidApplication(
       start_intent=intent.Intent(
           component=
-          'org.chromium.chrome.browser.vr_shell.nfc_apk/.SimNfcActivity'),
+          'org.chromium.chrome.browser.vr.nfc_apk/.SimNfcActivity'),
       is_app_ready_predicate=isNfcAppReady,
       app_has_webviews=False).Close()
 
diff --git a/ui/accessibility/ax_node_position_unittest.cc b/ui/accessibility/ax_node_position_unittest.cc
index 665d92cec..86028fa 100644
--- a/ui/accessibility/ax_node_position_unittest.cc
+++ b/ui/accessibility/ax_node_position_unittest.cc
@@ -1533,6 +1533,18 @@
       ax::mojom::TextAffinity::kUpstream);
   ASSERT_NE(nullptr, text_position2);
   EXPECT_EQ(*text_position1, *text_position2);
+
+  // Two text positions that are consequtive, one "before text" and one "after
+  // text".
+  text_position1 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, inline_box2_.id, 0 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position1);
+  text_position2 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, line_break_.id, 1 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position2);
+  EXPECT_NE(*text_position1, *text_position2);
 }
 
 TEST_F(AXPositionTest, OperatorsLessThanAndGreaterThan) {
@@ -1573,6 +1585,7 @@
   EXPECT_LT(*tree_position1, *tree_position2);
   EXPECT_GT(*tree_position2, *tree_position1);
 
+  // Two text positions that share a common anchor.
   TestPositionType text_position1 = AXNodePosition::CreateTextPosition(
       tree_.data().tree_id, inline_box1_.id, 2 /* text_offset */,
       ax::mojom::TextAffinity::kDownstream);
@@ -1604,6 +1617,38 @@
   ASSERT_NE(nullptr, text_position2);
   EXPECT_GT(*text_position1, *text_position2);
   EXPECT_LT(*text_position2, *text_position1);
+
+  // A text position that is an ancestor of another.
+  text_position1 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, text_field_.id, 6 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position1);
+  text_position2 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, inline_box1_.id, 5 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position2);
+  EXPECT_GT(*text_position1, *text_position2);
+  EXPECT_LT(*text_position2, *text_position1);
+
+  // Two text positions that share a common ancestor.
+  text_position1 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, inline_box2_.id, 0 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position1);
+  text_position2 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, line_break_.id, 0 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position2);
+  EXPECT_GT(*text_position1, *text_position2);
+  EXPECT_LT(*text_position2, *text_position1);
+
+  // Two consequtive positions. One "before text" and one "after text".
+  text_position2 = AXNodePosition::CreateTextPosition(
+      tree_.data().tree_id, line_break_.id, 1 /* text_offset */,
+      ax::mojom::TextAffinity::kDownstream);
+  ASSERT_NE(nullptr, text_position2);
+  EXPECT_GT(*text_position1, *text_position2);
+  EXPECT_LT(*text_position2, *text_position1);
 }
 
 //
diff --git a/ui/accessibility/ax_position.h b/ui/accessibility/ax_position.h
index da11622..6115ded5 100644
--- a/ui/accessibility/ax_position.h
+++ b/ui/accessibility/ax_position.h
@@ -121,8 +121,7 @@
     return new_position;
   }
 
-  AXPosition() {}
-  virtual ~AXPosition() {}
+  virtual ~AXPosition() = default;
 
   virtual AXPositionInstance Clone() const = 0;
 
@@ -1143,8 +1142,12 @@
   // Returns the text that is present inside the anchor node, including any text
   // found in descendant nodes.
   virtual base::string16 GetInnerText() const = 0;
+  // Returns the length of the text that is present inside the anchor node,
+  // including any text found in descendant text nodes.
+  virtual int MaxTextOffset() const = 0;
 
  protected:
+  AXPosition() = default;
   AXPosition(const AXPosition<AXPositionType, AXNodeType>& other) = default;
   virtual AXPosition<AXPositionType, AXNodeType>& operator=(
       const AXPosition<AXPositionType, AXNodeType>& other) = default;
@@ -1270,9 +1273,6 @@
   virtual int AnchorIndexInParent() const = 0;
   virtual void AnchorParent(int* tree_id, int32_t* parent_id) const = 0;
   virtual AXNodeType* GetNodeInTree(int tree_id, int32_t node_id) const = 0;
-  // Returns the length of the text that is present inside the anchor node,
-  // including any text found in descendant text nodes.
-  virtual int MaxTextOffset() const = 0;
   // Returns the length of text that this anchor node takes up in its parent.
   // On some platforms, embedded objects are represented in their parent with a
   // single embedded object character.
@@ -1333,14 +1333,53 @@
   if (first.IsNullPosition() || second.IsNullPosition())
     return false;
 
+  // It is potentially costly to compute the parent position of a text position,
+  // whilst computing the parent position of a tree position is really
+  // inexpensive. In order to find the lowest common ancestor, especially if
+  // that ancestor is all the way up to the root of the tree, this will need to
+  // be done repeatedly. We avoid the performance hit by converting both
+  // positions to tree positions and only falling back to text positions if both
+  // are text positions and the lowest common ancestor is not one of their
+  // anchors. Essentially, the question we need to answer is: "When are two non
+  // equivalent positions going to have the same lowest common ancestor position
+  // when converted to tree positions?" The answer is when they are both text
+  // positions and they either have the same anchor, or one is the ancestor of
+  // the other.
+  std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> tree_first =
+      first.AsTreePosition();
+  std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> tree_second =
+      second.AsTreePosition();
   std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> first_ancestor =
-      first.LowestCommonAncestor(second)->AsTreePosition();
+      tree_first->LowestCommonAncestor(*tree_second);
   std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> second_ancestor =
-      second.LowestCommonAncestor(first)->AsTreePosition();
+      tree_second->LowestCommonAncestor(*tree_first);
   DCHECK_EQ(first_ancestor->GetAnchor(), second_ancestor->GetAnchor());
-  return !first_ancestor->IsNullPosition() &&
-         first_ancestor->AsTextPosition()->text_offset() <
-             second_ancestor->AsTextPosition()->text_offset();
+  if (first_ancestor->IsNullPosition())
+    return false;
+  DCHECK(first_ancestor->IsTreePosition() && second_ancestor->IsTreePosition());
+
+  if (first.IsTextPosition() && second.IsTextPosition()) {
+    // We avoid recomputing lowest common ancestor, because we already have its
+    // anchor. We just need its text offset.
+    if (first.GetAnchor() == first_ancestor->GetAnchor()) {
+      // If both positions have the same anchor, or if the first is an ancestor
+      // of the second.
+      std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> text_second =
+          second.Clone();
+      while (text_second->GetAnchor() != first.GetAnchor())
+        text_second = text_second->CreateParentPosition();
+      return first.text_offset() < text_second->text_offset();
+    } else if (second.GetAnchor() == second_ancestor->GetAnchor()) {
+      // If the second position is an ancestor of the first.
+      std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> text_first =
+          first.Clone();
+      while (text_first->GetAnchor() != second.GetAnchor())
+        text_first = text_first->CreateParentPosition();
+      return text_first->text_offset() < second.text_offset();
+    }
+  }
+
+  return first_ancestor->child_index() < second_ancestor->child_index();
 }
 
 template <class AXPositionType, class AXNodeType>
@@ -1354,15 +1393,7 @@
                const AXPosition<AXPositionType, AXNodeType>& second) {
   if (first.IsNullPosition() || second.IsNullPosition())
     return false;
-
-  std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> first_ancestor =
-      first.LowestCommonAncestor(second)->AsTreePosition();
-  std::unique_ptr<AXPosition<AXPositionType, AXNodeType>> second_ancestor =
-      second.LowestCommonAncestor(first)->AsTreePosition();
-  DCHECK_EQ(first_ancestor->GetAnchor(), second_ancestor->GetAnchor());
-  return !first_ancestor->IsNullPosition() &&
-         first_ancestor->AsTextPosition()->text_offset() >
-             second_ancestor->AsTextPosition()->text_offset();
+  return !(first <= second);
 }
 
 template <class AXPositionType, class AXNodeType>
diff --git a/ui/events/test/cocoa_test_event_utils.mm b/ui/events/test/cocoa_test_event_utils.mm
index 9bd42df..181dc3c6 100644
--- a/ui/events/test/cocoa_test_event_utils.mm
+++ b/ui/events/test/cocoa_test_event_utils.mm
@@ -345,6 +345,16 @@
   NSString* charactersIgnoringModifiers =
       [[[NSString alloc] initWithCharacters:&shifted_character
                                      length:1] autorelease];
+
+  // Control + [Shift] Tab is special.
+  if (keycode == ui::VKEY_TAB && (flags & NSControlKeyMask)) {
+    if (flags & NSShiftKeyMask) {
+      charactersIgnoringModifiers = @"\x19";
+    } else {
+      charactersIgnoringModifiers = @"\x9";
+    }
+  }
+
   NSString* characters;
   // The following were determined empirically on OSX 10.9.
   if (flags & NSControlKeyMask) {
diff --git a/ui/strings/translations/ui_strings_en-GB.xtb b/ui/strings/translations/ui_strings_en-GB.xtb
index 6a545b6..7e36ed9 100644
--- a/ui/strings/translations/ui_strings_en-GB.xtb
+++ b/ui/strings/translations/ui_strings_en-GB.xtb
@@ -90,7 +90,7 @@
 <translation id="5266161281976477809">Disclosure triangle</translation>
 <translation id="528468243742722775">End</translation>
 <translation id="5329858601952122676">&amp;Delete</translation>
-<translation id="5463830097259460683">Emoji &amp;amp;&amp;amp; Symbols</translation>
+<translation id="5463830097259460683">Emoji &amp;&amp; Symbols</translation>
 <translation id="5476505524087279545">untick</translation>
 <translation id="5574202486608032840"><ph name="IDS_SHORT_PRODUCT_OS_NAME" /> system</translation>
 <translation id="5583640892426849032">Backspace</translation>
diff --git a/ui/webui/resources/cr_elements/chromeos/network/cr_network_list_item.html b/ui/webui/resources/cr_elements/chromeos/network/cr_network_list_item.html
index 9af9b3a..9a38d0d 100644
--- a/ui/webui/resources/cr_elements/chromeos/network/cr_network_list_item.html
+++ b/ui/webui/resources/cr_elements/chromeos/network/cr_network_list_item.html
@@ -1,13 +1,15 @@
-<link rel="import" href="chrome://resources/cr_elements/icons.html">
 <link rel="import" href="chrome://resources/html/polymer.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-a11y-keys/iron-a11y-keys.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
-<link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button-light.html">
+
 <link rel="import" href="chrome://resources/cr_elements/chromeos/network/cr_network_icon.html">
 <link rel="import" href="chrome://resources/cr_elements/chromeos/network/cr_onc_types.html">
+<link rel="import" href="chrome://resources/cr_elements/icons.html">
 <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_indicator.html">
 <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_network_behavior.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_style_css.html">
+<link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/iron-a11y-keys/iron-a11y-keys.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-icon-button/paper-icon-button-light.html">
 
 <dom-module id="cr-network-list-item">
   <template>
@@ -36,7 +38,7 @@
       }
 
       #networkStateText {
-        color: var(--paper-grey-600);
+        color: var(--cr-secondary-text-color);
         font-size: inherit;
         font-weight: 400;
       }
diff --git a/ui/webui/resources/cr_elements/paper_tabs_style_css.html b/ui/webui/resources/cr_elements/paper_tabs_style_css.html
index 906172b..9ce5ce1a7 100644
--- a/ui/webui/resources/cr_elements/paper_tabs_style_css.html
+++ b/ui/webui/resources/cr_elements/paper_tabs_style_css.html
@@ -16,7 +16,7 @@
           color: var(--google-blue-600);
         };
         --paper-tab-content-unselected: {
-          color: var(--paper-grey-600);
+          color: var(--cr-secondary-text-color);
         };
       }
     </style>
diff --git a/webrunner/app/main.cc b/webrunner/app/main.cc
index 7825180..4a3d094 100644
--- a/webrunner/app/main.cc
+++ b/webrunner/app/main.cc
@@ -51,6 +51,9 @@
   base::fuchsia::ScopedServiceBinding<fuchsia::sys::Runner> runner_binding(
       directory, &runner);
 
+  // Quit the process after the app manager closes the Runner connection.
+  runner_binding.SetOnLastClientCallback(run_loop.QuitClosure());
+
   // The RunLoop runs until all Components have been closed, at which point the
   // application will terminate.
   run_loop.Run();
diff --git a/webrunner/browser/webrunner_browser_context.cc b/webrunner/browser/webrunner_browser_context.cc
index d70cb36a..01ff08fd 100644
--- a/webrunner/browser/webrunner_browser_context.cc
+++ b/webrunner/browser/webrunner_browser_context.cc
@@ -22,10 +22,6 @@
   ~ResourceContext() override = default;
 
   // ResourceContext implementation.
-  net::HostResolver* GetHostResolver() override {
-    DCHECK(getter_);
-    return getter_->GetURLRequestContext()->host_resolver();
-  }
   net::URLRequestContext* GetRequestContext() override {
     DCHECK(getter_);
     return getter_->GetURLRequestContext();