diff --git a/BUILD.gn b/BUILD.gn
index e387184..acd17275a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -288,6 +288,7 @@
       "//build/android/gyp/test:hello_world",
       "//build/android/gyp/test:hello_world",
       "//build/android/stacktrace:java_deobfuscate",
+      "//chrome/android/webapk/shell_apk:maps_go_webapk",
       "//chrome/android/webapk/shell_apk:webapk",
       "//chrome/test/vr/perf:motopho_latency_test",
       "//components/invalidation/impl:components_invalidation_impl_junit_tests",
diff --git a/DEPS b/DEPS
index f2acd1c..99224d8d 100644
--- a/DEPS
+++ b/DEPS
@@ -86,7 +86,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': '6b7f2a9c5b8c5e63deea99f2afafd75c38efc7cc',
+  'v8_revision': 'fc27a8d63c94c91ede18fce3246fbba7aec54262',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
@@ -94,7 +94,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': 'ebd6e2df290afca3e3b1ceafb271c2f11e16a90f',
+  'angle_revision': '14f4817c4dad9680bcb086dc651193a3f101f0aa',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling build tools
   # and whatever else without interference from each other.
diff --git a/WATCHLISTS b/WATCHLISTS
index 777bf6c..1a31a0a 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -1817,8 +1817,7 @@
                      'pdr+renderingwatchlist@chromium.org',
                      'szager+layoutwatch@chromium.org',
                      'zoltan@webkit.org'],
-    'blink_layout_ng': ['ojan+watch@chromium.org',
-                        'cbiesinger@chromium.org',
+    'blink_layout_ng': ['cbiesinger@chromium.org',
                         'glebl+reviews@chromium.org',
                         'dgrogan+ng@chromium.org',
                         'atotic+reviews@chromium.org',
diff --git a/android_webview/browser/net/aw_url_request_context_getter.cc b/android_webview/browser/net/aw_url_request_context_getter.cc
index a10169eac..600c364 100644
--- a/android_webview/browser/net/aw_url_request_context_getter.cc
+++ b/android_webview/browser/net/aw_url_request_context_getter.cc
@@ -175,13 +175,17 @@
   return job_factory;
 }
 
-// For Android WebView, do not enforce the policies outlined in
+// For Android WebView, do not enforce policies that are not consistent with
+// the underlying OS validator.
+// This means not enforcing the Legacy Symantec PKI policies outlined in
 // https://security.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html
-// as those will be handled by Android itself on its own schedule. Otherwise,
-// it returns the default SSLConfig.
+// or disabling SHA-1 for locally-installed trust anchors.
 class AwSSLConfigService : public net::SSLConfigService {
  public:
-  AwSSLConfigService() { default_config_.symantec_enforcement_disabled = true; }
+  AwSSLConfigService() {
+    default_config_.symantec_enforcement_disabled = true;
+    default_config_.sha1_local_anchors_enabled = true;
+  }
 
   void GetSSLConfig(net::SSLConfig* config) override {
     *config = default_config_;
diff --git a/android_webview/browser/net/aw_url_request_context_getter_unittest.cc b/android_webview/browser/net/aw_url_request_context_getter_unittest.cc
index b53857bd..3b77941 100644
--- a/android_webview/browser/net/aw_url_request_context_getter_unittest.cc
+++ b/android_webview/browser/net/aw_url_request_context_getter_unittest.cc
@@ -99,4 +99,19 @@
   EXPECT_TRUE(config.symantec_enforcement_disabled);
 }
 
+// Tests that SHA-1 is still allowed for locally-installed trust anchors,
+// including those in application manifests, as it should behave like
+// the Android system.
+TEST_F(AwURLRequestContextGetterTest, SHA1LocalAnchorsAllowed) {
+  net::URLRequestContext* context = getter_->GetURLRequestContext();
+  ASSERT_TRUE(context);
+  net::SSLConfigService* config_service = context->ssl_config_service();
+  ASSERT_TRUE(config_service);
+
+  net::SSLConfig config;
+  EXPECT_FALSE(config.sha1_local_anchors_enabled);
+  config_service->GetSSLConfig(&config);
+  EXPECT_TRUE(config.sha1_local_anchors_enabled);
+}
+
 }  // namespace android_webview
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java
index 4dc4ef0c..89a7866 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java
@@ -579,7 +579,7 @@
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
 
         // This event is handled by the support lib in {@link #onReceivedError2}.
-        if (mSupportLibClient.isFeatureAvailable(Features.WEB_RESOURCE_ERROR)) return;
+        if (mSupportLibClient.isFeatureAvailable(Features.RECEIVE_WEB_RESOURCE_ERROR)) return;
 
         try {
             TraceEvent.begin("WebViewContentsClientAdapter.onReceivedError");
@@ -611,7 +611,7 @@
                 error.description = mWebViewDelegate.getErrorString(mContext, error.errorCode);
             }
             if (TRACE) Log.i(TAG, "onReceivedError=" + request.url);
-            if (mSupportLibClient.isFeatureAvailable(Features.WEB_RESOURCE_ERROR)) {
+            if (mSupportLibClient.isFeatureAvailable(Features.RECEIVE_WEB_RESOURCE_ERROR)) {
                 // Note: we must pass AwWebResourceError, since this class was introduced after L.
                 mSupportLibClient.onReceivedError(
                         mWebView, new WebResourceRequestAdapter(request), error);
diff --git a/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java b/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java
index 2fccfe4..9cdde0d8 100644
--- a/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java
+++ b/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebViewClientBoundaryInterface.java
@@ -13,7 +13,7 @@
 /**
  * Boundary interface for WebViewClientCompat.
  */
-public interface WebViewClientBoundaryInterface {
+public interface WebViewClientBoundaryInterface extends FeatureFlagHolderBoundaryInterface {
     void onPageCommitVisible(WebView view, String url);
     void onReceivedError(WebView view, WebResourceRequest request,
             /* WebResourceError */ InvocationHandler error);
diff --git a/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java b/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
index ff2866dc..20d1866 100644
--- a/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
+++ b/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/WebkitToCompatConverterBoundaryInterface.java
@@ -4,7 +4,6 @@
 
 package org.chromium.support_lib_boundary;
 
-import android.webkit.ServiceWorkerWebSettings;
 import android.webkit.WebSettings;
 
 import java.lang.reflect.InvocationHandler;
@@ -16,5 +15,5 @@
 public interface WebkitToCompatConverterBoundaryInterface {
     /* SupportLibraryWebSettings */ InvocationHandler convertSettings(WebSettings webSettings);
     /* SupportLibServiceWorkerSettings */ InvocationHandler convertServiceWorkerSettings(
-            ServiceWorkerWebSettings settings);
+            /* ServiceWorkerWebSettings */ Object serviceWorkerWebSettings);
 }
diff --git a/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/util/Features.java b/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/util/Features.java
index 262c9167..18b14abe 100644
--- a/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/util/Features.java
+++ b/android_webview/support_library/boundary_interfaces/src/org/chromium/support_lib_boundary/util/Features.java
@@ -18,7 +18,7 @@
     public static final String VISUAL_STATE_CALLBACK = "VISUAL_STATE_CALLBACK";
 
     // WebViewClientCompat#onReceivedError(WebView, WebResourceRequest, WebResourceError)
-    public static final String WEB_RESOURCE_ERROR = "WEB_RESOURCE_ERROR";
+    public static final String RECEIVE_WEB_RESOURCE_ERROR = "RECEIVE_WEB_RESOURCE_ERROR";
 
     // WebViewClientCompat#onReceivedHttpError
     public static final String RECEIVE_HTTP_ERROR = "RECEIVE_HTTP_ERROR";
diff --git a/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java b/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java
index 34a9628..5d879ef2 100644
--- a/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java
+++ b/android_webview/support_library/callback/java/src/org/chromium/support_lib_callback_glue/SupportLibWebViewContentsClientAdapter.java
@@ -32,6 +32,7 @@
     // this is a Proxy for the WebViewClientCompat.
     @Nullable
     private WebViewClientBoundaryInterface mWebViewClient;
+    final private String[] mWebViewClientSupportedFeatures;
 
     private static class SafeBrowsingResponseDelegate
             implements SafeBrowsingResponseBoundaryInterface {
@@ -79,6 +80,8 @@
 
     public SupportLibWebViewContentsClientAdapter(WebViewClient possiblyCompatClient) {
         mWebViewClient = convertCompatClient(possiblyCompatClient);
+        mWebViewClientSupportedFeatures =
+                mWebViewClient == null ? new String[0] : mWebViewClient.getSupportedFeatures();
     }
 
     @Nullable
@@ -114,8 +117,8 @@
      */
     public boolean isFeatureAvailable(String featureName) {
         if (mWebViewClient == null) return false;
-        // TODO(ntfschr): provide a real implementation, which consults the WebViewClientCompat.
-        return true;
+        return BoundaryInterfaceReflectionUtil.containsFeature(
+                mWebViewClientSupportedFeatures, featureName);
     }
 
     public void onPageCommitVisible(WebView webView, String url) {
@@ -125,7 +128,7 @@
 
     public void onReceivedError(
             WebView webView, WebResourceRequest request, final AwWebResourceError error) {
-        assert isFeatureAvailable(Features.WEB_RESOURCE_ERROR);
+        assert isFeatureAvailable(Features.RECEIVE_WEB_RESOURCE_ERROR);
         WebResourceErrorBoundaryInterface errorDelegate = new WebResourceErrorDelegate(error);
         InvocationHandler errorHandler =
                 BoundaryInterfaceReflectionUtil.createInvocationHandlerFor(errorDelegate);
diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
index 9b5faef..7e7585b 100644
--- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
+++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
@@ -44,7 +44,11 @@
                     Features.SERVICE_WORKER_CONTENT_ACCESS,
                     Features.SERVICE_WORKER_FILE_ACCESS,
                     Features.SERVICE_WORKER_BLOCK_NETWORK_LOADS,
-                    Features.SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST
+                    Features.SERVICE_WORKER_SHOULD_INTERCEPT_REQUEST,
+                    Features.RECEIVE_WEB_RESOURCE_ERROR,
+                    Features.RECEIVE_HTTP_ERROR,
+                    Features.SAFE_BROWSING_HIT,
+                    Features.SHOULD_OVERRIDE_WITH_REDIRECTS
             };
     // clang-format on
 
diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java
index 89f0b1e..0116e5b 100644
--- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java
+++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebkitToCompatConverterAdapter.java
@@ -31,9 +31,11 @@
 
     // ServiceWorkerWebSettingsBoundaryInterface
     @Override
-    public InvocationHandler convertServiceWorkerSettings(ServiceWorkerWebSettings settings) {
+    public InvocationHandler convertServiceWorkerSettings(
+            /* ServiceWorkerWebSettings */ Object serviceWorkerWebSettings) {
         return BoundaryInterfaceReflectionUtil.createInvocationHandlerFor(
                 new SupportLibServiceWorkerSettingsAdapter(
-                        WebkitToSharedGlueConverter.getServiceWorkerSettings(settings)));
+                        WebkitToSharedGlueConverter.getServiceWorkerSettings(
+                                (ServiceWorkerWebSettings) serviceWorkerWebSettings)));
     }
 }
diff --git a/ash/components/strings/ash_components_strings_am.xtb b/ash/components/strings/ash_components_strings_am.xtb
index 1edb2bae..a3abdce6 100644
--- a/ash/components/strings/ash_components_strings_am.xtb
+++ b/ash/components/strings/ash_components_strings_am.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">ወደ የሚቀጥለው ትር ይሂዱ</translation>
 <translation id="2010818616644390445">በመስኮቱ ውስጥ ያለው የመጨረሻ ትር ይሂዱ</translation>
 <translation id="2040706009561734834">አስጀማሪውን ይክፈቱ/ይዝጉ</translation>
-<translation id="2045117674524495717">የቁልፍ ሰሌዳ አቋራጭ አጋዥ</translation>
 <translation id="2088054208777350526">የቁልፍ ሰሌዳ አቋራጮችን ፈልግ</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ወይም <ph name="F" /></translation>
 <translation id="2145908266289632567">የጽሑፍ አርትዖት</translation>
diff --git a/ash/components/strings/ash_components_strings_ar.xtb b/ash/components/strings/ash_components_strings_ar.xtb
index 6f3f19e..caeaeb2 100644
--- a/ash/components/strings/ash_components_strings_ar.xtb
+++ b/ash/components/strings/ash_components_strings_ar.xtb
@@ -6,6 +6,7 @@
 <translation id="1134347825771908369">كتم الصوت</translation>
 <translation id="1195667586424773550">اسحب الرابط إلى شريط عناوين علامة التبويب</translation>
 <translation id="1204450209689312104">فتح نافذة جديدة في وضع التصفح المتخفي</translation>
+<translation id="1290373024480130896"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="MODIFIER3" /><ph name="SEPARATOR3" /><ph name="KEY" /></translation>
 <translation id="1293699935367580298">Esc</translation>
 <translation id="1299858300159559687">طباعة الصفحة الحالية</translation>
 <translation id="1383876407941801731">البحث</translation>
@@ -22,7 +23,9 @@
 <translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> أو <ph name="LEFT" /></translation>
 <translation id="1996162290124031907">الانتقال إلى علامة التبويب التالية</translation>
 <translation id="2010818616644390445">الانتقال إلى علامة التبويب الأخيرة في النافذة</translation>
+<translation id="2040706009561734834">فتح مشغِّل التطبيقات أو إغلاقه</translation>
 <translation id="2088054208777350526">البحث عن اختصارات لوحة المفاتيح</translation>
+<translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> أو <ph name="F" /></translation>
 <translation id="2145908266289632567">تعديل النص</translation>
 <translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 إلى =</translation>
 <translation id="2181097965834437145">عرض شريط الإشارات أو إخفاؤه</translation>
@@ -35,9 +38,11 @@
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">التمرير إلى أسفل صفحة الويب</translation>
 <translation id="2568632782096378307">إعادة تعيين مستوى دقة الشاشة على الخيار التلقائي</translation>
+<translation id="2596078834055697711">التقاط لقطة شاشة للنافذة</translation>
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="TAB" /> أو <ph name="RIGHT" /></translation>
 <translation id="2699509451653686398">حفظ صفحة الويب الحالية كإشارة مرجعية</translation>
 <translation id="2750942583782703988">إعادة تحميل الصفحة الحالية</translation>
+<translation id="2764005613199379871">التركيز على البحث في شريط العناوين</translation>
 <translation id="2789868185375229787">التصغير في الصفحة</translation>
 <translation id="2804480015716812239">اضغط على <ph name="ALT" /> وانقر على رابط</translation>
 <translation id="2830827904629746450">إرساء نافذة على اليسار</translation>
@@ -49,6 +54,7 @@
 <translation id="3105917916468784889">أخذ لقطة شاشة</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3140353188828248647">تركيز شريط العناوين</translation>
+<translation id="3256109297135787951">إزالة التحديد عن عنصر على الرف</translation>
 <translation id="3288816184963444640">إغلاق النافذة الحالية</translation>
 <translation id="3407560819924487926">استدعاء إدارة المهام</translation>
 <translation id="3422679037938588196">الانتقال إلى المطابقة السابقة للبحث</translation>
@@ -59,9 +65,11 @@
 <translation id="3649256019230929621">تصغير النافذة</translation>
 <translation id="3655154169297074232">علامات التبويب والنوافذ</translation>
 <translation id="3668361878347172356">إعادة الإجراء الأخير</translation>
+<translation id="3710784500737332588">فتح "مركز المساعدة"</translation>
 <translation id="3720939646656082033">فتح الرابط في علامة تبويب جديدة والتبديل إلى علامة التبويب الجديدة</translation>
 <translation id="3725795051337497754">إغلاق علامة التبويب الحالية</translation>
 <translation id="3751033133896282964">التراجع عن الإجراء الأخير</translation>
+<translation id="3792178297143798024">فتح العنصر المُحدَّد على الرف</translation>
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 إلى 8</translation>
 <translation id="3837047332182291558">زيادة سطوع لوحة المفاتيح (للوحات المفاتيح المزودة بإضاءة خلفية فقط)</translation>
 <translation id="3976863468609830880">النقر على الرمز الأخير على الرف</translation>
@@ -76,11 +84,15 @@
 <translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> أو <ph name="ENTER" /></translation>
 <translation id="4240486403425279990">وضع "النظرة العامة"</translation>
 <translation id="4472417192667361414">النظام وإعدادات العرض</translation>
+<translation id="4484292984055789039">التبديل إلى أسلوب إدخال اللغة السابق</translation>
 <translation id="4556221320735744018">الاطلاع على "مساعد اختصارات لوحة المفاتيح"</translation>
 <translation id="4628718545549558538">فتح منطقة الحالة (التي تظهر فيها صورة الحساب)</translation>
 <translation id="4642092649622328492">أخذ لقطة شاشة جزئية</translation>
+<translation id="4698850295812410683">عرض أدوات قلم الشاشة</translation>
 <translation id="4801989101741319327">الانتقال إلى نهاية الكلمة التالية</translation>
 <translation id="4916163929714267752">فتح الرابط في نافذة جديدة</translation>
+<translation id="5002047168347153398">التركيز على نافذة منبثقة غير نشطة لتوفير إمكانية الوصول</translation>
+<translation id="5030659775136592441">عرض "مدير الإشارات"</translation>
 <translation id="5034421018520995080">الانتقال إلى أعلى الصفحة</translation>
 <translation id="5042305953558921026">مفتاح وضع النظرة العامة</translation>
 <translation id="5104462712192763270">حفظ الصفحة الحالية</translation>
@@ -97,12 +109,14 @@
 <translation id="5757111373163288447">فتح الرابط في علامة التبويب</translation>
 <translation id="5757474750054631686">تعتيم لوحة المفاتيح (للوحات المفاتيح المزودة بإضاءة خلفية فقط)</translation>
 <translation id="587531134027443617">حذف الكلمة السابقة</translation>
+<translation id="5899919361772749550">عرض وحدة التحكُّم في "أدوات المطوِّرين" أو إخفاؤها</translation>
 <translation id="5921745308587794300">تدوير النافذة</translation>
 <translation id="5975083100439434680">تصغير</translation>
 <translation id="6022924867608035986">محو نص مربع البحث</translation>
 <translation id="6045998054441862242">تشغيل وضع التباين العالي</translation>
 <translation id="6052614013050385269">النقر بالزر الأيمن على رابط</translation>
 <translation id="6129953537138746214">مسافة</translation>
+<translation id="613146727819833328">نقل النافذة إلى المنتصف</translation>
 <translation id="6143669479988153888">التكبير في الصفحة</translation>
 <translation id="6185696379715117369">صفحة لأعلى</translation>
 <translation id="6228457605945141550">تقليل السطوع</translation>
@@ -118,28 +132,39 @@
 <translation id="6556040137485212400">فتح النافذة التي لم يتم استخدامها منذ فترة زمنية طويلة</translation>
 <translation id="666343722268997814">النقر بالزر الأيمن لفتح قائمة العنصر المُحدَّد</translation>
 <translation id="6671538777808758331">الانتقال إلى المطابقة التالية للبحث</translation>
+<translation id="6681606577947445973"><ph name="REFRESH" /> أو <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="R" /></translation>
 <translation id="6690765639083431875">إرساء نافذة على اليمين</translation>
 <translation id="6692847073476874842">معاينة ملف في تطبيق "الملفات"</translation>
 <translation id="671928215901716392">قفل الشاشة</translation>
 <translation id="6727005317916125192">الجزء السابق</translation>
 <translation id="6740781404993465795">تحديد الكلمة التالية أو الحرف التالي</translation>
 <translation id="6760706756348334449">خفض مستوى الصوت</translation>
+<translation id="6941333068993625698">إرسال التعليقات</translation>
 <translation id="6981982820502123353">إمكانية الدخول</translation>
 <translation id="7020813747703216897">لم يتم العثور على أي نتائج مطابقة.</translation>
 <translation id="7025325401470358758">الجزء التالي</translation>
+<translation id="7077383985738259936">التركيز على "شريط الإشارات" أو تمييزه (إذا كان مرئيًا)</translation>
 <translation id="7237562915163138771">اكتب عنوان الويب في شريط العناوين، ثم اضغط على <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /></translation>
+<translation id="7254764037241667478">تعيين الجهاز على وضع السكون (تعليق)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> أو <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
+<translation id="743754632698445141">إزالة تثبيت تطبيق</translation>
 <translation id="7439718573248533901">حذف الحرف التالي (حذف باتجاه الأمام)</translation>
+<translation id="7449669175878568981">بدء الإملاء أو إيقافها (كتابة ما تنطقه)</translation>
 <translation id="766326951329901120">لصق المحتوى من الحافظة كنص عادي</translation>
 <translation id="7724603315864178912">قص</translation>
 <translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />، ثم <ph name="SPACE" /> أو <ph name="ENTER" /></translation>
 <translation id="7787242579016742662">فتح ملف في المتصفح</translation>
+<translation id="7822267121073044318">التبديل إلى أسلوب إدخال اللغة التالي</translation>
 <translation id="7917881398263220094">إيقاف تحميل الصفحة الحالية</translation>
+<translation id="7952165122793773711">الانتقال من علامة التبويب الأولى إلى الثامنة</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> أو <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">محو بيانات التصفُّح</translation>
+<translation id="8104889575691864804">عرض قائمة التطبيقات</translation>
 <translation id="8130528849632411619">الانتقال إلى بداية المستند</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> أو <ph name="E" /></translation>
+<translation id="8232835244134740473">يمكنك تبديل التركيز بين: منطقة الحالة (في مكان ظهور صورة حسابك) ومشغِّل التطبيقات وشريط العناوين وشريط الإشارات (إن كان ظاهرًا) وصفحة الويب المفتوحة وشريط التنزيلات (إن كان ظاهرًا).</translation>
 <translation id="8234414138295101081">تدوير الشاشة بزاوية 90 درجة</translation>
+<translation id="8264941229485248811">إظهار مراقب "أدوات المطوِّرين" أو إخفاؤه</translation>
 <translation id="836869401750819675">فتح صفحة "التنزيلات"</translation>
 <translation id="8388247778047144397">اسحب الرابط إلى منطقة فارغة على شريط علامات التبويب</translation>
 <translation id="8389638407792712197">فتح نافذة جديدة</translation>
@@ -154,8 +179,11 @@
 <translation id="88986195241502842">صفحة لأسفل</translation>
 <translation id="8903921497873541725">تكبير</translation>
 <translation id="8924883688469390268">التبديل إلى المستخدم السابق</translation>
+<translation id="8951768610999698672">تكبير العناصر المعروضة على الشاشة أو تصغيرها</translation>
 <translation id="8977648847395357314">تحديد المحتوى في شريط العناوين</translation>
+<translation id="8982190978301344584">‏إظهار القائمة التي تعرض قائمة من "أدوات IME" المتاحة</translation>
 <translation id="8990356943438003669"><ph name="ALT" /><ph name="SEPARATOR" /> من 1 إلى 8</translation>
+<translation id="9005984960510803406">‏فتح نافذة Crosh</translation>
 <translation id="9041599225465145264">لصق المحتوى من الحافظة</translation>
 <translation id="9052808072970550123">التبديل إلى المستخدم التالي</translation>
 <translation id="906458777597946297">تكبير النافذة</translation>
@@ -164,5 +192,6 @@
 <translation id="9179672198516322668">الاختصارات الشائعة</translation>
 <translation id="93603345341560814">اضغط على <ph name="SHIFT" /> وانقر على الرابط</translation>
 <translation id="945383118875625837">اسحب الرابط إلى شريط الإشارات</translation>
+<translation id="969054500339500113">التركيز على "شريط القوائم"</translation>
 <translation id="98120814841227350">الانتقال إلى نهاية المستند</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/components/strings/ash_components_strings_bg.xtb b/ash/components/strings/ash_components_strings_bg.xtb
index c1c0ab5..c479164 100644
--- a/ash/components/strings/ash_components_strings_bg.xtb
+++ b/ash/components/strings/ash_components_strings_bg.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Към следващия раздел</translation>
 <translation id="2010818616644390445">Преминаване към последния раздел в прозореца</translation>
 <translation id="2040706009561734834">Отваряне/затваряне на стартовия панел</translation>
-<translation id="2045117674524495717">Помощ за клавишните комбинации</translation>
 <translation id="2088054208777350526">Търсене на клавишни комбинации</translation>
 <translation id="2125211348069077981"><ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="E" /> или <ph name="F" /></translation>
 <translation id="2145908266289632567">Редактиране на текст</translation>
diff --git a/ash/components/strings/ash_components_strings_ca.xtb b/ash/components/strings/ash_components_strings_ca.xtb
index 9559cc8..e39a1f8b 100644
--- a/ash/components/strings/ash_components_strings_ca.xtb
+++ b/ash/components/strings/ash_components_strings_ca.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Ves a la pestanya següent</translation>
 <translation id="2010818616644390445">Ves a l'última pestanya de la finestra</translation>
 <translation id="2040706009561734834">Obre/tanca el menú d'aplicacions</translation>
-<translation id="2045117674524495717">Aplicació auxiliar de les tecles de drecera</translation>
 <translation id="2088054208777350526">Cerca tecles de drecera</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> o <ph name="F" /></translation>
 <translation id="2145908266289632567">Edició de text</translation>
@@ -43,6 +42,7 @@
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> i després <ph name="TAB" /> o <ph name="RIGHT" /></translation>
 <translation id="2699509451653686398">Desa la pàgina web actual a les adreces d'interès</translation>
 <translation id="2750942583782703988">Torna a carregar la pàgina actual</translation>
+<translation id="2764005613199379871">Situa el focus a la barra d'adreces de cerca</translation>
 <translation id="2789868185375229787">Redueix la pàgina</translation>
 <translation id="2804480015716812239">Prem <ph name="ALT" /> i fes clic en un enllaç</translation>
 <translation id="2830827904629746450">Fixa una finestra a la dreta</translation>
@@ -54,6 +54,7 @@
 <translation id="3105917916468784889">Fes una captura de pantalla</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3140353188828248647">Mou el focus a la barra d'adreces</translation>
+<translation id="3256109297135787951">Deixa de destacar un element del prestatge</translation>
 <translation id="3288816184963444640">Tanca la finestra actual</translation>
 <translation id="3407560819924487926">Obre el gestor de tasques</translation>
 <translation id="3422679037938588196">Ves al resultat anterior de la cerca</translation>
@@ -68,6 +69,7 @@
 <translation id="3720939646656082033">Obre l'enllaç en una pestanya nova i canvia a aquesta pestanya</translation>
 <translation id="3725795051337497754">Tanca la pestanya actual</translation>
 <translation id="3751033133896282964">Desfés la darrera acció</translation>
+<translation id="3792178297143798024">Obre l'element destacat del prestatge</translation>
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> de l'1 al 8</translation>
 <translation id="3837047332182291558">Augmenta la brillantor del teclat (només als teclats retroil·luminats)</translation>
 <translation id="3976863468609830880">Fes clic a la darrera icona del prestatge</translation>
@@ -154,11 +156,13 @@
 <translation id="7787242579016742662">Obre un fitxer al navegador</translation>
 <translation id="7822267121073044318">Canvia al mètode d'introducció de text de l'idioma següent</translation>
 <translation id="7917881398263220094">Atura la càrrega de la pàgina actual</translation>
+<translation id="7952165122793773711">Ves a les pestanyes de l'1 a la 8</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">Esborra les dades de navegació</translation>
 <translation id="8104889575691864804">Mostra el menú d'aplicacions</translation>
 <translation id="8130528849632411619">Ves al principi del document</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation>
+<translation id="8232835244134740473">Canvia el focus entre l'àrea d'estat (en què es mostra la imatge del compte), el menú d'aplicacions, la barra d'adreces, la barra d'adreces d'interès (si és visible), la pàgina web que està oberta i la barra de baixades (si és visible).</translation>
 <translation id="8234414138295101081">Gira la pantalla 90 graus</translation>
 <translation id="8264941229485248811">Mostra o amaga l'inspector d'eines per a desenvolupadors</translation>
 <translation id="836869401750819675">Obre la pàgina Baixades</translation>
diff --git a/ash/components/strings/ash_components_strings_cs.xtb b/ash/components/strings/ash_components_strings_cs.xtb
index 47803f0..2933cf7 100644
--- a/ash/components/strings/ash_components_strings_cs.xtb
+++ b/ash/components/strings/ash_components_strings_cs.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Přejít na další kartu</translation>
 <translation id="2010818616644390445">Přejít na poslední kartu v okně</translation>
 <translation id="2040706009561734834">Otevřít/zavřít spouštěč</translation>
-<translation id="2045117674524495717">Nápověda ke klávesovým zkratkám</translation>
 <translation id="2088054208777350526">Vyhledat klávesové zkratky</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> nebo <ph name="F" /></translation>
 <translation id="2145908266289632567">Úpravy textu</translation>
diff --git a/ash/components/strings/ash_components_strings_da.xtb b/ash/components/strings/ash_components_strings_da.xtb
index e5ed693fe..1f26f05 100644
--- a/ash/components/strings/ash_components_strings_da.xtb
+++ b/ash/components/strings/ash_components_strings_da.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Gå til næste fane</translation>
 <translation id="2010818616644390445">Gå til den sidste fane i vinduet</translation>
 <translation id="2040706009561734834">Åbn/luk applisten</translation>
-<translation id="2045117674524495717">Hjælp til tastaturgenveje</translation>
 <translation id="2088054208777350526">Søg efter tastaturgenveje</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> eller <ph name="F" /></translation>
 <translation id="2145908266289632567">Tekstredigering</translation>
@@ -50,6 +49,7 @@
 <translation id="2872353916818027657">Skift primær skærm</translation>
 <translation id="2914313326123580426">Vis eller skjul panelet med udviklerværktøj</translation>
 <translation id="292495055542441795">Slå fuld skærm til eller fra</translation>
+<translation id="3020183492814296499">Genveje</translation>
 <translation id="3084301071537457911">Fremhæv det næste element på din hylde</translation>
 <translation id="309173601632226815">Fremhæv knappen Appliste på din hylde</translation>
 <translation id="3105917916468784889">Tag screenshot</translation>
diff --git a/ash/components/strings/ash_components_strings_de.xtb b/ash/components/strings/ash_components_strings_de.xtb
index 574674c..3ea052d3 100644
--- a/ash/components/strings/ash_components_strings_de.xtb
+++ b/ash/components/strings/ash_components_strings_de.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Auf den nächsten Tab klicken</translation>
 <translation id="2010818616644390445">Auf den letzten Tab im Fenster klicken</translation>
 <translation id="2040706009561734834">Launcher öffnen/schließen</translation>
-<translation id="2045117674524495717">Assistent für Tastenkombinationen</translation>
 <translation id="2088054208777350526">Tastenkombinationen suchen</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> oder <ph name="F" /></translation>
 <translation id="2145908266289632567">Textbearbeitung</translation>
diff --git a/ash/components/strings/ash_components_strings_el.xtb b/ash/components/strings/ash_components_strings_el.xtb
index 112e16c3..1e2c7fc 100644
--- a/ash/components/strings/ash_components_strings_el.xtb
+++ b/ash/components/strings/ash_components_strings_el.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Μετάβαση στην επόμενη καρτέλα</translation>
 <translation id="2010818616644390445">Μετάβαση στην τελευταία καρτέλα στο παράθυρο</translation>
 <translation id="2040706009561734834">Άνοιγμα/κλείσιμο εφαρμογής εκκίνησης</translation>
-<translation id="2045117674524495717">Πρόγραμμα βοήθειας συντομεύσεων πληκτρολογίου</translation>
 <translation id="2088054208777350526">Αναζήτηση για συντομεύσεις πληκτρολογίου</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ή <ph name="F" /></translation>
 <translation id="2145908266289632567">Επεξεργασία κειμένου</translation>
diff --git a/ash/components/strings/ash_components_strings_en-GB.xtb b/ash/components/strings/ash_components_strings_en-GB.xtb
index f34ef33..7b9eecf9 100644
--- a/ash/components/strings/ash_components_strings_en-GB.xtb
+++ b/ash/components/strings/ash_components_strings_en-GB.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Go to next tab</translation>
 <translation id="2010818616644390445">Go to the last tab in the window</translation>
 <translation id="2040706009561734834">Open/close the launcher</translation>
-<translation id="2045117674524495717">Keyboard Shortcut Helper</translation>
 <translation id="2088054208777350526">Search for keyboard shortcuts</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> or <ph name="F" /></translation>
 <translation id="2145908266289632567">Text Editing</translation>
diff --git a/ash/components/strings/ash_components_strings_es-419.xtb b/ash/components/strings/ash_components_strings_es-419.xtb
index b81933eb..c6f0a6f 100644
--- a/ash/components/strings/ash_components_strings_es-419.xtb
+++ b/ash/components/strings/ash_components_strings_es-419.xtb
@@ -6,6 +6,7 @@
 <translation id="1134347825771908369">Desactivar sonido</translation>
 <translation id="1195667586424773550">Arrastrar el vínculo a la barra de direcciones de la pestaña</translation>
 <translation id="1204450209689312104">Abrir una ventana nueva en modo de navegación incógnito</translation>
+<translation id="1290373024480130896"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="MODIFIER3" /><ph name="SEPARATOR3" /><ph name="KEY" /></translation>
 <translation id="1293699935367580298">Esc</translation>
 <translation id="1299858300159559687">Imprimir la página actual</translation>
 <translation id="1383876407941801731">Buscar</translation>
@@ -22,7 +23,9 @@
 <translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation>
 <translation id="1996162290124031907">Ir a la pestaña siguiente</translation>
 <translation id="2010818616644390445">Ir a la última pestaña de la ventana</translation>
+<translation id="2040706009561734834">Abrir y cerrar el selector</translation>
 <translation id="2088054208777350526">Buscar combinaciones de teclas</translation>
+<translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> o <ph name="F" /></translation>
 <translation id="2145908266289632567">Edición de textos</translation>
 <translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 a =</translation>
 <translation id="2181097965834437145">Mostrar u ocultar la barra de favoritos</translation>
@@ -35,6 +38,7 @@
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Desplazarse hacia abajo por la página web</translation>
 <translation id="2568632782096378307">Restablecer la resolución predeterminada de la pantalla</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="2699509451653686398">Guardar la página web actual en Favoritos</translation>
 <translation id="2750942583782703988">Volver a cargar la página actual</translation>
@@ -59,6 +63,7 @@
 <translation id="3649256019230929621">Minimizar ventana</translation>
 <translation id="3655154169297074232">Pestañas y ventanas</translation>
 <translation id="3668361878347172356">Rehacer la última acción</translation>
+<translation id="3710784500737332588">Abrir el Centro de ayuda</translation>
 <translation id="3720939646656082033">Abrir el vínculo en una pestaña nueva y cambiar a esa pestaña</translation>
 <translation id="3725795051337497754">Cerrar la pestaña actual</translation>
 <translation id="3751033133896282964">Deshacer la última acción</translation>
@@ -76,11 +81,15 @@
 <translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation>
 <translation id="4240486403425279990">Modo de descripción general</translation>
 <translation id="4472417192667361414">Configuración del sistema y la pantalla</translation>
+<translation id="4484292984055789039">Cambiar al método de entrada del idioma anterior</translation>
 <translation id="4556221320735744018">Mostrar el asistente de combinaciones de teclas</translation>
 <translation id="4628718545549558538">Abrir el área de estado (donde aparece la imagen de tu cuenta)</translation>
 <translation id="4642092649622328492">Realizar una captura de pantalla parcial</translation>
+<translation id="4698850295812410683">Mostrar herramientas de pluma stylus</translation>
 <translation id="4801989101741319327">Ir al final de la palabra siguiente</translation>
 <translation id="4916163929714267752">Abrir el vínculo en una ventana nueva</translation>
+<translation id="5002047168347153398">Enfocar la ventana emergente para la accesibilidad</translation>
+<translation id="5030659775136592441">Mostrar el Administrador de favoritos</translation>
 <translation id="5034421018520995080">Ir a la parte superior de la página</translation>
 <translation id="5042305953558921026">Tecla del modo de descripción general</translation>
 <translation id="5104462712192763270">Guardar la página actual</translation>
@@ -97,12 +106,14 @@
 <translation id="5757111373163288447">Abrir el vínculo en la pestaña</translation>
 <translation id="5757474750054631686">Atenuar el teclado (solo para teclados retroiluminados)</translation>
 <translation id="587531134027443617">Borrar la palabra anterior</translation>
+<translation id="5899919361772749550">Mostrar u ocultar la consola Herramientas para programadores</translation>
 <translation id="5921745308587794300">Rota la ventana</translation>
 <translation id="5975083100439434680">Alejar</translation>
 <translation id="6022924867608035986">Borrar el texto en el cuadro de búsqueda</translation>
 <translation id="6045998054441862242">Activar el modo de contraste alto</translation>
 <translation id="6052614013050385269">Hacer clic con el botón derecho en un vínculo</translation>
 <translation id="6129953537138746214">Google Space</translation>
+<translation id="613146727819833328">Mover la ventana al centro</translation>
 <translation id="6143669479988153888">Acercar la página</translation>
 <translation id="6185696379715117369">Retroceder página</translation>
 <translation id="6228457605945141550">Disminuir el brillo</translation>
@@ -118,28 +129,37 @@
 <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>
 <translation id="6671538777808758331">Ir a la siguiente coincidencia de búsqueda</translation>
+<translation id="6681606577947445973"><ph name="REFRESH" /> o <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="R" /></translation>
 <translation id="6690765639083431875">Acoplar una ventana a la izquierda</translation>
 <translation id="6692847073476874842">Obtener una vista previa de un archivo en la app de Archivos</translation>
 <translation id="671928215901716392">Bloquear pantalla</translation>
 <translation id="6727005317916125192">Panel anterior</translation>
 <translation id="6740781404993465795">Seleccionar la siguiente palabra o letra</translation>
 <translation id="6760706756348334449">Bajar el volumen</translation>
+<translation id="6941333068993625698">Enviar comentarios</translation>
 <translation id="6981982820502123353">Accesibilidad</translation>
 <translation id="7020813747703216897">No se encontraron resultados que coincidan</translation>
 <translation id="7025325401470358758">Siguiente panel</translation>
+<translation id="7077383985738259936">Enfocar o destacar la barra de favoritos (si se muestra)</translation>
 <translation id="7237562915163138771">Escribe una dirección web en la barra de direcciones y, luego, presiona <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /></translation>
+<translation id="7254764037241667478">Poner el dispositivo en modo de suspensión (suspendido)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
+<translation id="743754632698445141">Dejar de fijar una app</translation>
 <translation id="7439718573248533901">Borrar la letra siguiente (borrar siguiente)</translation>
+<translation id="7449669175878568981">Iniciar o detener dictado (escribir lo que dices)</translation>
 <translation id="766326951329901120">Pegar el contenido del portapapeles como texto sin formato</translation>
 <translation id="7724603315864178912">Cortar</translation>
 <translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, luego <ph name="SPACE" /> o <ph name="ENTER" /></translation>
 <translation id="7787242579016742662">Abrir un archivo en el navegador</translation>
+<translation id="7822267121073044318">Cambiar al método de entrada del siguiente idioma</translation>
 <translation id="7917881398263220094">Detener la carga de la página actual</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">Eliminar datos de navegación</translation>
+<translation id="8104889575691864804">Mostrar menú de apps</translation>
 <translation id="8130528849632411619">Ir al principio del documento</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation>
 <translation id="8234414138295101081">Rotar la pantalla 90 grados</translation>
+<translation id="8264941229485248811">Mostrar u ocultar el inspector de Herramientas para desarrolladores</translation>
 <translation id="836869401750819675">Abrir la página de descargas</translation>
 <translation id="8388247778047144397">Arrastra el vínculo al área en blanco de la barra de pestañas</translation>
 <translation id="8389638407792712197">Abrir una ventana nueva</translation>
@@ -154,8 +174,11 @@
 <translation id="88986195241502842">Avanzar página</translation>
 <translation id="8903921497873541725">Acercar</translation>
 <translation id="8924883688469390268">Cambiar al usuario anterior</translation>
+<translation id="8951768610999698672">Aumentar o reducir el tamaño de los elementos de la pantalla</translation>
 <translation id="8977648847395357314">Seleccionar el contenido en la barra de direcciones</translation>
+<translation id="8982190978301344584">Mostrar el menú que incluye una lista de los IME disponibles</translation>
 <translation id="8990356943438003669"><ph name="ALT" /><ph name="SEPARATOR" /> 1 a 8</translation>
+<translation id="9005984960510803406">Abrir ventana Crosh</translation>
 <translation id="9041599225465145264">Pegar el contenido del portapapeles</translation>
 <translation id="9052808072970550123">Cambiar al usuario siguiente</translation>
 <translation id="906458777597946297">Maximizar ventana</translation>
@@ -164,5 +187,6 @@
 <translation id="9179672198516322668">Combinaciones de teclas populares</translation>
 <translation id="93603345341560814">Presiona <ph name="SHIFT" /> y haz clic en un vínculo</translation>
 <translation id="945383118875625837">Arrastrar el vínculo a la barra de favoritos</translation>
+<translation id="969054500339500113">Enfocar la barra de menú</translation>
 <translation id="98120814841227350">Ir al final del documento</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/components/strings/ash_components_strings_es.xtb b/ash/components/strings/ash_components_strings_es.xtb
index a9c0d57..ff63dd2 100644
--- a/ash/components/strings/ash_components_strings_es.xtb
+++ b/ash/components/strings/ash_components_strings_es.xtb
@@ -6,6 +6,7 @@
 <translation id="1134347825771908369">Silenciar volumen</translation>
 <translation id="1195667586424773550">Arrastra el enlace a la barra de direcciones de la pestaña</translation>
 <translation id="1204450209689312104">Abrir una ventana nueva en modo incógnito</translation>
+<translation id="1290373024480130896"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="MODIFIER3" /><ph name="SEPARATOR3" /><ph name="KEY" /></translation>
 <translation id="1293699935367580298">Esc</translation>
 <translation id="1299858300159559687">Imprimir la página actual</translation>
 <translation id="1383876407941801731">Buscar</translation>
@@ -22,7 +23,9 @@
 <translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> y <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> o <ph name="LEFT" /></translation>
 <translation id="1996162290124031907">Ir a la siguiente pestaña</translation>
 <translation id="2010818616644390445">Ir a la última pestaña de la ventana</translation>
+<translation id="2040706009561734834">Abrir/cerrar el menú de aplicaciones</translation>
 <translation id="2088054208777350526">Buscar combinaciones de teclas</translation>
+<translation id="2125211348069077981"><ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="E" /> o <ph name="F" /></translation>
 <translation id="2145908266289632567">Edición de texto</translation>
 <translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> una tecla del 1 hasta el signo =</translation>
 <translation id="2181097965834437145">Mostrar u ocultar la barra de marcadores</translation>
@@ -35,9 +38,11 @@
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Desplazarse hacia abajo por la página web</translation>
 <translation id="2568632782096378307">Recuperar la resolución de pantalla predeterminada</translation>
+<translation id="2596078834055697711">Hacer una 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" /> y <ph name="TAB" /> o <ph name="RIGHT" /></translation>
 <translation id="2699509451653686398">Guardar la página web actual en los marcadores</translation>
 <translation id="2750942583782703988">Volver a cargar la página actual</translation>
+<translation id="2764005613199379871">Seleccionar la barra de direcciones</translation>
 <translation id="2789868185375229787">Reducir la página</translation>
 <translation id="2804480015716812239">Pulsa <ph name="ALT" /> y haz clic en un enlace</translation>
 <translation id="2830827904629746450">Anclar una ventana en la derecha</translation>
@@ -49,6 +54,7 @@
 <translation id="3105917916468784889">Hacer una captura de pantalla</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3140353188828248647">Activar barra de direcciones</translation>
+<translation id="3256109297135787951">Dejar de destacar un elemento de la estantería</translation>
 <translation id="3288816184963444640">Cerrar la ventana actual</translation>
 <translation id="3407560819924487926">Abrir el administrador de tareas</translation>
 <translation id="3422679037938588196">Ir al resultado de búsqueda anterior</translation>
@@ -59,9 +65,11 @@
 <translation id="3649256019230929621">Minimizar ventana</translation>
 <translation id="3655154169297074232">Pestañas y ventanas</translation>
 <translation id="3668361878347172356">Rehacer la última acción</translation>
+<translation id="3710784500737332588">Abrir el Centro de Ayuda</translation>
 <translation id="3720939646656082033">Abrir el enlace en una pestaña nueva y cambiar a esa pestaña</translation>
 <translation id="3725795051337497754">Cerrar la pestaña actual</translation>
 <translation id="3751033133896282964">Deshacer la última acción</translation>
+<translation id="3792178297143798024">Abrir el elemento destacado de la estantería</translation>
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> una tecla del 1 al 8</translation>
 <translation id="3837047332182291558">Aumentar la iluminación del teclado (solo para teclados retroiluminados)</translation>
 <translation id="3976863468609830880">Hacer clic en el último icono de la estantería</translation>
@@ -76,11 +84,15 @@
 <translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> o <ph name="ENTER" /></translation>
 <translation id="4240486403425279990">Modo de visión general</translation>
 <translation id="4472417192667361414">Configuración del sistema y de la pantalla</translation>
+<translation id="4484292984055789039">Cambiar al método de introducción de idioma anterior</translation>
 <translation id="4556221320735744018">Ver la ayuda de combinaciones de teclas</translation>
 <translation id="4628718545549558538">Abrir el área de estado (donde aparece la imagen de la cuenta)</translation>
 <translation id="4642092649622328492">Hacer una captura de pantalla parcial</translation>
+<translation id="4698850295812410683">Mostrar herramientas del lápiz óptico</translation>
 <translation id="4801989101741319327">Desplazarse al final de la siguiente palabra</translation>
 <translation id="4916163929714267752">Abrir el enlace en una ventana nueva</translation>
+<translation id="5002047168347153398">Seleccionar ventana emergente inactiva para accesibilidad</translation>
+<translation id="5030659775136592441">Mostrar administrador de favoritos</translation>
 <translation id="5034421018520995080">Ir a la parte superior de la página</translation>
 <translation id="5042305953558921026">Tecla del modo de descripción general</translation>
 <translation id="5104462712192763270">Guardar la página actual</translation>
@@ -97,12 +109,14 @@
 <translation id="5757111373163288447">Abrir el enlace en la pestaña</translation>
 <translation id="5757474750054631686">Atenuar la luz del teclado (solo para teclados retroiluminados)</translation>
 <translation id="587531134027443617">Eliminar la palabra anterior</translation>
+<translation id="5899919361772749550">Mostrar u ocultar la consola de herramientas para desarrolladores</translation>
 <translation id="5921745308587794300">Gira la ventana</translation>
 <translation id="5975083100439434680">Reducir</translation>
 <translation id="6022924867608035986">Borrar el texto del cuadro de búsqueda</translation>
 <translation id="6045998054441862242">Activar el modo de contraste alto</translation>
 <translation id="6052614013050385269">Hacer clic con el botón derecho en un enlace</translation>
 <translation id="6129953537138746214">Espacio</translation>
+<translation id="613146727819833328">Mover ventana al centro</translation>
 <translation id="6143669479988153888">Ampliar la página</translation>
 <translation id="6185696379715117369">Retroceder página</translation>
 <translation id="6228457605945141550">Reducir el brillo</translation>
@@ -115,30 +129,42 @@
 <translation id="6435207348963613811">Destacar el elemento anterior de la estantería</translation>
 <translation id="6445033640292336367">Volver a colocar la pestaña en su posición original</translation>
 <translation id="649811797655257835">Selecciona el archivo y pulsa <ph name="SPACE" /></translation>
+<translation id="6556040137485212400">Abre la ventana que lleva más tiempo sin usarse</translation>
 <translation id="666343722268997814">Abrir el menú del botón derecho del elemento destacado</translation>
 <translation id="6671538777808758331">Ir al siguiente resultado de búsqueda</translation>
+<translation id="6681606577947445973"><ph name="REFRESH" /> o <ph name="CTRL" /> <ph name="SEPARATOR" /> <ph name="R" /></translation>
 <translation id="6690765639083431875">Anclar una ventana en la izquierda</translation>
 <translation id="6692847073476874842">Mostrar vista previa de un archivo en la aplicación Archivos</translation>
 <translation id="671928215901716392">Bloquear pantalla</translation>
 <translation id="6727005317916125192">Panel anterior</translation>
 <translation id="6740781404993465795">Seleccionar la palabra o la letra siguientes</translation>
 <translation id="6760706756348334449">Bajar el volumen</translation>
+<translation id="6941333068993625698">Enviar comentarios</translation>
 <translation id="6981982820502123353">Accesibilidad</translation>
 <translation id="7020813747703216897">No se han podido encontrar resultados que coincidan</translation>
 <translation id="7025325401470358758">Siguiente panel</translation>
+<translation id="7077383985738259936">Seleccionar o destacar la barra de marcadores (si se muestra)</translation>
 <translation id="7237562915163138771">Escribe una dirección web en la barra de direcciones y pulsa <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /></translation>
+<translation id="7254764037241667478">Poner el dispositivo en modo de suspensión</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> o <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
+<translation id="743754632698445141">No fijar una aplicación</translation>
 <translation id="7439718573248533901">Eliminar la letra siguiente (eliminar hacia delante)</translation>
+<translation id="7449669175878568981">Iniciar o detener el dictado (escribir lo que dices)</translation>
 <translation id="766326951329901120">Pegar el contenido del portapapeles como texto sin formato</translation>
 <translation id="7724603315864178912">Cortar</translation>
 <translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> y <ph name="SPACE" /> o <ph name="ENTER" /></translation>
 <translation id="7787242579016742662">Abrir un archivo en el navegador</translation>
+<translation id="7822267121073044318">Cambiar al siguiente método de introducción de idioma</translation>
 <translation id="7917881398263220094">Interrumpir la carga de la página actual</translation>
+<translation id="7952165122793773711">Ir a una pestaña de la 1 a la 8</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> o <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">Borrar datos de navegación</translation>
+<translation id="8104889575691864804">Mostrar menú de aplicación</translation>
 <translation id="8130528849632411619">Ir al principio del documento</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> o <ph name="E" /></translation>
+<translation id="8232835244134740473">Alternar entre la barra de estado (donde aparece la imagen de la cuenta), el menú de aplicaciones, la barra de direcciones, la barra de marcadores (si está visible), la página web que está abierta y la barra de descargas (si está visible).</translation>
 <translation id="8234414138295101081">Girar la pantalla 90 grados</translation>
+<translation id="8264941229485248811">Mostrar u ocultar el inspector de herramientas para desarrolladores</translation>
 <translation id="836869401750819675">Abrir la página Descargas</translation>
 <translation id="8388247778047144397">Arrastra el enlace a un área en blanco de la barra de pestañas</translation>
 <translation id="8389638407792712197">Abrir nueva ventana</translation>
@@ -153,8 +179,11 @@
 <translation id="88986195241502842">Avanzar página</translation>
 <translation id="8903921497873541725">Acercar</translation>
 <translation id="8924883688469390268">Cambiar al usuario anterior</translation>
+<translation id="8951768610999698672">Aumentar o reducir el tamaño de los elementos de la pantalla</translation>
 <translation id="8977648847395357314">Seleccionar el contenido de la barra de direcciones</translation>
+<translation id="8982190978301344584">Mostrar el menú con una lista de métodos de introducción disponibles</translation>
 <translation id="8990356943438003669"><ph name="ALT" /><ph name="SEPARATOR" /> una tecla del 1 al 8</translation>
+<translation id="9005984960510803406">Abrir Crosh Window</translation>
 <translation id="9041599225465145264">Pegar el contenido del portapapeles</translation>
 <translation id="9052808072970550123">Cambiar al usuario siguiente</translation>
 <translation id="906458777597946297">Maximizar ventana</translation>
@@ -163,5 +192,6 @@
 <translation id="9179672198516322668">Combinaciones de teclas populares</translation>
 <translation id="93603345341560814">Pulsa <ph name="SHIFT" /> y haz clic en un enlace</translation>
 <translation id="945383118875625837">Arrastra el enlace a la barra de marcadores</translation>
+<translation id="969054500339500113">Seleccionar la barra de menú</translation>
 <translation id="98120814841227350">Ir al final del documento</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/components/strings/ash_components_strings_et.xtb b/ash/components/strings/ash_components_strings_et.xtb
index e6f111c..05c1427 100644
--- a/ash/components/strings/ash_components_strings_et.xtb
+++ b/ash/components/strings/ash_components_strings_et.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Järgmisele vahelehele liikumine</translation>
 <translation id="2010818616644390445">Aknas viimasele vahelehele liikumine</translation>
 <translation id="2040706009561734834">Avab/suleb käivitusprogrammi</translation>
-<translation id="2045117674524495717">Klaviatuuri otseteede abiline</translation>
 <translation id="2088054208777350526">Klaviatuuri otseteede otsing</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> või <ph name="F" /></translation>
 <translation id="2145908266289632567">Teksti muutmine</translation>
diff --git a/ash/components/strings/ash_components_strings_fa.xtb b/ash/components/strings/ash_components_strings_fa.xtb
index 60a967c..b6cbf530 100644
--- a/ash/components/strings/ash_components_strings_fa.xtb
+++ b/ash/components/strings/ash_components_strings_fa.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">رفتن به برگه بعدی</translation>
 <translation id="2010818616644390445">رفتن به آخرین برگه در پنجره</translation>
 <translation id="2040706009561734834">باز کردن/بستن راه‌انداز</translation>
-<translation id="2045117674524495717">راهنمای میان‌بر صفحه‌کلید</translation>
 <translation id="2088054208777350526">جستجوی میان‌برهای صفحه‌کلید</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> یا <ph name="F" /></translation>
 <translation id="2145908266289632567">ویرایش نوشتار</translation>
@@ -92,7 +91,7 @@
 <translation id="4698850295812410683">نمایش ابزار قلم</translation>
 <translation id="4801989101741319327">حرکت به انتهای کلمه بعد</translation>
 <translation id="4916163929714267752">بازکردن پیوند در پنجره جدید</translation>
-<translation id="5002047168347153398">فوکوس پنجره بازشو غیرفعال برای دسترس‌پذیری</translation>
+<translation id="5002047168347153398">تمرکز بر پنجره بازشو غیرفعال برای دسترس‌پذیری</translation>
 <translation id="5030659775136592441">نمایش مدیر نشانک</translation>
 <translation id="5034421018520995080">رفتن به بالای صفحه</translation>
 <translation id="5042305953558921026">کلید حالت نمای کلی</translation>
@@ -144,7 +143,7 @@
 <translation id="6981982820502123353">قابلیت دسترسی</translation>
 <translation id="7020813747703216897">هیچ نتیجه منطبقی پیدا نشد</translation>
 <translation id="7025325401470358758">چارچوب بعدی</translation>
-<translation id="7077383985738259936">فوکوس یا برجسته کردن نوار نشانک‌ها (اگر نشان داده شده باشد)</translation>
+<translation id="7077383985738259936">تمرکز یا برجسته کردن نوار نشانک‌ها (اگر نشان داده شده باشد)</translation>
 <translation id="7237562915163138771">نشانی وبی را در نوار نشانی تایپ کنید و سپس <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /> را فشار دهید</translation>
 <translation id="7254764037241667478">قرار دادن دستگاه در حالت خواب (تعلیق)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> یا <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
diff --git a/ash/components/strings/ash_components_strings_fi.xtb b/ash/components/strings/ash_components_strings_fi.xtb
index d964732a..f496ce1 100644
--- a/ash/components/strings/ash_components_strings_fi.xtb
+++ b/ash/components/strings/ash_components_strings_fi.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Siirry seuraavalle välilehdelle</translation>
 <translation id="2010818616644390445">Siirry ikkunan viimeiselle välilehdelle</translation>
 <translation id="2040706009561734834">Avaa/sulkee käynnistysohjelman</translation>
-<translation id="2045117674524495717">Pikanäppäinapuri</translation>
 <translation id="2088054208777350526">Etsi pikanäppäimiä</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> tai <ph name="F" /></translation>
 <translation id="2145908266289632567">Tekstin muokkaus</translation>
diff --git a/ash/components/strings/ash_components_strings_fil.xtb b/ash/components/strings/ash_components_strings_fil.xtb
index a669467..3b55ca21 100644
--- a/ash/components/strings/ash_components_strings_fil.xtb
+++ b/ash/components/strings/ash_components_strings_fil.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Pumunta sa susunod na tab</translation>
 <translation id="2010818616644390445">Pumunta sa huling tab sa window</translation>
 <translation id="2040706009561734834">Buksan/isara ang launcher</translation>
-<translation id="2045117674524495717">Keyboard Shortcut Helper</translation>
 <translation id="2088054208777350526">Maghanap ng mga keyboard shortcut</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> o <ph name="F" /></translation>
 <translation id="2145908266289632567">Pag-edit ng Text</translation>
diff --git a/ash/components/strings/ash_components_strings_fr.xtb b/ash/components/strings/ash_components_strings_fr.xtb
index 3fb553d..f034019b 100644
--- a/ash/components/strings/ash_components_strings_fr.xtb
+++ b/ash/components/strings/ash_components_strings_fr.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Accéder à l'onglet suivant</translation>
 <translation id="2010818616644390445">Accéder au dernier onglet dans la fenêtre</translation>
 <translation id="2040706009561734834">Ouvrir ou fermer le lanceur d'applications</translation>
-<translation id="2045117674524495717">Aide relative aux raccourcis clavier</translation>
 <translation id="2088054208777350526">Rechercher des raccourcis clavier</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ou <ph name="F" /></translation>
 <translation id="2145908266289632567">Modification de texte</translation>
diff --git a/ash/components/strings/ash_components_strings_hi.xtb b/ash/components/strings/ash_components_strings_hi.xtb
index 6c0207c..8f939fb 100644
--- a/ash/components/strings/ash_components_strings_hi.xtb
+++ b/ash/components/strings/ash_components_strings_hi.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">अगले टैब पर जाएं</translation>
 <translation id="2010818616644390445">विंडो में आखिरी टैब पर जाएंं</translation>
 <translation id="2040706009561734834">लॉन्चर खोलें/बंद करें</translation>
-<translation id="2045117674524495717">कीबोर्ड शॉर्टकट सहायक</translation>
 <translation id="2088054208777350526">कीबोर्ड शॉर्टकट खोजें</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> या <ph name="F" /></translation>
 <translation id="2145908266289632567">लेख में बदलाव करना</translation>
diff --git a/ash/components/strings/ash_components_strings_hr.xtb b/ash/components/strings/ash_components_strings_hr.xtb
index 12060a25..e29f003 100644
--- a/ash/components/strings/ash_components_strings_hr.xtb
+++ b/ash/components/strings/ash_components_strings_hr.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Prelazak na sljedeću karticu</translation>
 <translation id="2010818616644390445">Prelazak na zadnju karticu u prozoru</translation>
 <translation id="2040706009561734834">Otvori/zatvori pokretač</translation>
-<translation id="2045117674524495717">Pomoć za tipkovničke prečace</translation>
 <translation id="2088054208777350526">Pretraživanje tipkovnih prečaca</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ili <ph name="F" /></translation>
 <translation id="2145908266289632567">Uređivanje teksta</translation>
diff --git a/ash/components/strings/ash_components_strings_hu.xtb b/ash/components/strings/ash_components_strings_hu.xtb
index 999f7728..622986eb 100644
--- a/ash/components/strings/ash_components_strings_hu.xtb
+++ b/ash/components/strings/ash_components_strings_hu.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Ugrás a következő lapra</translation>
 <translation id="2010818616644390445">Ugrás az ablak utolsó lapjára</translation>
 <translation id="2040706009561734834">Az indító megnyitása, illetve bezárása</translation>
-<translation id="2045117674524495717">Billentyűparancsokat ismertető súgó</translation>
 <translation id="2088054208777350526">Billentyűparancsok keresése</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> vagy <ph name="F" /></translation>
 <translation id="2145908266289632567">Szövegszerkesztés</translation>
diff --git a/ash/components/strings/ash_components_strings_id.xtb b/ash/components/strings/ash_components_strings_id.xtb
index 0624d19..c9616de 100644
--- a/ash/components/strings/ash_components_strings_id.xtb
+++ b/ash/components/strings/ash_components_strings_id.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Membuka tab berikutnya</translation>
 <translation id="2010818616644390445">Membuka tab terakhir di jendela</translation>
 <translation id="2040706009561734834">Membuka/menutup peluncur</translation>
-<translation id="2045117674524495717">Bantuan Pintasan Keyboard</translation>
 <translation id="2088054208777350526">Telusuri pintasan keyboard</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> atau <ph name="F" /></translation>
 <translation id="2145908266289632567">Pengeditan Teks</translation>
diff --git a/ash/components/strings/ash_components_strings_it.xtb b/ash/components/strings/ash_components_strings_it.xtb
index afda12f0e..7ee51a9 100644
--- a/ash/components/strings/ash_components_strings_it.xtb
+++ b/ash/components/strings/ash_components_strings_it.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Passa alla scheda successiva</translation>
 <translation id="2010818616644390445">Passa all'ultima scheda della finestra</translation>
 <translation id="2040706009561734834">Consente di aprire/chiudere Avvio applicazioni</translation>
-<translation id="2045117674524495717">Guida alle scorciatoie da tastiera</translation>
 <translation id="2088054208777350526">Cerca scorciatoie da tastiera</translation>
 <translation id="2125211348069077981"><ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="E" /> o <ph name="F" /></translation>
 <translation id="2145908266289632567">Modifica del testo</translation>
diff --git a/ash/components/strings/ash_components_strings_iw.xtb b/ash/components/strings/ash_components_strings_iw.xtb
index 211b762..15302ad 100644
--- a/ash/components/strings/ash_components_strings_iw.xtb
+++ b/ash/components/strings/ash_components_strings_iw.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">מעבר לכרטיסייה הבאה</translation>
 <translation id="2010818616644390445">מעבר לכרטיסייה האחרונה בחלון</translation>
 <translation id="2040706009561734834">פתיחה/סגירה של מרכז האפליקציות</translation>
-<translation id="2045117674524495717">כלי העזרה למקשי קיצור</translation>
 <translation id="2088054208777350526">חיפוש מקשי קיצור</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> או <ph name="F" /></translation>
 <translation id="2145908266289632567">עריכת טקסט</translation>
@@ -50,6 +49,7 @@
 <translation id="2872353916818027657">החלפת הצג הראשי</translation>
 <translation id="2914313326123580426">הצגה או הסתרה של החלונית 'כלים למפתחים'</translation>
 <translation id="292495055542441795">החלפה של מצב מסך מלא</translation>
+<translation id="3020183492814296499">קיצורים</translation>
 <translation id="3084301071537457911">הדגשת הפריט הבא במדף</translation>
 <translation id="309173601632226815">הדגשת הלחצן של מרכז האפליקציות במדף</translation>
 <translation id="3105917916468784889">ביצוע של צילום מסך</translation>
diff --git a/ash/components/strings/ash_components_strings_ja.xtb b/ash/components/strings/ash_components_strings_ja.xtb
index 1720228..bead42f 100644
--- a/ash/components/strings/ash_components_strings_ja.xtb
+++ b/ash/components/strings/ash_components_strings_ja.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">次のタブに移動する</translation>
 <translation id="2010818616644390445">ウィンドウ内の最後のタブに移動する</translation>
 <translation id="2040706009561734834">ランチャーを開くか閉じます</translation>
-<translation id="2045117674524495717">キーボード ショートカット ヘルパー</translation>
 <translation id="2088054208777350526">キーボード ショートカットを検索</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> または <ph name="F" /></translation>
 <translation id="2145908266289632567">テキスト編集</translation>
@@ -43,6 +42,7 @@
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> キーを押した状態で <ph name="TAB" /> キーまたは<ph name="RIGHT" />キーを押す</translation>
 <translation id="2699509451653686398">現在のウェブページをブックマークとして保存する</translation>
 <translation id="2750942583782703988">現在のページを再読み込みする</translation>
+<translation id="2764005613199379871">検索アドレスバーにフォーカスします</translation>
 <translation id="2789868185375229787">ページを縮小表示する</translation>
 <translation id="2804480015716812239"><ph name="ALT" /> キーを押しながらリンクをクリックする</translation>
 <translation id="2830827904629746450">ウィンドウを右側に固定する</translation>
@@ -54,6 +54,7 @@
 <translation id="3105917916468784889">スクリーンショットを撮る</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3140353188828248647">アドレスバーにフォーカスを移す</translation>
+<translation id="3256109297135787951">シェルフのアイテムのハイライト表示を解除します</translation>
 <translation id="3288816184963444640">現在のウィンドウを閉じる</translation>
 <translation id="3407560819924487926">タスク マネージャを表示する</translation>
 <translation id="3422679037938588196">検索に一致する前の文字列に移動する</translation>
@@ -68,6 +69,7 @@
 <translation id="3720939646656082033">新しいタブでリンクを開き、新しいタブに切り替える</translation>
 <translation id="3725795051337497754">現在のタブを閉じる</translation>
 <translation id="3751033133896282964">前の操作を元に戻す</translation>
+<translation id="3792178297143798024">シェルフのハイライト表示されたアイテムを開きます</translation>
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" />1〜8 キーを押す</translation>
 <translation id="3837047332182291558">キーボードの明るさを上げる(バックライト付きキーボードのみ)</translation>
 <translation id="3976863468609830880">シェルフの最後のアイコンをクリックする</translation>
@@ -154,11 +156,13 @@
 <translation id="7787242579016742662">ブラウザ内でファイルを開く</translation>
 <translation id="7822267121073044318">次の言語入力方法に切り替えます</translation>
 <translation id="7917881398263220094">現在のページの読み込みを停止する</translation>
+<translation id="7952165122793773711">1~8 番目のタブに移動します</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" />プラス記号(<ph name="PLUS" />)またはマイナス記号(<ph name="MINUS" />)キーを押す</translation>
 <translation id="8026334261755873520">閲覧履歴データを消去する</translation>
 <translation id="8104889575691864804">アプリメニューを表示します</translation>
 <translation id="8130528849632411619">ドキュメントの先頭に移動する</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> または <ph name="E" /> キーを押す</translation>
+<translation id="8232835244134740473">フォーカスを次の順に切り替えます: アカウント画像が表示されているステータス領域、ランチャー、アドレスバー、ブックマーク バー(表示されている場合)、開いているウェブページ、ダウンロード バー(表示されている場合)</translation>
 <translation id="8234414138295101081">画面を 90 度回転させる</translation>
 <translation id="8264941229485248811">デベロッパー ツール インスペクタの表示と非表示を切り替えます</translation>
 <translation id="836869401750819675">ダウンロード ページを開く</translation>
diff --git a/ash/components/strings/ash_components_strings_ko.xtb b/ash/components/strings/ash_components_strings_ko.xtb
index 40c2a56..8509cb05 100644
--- a/ash/components/strings/ash_components_strings_ko.xtb
+++ b/ash/components/strings/ash_components_strings_ko.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">다음 탭으로 이동</translation>
 <translation id="2010818616644390445">창의 마지막 탭으로 이동</translation>
 <translation id="2040706009561734834">런처 열기/닫기</translation>
-<translation id="2045117674524495717">단축키 도움말</translation>
 <translation id="2088054208777350526">단축키 검색</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> 또는 <ph name="F" /></translation>
 <translation id="2145908266289632567">텍스트 편집</translation>
diff --git a/ash/components/strings/ash_components_strings_lt.xtb b/ash/components/strings/ash_components_strings_lt.xtb
index a200cc6..090a8cf 100644
--- a/ash/components/strings/ash_components_strings_lt.xtb
+++ b/ash/components/strings/ash_components_strings_lt.xtb
@@ -6,6 +6,7 @@
 <translation id="1134347825771908369">Nutildyti garsą</translation>
 <translation id="1195667586424773550">Nuvilkite nuorodą į skirtuko adreso juostą</translation>
 <translation id="1204450209689312104">Atidaryti naują langą inkognito režimu</translation>
+<translation id="1290373024480130896">„<ph name="MODIFIER1" />“ <ph name="SEPARATOR1" /> „<ph name="MODIFIER2" />“ <ph name="SEPARATOR2" /> „<ph name="MODIFIER3" />“ <ph name="SEPARATOR3" /> <ph name="KEY" /></translation>
 <translation id="1293699935367580298">Esc</translation>
 <translation id="1299858300159559687">Spausdinti dabartinį puslapį</translation>
 <translation id="1383876407941801731">Ieškoti</translation>
@@ -22,7 +23,9 @@
 <translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> arba <ph name="LEFT" /></translation>
 <translation id="1996162290124031907">Eiti į kitą skirtuką</translation>
 <translation id="2010818616644390445">Eiti į paskutinį skirtuką lange</translation>
+<translation id="2040706009561734834">Atidaryti / uždaryti paleidimo priemonę</translation>
 <translation id="2088054208777350526">Sparčiųjų klavišų paieška</translation>
+<translation id="2125211348069077981">„<ph name="ALT" />“ <ph name="SEPARATOR" /> <ph name="E" /> arba <ph name="F" /></translation>
 <translation id="2145908266289632567">Teksto Redagavimas</translation>
 <translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> nuo 1 iki =</translation>
 <translation id="2181097965834437145">Rodyti arba slėpti žymių juostą</translation>
@@ -35,6 +38,7 @@
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Slinkti tinklalapiu žemyn</translation>
 <translation id="2568632782096378307">Nustatyti numatytuosius ekrano skyros nustatymus</translation>
+<translation id="2596078834055697711">Sukurti lango ekrano kopiją</translation>
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="TAB" /> arba <ph name="RIGHT" /></translation>
 <translation id="2699509451653686398">Dabartinį tinklalapį išsaugoti kaip žymę</translation>
 <translation id="2750942583782703988">Iš naujo įkelti dabartinį puslapį</translation>
@@ -61,6 +65,7 @@
 <translation id="3649256019230929621">Sumažinti langą</translation>
 <translation id="3655154169297074232">Skirtukai ir langai</translation>
 <translation id="3668361878347172356">Grąžinti paskutinį veiksmą</translation>
+<translation id="3710784500737332588">Atidaryti pagalbos centrą</translation>
 <translation id="3720939646656082033">Atidaryti nuorodą naujame skirtuke ir pereiti į naują skirtuką</translation>
 <translation id="3725795051337497754">Uždaryti dabartinį skirtuką</translation>
 <translation id="3751033133896282964">Anuliuoti paskutinį veiksmą</translation>
@@ -79,11 +84,15 @@
 <translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> arba <ph name="ENTER" /></translation>
 <translation id="4240486403425279990">Apžvalgos režimas</translation>
 <translation id="4472417192667361414">Sistemos ir pateikties nustatymai</translation>
+<translation id="4484292984055789039">Perjungti į ankstesnį kalbos įvesties metodą</translation>
 <translation id="4556221320735744018">Žr. sparčiųjų klavišų pagalbos priemonę</translation>
 <translation id="4628718545549558538">Atidaryti būsenos sritį (kur rodoma paskyros nuotrauka)</translation>
 <translation id="4642092649622328492">Padaryti dalinę ekrano kopiją</translation>
+<translation id="4698850295812410683">Rodyti rašiklio įrankius</translation>
 <translation id="4801989101741319327">Pereiti prie kito žodžio pabaigos</translation>
 <translation id="4916163929714267752">Atidaryti nuorodą naujame lange</translation>
+<translation id="5002047168347153398">Suaktyvinti neaktyvų iššokantįjį langą, kad būtų pritaikytas neįgaliesiems</translation>
+<translation id="5030659775136592441">Rodyti žymių tvarkytuvę</translation>
 <translation id="5034421018520995080">Eiti į puslapio viršų</translation>
 <translation id="5042305953558921026">Apžvalgos režimo klavišas</translation>
 <translation id="5104462712192763270">Išsaugoti dabartinį puslapį</translation>
@@ -100,12 +109,14 @@
 <translation id="5757111373163288447">Atidaryti nuorodą skirtuke</translation>
 <translation id="5757474750054631686">Pritemdyti klaviatūrą (skirta tik klaviatūroms su foniniu apšvietimu)</translation>
 <translation id="587531134027443617">Ištrinti ankstesnį žodį</translation>
+<translation id="5899919361772749550">Rodyti arba slėpti kūrėjo įrankių pultą</translation>
 <translation id="5921745308587794300">Pasukti langą</translation>
 <translation id="5975083100439434680">Tolinti</translation>
 <translation id="6022924867608035986">Išvalyti paieškos laukelio tekstą</translation>
 <translation id="6045998054441862242">Įjungti didelio kontrasto režimą</translation>
 <translation id="6052614013050385269">Dešiniuoju klavišu spustelėti nuorodą</translation>
 <translation id="6129953537138746214">Tarpas</translation>
+<translation id="613146727819833328">Perkelti langą į centrą</translation>
 <translation id="6143669479988153888">Artinti puslapyje</translation>
 <translation id="6185696379715117369">Puslapiu aukštyn</translation>
 <translation id="6228457605945141550">Sumažinti šviesumą</translation>
@@ -121,30 +132,39 @@
 <translation id="6556040137485212400">Atidaryti langą, kuris buvo nenaudojamas ilgiausiai</translation>
 <translation id="666343722268997814">Atidaryti paryškinto elemento kontekstinį meniu</translation>
 <translation id="6671538777808758331">Eiti į kitą paieškos atitiktį</translation>
+<translation id="6681606577947445973">„<ph name="REFRESH" />“ arba „<ph name="CTRL" />“ <ph name="SEPARATOR" /> <ph name="R" /></translation>
 <translation id="6690765639083431875">Pritvirtinti langą kairėje</translation>
 <translation id="6692847073476874842">Peržiūrėti failą Failų programoje</translation>
 <translation id="671928215901716392">Užrakinti ekraną</translation>
 <translation id="6727005317916125192">Ankstesnis polangis</translation>
 <translation id="6740781404993465795">Pasirinkti kitą žodį arba raidę</translation>
 <translation id="6760706756348334449">Sumažinti garsumą</translation>
+<translation id="6941333068993625698">Pateikti atsiliepimą</translation>
 <translation id="6981982820502123353">Pritaikymas neįgaliesiems</translation>
 <translation id="7020813747703216897">Nerasta atitinkamų rezultatų</translation>
 <translation id="7025325401470358758">Kitas polangis</translation>
+<translation id="7077383985738259936">Suaktyvinti arba paryškinti žymių juostą (jei rodoma)</translation>
 <translation id="7237562915163138771">Įveskite žiniatinklio adresą adreso juostoje, tada paspauskite <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /></translation>
+<translation id="7254764037241667478">Įjungti įrenginio miego būseną (laikinai sustabdyti)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> arba <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
+<translation id="743754632698445141">Atsegti programą</translation>
 <translation id="7439718573248533901">Ištrinti kitą raidę (ištrinti į priekį)</translation>
+<translation id="7449669175878568981">Pradedamas arba sustabdomas diktavimas (teksto įvedimas balsu)</translation>
 <translation id="766326951329901120">Įklijuoti turinį iš iškarpinės kaip grynąjį tekstą</translation>
 <translation id="7724603315864178912">Iškirpti</translation>
 <translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, tada <ph name="SPACE" /> arba <ph name="ENTER" /></translation>
 <translation id="7787242579016742662">Atidaryti failą naršyklėje</translation>
+<translation id="7822267121073044318">Perjungti į kitą kalbos įvesties metodą</translation>
 <translation id="7917881398263220094">Sustabdyti dabartinio puslapio įkėlimą</translation>
 <translation id="7952165122793773711">Eiti į 1–8 skirtukus</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> arba <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">Išvalyti naršymo duomenis</translation>
+<translation id="8104889575691864804">Rodyti programos meniu</translation>
 <translation id="8130528849632411619">Eiti į dokumento pradžią</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> arba <ph name="E" /></translation>
 <translation id="8232835244134740473">Suaktyvinti šiuos elementus: būsenos sritį (kur rodoma paskyros nuotrauka), Paleidimo priemonės adreso juostą, žymių juostą (jei rodoma), atidarytą tinklalapį ir atsisiuntimų juostą (jei rodoma).</translation>
 <translation id="8234414138295101081">Pasukti ekraną 90 laipsnių kampu</translation>
+<translation id="8264941229485248811">Rodyti arba slėpti kūrėjo įrankių tikrinimo priemonę</translation>
 <translation id="836869401750819675">Atidaryti atsisiuntimų puslapį</translation>
 <translation id="8388247778047144397">Nuvilkite nuorodą į tuščią sritį skirtuko juostelėje</translation>
 <translation id="8389638407792712197">Atidaryti naują langą</translation>
@@ -159,8 +179,11 @@
 <translation id="88986195241502842">Puslapiu žemyn</translation>
 <translation id="8903921497873541725">Artinti</translation>
 <translation id="8924883688469390268">Perjungti į ankstesnį naudotoją</translation>
+<translation id="8951768610999698672">Padidinti arba sumažinti ekrane rodomus elementus</translation>
 <translation id="8977648847395357314">Pasirinkti adreso juostos turinį</translation>
+<translation id="8982190978301344584">Rodyti meniu su pasiekiamų IMRP sąrašu</translation>
 <translation id="8990356943438003669"><ph name="ALT" /><ph name="SEPARATOR" /> nuo 1 iki 8</translation>
+<translation id="9005984960510803406">Atidaryti „Crosh“ langą</translation>
 <translation id="9041599225465145264">Įklijuoti turinį iš iškarpinės</translation>
 <translation id="9052808072970550123">Perjungti į kitą naudotoją</translation>
 <translation id="906458777597946297">Padidinti langą</translation>
@@ -169,5 +192,6 @@
 <translation id="9179672198516322668">Populiarūs spartieji klavišai</translation>
 <translation id="93603345341560814">Paspauskite <ph name="SHIFT" /> ir spustelėkite nuorodą</translation>
 <translation id="945383118875625837">Vilkite nuorodą į žymių juostą</translation>
+<translation id="969054500339500113">Suaktyvinti meniu juostą</translation>
 <translation id="98120814841227350">Eiti į dokumento pabaigą</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/components/strings/ash_components_strings_lv.xtb b/ash/components/strings/ash_components_strings_lv.xtb
index 48b8ae1..f894bc3e 100644
--- a/ash/components/strings/ash_components_strings_lv.xtb
+++ b/ash/components/strings/ash_components_strings_lv.xtb
@@ -6,6 +6,7 @@
 <translation id="1134347825771908369">Izslēgt skaņu</translation>
 <translation id="1195667586424773550">Vilkt saiti uz cilnes adreses joslu</translation>
 <translation id="1204450209689312104">Atvērt jaunu logu inkognito režīmā</translation>
+<translation id="1290373024480130896"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="MODIFIER3" /><ph name="SEPARATOR3" /><ph name="KEY" /></translation>
 <translation id="1293699935367580298">Atsolis</translation>
 <translation id="1299858300159559687">Drukāt pašreizējo lapu</translation>
 <translation id="1383876407941801731">Meklēt</translation>
@@ -22,7 +23,9 @@
 <translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> vai <ph name="LEFT" /></translation>
 <translation id="1996162290124031907">Pāriet uz nākamo cilni</translation>
 <translation id="2010818616644390445">Pāriet uz loga pēdējo cilni</translation>
+<translation id="2040706009561734834">Atvērt/aizvērt palaidēju</translation>
 <translation id="2088054208777350526">Īsinājumtaustiņu meklēšana</translation>
+<translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> vai <ph name="F" /></translation>
 <translation id="2145908266289632567">Teksta rediģēšana</translation>
 <translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> no 1 līdz =</translation>
 <translation id="2181097965834437145">Rādīt vai paslēpt grāmatzīmju joslu</translation>
@@ -35,9 +38,11 @@
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">Ritināt tīmekļa lapu uz leju</translation>
 <translation id="2568632782096378307">Atjaunot ekrāna izšķirtspējas noklusējuma iestatījumu</translation>
+<translation id="2596078834055697711">Uzņemt loga ekrānuzņēmumu</translation>
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="TAB" /> vai <ph name="RIGHT" /></translation>
 <translation id="2699509451653686398">Saglabāt pašreizējo tīmekļa lapu kā grāmatzīmi</translation>
 <translation id="2750942583782703988">Atkārtoti ielādēt pašreizējo lapu</translation>
+<translation id="2764005613199379871">Iezīmēt meklēšanas jeb adreses joslu</translation>
 <translation id="2789868185375229787">Tālināt lapas saturu</translation>
 <translation id="2804480015716812239">Nospiediet <ph name="ALT" /> un noklikšķiniet uz saites</translation>
 <translation id="2830827904629746450">Dokot logu labajā pusē</translation>
@@ -49,6 +54,7 @@
 <translation id="3105917916468784889">Uzņemt ekrānuzņēmumu</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3140353188828248647">Iezīmēt adreses joslu</translation>
+<translation id="3256109297135787951">Noņemt plauktā izceltā vienuma izcelšanu</translation>
 <translation id="3288816184963444640">Aizvērt pašreizējo logu</translation>
 <translation id="3407560819924487926">Parādīt uzdevumu pārvaldnieku</translation>
 <translation id="3422679037938588196">Pāriet uz iepriekšējo vaicājuma rezultātu</translation>
@@ -59,9 +65,11 @@
 <translation id="3649256019230929621">Minimizēt logu</translation>
 <translation id="3655154169297074232">Cilnes un logi</translation>
 <translation id="3668361878347172356">Atcelt pēdējās darbības atsaukšanu</translation>
+<translation id="3710784500737332588">Atvērt palīdzības centru</translation>
 <translation id="3720939646656082033">Atvērt saiti jaunā cilnē un pārslēgties uz jauno cilni</translation>
 <translation id="3725795051337497754">Aizvērt pašreizējo cilni</translation>
 <translation id="3751033133896282964">Atsaukt pēdējo darbību</translation>
+<translation id="3792178297143798024">Atvērt plauktā izcelto vienumu</translation>
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> no 1 līdz 8</translation>
 <translation id="3837047332182291558">Paspilgtināt tastatūras apgaismojumu (tikai tastatūrām ar aizmugures apgaismojumu)</translation>
 <translation id="3976863468609830880">Noklikšķināt uz pēdējās plaukta ikonas</translation>
@@ -76,11 +84,15 @@
 <translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> vai <ph name="ENTER" /></translation>
 <translation id="4240486403425279990">Pārskata režīms</translation>
 <translation id="4472417192667361414">Sistēmas un attēlojuma iestatījumi</translation>
+<translation id="4484292984055789039">Pārslēgties uz iepriekšējo valodas ievades metodi</translation>
 <translation id="4556221320735744018">Skatīt īsinājumtaustiņu palīgu</translation>
 <translation id="4628718545549558538">Atvērt statusa apgabalu (kur ir redzams jūsu konta attēls)</translation>
 <translation id="4642092649622328492">Iegūt daļēju ekrānuzņēmumu</translation>
+<translation id="4698850295812410683">Rādīt skārienekrāna pildspalvas rīkus</translation>
 <translation id="4801989101741319327">Pāriet uz nākamā vārda beigām</translation>
 <translation id="4916163929714267752">Atvērt saiti jaunā logā</translation>
+<translation id="5002047168347153398">Iezīmēt neaktīvo uznirstošo logu, lai tas kļūtu pieejams</translation>
+<translation id="5030659775136592441">Rādīt grāmatzīmju pārvaldnieku</translation>
 <translation id="5034421018520995080">Pāriet uz lapas sākumu</translation>
 <translation id="5042305953558921026">Kopsavilkuma režīma taustiņš</translation>
 <translation id="5104462712192763270">Saglabāt pašreizējo lapu</translation>
@@ -97,12 +109,14 @@
 <translation id="5757111373163288447">Atvērt saiti cilnē</translation>
 <translation id="5757474750054631686">Izslēgt tastatūras apgaismojumu (tikai tastatūrām ar aizmugures apgaismojumu)</translation>
 <translation id="587531134027443617">Dzēst iepriekšējo vārdu</translation>
+<translation id="5899919361772749550">Rādīt vai paslēpt izstrādātāja rīku konsoli</translation>
 <translation id="5921745308587794300">Pagriezt logu</translation>
 <translation id="5975083100439434680">Tālināt</translation>
 <translation id="6022924867608035986">Notīrīt meklēšanas lodziņa tekstu</translation>
 <translation id="6045998054441862242">Ieslēgt augsta kontrasta režīmu</translation>
 <translation id="6052614013050385269">Ar peles labo pogu noklikšķināt uz saites</translation>
 <translation id="6129953537138746214">Atstarpe</translation>
+<translation id="613146727819833328">Pārvietot logu uz centru</translation>
 <translation id="6143669479988153888">Tuvināt lapas saturu</translation>
 <translation id="6185696379715117369">Augšup</translation>
 <translation id="6228457605945141550">Samazināt spilgtumu</translation>
@@ -118,28 +132,39 @@
 <translation id="6556040137485212400">Atvērt visilgāk neizmantoto logu</translation>
 <translation id="666343722268997814">Atvērt izceltā vienuma labās pogas izvēlni</translation>
 <translation id="6671538777808758331">Pāriet uz nākamo vaicājuma rezultātu</translation>
+<translation id="6681606577947445973"><ph name="REFRESH" /> vai <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="R" /></translation>
 <translation id="6690765639083431875">Dokot logu kreisajā pusē</translation>
 <translation id="6692847073476874842">Priekšskatīt failu lietotnē Faili</translation>
 <translation id="671928215901716392">Bloķēt ekrānu</translation>
 <translation id="6727005317916125192">Iepriekšējā rūts</translation>
 <translation id="6740781404993465795">Atlasīt nākamo vārdu vai burtu</translation>
 <translation id="6760706756348334449">Samazināt skaļumu</translation>
+<translation id="6941333068993625698">Iesniegt atsauksmes</translation>
 <translation id="6981982820502123353">Pieejamība</translation>
 <translation id="7020813747703216897">Nav neviena atbilstoša rezultāta.</translation>
 <translation id="7025325401470358758">Nākamā rūts</translation>
+<translation id="7077383985738259936">Iezīmēt vai izcelt grāmatzīmju joslu (ja tā tiek rādīta)</translation>
 <translation id="7237562915163138771">Ierakstiet tīmekļa adresi adreses joslā, pēc tam nospiediet <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /></translation>
+<translation id="7254764037241667478">Iestatīt ierīci miega režīmā (apturēt darbību)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> vai <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
+<translation id="743754632698445141">Atspraust lietotni</translation>
 <translation id="7439718573248533901">Dzēst nākamo burtu (turpvērstā dzēšana)</translation>
+<translation id="7449669175878568981">Sākt vai apturēt diktēšanas režīmu (rakstīt runāto tekstu)</translation>
 <translation id="766326951329901120">Ielīmēt saturu no starpliktuves kā vienkāršu tekstu</translation>
 <translation id="7724603315864178912">Izgriezt</translation>
 <translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, pēc tam <ph name="SPACE" /> vai <ph name="ENTER" /></translation>
 <translation id="7787242579016742662">Atvērt failu pārlūkprogrammā</translation>
+<translation id="7822267121073044318">Pārslēgties uz nākamo valodas ievades metodi</translation>
 <translation id="7917881398263220094">Pārtraukt pašreizējās lapas ielādi</translation>
+<translation id="7952165122793773711">Pāriet uz 1.–8. cilni</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> vai <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">Notīrīt pārlūkošanas datus</translation>
+<translation id="8104889575691864804">Rādīt lietotnes izvēlni</translation>
 <translation id="8130528849632411619">Doties uz dokumenta sākumu</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> vai <ph name="E" /></translation>
+<translation id="8232835244134740473">Pārslēgt iezīmēšanu starp statusa apgabalu (kurā redzams jūsu konta attēls), palaidēju, adreses joslu, grāmatzīmju joslu (ja tā tiek rādīta), atvērto tīmekļa lapu un lejupielāžu joslu (ja tā tiek rādīta).</translation>
 <translation id="8234414138295101081">Pagriezt ekrānu par 90 grādiem</translation>
+<translation id="8264941229485248811">Rādīt vai paslēpt izstrādātāja rīku kontrolieri</translation>
 <translation id="836869401750819675">Atvērt lapu Lejupielādes</translation>
 <translation id="8388247778047144397">Vilkt saiti uz tukšu apgabalu ciļņu joslā</translation>
 <translation id="8389638407792712197">Atvērt jaunu logu</translation>
@@ -154,8 +179,11 @@
 <translation id="88986195241502842">Lejup</translation>
 <translation id="8903921497873541725">Tuvināt</translation>
 <translation id="8924883688469390268">Pārslēgt iepriekšējo lietotāju</translation>
+<translation id="8951768610999698672">Palielināt vai samazināt ekrānā redzamos vienumus</translation>
 <translation id="8977648847395357314">Atlasīt adreses joslas saturu</translation>
+<translation id="8982190978301344584">Rādīt izvēlni ar pieejamo IME sarakstu</translation>
 <translation id="8990356943438003669"><ph name="ALT" /><ph name="SEPARATOR" /> no 1 līdz 8</translation>
+<translation id="9005984960510803406">Atvērt Crosh logu</translation>
 <translation id="9041599225465145264">Ielīmēt saturu no starpliktuves</translation>
 <translation id="9052808072970550123">Pārslēgt nākamo lietotāju</translation>
 <translation id="906458777597946297">Maksimizēt logu</translation>
@@ -164,5 +192,6 @@
 <translation id="9179672198516322668">Populāri īsinājumtaustiņi</translation>
 <translation id="93603345341560814">Nospiediet <ph name="SHIFT" /> un noklikšķiniet uz saites</translation>
 <translation id="945383118875625837">Vilkt saiti uz grāmatzīmju joslu</translation>
+<translation id="969054500339500113">Iezīmēt izvēļņu joslu</translation>
 <translation id="98120814841227350">Doties uz dokumenta beigām</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/components/strings/ash_components_strings_ml.xtb b/ash/components/strings/ash_components_strings_ml.xtb
index 2214a94..8e742d129 100644
--- a/ash/components/strings/ash_components_strings_ml.xtb
+++ b/ash/components/strings/ash_components_strings_ml.xtb
@@ -6,6 +6,7 @@
 <translation id="1134347825771908369">ശബ്‌ദം മ്യൂട്ട് ചെയ്യുക</translation>
 <translation id="1195667586424773550">ടാബിന്റെ വിലാസ ബാറിലേക്ക് ലിങ്ക് വലിച്ചിടുക</translation>
 <translation id="1204450209689312104">അദൃശ്യ മോഡിൽ പുതിയൊരു വിൻഡോ തുറക്കുക</translation>
+<translation id="1290373024480130896"><ph name="MODIFIER1" /><ph name="SEPARATOR1" /><ph name="MODIFIER2" /><ph name="SEPARATOR2" /><ph name="MODIFIER3" /><ph name="SEPARATOR3" /><ph name="KEY" /></translation>
 <translation id="1293699935367580298">Esc</translation>
 <translation id="1299858300159559687">നിങ്ങളുടെ നിലവിലെ പേജ് പ്രിന്റ് ചെയ്യുക</translation>
 <translation id="1383876407941801731">തിരയൂ</translation>
@@ -22,7 +23,9 @@
 <translation id="1920446759863417809"><ph name="SHIFT1" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="SHIFT2" /><ph name="SEPARATOR3" /><ph name="TAB" /> അല്ലെങ്കിൽ <ph name="LEFT" /></translation>
 <translation id="1996162290124031907">അടുത്ത ടാബിലേക്ക് പോവുക</translation>
 <translation id="2010818616644390445">വിൻഡോയിലെ അവസാന ടാബിലേക്ക് പോവുക</translation>
+<translation id="2040706009561734834">ലോഞ്ചർ തുറക്കുക/അടയ്ക്കുക</translation>
 <translation id="2088054208777350526">കീബോഡ് കുറുക്കുവഴികള്‍ക്കായി തിരയുക</translation>
+<translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> അല്ലെങ്കിൽ <ph name="F" /></translation>
 <translation id="2145908266289632567">ടെക്‌സ്‌റ്റ് എഡിറ്റ് ചെയ്യൽ</translation>
 <translation id="215292019801409139"><ph name="SEARCH" /><ph name="SEPARATOR" /> 1 വഴി =</translation>
 <translation id="2181097965834437145">ബുക്ക്‌മാര്‍‌ക്ക് ബാർ കാണിക്കുക അല്ലെങ്കിൽ അദൃശ്യമാക്കുക</translation>
@@ -35,6 +38,7 @@
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">വെബ് പേജ് താഴേയ്‌ക്ക് സ്‌ക്രോൾ ചെയ്യുക</translation>
 <translation id="2568632782096378307">സ്‌ക്രീൻ റെസല്യൂഷൻ ഡിഫോൾട്ടായി പുനഃസജ്ജീകരിക്കുക</translation>
+<translation id="2596078834055697711">വിൻഡോ സ്ക്രീൻഷോട്ട് എടുക്കുക</translation>
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="TAB" /> അല്ലെങ്കിൽ <ph name="RIGHT" /></translation>
 <translation id="2699509451653686398">നിങ്ങളുടെ നിലവിലെ വെബ്‌പേജ് ഒരു ബുക്ക്‌മാർക്കായി സംരക്ഷിക്കുക</translation>
 <translation id="2750942583782703988">നിങ്ങളുടെ നിലവിലെ പേജ് വീണ്ടും ലോഡ് ചെയ്യുക</translation>
@@ -59,6 +63,7 @@
 <translation id="3649256019230929621">വിൻഡോ ചെറുതാക്കുക</translation>
 <translation id="3655154169297074232">ടാബുകളും വിൻഡോകളും</translation>
 <translation id="3668361878347172356">നിങ്ങളുടെ അവസാനത്തെ പ്രവൃത്തി വീണ്ടും ചെയ്യുക</translation>
+<translation id="3710784500737332588">സഹായ കേന്ദ്രം തുറക്കുക</translation>
 <translation id="3720939646656082033">ഒരു പുതിയ ടാബിൽ ലിങ്ക് തുറക്കുകയും പുതിയ ടാബിലേക്ക് മാറുകയും ചെയ്യുക</translation>
 <translation id="3725795051337497754">നിലവിലെ ടാബ് അവസാനിപ്പിക്കുക</translation>
 <translation id="3751033133896282964">നിങ്ങളുടെ അവസാന പ്രവർത്തനം പഴയപടിയാക്കുക</translation>
@@ -76,11 +81,15 @@
 <translation id="4148761611071495477"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="G" /> അല്ലെങ്കിൽ <ph name="ENTER" /></translation>
 <translation id="4240486403425279990">അവലോകന മോഡ്</translation>
 <translation id="4472417192667361414">സിസ്‌റ്റം, ഡിസ്‌പ്ലേ ക്രമീകരണം</translation>
+<translation id="4484292984055789039">മുമ്പത്തെ ഭാഷാ ഇൻപുട്ട് രീതിയിലേക്ക് മാറുക</translation>
 <translation id="4556221320735744018">കീബോഡ് കുറുക്കുവഴി സഹായി കാണുക</translation>
 <translation id="4628718545549558538">സ്‌റ്റാറ്റസ് ഏരിയ തുറക്കുക (നിങ്ങളുടെ അക്കൗണ്ട് ചിത്രം ദൃശ്യമാകുന്ന സ്ഥലം)</translation>
 <translation id="4642092649622328492">ഭാഗിക സ്‌ക്രീൻഷോട്ട് എടുക്കുക</translation>
+<translation id="4698850295812410683">സ്റ്റൈലസ് ടൂളുകൾ കാണിക്കുക</translation>
 <translation id="4801989101741319327">അടുത്ത വാക്കിന്റെ അവസാനത്തിലേക്ക് നീങ്ങുക</translation>
 <translation id="4916163929714267752">ഒരു പുതിയ വിൻഡോയിൽ ലിങ്ക് തുറക്കുക</translation>
+<translation id="5002047168347153398">പ്രവേശനക്ഷമതയ്ക്കായി നിഷ്‌ക്രിയ പോപ്പ്അപ്പ് ഫോക്കസ് ചെയ്യുക</translation>
+<translation id="5030659775136592441">ബുക്ക്മാർക്ക് മാനേജർ കാണിക്കുക</translation>
 <translation id="5034421018520995080">പേജിന്റെ മുകളിലേക്ക് പോവുക</translation>
 <translation id="5042305953558921026">ചുരുക്കവിവരണ മോഡ് കീ</translation>
 <translation id="5104462712192763270">നിങ്ങളുടെ നിലവിലെ പേജ് സംരക്ഷിക്കുക</translation>
@@ -97,12 +106,14 @@
 <translation id="5757111373163288447">ടാബിൽ ലിങ്ക് തുറക്കുക</translation>
 <translation id="5757474750054631686">കീബോഡ് മങ്ങിക്കുക (ബാക്ക്‌ലൈറ്റ് കീബോഡുകൾക്ക് മാത്രം)</translation>
 <translation id="587531134027443617">മുൻ വാക്ക് ഇല്ലാതാക്കുക</translation>
+<translation id="5899919361772749550">ഡെവലപ്പര്‍ ടൂളുകളുടെ കൺസോൾ കാണിക്കുക അല്ലെങ്കിൽ അദൃശ്യമാക്കുക</translation>
 <translation id="5921745308587794300">വിൻഡോ തിരിക്കുക</translation>
 <translation id="5975083100439434680">സൂം ഔട്ട്</translation>
 <translation id="6022924867608035986">തിരയൽ ബോക്‌സ് ടെക്‌സ്‌റ്റ് മായ്‌ക്കുക</translation>
 <translation id="6045998054441862242">ഉയർന്ന ദൃശ്യ തീവ്രത മോഡ് ഓണാക്കുക</translation>
 <translation id="6052614013050385269">ലിങ്കിൽ വലത് ക്ലിക്ക് ചെയ്യുക</translation>
 <translation id="6129953537138746214">സ്പെയ്സ്</translation>
+<translation id="613146727819833328">വിൻഡോ നടുവിലേക്ക് മാറ്റുക</translation>
 <translation id="6143669479988153888">പേജിൽ സൂം ഇൻ ചെയ്യുക</translation>
 <translation id="6185696379715117369">Page up</translation>
 <translation id="6228457605945141550">തെളിച്ചം കുറയ്‌ക്കുക</translation>
@@ -117,28 +128,37 @@
 <translation id="649811797655257835">ഫയൽ തിരഞ്ഞെടുക്കുക, തുടർന്ന് <ph name="SPACE" /> അമർത്തുക</translation>
 <translation id="666343722268997814">ഹൈലൈറ്റ് ചെയ്ത ഇനത്തിനായി വലത്-ക്ലിക്ക് മെനു തുറക്കുക</translation>
 <translation id="6671538777808758331">നിങ്ങളുടെ തിരയലിനായി അടുത്ത പൊരുത്തതിലേക്ക് പോവുക</translation>
+<translation id="6681606577947445973"><ph name="REFRESH" /> അല്ലെങ്കിൽ <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="R" /></translation>
 <translation id="6690765639083431875">ഇടത് വശത്ത് ഒരു വിൻഡോ ഡോക്ക് ചെയ്യുക</translation>
 <translation id="6692847073476874842">'ഫയലുകൾ' ആപ്പിൽ ഒരു ഫയൽ പ്രിവ്യൂ ചെയ്യുക</translation>
 <translation id="671928215901716392">സ്‌ക്രീൻ ലോക്കുചെയ്യുക</translation>
 <translation id="6727005317916125192">മുമ്പത്തെ പാൻ</translation>
 <translation id="6740781404993465795">അടുത്ത വാക്ക് അല്ലെങ്കിൽ അക്ഷരം തിരഞ്ഞെടുക്കുക</translation>
 <translation id="6760706756348334449">ശബ്ദം കുറയ്ക്കുക</translation>
+<translation id="6941333068993625698">ഫീഡ്‌ബാക്ക് സമർപ്പിക്കുക</translation>
 <translation id="6981982820502123353">ഉപയോഗസഹായി</translation>
 <translation id="7020813747703216897">പൊരുത്തമുള്ള ഫലങ്ങളൊന്നും കണ്ടെത്തിയില്ല</translation>
 <translation id="7025325401470358758">അടുത്ത പാൻ</translation>
+<translation id="7077383985738259936">ബുക്ക്‌മാര്‍‌ക്ക് ബാറിൽ ഫോക്കസ് ചെയ്യുക അല്ലെങ്കിൽ അത് ഹൈലൈറ്റ് ചെയ്യുക (കാണിച്ചിട്ടുണ്ടെങ്കിൽ)</translation>
 <translation id="7237562915163138771">വിലാസ ബാറിൽ ഒരു വെബ് വിലാസം ടൈപ്പ് ചെയ്യുക, തുടർന്ന് <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" /> അമർത്തുക</translation>
+<translation id="7254764037241667478">ഉറക്ക മോഡിലേക്ക് ഉപകരണത്തെ മാറ്റുക (തൽക്കാലം അവസാനിപ്പിക്കുക)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> അല്ലെങ്കിൽ <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
+<translation id="743754632698445141">ഒരു ആപ്പ് അൺപിൻ ചെയ്യുക</translation>
 <translation id="7439718573248533901">അടുത്ത അക്ഷരം ഇല്ലാതാക്കുക (ഫോർവേഡ് ഡിലീറ്റ്)</translation>
+<translation id="7449669175878568981">പറഞ്ഞ് കൊടുക്കുന്നത് (നിങ്ങൾ പറയുന്നത് ടൈപ്പ് ചെയ്യുന്നത്) ആരംഭിക്കുന്നു അല്ലെങ്കിൽ നിർത്തുന്നു</translation>
 <translation id="766326951329901120">ക്ലിപ്‌ബോർഡിൽ നിന്നുള്ള ഉള്ളടക്കം സാധാരണ വാചകമായി ഒട്ടിക്കുക</translation>
 <translation id="7724603315864178912">മുറിക്കുക</translation>
 <translation id="7730490981846175479"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" />, തുടർന്ന് <ph name="SPACE" /> അല്ലെങ്കിൽ <ph name="ENTER" /></translation>
 <translation id="7787242579016742662">ബ്രൗസറിൽ ഒരു ഫയൽ തുറക്കുക</translation>
+<translation id="7822267121073044318">അടുത്ത ഭാഷാ ഇൻപുട്ട് രീതിയിലേക്ക് മാറുക</translation>
 <translation id="7917881398263220094">നിങ്ങളുടെ നിലവിലെ പേജ് ലോഡ് ചെയ്യുന്നത് നിർത്തുക</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> അല്ലെങ്കിൽ <ph name="MINUS" /></translation>
 <translation id="8026334261755873520">ബ്രൌസിംഗ് ഡാറ്റ മായ്‌ക്കുക</translation>
+<translation id="8104889575691864804">ആപ്പ് മെനു കാണിക്കുക</translation>
 <translation id="8130528849632411619">ഡോക്യുമെന്റിന്റെ തുടക്കത്തിലേക്ക് പോവുക</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> അല്ലെങ്കിൽ <ph name="E" /></translation>
 <translation id="8234414138295101081">സ്‌ക്രീൻ 90 ഡിഗ്രി തിരിക്കുക</translation>
+<translation id="8264941229485248811">ഡെവലപ്പര്‍ ടൂൾസ് ഇൻസ്‌പെക്‌ടർ കാണിക്കുക അല്ലെങ്കിൽ അദൃശ്യമാക്കുക</translation>
 <translation id="836869401750819675">ഡൗൺലോഡുകളുടെ പേജ് തുറക്കുക</translation>
 <translation id="8388247778047144397">ടാബ് സ്‌ട്രിപ്പിലെ ശൂന്യമായ ഏരിയയിലേക്ക് ലിങ്ക് വലിച്ചിടുക</translation>
 <translation id="8389638407792712197">പുതിയ വിൻഡോ തുറക്കുക</translation>
@@ -153,8 +173,11 @@
 <translation id="88986195241502842">Page down</translation>
 <translation id="8903921497873541725">സൂം ഇന്‍</translation>
 <translation id="8924883688469390268">മുമ്പത്തെ ഉപയോക്താവിലേക്ക് മാറുക</translation>
+<translation id="8951768610999698672">സ്ക്രീനിലെ ഇനങ്ങൾ ചെറുതോ വലുതോ ആക്കുക</translation>
 <translation id="8977648847395357314">വിലാസ ബാറിലെ ഉള്ളടക്കം തിരഞ്ഞെടുക്കുക</translation>
+<translation id="8982190978301344584">ലഭ്യമായ IME-കളുടെ ഒരു ലിസ്റ്റ് ദൃശ്യമാക്കുന്ന മെനു കാണിക്കുക</translation>
 <translation id="8990356943438003669"><ph name="ALT" /><ph name="SEPARATOR" /> 1 മുതൽ 8 വരെ</translation>
+<translation id="9005984960510803406">Crosh വിൻഡോ തുറക്കുക</translation>
 <translation id="9041599225465145264">ക്ലിപ്‌ബോർഡിൽ നിന്നുള്ള ഉള്ളടക്കം ഒട്ടിക്കുക</translation>
 <translation id="9052808072970550123">അടുത്ത ഉപയോക്താവിലേക്ക് മാറുക</translation>
 <translation id="906458777597946297">വിൻഡോ വലുതാക്കുക</translation>
@@ -163,5 +186,6 @@
 <translation id="9179672198516322668">ജനപ്രിയ കുറുക്കുവഴികൾ</translation>
 <translation id="93603345341560814"><ph name="SHIFT" /> അമർത്തുക, ഒരു ലിങ്ക് ക്ലിക്ക് ചെയ്യുക</translation>
 <translation id="945383118875625837">ബുക്ക്‌മാർക്കുകളുടെ ബാറിലേക്ക് ലിങ്ക് ഇഴയ്‌ക്കുക</translation>
+<translation id="969054500339500113">മെനു ബാറിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക</translation>
 <translation id="98120814841227350">ഡോക്യുമെന്റിന്റെ താഴേക്ക് പോവുക</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/components/strings/ash_components_strings_mr.xtb b/ash/components/strings/ash_components_strings_mr.xtb
index 8dfcad1c..485d165 100644
--- a/ash/components/strings/ash_components_strings_mr.xtb
+++ b/ash/components/strings/ash_components_strings_mr.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">पुढील टॅबवर जा</translation>
 <translation id="2010818616644390445">विंडोमधील अंतिम टॅबवर जा</translation>
 <translation id="2040706009561734834">लाँचर उघडा/बंद करा</translation>
-<translation id="2045117674524495717">कीबोर्ड शॉर्टकट मदतकर्ता</translation>
 <translation id="2088054208777350526">कीबोर्ड शॉर्टकट शोधा</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> किंवा <ph name="F" /></translation>
 <translation id="2145908266289632567">मजकूर संपादन</translation>
diff --git a/ash/components/strings/ash_components_strings_ms.xtb b/ash/components/strings/ash_components_strings_ms.xtb
index 4d5a8ef..7691c39 100644
--- a/ash/components/strings/ash_components_strings_ms.xtb
+++ b/ash/components/strings/ash_components_strings_ms.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Pergi ke tab seterusnya</translation>
 <translation id="2010818616644390445">Pergi ke tab terakhir dalam tetingkap</translation>
 <translation id="2040706009561734834">Buka/tutup pelancar</translation>
-<translation id="2045117674524495717">Pembantu Pintasan Papan Kekunci</translation>
 <translation id="2088054208777350526">Cari pintasan papan kekunci</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> atau <ph name="F" /></translation>
 <translation id="2145908266289632567">Suntingan Teks</translation>
diff --git a/ash/components/strings/ash_components_strings_nl.xtb b/ash/components/strings/ash_components_strings_nl.xtb
index 56697a1..9b8d46f5 100644
--- a/ash/components/strings/ash_components_strings_nl.xtb
+++ b/ash/components/strings/ash_components_strings_nl.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Naar het volgende tabblad gaan</translation>
 <translation id="2010818616644390445">Naar het laatste tabblad in het venster gaan</translation>
 <translation id="2040706009561734834">De launcher openen/sluiten</translation>
-<translation id="2045117674524495717">Helper voor sneltoetsen</translation>
 <translation id="2088054208777350526">Sneltoetsen zoeken</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> of <ph name="F" /></translation>
 <translation id="2145908266289632567">Tekst bewerken</translation>
diff --git a/ash/components/strings/ash_components_strings_no.xtb b/ash/components/strings/ash_components_strings_no.xtb
index 49ad1ec8..a42f584 100644
--- a/ash/components/strings/ash_components_strings_no.xtb
+++ b/ash/components/strings/ash_components_strings_no.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Gå til neste fane</translation>
 <translation id="2010818616644390445">Gå til den siste fanen i vinduet</translation>
 <translation id="2040706009561734834">Åpne/lukk appoversikten</translation>
-<translation id="2045117674524495717">Hurtigtasthjelp</translation>
 <translation id="2088054208777350526">Søk etter hurtigtaster</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> eller <ph name="F" /></translation>
 <translation id="2145908266289632567">Tekstredigering</translation>
diff --git a/ash/components/strings/ash_components_strings_pl.xtb b/ash/components/strings/ash_components_strings_pl.xtb
index dc067ff..8eafc04d 100644
--- a/ash/components/strings/ash_components_strings_pl.xtb
+++ b/ash/components/strings/ash_components_strings_pl.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Przejdź do następnej karty</translation>
 <translation id="2010818616644390445">Przejdź do ostatniej karty w oknie</translation>
 <translation id="2040706009561734834">Otwórz/zamknij menu z aplikacjami</translation>
-<translation id="2045117674524495717">Informacje o skrótach klawiszowych</translation>
 <translation id="2088054208777350526">Znajdź skróty klawiszowe</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> lub <ph name="F" /></translation>
 <translation id="2145908266289632567">Edytowanie tekstu</translation>
diff --git a/ash/components/strings/ash_components_strings_pt-BR.xtb b/ash/components/strings/ash_components_strings_pt-BR.xtb
index e72891f9..8882ffe 100644
--- a/ash/components/strings/ash_components_strings_pt-BR.xtb
+++ b/ash/components/strings/ash_components_strings_pt-BR.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Ir para a próxima guia</translation>
 <translation id="2010818616644390445">Ir para a última guia da janela</translation>
 <translation id="2040706009561734834">Abrir/fechar o acesso rápido</translation>
-<translation id="2045117674524495717">Assistente de atalhos do teclado</translation>
 <translation id="2088054208777350526">Procurar atalhos do teclado</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ou <ph name="F" /></translation>
 <translation id="2145908266289632567">Edição de texto</translation>
diff --git a/ash/components/strings/ash_components_strings_pt-PT.xtb b/ash/components/strings/ash_components_strings_pt-PT.xtb
index f658092..342f9ba9 100644
--- a/ash/components/strings/ash_components_strings_pt-PT.xtb
+++ b/ash/components/strings/ash_components_strings_pt-PT.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Aceder ao separador seguinte</translation>
 <translation id="2010818616644390445">Ir para o último separador na janela</translation>
 <translation id="2040706009561734834">Abrir/fechar o iniciador</translation>
-<translation id="2045117674524495717">Ajuda dos atalhos de teclado</translation>
 <translation id="2088054208777350526">Procurar atalhos de teclado</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ou <ph name="F" /></translation>
 <translation id="2145908266289632567">Edição de texto</translation>
@@ -43,6 +42,7 @@
 <translation id="2685170433750953446"><ph name="SHIFT" /><ph name="SEPARATOR1" /><ph name="ALT" /><ph name="SEPARATOR2" /><ph name="L" /> e, em seguida, <ph name="TAB" /> ou <ph name="RIGHT" />.</translation>
 <translation id="2699509451653686398">Guardar a página Web atual como um marcador</translation>
 <translation id="2750942583782703988">Atualizar a página atual</translation>
+<translation id="2764005613199379871">Focar a barra de endereço da pesquisa</translation>
 <translation id="2789868185375229787">Reduzir a página</translation>
 <translation id="2804480015716812239">Prima <ph name="ALT" /> e clique num link.</translation>
 <translation id="2830827904629746450">Ancorar uma janela à direita</translation>
@@ -54,6 +54,7 @@
 <translation id="3105917916468784889">Criar captura de ecrã</translation>
 <translation id="3126026824346185272">Ctrl</translation>
 <translation id="3140353188828248647">Focar barra de endereço</translation>
+<translation id="3256109297135787951">Remover o realce de um item na prateleira</translation>
 <translation id="3288816184963444640">Fechar a janela atual</translation>
 <translation id="3407560819924487926">Abrir o Gestor de tarefas</translation>
 <translation id="3422679037938588196">Ir para a correspondência anterior da pesquisa</translation>
@@ -68,6 +69,7 @@
 <translation id="3720939646656082033">Abrir o link num novo separador e mudar para o novo separador</translation>
 <translation id="3725795051337497754">Fechar o separador atual</translation>
 <translation id="3751033133896282964">Anular a última ação</translation>
+<translation id="3792178297143798024">Abrir o item realçado na prateleira</translation>
 <translation id="379295446891231126"><ph name="CTRL" /><ph name="SEPARATOR" /> 1 a 8</translation>
 <translation id="3837047332182291558">Aumentar o brilho do teclado (apenas para teclados retroiluminados)</translation>
 <translation id="3976863468609830880">Clicar no último ícone da prateleira</translation>
@@ -154,11 +156,13 @@
 <translation id="7787242579016742662">Abrir um ficheiro no navegador</translation>
 <translation id="7822267121073044318">Mudar para o idioma do método de introdução seguinte</translation>
 <translation id="7917881398263220094">Parar o carregamento da página atual</translation>
+<translation id="7952165122793773711">Ir para os separadores 1 a 8</translation>
 <translation id="8025696740288105292"><ph name="CTRL" /><ph name="SEPARATOR1" /><ph name="SHIFT" /><ph name="SEPARATOR2" /><ph name="PLUS" /> ou <ph name="MINUS" />.</translation>
 <translation id="8026334261755873520">Limpar dados de navegação</translation>
 <translation id="8104889575691864804">Mostrar o menu de aplicações</translation>
 <translation id="8130528849632411619">Ir para o início do documento</translation>
 <translation id="8147954207400281792"><ph name="CTRL" /><ph name="SEPARATOR" /><ph name="K" /> ou <ph name="E" /></translation>
+<translation id="8232835244134740473">Mudar o foco entre: a área de estado (onde é apresentada a sua imagem da conta), o Iniciador, a barra de endereço, a barra de marcadores (se estiver visível), a página Web que está aberta e a barra de transferências (se visível).</translation>
 <translation id="8234414138295101081">Rodar o ecrã 90 graus</translation>
 <translation id="8264941229485248811">Mostrar ou ocultar o inspetor das Ferramentas do programador</translation>
 <translation id="836869401750819675">Abrir a página Transferências</translation>
diff --git a/ash/components/strings/ash_components_strings_ro.xtb b/ash/components/strings/ash_components_strings_ro.xtb
index 8fe622f3..55cd6aa4 100644
--- a/ash/components/strings/ash_components_strings_ro.xtb
+++ b/ash/components/strings/ash_components_strings_ro.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Accesează fila următoare</translation>
 <translation id="2010818616644390445">Accesează ultima filă din fereastră</translation>
 <translation id="2040706009561734834">Deschide/închide lansatorul</translation>
-<translation id="2045117674524495717">Ajutor pentru comenzi rapide de la tastatură</translation>
 <translation id="2088054208777350526">Caută comenzi rapide de la tastatură</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> sau <ph name="F" /></translation>
 <translation id="2145908266289632567">Editarea textului</translation>
diff --git a/ash/components/strings/ash_components_strings_ru.xtb b/ash/components/strings/ash_components_strings_ru.xtb
index 60b3382..791e504 100644
--- a/ash/components/strings/ash_components_strings_ru.xtb
+++ b/ash/components/strings/ash_components_strings_ru.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Перейти на следующую вкладку</translation>
 <translation id="2010818616644390445">Перейти на последнюю вкладку в окне</translation>
 <translation id="2040706009561734834">Открыть или закрыть панель запуска</translation>
-<translation id="2045117674524495717">Справка по быстрым клавишам</translation>
 <translation id="2088054208777350526">Поиск быстрых клавиш</translation>
 <translation id="2125211348069077981"><ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="E" /> или <ph name="F" /></translation>
 <translation id="2145908266289632567">Редактирование текста</translation>
diff --git a/ash/components/strings/ash_components_strings_sk.xtb b/ash/components/strings/ash_components_strings_sk.xtb
index 75e113f..c311ad1 100644
--- a/ash/components/strings/ash_components_strings_sk.xtb
+++ b/ash/components/strings/ash_components_strings_sk.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Prechod na ďalšiu kartu</translation>
 <translation id="2010818616644390445">Prechod na poslednú kartu v okne</translation>
 <translation id="2040706009561734834">Otvoriť/zavrieť spúšťač</translation>
-<translation id="2045117674524495717">Pomocník klávesových skratiek</translation>
 <translation id="2088054208777350526">Vyhľadávanie klávesových skratiek</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> alebo <ph name="F" /></translation>
 <translation id="2145908266289632567">Úprava textu</translation>
diff --git a/ash/components/strings/ash_components_strings_sl.xtb b/ash/components/strings/ash_components_strings_sl.xtb
index a865932..fb77db2 100644
--- a/ash/components/strings/ash_components_strings_sl.xtb
+++ b/ash/components/strings/ash_components_strings_sl.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Premik na naslednji zavihek</translation>
 <translation id="2010818616644390445">Premik na zadnji zavihek v oknu</translation>
 <translation id="2040706009561734834">Odpiranje/zapiranje zaganjalnika</translation>
-<translation id="2045117674524495717">Pomočnik za bližnjične tipke</translation>
 <translation id="2088054208777350526">Iskanje bližnjičnih tipk</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> ali <ph name="F" /></translation>
 <translation id="2145908266289632567">Urejanje besedila</translation>
diff --git a/ash/components/strings/ash_components_strings_sr.xtb b/ash/components/strings/ash_components_strings_sr.xtb
index b0e7e3a8..6ce14da 100644
--- a/ash/components/strings/ash_components_strings_sr.xtb
+++ b/ash/components/strings/ash_components_strings_sr.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Идите на следећу картицу</translation>
 <translation id="2010818616644390445">Идите на последњу картицу у прозору</translation>
 <translation id="2040706009561734834">Отворите/затворите покретач</translation>
-<translation id="2045117674524495717">Помоћник за тастерске пречице</translation>
 <translation id="2088054208777350526">Тражите тастерске пречице</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> или <ph name="F" /></translation>
 <translation id="2145908266289632567">Измена текста</translation>
diff --git a/ash/components/strings/ash_components_strings_sv.xtb b/ash/components/strings/ash_components_strings_sv.xtb
index 292bde4..d9efdc9 100644
--- a/ash/components/strings/ash_components_strings_sv.xtb
+++ b/ash/components/strings/ash_components_strings_sv.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Öppna nästa flik</translation>
 <translation id="2010818616644390445">Öppna den sista fliken i fönstret</translation>
 <translation id="2040706009561734834">Öppna eller stäng översikten</translation>
-<translation id="2045117674524495717">Hjälp med kortkommandon</translation>
 <translation id="2088054208777350526">Sök efter kortkommandon</translation>
 <translation id="2125211348069077981"><ph name="ALT" /> <ph name="SEPARATOR" /> <ph name="E" /> eller <ph name="F" /></translation>
 <translation id="2145908266289632567">Textredigering</translation>
diff --git a/ash/components/strings/ash_components_strings_sw.xtb b/ash/components/strings/ash_components_strings_sw.xtb
index c93425bc..02eeb90 100644
--- a/ash/components/strings/ash_components_strings_sw.xtb
+++ b/ash/components/strings/ash_components_strings_sw.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Nenda kwenye kichupo kinachofuata</translation>
 <translation id="2010818616644390445">Nenda kwenye kichupo cha mwisho katika dirisha</translation>
 <translation id="2040706009561734834">Fungua au ufunge kifungua programu</translation>
-<translation id="2045117674524495717">Kisaidizi cha Mikato ya Kibodi</translation>
 <translation id="2088054208777350526">Tafuta njia za mikato ya kibodi</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> au <ph name="F" /></translation>
 <translation id="2145908266289632567">Kubadilisha Maandishi</translation>
@@ -130,6 +129,7 @@
 <translation id="6435207348963613811">Angazia kipengee cha awali kwenye rafu yako</translation>
 <translation id="6445033640292336367">Rudisha kichupo kwenye nafasi yake halisi</translation>
 <translation id="649811797655257835">Chagua faili, kisha ubofye <ph name="SPACE" /></translation>
+<translation id="6556040137485212400">Fungua dirisha ambalo halijatumika kwa muda mrefu zaidi</translation>
 <translation id="666343722268997814">Fungua menyu ya kipengee kinachoangaziwa kwa kubofya kulia</translation>
 <translation id="6671538777808758331">Nenda kwenye utafutaji unaofuata unaolingana na utafutaji wako</translation>
 <translation id="6681606577947445973"><ph name="REFRESH" /> au <ph name="CTRL" /><ph name="SEPARATOR" /><ph name="R" /></translation>
diff --git a/ash/components/strings/ash_components_strings_ta.xtb b/ash/components/strings/ash_components_strings_ta.xtb
index 7438d9e7..5dbd286 100644
--- a/ash/components/strings/ash_components_strings_ta.xtb
+++ b/ash/components/strings/ash_components_strings_ta.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">அடுத்த தாவலுக்குச் செல்லும்</translation>
 <translation id="2010818616644390445">சாளரத்தில் கடைசித் தாவலுக்குச் செல்லும்</translation>
 <translation id="2040706009561734834">தொடக்கியைத் திறக்கும்/மூடும்</translation>
-<translation id="2045117674524495717">கீபோர்ட் ஷார்ட்கட் உதவி</translation>
 <translation id="2088054208777350526">கீபோர்ட் ஷார்ட்கட்களைத் தேடவும்</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> அல்லது <ph name="F" /></translation>
 <translation id="2145908266289632567">உரைத் திருத்தம்</translation>
diff --git a/ash/components/strings/ash_components_strings_th.xtb b/ash/components/strings/ash_components_strings_th.xtb
index 282d823..7bd0b029 100644
--- a/ash/components/strings/ash_components_strings_th.xtb
+++ b/ash/components/strings/ash_components_strings_th.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">ไปที่แท็บถัดไป</translation>
 <translation id="2010818616644390445">ไปที่แท็บสุดท้ายในหน้าต่าง</translation>
 <translation id="2040706009561734834">เปิด/ปิด Launcher</translation>
-<translation id="2045117674524495717">ตัวช่วยเหลือสำหรับแป้นพิมพ์ลัด</translation>
 <translation id="2088054208777350526">ค้นหาแป้นพิมพ์ลัด</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> หรือ <ph name="F" /></translation>
 <translation id="2145908266289632567">การแก้ไขข้อความ</translation>
diff --git a/ash/components/strings/ash_components_strings_tr.xtb b/ash/components/strings/ash_components_strings_tr.xtb
index b35028d1..e4c4909 100644
--- a/ash/components/strings/ash_components_strings_tr.xtb
+++ b/ash/components/strings/ash_components_strings_tr.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Sonraki sekmeye gider</translation>
 <translation id="2010818616644390445">Penceredeki son sekmeye gider</translation>
 <translation id="2040706009561734834">Başlatıcıyı açar/kapatır</translation>
-<translation id="2045117674524495717">Klavye Kısayolu Yardımcısı</translation>
 <translation id="2088054208777350526">Klavye kısayollarını arama</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> veya <ph name="F" /></translation>
 <translation id="2145908266289632567">Metin Düzenleme</translation>
diff --git a/ash/components/strings/ash_components_strings_uk.xtb b/ash/components/strings/ash_components_strings_uk.xtb
index 54ddc17..9d1b64f 100644
--- a/ash/components/strings/ash_components_strings_uk.xtb
+++ b/ash/components/strings/ash_components_strings_uk.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Перейти на наступну вкладку</translation>
 <translation id="2010818616644390445">Перейти на останню вкладку у вікні</translation>
 <translation id="2040706009561734834">Відкрити чи закрити панель запуску</translation>
-<translation id="2045117674524495717">Довідник із комбінацій клавіш</translation>
 <translation id="2088054208777350526">Пошук комбінацій клавіш</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> або <ph name="F" /></translation>
 <translation id="2145908266289632567">Редагування тексту</translation>
diff --git a/ash/components/strings/ash_components_strings_vi.xtb b/ash/components/strings/ash_components_strings_vi.xtb
index e4bdbb53..d6b33bc5 100644
--- a/ash/components/strings/ash_components_strings_vi.xtb
+++ b/ash/components/strings/ash_components_strings_vi.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">Chuyển sang tab tiếp theo</translation>
 <translation id="2010818616644390445">Chuyển đến tab cuối cùng trong cửa sổ</translation>
 <translation id="2040706009561734834">Mở/đóng trình chạy</translation>
-<translation id="2045117674524495717">Trình trợ giúp phím tắt</translation>
 <translation id="2088054208777350526">Tìm kiếm phím tắt</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> hoặc <ph name="F" /></translation>
 <translation id="2145908266289632567">Chỉnh sửa văn bản</translation>
diff --git a/ash/components/strings/ash_components_strings_zh-CN.xtb b/ash/components/strings/ash_components_strings_zh-CN.xtb
index 6313b68524..06f04cd 100644
--- a/ash/components/strings/ash_components_strings_zh-CN.xtb
+++ b/ash/components/strings/ash_components_strings_zh-CN.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">转到下一个标签页</translation>
 <translation id="2010818616644390445">转到窗口中的最后一个标签页</translation>
 <translation id="2040706009561734834">打开/关闭启动器</translation>
-<translation id="2045117674524495717">键盘快捷键助手</translation>
 <translation id="2088054208777350526">搜索键盘快捷键</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> 或 <ph name="F" /></translation>
 <translation id="2145908266289632567">文字编辑</translation>
diff --git a/ash/components/strings/ash_components_strings_zh-TW.xtb b/ash/components/strings/ash_components_strings_zh-TW.xtb
index 510207a..5e52dc23 100644
--- a/ash/components/strings/ash_components_strings_zh-TW.xtb
+++ b/ash/components/strings/ash_components_strings_zh-TW.xtb
@@ -24,7 +24,6 @@
 <translation id="1996162290124031907">前往下一個分頁</translation>
 <translation id="2010818616644390445">前往視窗中的最後一個分頁</translation>
 <translation id="2040706009561734834">開啟/關閉啟動器</translation>
-<translation id="2045117674524495717">鍵盤快速鍵說明</translation>
 <translation id="2088054208777350526">搜尋鍵盤快速鍵</translation>
 <translation id="2125211348069077981"><ph name="ALT" /><ph name="SEPARATOR" /><ph name="E" /> 或 <ph name="F" /> 鍵</translation>
 <translation id="2145908266289632567">文字編輯</translation>
@@ -50,6 +49,7 @@
 <translation id="2872353916818027657">切換主要顯示器</translation>
 <translation id="2914313326123580426">顯示或隱藏開發人員工具面板</translation>
 <translation id="292495055542441795">切換全螢幕</translation>
+<translation id="3020183492814296499">快速鍵</translation>
 <translation id="3084301071537457911">醒目顯示檔案櫃中的下一個項目</translation>
 <translation id="309173601632226815">醒目顯示檔案櫃中的啟動器按鈕</translation>
 <translation id="3105917916468784889">擷取螢幕畫面</translation>
diff --git a/ash/host/ash_window_tree_host_mus.cc b/ash/host/ash_window_tree_host_mus.cc
index 084a2e34..2ac0508 100644
--- a/ash/host/ash_window_tree_host_mus.cc
+++ b/ash/host/ash_window_tree_host_mus.cc
@@ -112,10 +112,9 @@
   return transformer_helper_->GetInverseTransform();
 }
 
-void AshWindowTreeHostMus::UpdateRootWindowSizeInPixels(
-    const gfx::Size& host_size_in_pixels) {
-  transformer_helper_->UpdateWindowSizeAndScale(host_size_in_pixels,
-                                                device_scale_factor());
+gfx::Rect AshWindowTreeHostMus::GetTransformedRootWindowBoundsInPixels(
+    const gfx::Size& host_size_in_pixels) const {
+  return transformer_helper_->GetTransformedWindowBounds(host_size_in_pixels);
 }
 
 void AshWindowTreeHostMus::OnCursorVisibilityChangedNative(bool show) {
diff --git a/ash/host/ash_window_tree_host_mus.h b/ash/host/ash_window_tree_host_mus.h
index b9d2a504..85be7a7 100644
--- a/ash/host/ash_window_tree_host_mus.h
+++ b/ash/host/ash_window_tree_host_mus.h
@@ -37,8 +37,8 @@
   void SetRootTransform(const gfx::Transform& transform) override;
   gfx::Transform GetRootTransform() const override;
   gfx::Transform GetInverseRootTransform() const override;
-  void UpdateRootWindowSizeInPixels(
-      const gfx::Size& host_size_in_pixels) override;
+  gfx::Rect GetTransformedRootWindowBoundsInPixels(
+      const gfx::Size& host_size_in_pixels) const override;
   void OnCursorVisibilityChangedNative(bool show) override;
 
  private:
diff --git a/ash/host/ash_window_tree_host_platform.cc b/ash/host/ash_window_tree_host_platform.cc
index 2b881411..dbae6fe 100644
--- a/ash/host/ash_window_tree_host_platform.cc
+++ b/ash/host/ash_window_tree_host_platform.cc
@@ -125,10 +125,9 @@
   return transformer_helper_.GetInverseTransform();
 }
 
-void AshWindowTreeHostPlatform::UpdateRootWindowSizeInPixels(
-    const gfx::Size& host_size_in_pixels) {
-  transformer_helper_.UpdateWindowSizeAndScale(host_size_in_pixels,
-                                               device_scale_factor());
+gfx::Rect AshWindowTreeHostPlatform::GetTransformedRootWindowBoundsInPixels(
+    const gfx::Size& host_size_in_pixels) const {
+  return transformer_helper_.GetTransformedWindowBounds(host_size_in_pixels);
 }
 
 void AshWindowTreeHostPlatform::OnCursorVisibilityChangedNative(bool show) {
diff --git a/ash/host/ash_window_tree_host_platform.h b/ash/host/ash_window_tree_host_platform.h
index 7b3dfbc..eab466a 100644
--- a/ash/host/ash_window_tree_host_platform.h
+++ b/ash/host/ash_window_tree_host_platform.h
@@ -41,8 +41,8 @@
   void SetRootTransform(const gfx::Transform& transform) override;
   gfx::Transform GetRootTransform() const override;
   gfx::Transform GetInverseRootTransform() const override;
-  void UpdateRootWindowSizeInPixels(
-      const gfx::Size& host_size_in_pixels) override;
+  gfx::Rect GetTransformedRootWindowBoundsInPixels(
+      const gfx::Size& host_size_in_pixels) const override;
   void OnCursorVisibilityChangedNative(bool show) override;
   void SetBoundsInPixels(const gfx::Rect& bounds) override;
   void DispatchEvent(ui::Event* event) override;
diff --git a/ash/host/transformer_helper.cc b/ash/host/transformer_helper.cc
index 4467aa9..90a1865f 100644
--- a/ash/host/transformer_helper.cc
+++ b/ash/host/transformer_helper.cc
@@ -110,12 +110,9 @@
   return transformer_->GetInverseTransform() * transform;
 }
 
-void TransformerHelper::UpdateWindowSizeAndScale(const gfx::Size& host_size,
-                                                 float device_scale_factor) {
-  ash_host_->AsWindowTreeHost()->window()->SetBounds(
-      transformer_->GetRootWindowBounds(host_size));
-  ash_host_->AsWindowTreeHost()->window()->SetDeviceScaleFactor(
-      device_scale_factor);
+gfx::Rect TransformerHelper::GetTransformedWindowBounds(
+    const gfx::Size& host_size) const {
+  return transformer_->GetRootWindowBounds(host_size);
 }
 
 }  // namespace ash
diff --git a/ash/host/transformer_helper.h b/ash/host/transformer_helper.h
index 897c264..399aca2 100644
--- a/ash/host/transformer_helper.h
+++ b/ash/host/transformer_helper.h
@@ -12,6 +12,7 @@
 
 namespace gfx {
 class Insets;
+class Rect;
 class Size;
 class Transform;
 }
@@ -45,10 +46,9 @@
   gfx::Transform GetTransform() const;
   gfx::Transform GetInverseTransform() const;
 
-  // Updates the root window size based on the host size and
+  // Returns the transformed root window bounds based on the host size and
   // current transform.
-  void UpdateWindowSizeAndScale(const gfx::Size& host_size,
-                                float device_scale_factor);
+  gfx::Rect GetTransformedWindowBounds(const gfx::Size& host_size) const;
 
  private:
   AshWindowTreeHost* ash_host_;
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index ff5de5e..3cde72e 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -32,6 +32,7 @@
 <translation id="1658406695958299976">عذرًا، لا يمكن التحقق من كلمة المرور حتى الآن. ملاحظة: في حال تغيير كلمة المرور مؤخرًا، سيتم تطبيق كلمة المرور الجديدة بعد تسجيل الخروج، يُرجى استخدام كلمة المرور القديمة هنا.</translation>
 <translation id="1677472565718498478">الوقت المتبقي <ph name="TIME" /></translation>
 <translation id="1698760176351776263">‏عنوان IPv6:‏ <ph name="ADDRESS" /></translation>
+<translation id="170389796989115980">قد يتمكن مشرف الجهاز من مراقبة نشاطك.</translation>
 <translation id="1734367976349034509">يخضع هذا الجهاز لإدارة المؤسسة</translation>
 <translation id="1746730358044914197">تتم تهيئة طرق الإدخال بواسطة المشرف.</translation>
 <translation id="1747827819627189109">تم تمكين لوحة المفاتيح على الشاشة</translation>
@@ -46,6 +47,7 @@
 <translation id="1942830294380034169">زر تجاوز السعة</translation>
 <translation id="1951012854035635156">المساعد</translation>
 <translation id="1957803754585243749">0 درجة</translation>
+<translation id="1957958912175573503">تعيين اللغة</translation>
 <translation id="1969011864782743497"><ph name="DEVICE_NAME" /> (USB)</translation>
 <translation id="1995660704900986789">إيقاف التشغيل</translation>
 <translation id="2012624427112548395">Ctrl+Search+H</translation>
@@ -81,6 +83,8 @@
 <translation id="2653659639078652383">إرسال</translation>
 <translation id="2675319268637823299">منع أحد المشرفين الدخول المتعدد لـ <ph name="USER_EMAIL" />.
     يجب على جميع المستخدمين تسجيل الخروج للمتابعة.</translation>
+<translation id="2696763960464195425">ستتم إزالة معلوماتك عند تسجيل الخروج. <ph name="LEARN_MORE" /></translation>
+<translation id="2700493154570097719">تعيين لوحة المفاتيح</translation>
 <translation id="2718395828230677721">الإضاءة الليلية</translation>
 <translation id="2727977024730340865">تمّ توصيل شاحن منخفض الطاقة. لذا قد لا تكون عملية شحن البطارية جديرة بالثقة.</translation>
 <translation id="2761704814324807722">علبة الحالة، والوقت <ph name="TIME" />، و<ph name="BATTERY" /></translation>
@@ -331,6 +335,7 @@
 <translation id="8673028979667498656">270 درجة</translation>
 <translation id="8676770494376880701">تمّ توصيل شاحن منخفض الطاقة</translation>
 <translation id="8734991477317290293">قد تحاول لوحة المفاتيح سرقة ضغطات المفاتيح.</translation>
+<translation id="8809737090443522491">كتابة اسم التطبيق أو المستند</translation>
 <translation id="8814190375133053267">‏لاسلكي، Wi-Fi</translation>
 <translation id="8814715559352963456">قد ينتج عن نقل النوافذ إلى سطح مكتب آخر سلوك غير متوقع.
 
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index d8aa80a..df260f2 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -32,6 +32,7 @@
 <translation id="1658406695958299976">Encara no s'ha pogut verificar la contrasenya. Nota: si fa poc que has canviat la contrasenya, la nova s'aplicarà un cop hagis tancat la sessió. Fes servir la contrasenya anterior aquí.</translation>
 <translation id="1677472565718498478">Temps restant: <ph name="TIME" /></translation>
 <translation id="1698760176351776263">Adreça IPv6: <ph name="ADDRESS" /></translation>
+<translation id="170389796989115980">Pot ser que l'administrador del dispositiu pugui supervisar la teva activitat.</translation>
 <translation id="1734367976349034509">Aquest dispositiu està gestionat per una empresa</translation>
 <translation id="1746730358044914197">Els mètodes d'introducció estan configurats per l'administrador.</translation>
 <translation id="1747827819627189109">Teclat en pantalla activat</translation>
@@ -46,6 +47,7 @@
 <translation id="1942830294380034169">Botó de desbordament</translation>
 <translation id="1951012854035635156">Assistent</translation>
 <translation id="1957803754585243749">0°</translation>
+<translation id="1957958912175573503">Estableix el teu idioma</translation>
 <translation id="1969011864782743497"><ph name="DEVICE_NAME" /> (USB)</translation>
 <translation id="1995660704900986789">Apaga</translation>
 <translation id="2012624427112548395">Ctrl+Cerca+H</translation>
@@ -81,6 +83,8 @@
 <translation id="2653659639078652383">Envia</translation>
 <translation id="2675319268637823299">Un administrador ha desactivat l'inici de sessió múltiple per a <ph name="USER_EMAIL" />.
     Tots els usuaris han de tancar la sessió per continuar.</translation>
+<translation id="2696763960464195425">La teva informació se suprimirà quan tanquis la sessió. <ph name="LEARN_MORE" />.</translation>
+<translation id="2700493154570097719">Defineix el teu teclat</translation>
 <translation id="2718395828230677721">Llum nocturna</translation>
 <translation id="2727977024730340865">S'ha connectat a un carregador de baix consum. És possible que la càrrega de la bateria no sigui fiable.</translation>
 <translation id="2761704814324807722">Safata d'estat. Hora: <ph name="TIME" />, <ph name="BATTERY" /></translation>
@@ -330,6 +334,7 @@
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">S'ha connectat un carregador de baix consum</translation>
 <translation id="8734991477317290293">Pot ser que estigui provant de robar-te les combinacions de tecles</translation>
+<translation id="8809737090443522491">Escriu el nom d'una aplicació o d'un document</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8814715559352963456">Si moveu finestres a un altre escriptori, pot provocar un comportament imprevist.
 
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 884f660..0ba3734 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -32,6 +32,7 @@
 <translation id="1658406695958299976">Aún no se ha podido verificar tu contraseña. Nota: Si has cambiado la contraseña recientemente, la nueva contraseña se aplicará una vez que hayas cerrado sesión. Utiliza la antigua contraseña aquí.</translation>
 <translation id="1677472565718498478">Queda: <ph name="TIME" /></translation>
 <translation id="1698760176351776263">Dirección IPv6: <ph name="ADDRESS" /></translation>
+<translation id="170389796989115980">Es posible que el administrador del dispositivo pueda supervisar tu actividad.</translation>
 <translation id="1734367976349034509">Este es un dispositivo administrado por la empresa</translation>
 <translation id="1746730358044914197">El administrador configura los métodos de introducción.</translation>
 <translation id="1747827819627189109">Teclado en pantalla habilitado</translation>
@@ -46,6 +47,7 @@
 <translation id="1942830294380034169">Botón de menú adicional</translation>
 <translation id="1951012854035635156">Asistente</translation>
 <translation id="1957803754585243749">0°</translation>
+<translation id="1957958912175573503">Elegir el idioma</translation>
 <translation id="1969011864782743497"><ph name="DEVICE_NAME" /> (USB)</translation>
 <translation id="1995660704900986789">Apagar</translation>
 <translation id="2012624427112548395">Ctrl + Tecla de búsqueda + H</translation>
@@ -81,6 +83,8 @@
 <translation id="2653659639078652383">Enviar</translation>
 <translation id="2675319268637823299">Un administrador ha inhabilitado el inicio de sesión múltiple para <ph name="USER_EMAIL" />.
     Todos los usuarios deben cerrar sesión para continuar.</translation>
+<translation id="2696763960464195425">Tu información se eliminará cuando cierres la sesión. <ph name="LEARN_MORE" /></translation>
+<translation id="2700493154570097719">Elegir el teclado</translation>
 <translation id="2718395828230677721">Luz nocturna</translation>
 <translation id="2727977024730340865">Conectado a un cargador de baja potencia. Es posible que la carga de la batería no sea fiable.</translation>
 <translation id="2761704814324807722">Bandeja de estado, hora <ph name="TIME" />, <ph name="BATTERY" /></translation>
@@ -269,6 +273,7 @@
 <translation id="7098389117866926363">Dispositivo USB tipo C (puerto izquierdo situado en la parte trasera)</translation>
 <translation id="7131634465328662194">Tu sesión se cerrará automáticamente.</translation>
 <translation id="7165278925115064263">Alt + Mayús + K</translation>
+<translation id="7165511658052620796">(TEMP) Show webui login; if used file bug (crbug.com) or feedback (alt+shift+i)</translation>
 <translation id="7168224885072002358">Restableciendo la resolución anterior en <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7256634071279256947">Micrófono trasero</translation>
 <translation id="726276584504105859">Arrastra hasta aquí para utilizar la pantalla dividida</translation>
@@ -329,6 +334,7 @@
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Cargador de baja potencia conectado</translation>
 <translation id="8734991477317290293">Es posible que esté intentando captar tus pulsaciones de teclas</translation>
+<translation id="8809737090443522491">Escribe el nombre de una aplicación o un documento</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8814715559352963456">Si mueves ventanas a otro escritorio, es posible que se produzca un comportamiento inesperado.
 
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb
index 2f1f3fa5..fdad5ee 100644
--- a/ash/strings/ash_strings_ja.xtb
+++ b/ash/strings/ash_strings_ja.xtb
@@ -32,6 +32,7 @@
 <translation id="1658406695958299976">パスワードをまだ確認できません。注: パスワードを最近変更した場合、新しいパスワードはログアウトした後に適用されます。こちらでは古いパスワードを使用してください。</translation>
 <translation id="1677472565718498478">あと <ph name="TIME" /></translation>
 <translation id="1698760176351776263">IPv6 アドレス: <ph name="ADDRESS" /></translation>
+<translation id="170389796989115980">端末の管理者によりアクティビティが監視される可能性があります。</translation>
 <translation id="1734367976349034509">このデバイスは会社が管理しています</translation>
 <translation id="1746730358044914197">入力方法は管理者によって設定されています。</translation>
 <translation id="1747827819627189109">画面キーボードが有効です</translation>
@@ -46,6 +47,7 @@
 <translation id="1942830294380034169">オーバーフロー ボタン</translation>
 <translation id="1951012854035635156">アシスタント</translation>
 <translation id="1957803754585243749">0°</translation>
+<translation id="1957958912175573503">言語を設定</translation>
 <translation id="1969011864782743497"><ph name="DEVICE_NAME" />(USB)</translation>
 <translation id="1995660704900986789">電源を切る</translation>
 <translation id="2012624427112548395">Ctrl+検索+H</translation>
@@ -81,6 +83,8 @@
 <translation id="2653659639078652383">送信</translation>
 <translation id="2675319268637823299"><ph name="USER_EMAIL" /> のマルチログインは、管理者によって禁止されています。
     続行するには、すべてのユーザーがログアウトする必要があります。</translation>
+<translation id="2696763960464195425">ログアウトすると利用時の情報は削除されます。<ph name="LEARN_MORE" /></translation>
+<translation id="2700493154570097719">キーボードを設定</translation>
 <translation id="2718395828230677721">読書灯</translation>
 <translation id="2727977024730340865">低電力の充電器に接続しています。バッテリーが充電されない可能性があります。</translation>
 <translation id="2761704814324807722">ステータス トレイ、時刻 <ph name="TIME" />、<ph name="BATTERY" /></translation>
@@ -331,6 +335,7 @@
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">低電力の充電器に接続されています</translation>
 <translation id="8734991477317290293">キー入力が読み取られる可能性があります</translation>
+<translation id="8809737090443522491">アプリまたはドキュメントの名前を入力</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8814715559352963456">ウィンドウを別のデスクトップに移動すると、予期しない動作が起こることがあります。
 
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb
index bdd7ed6..c46e8720 100644
--- a/ash/strings/ash_strings_lv.xtb
+++ b/ash/strings/ash_strings_lv.xtb
@@ -32,6 +32,7 @@
 <translation id="1658406695958299976">Diemžēl jūsu paroli joprojām nevarēja verificēt. Ņemiet vērā: ja nesen mainījāt paroli, jaunā parole tiks lietota pēc izrakstīšanās. Lūdzu, šeit izmantojiet iepriekšējo paroli.</translation>
 <translation id="1677472565718498478">Atlikušais laiks: <ph name="TIME" /></translation>
 <translation id="1698760176351776263">IPv6 adrese: <ph name="ADDRESS" /></translation>
+<translation id="170389796989115980">Jūsu darbības var uzraudzīt ierīces administrators.</translation>
 <translation id="1734367976349034509">Šo ierīci pārvalda uzņēmums</translation>
 <translation id="1746730358044914197">Administrators konfigurē ievades metodes.</translation>
 <translation id="1747827819627189109">Ekrāna tastatūra iespējota</translation>
@@ -46,6 +47,7 @@
 <translation id="1942830294380034169">Pārpildes poga</translation>
 <translation id="1951012854035635156">Asistents</translation>
 <translation id="1957803754585243749">0°</translation>
+<translation id="1957958912175573503">Iestatiet savu valodu.</translation>
 <translation id="1969011864782743497"><ph name="DEVICE_NAME" /> (USB)</translation>
 <translation id="1995660704900986789">Izslēgt</translation>
 <translation id="2012624427112548395">Ctrl+Search+H</translation>
@@ -81,6 +83,8 @@
 <translation id="2653659639078652383">Iesniegt</translation>
 <translation id="2675319268637823299">Administrators ir aizliedzis lietotājam <ph name="USER_EMAIL" /> vairākkārtēju pierakstīšanos.
     Lai turpinātu, visiem lietotājiem ir jāizrakstās.</translation>
+<translation id="2696763960464195425">Kad izrakstīsieties, jūsu informācija tiks noņemta. <ph name="LEARN_MORE" /></translation>
+<translation id="2700493154570097719">Iestatiet savu tastatūru</translation>
 <translation id="2718395828230677721">Nakts režīms</translation>
 <translation id="2727977024730340865">Pievienots lādētājs ar mazu strāvas padevi. Akumulatora uzlāde var nebūt uzticama.</translation>
 <translation id="2761704814324807722">Statusa josla, laiks: <ph name="TIME" />. <ph name="BATTERY" /></translation>
@@ -330,6 +334,7 @@
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Pievienots lādētājs ar mazu strāvas padevi</translation>
 <translation id="8734991477317290293">Tā, iespējams, mēģina piesavināties jūsu taustiņsitienus</translation>
+<translation id="8809737090443522491">Ievadiet lietotnes vai dokumenta nosaukumu</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8814715559352963456">Logu pārvietošana uz citu darbvirsmu var izraisīt neparedzētu darbību.
 
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index 8c4a28e..e57e900 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -32,6 +32,7 @@
 <translation id="1658406695958299976">Lamentamos, mas ainda não foi possível validar a sua palavra-passe. Nota: se alterou a palavra-passe recentemente, a nova palavra-passe será aplicada quando terminar sessão. Utilize a palavra-passe antiga aqui.</translation>
 <translation id="1677472565718498478"><ph name="TIME" /> restante(s)</translation>
 <translation id="1698760176351776263">Endereço IPv6: <ph name="ADDRESS" /></translation>
+<translation id="170389796989115980">O administrador do dispositivo pode conseguir monitorizar a sua atividade.</translation>
 <translation id="1734367976349034509">Este dispositivo é gerido pela empresa</translation>
 <translation id="1746730358044914197">Os métodos de introdução são configurados pelo gestor.</translation>
 <translation id="1747827819627189109">Teclado no ecrã ativado</translation>
@@ -46,6 +47,7 @@
 <translation id="1942830294380034169">Botão de sobrecarga</translation>
 <translation id="1951012854035635156">Assistente</translation>
 <translation id="1957803754585243749">0°</translation>
+<translation id="1957958912175573503">Definir o idioma</translation>
 <translation id="1969011864782743497"><ph name="DEVICE_NAME" /> (USB)</translation>
 <translation id="1995660704900986789">Desligar</translation>
 <translation id="2012624427112548395">Ctrl + Pesquisa + H</translation>
@@ -81,6 +83,8 @@
 <translation id="2653659639078652383">Submeter</translation>
 <translation id="2675319268637823299">Um administrador não permitiu o início de sessão integrado para <ph name="USER_EMAIL" />.
     Todos os utilizadores têm de terminar sessão para continuar.</translation>
+<translation id="2696763960464195425">As suas informações serão removidas quando terminar sessão. <ph name="LEARN_MORE" /></translation>
+<translation id="2700493154570097719">Definir o teclado</translation>
 <translation id="2718395828230677721">Luz noturna</translation>
 <translation id="2727977024730340865">Ligado a um carregador de baixo consumo. O carregamento da bateria pode não ser fiável.</translation>
 <translation id="2761704814324807722">Tabuleiro do estado, hora <ph name="TIME" />, <ph name="BATTERY" /></translation>
@@ -330,6 +334,7 @@
 <translation id="8673028979667498656">270°</translation>
 <translation id="8676770494376880701">Carregador de baixo consumo ligado</translation>
 <translation id="8734991477317290293">É possível que esteja a tentar roubar os seus toques de teclas.</translation>
+<translation id="8809737090443522491">Introduza o nome de uma aplicação ou de um documento.</translation>
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8814715559352963456">A movimentação de janelas para outro ambiente de trabalho pode provocar um comportamento inesperado.
 
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index 927a41a..aa4bbfe9 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -273,6 +273,7 @@
 <translation id="7098389117866926363">Kifaa cha USB-C (mlango wa kushoto nyuma)</translation>
 <translation id="7131634465328662194">Utaondolewa kwenye akaunti kiotomatiki.</translation>
 <translation id="7165278925115064263">Alt+Shift+K</translation>
+<translation id="7165511658052620796">(TEMP) Onyesha kidirisha cha kuingia katika akaunti ya webui; ikiwa imetumika ripoti hitilafu (crbug.com) au tuma maoni (alt+shift+i)</translation>
 <translation id="7168224885072002358">Inarejesha katika ubora wa zamani baada ya <ph name="TIMEOUT_SECONDS" /></translation>
 <translation id="7256634071279256947">Maikrofoni ya nyuma</translation>
 <translation id="726276584504105859">Buruta hapa ili utumie skrini iliyogawanywa</translation>
diff --git a/ash/system/power/tray_power.cc b/ash/system/power/tray_power.cc
index 7abdb3b8..197ca2c 100644
--- a/ash/system/power/tray_power.cc
+++ b/ash/system/power/tray_power.cc
@@ -149,13 +149,7 @@
 const char TrayPower::kUsbNotificationId[] = "usb-charger";
 
 TrayPower::TrayPower(SystemTray* system_tray, MessageCenter* message_center)
-    : SystemTrayItem(system_tray, UMA_POWER),
-      message_center_(message_center),
-      power_tray_(nullptr),
-      notification_state_(NOTIFICATION_NONE),
-      usb_charger_was_connected_(false),
-      line_power_was_connected_(false),
-      usb_notification_dismissed_(false) {
+    : SystemTrayItem(system_tray, UMA_POWER), message_center_(message_center) {
   PowerStatus::Get()->AddObserver(this);
 }
 
@@ -210,6 +204,7 @@
     battery_notification_->Update(notification_state_);
   }
 
+  battery_was_full_ = PowerStatus::Get()->IsBatteryFull();
   usb_charger_was_connected_ = PowerStatus::Get()->IsUsbChargerConnected();
   line_power_was_connected_ = PowerStatus::Get()->IsLinePowerConnected();
 }
@@ -218,11 +213,13 @@
   ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
   const PowerStatus& status = *PowerStatus::Get();
 
-  bool usb_charger_is_connected = status.IsUsbChargerConnected();
+  // We show the notification if a USB charger is connected but the battery
+  // isn't full (since some ECs may choose to use a lower power rail when the
+  // battery is full even when a high-power charger is connected).
+  const bool show = status.IsUsbChargerConnected() && !status.IsBatteryFull();
 
-  // Check for a USB charger being connected.
-  if (usb_charger_is_connected && !usb_charger_was_connected_ &&
-      !usb_notification_dismissed_) {
+  // Check if the notification needs to be created.
+  if (show && !usb_charger_was_connected_ && !usb_notification_dismissed_) {
     std::unique_ptr<Notification> notification =
         Notification::CreateSystemNotification(
             message_center::NOTIFICATION_TYPE_SIMPLE, kUsbNotificationId,
@@ -238,9 +235,9 @@
     notification->set_priority(message_center::SYSTEM_PRIORITY);
     message_center_->AddNotification(std::move(notification));
     return true;
-  } else if (!usb_charger_is_connected && usb_charger_was_connected_) {
-    // USB charger was unplugged or was identified as a different type while
-    // the USB charger notification was showing.
+  } else if (!show && usb_charger_was_connected_ && !battery_was_full_) {
+    // USB charger was unplugged or identified as a different type or battery
+    // reached the full state while the notification was showing.
     message_center_->RemoveNotification(kUsbNotificationId, false);
     if (!status.IsLinePowerConnected())
       usb_notification_dismissed_ = false;
diff --git a/ash/system/power/tray_power.h b/ash/system/power/tray_power.h
index c34d49f..8774b07 100644
--- a/ash/system/power/tray_power.h
+++ b/ash/system/power/tray_power.h
@@ -89,22 +89,25 @@
   bool UpdateNotificationStateForRemainingTime();
   bool UpdateNotificationStateForRemainingPercentage();
 
-  message_center::MessageCenter* message_center_;  // Not owned.
-  tray::PowerTrayView* power_tray_;
+  message_center::MessageCenter* message_center_ = nullptr;  // Not owned.
+  tray::PowerTrayView* power_tray_ = nullptr;
   std::unique_ptr<BatteryNotification> battery_notification_;
   std::unique_ptr<DualRoleNotification> dual_role_notification_;
-  NotificationState notification_state_;
+  NotificationState notification_state_ = NOTIFICATION_NONE;
+
+  // Was the battery full the last time OnPowerStatusChanged() was called?
+  bool battery_was_full_ = false;
 
   // Was a USB charger connected the last time OnPowerStatusChanged() was
   // called?
-  bool usb_charger_was_connected_;
+  bool usb_charger_was_connected_ = false;
 
   // Was line power connected the last time onPowerStatusChanged() was called?
-  bool line_power_was_connected_;
+  bool line_power_was_connected_ = false;
 
   // Has the user already dismissed a low-power notification? Should be set
   // back to false when all power sources are disconnected.
-  bool usb_notification_dismissed_;
+  bool usb_notification_dismissed_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(TrayPower);
 };
diff --git a/ash/system/power/tray_power_unittest.cc b/ash/system/power/tray_power_unittest.cc
index 2ad09cc..b3d5856 100644
--- a/ash/system/power/tray_power_unittest.cc
+++ b/ash/system/power/tray_power_unittest.cc
@@ -117,10 +117,12 @@
               message_center_->remove_count() == prev_remove + 1);
   }
 
-  void SetUsbChargerConnected(bool connected) {
+  void SetUsbChargerWasConnected(bool connected) {
     tray_power_->usb_charger_was_connected_ = connected;
   }
 
+  void SetBatteryWasFull(bool full) { tray_power_->battery_was_full_ = full; }
+
   // Returns a discharging PowerSupplyProperties more appropriate for testing.
   static PowerSupplyProperties DefaultPowerSupplyProperties() {
     PowerSupplyProperties proto;
@@ -155,7 +157,7 @@
   EXPECT_TRUE(MaybeShowUsbChargerNotification(usb_connected));
   EXPECT_EQ(1, message_center()->add_count());
   EXPECT_EQ(0, message_center()->remove_count());
-  SetUsbChargerConnected(true);
+  SetUsbChargerWasConnected(true);
 
   // Change in charge does not trigger the notification again.
   PowerSupplyProperties more_charge = DefaultPowerSupplyProperties();
@@ -172,13 +174,13 @@
   EXPECT_TRUE(MaybeShowUsbChargerNotification(discharging));
   EXPECT_EQ(1, message_center()->add_count());
   EXPECT_EQ(1, message_center()->remove_count());
-  SetUsbChargerConnected(false);
+  SetUsbChargerWasConnected(false);
 
   // Notification shows when connecting a USB charger again.
   EXPECT_TRUE(MaybeShowUsbChargerNotification(usb_connected));
   EXPECT_EQ(2, message_center()->add_count());
   EXPECT_EQ(1, message_center()->remove_count());
-  SetUsbChargerConnected(true);
+  SetUsbChargerWasConnected(true);
 
   // Notification hides when external power switches to AC.
   PowerSupplyProperties ac_charger = DefaultPowerSupplyProperties();
@@ -187,32 +189,73 @@
   EXPECT_TRUE(MaybeShowUsbChargerNotification(ac_charger));
   EXPECT_EQ(2, message_center()->add_count());
   EXPECT_EQ(2, message_center()->remove_count());
-  SetUsbChargerConnected(false);
+  SetUsbChargerWasConnected(false);
 
   // Notification shows when external power switches back to USB.
   EXPECT_TRUE(MaybeShowUsbChargerNotification(usb_connected));
   EXPECT_EQ(3, message_center()->add_count());
   EXPECT_EQ(2, message_center()->remove_count());
-  SetUsbChargerConnected(true);
+  SetUsbChargerWasConnected(true);
 
   // Notification does not re-appear after being manually dismissed if
   // power supply flickers between AC and USB charger.
   message_center()->RemoveNotification(TrayPower::kUsbNotificationId, true);
   EXPECT_EQ(3, message_center()->remove_count());
   EXPECT_TRUE(MaybeShowUsbChargerNotification(ac_charger));
-  SetUsbChargerConnected(false);
+  SetUsbChargerWasConnected(false);
   EXPECT_FALSE(MaybeShowUsbChargerNotification(usb_connected));
   EXPECT_EQ(3, message_center()->add_count());
-  SetUsbChargerConnected(true);
+  SetUsbChargerWasConnected(true);
 
   // Notification appears again after being manually dismissed if the charger
   // is removed, and then a USB charger is attached.
   MaybeShowUsbChargerNotification(discharging);
   EXPECT_EQ(3, message_center()->add_count());
-  SetUsbChargerConnected(false);
+  SetUsbChargerWasConnected(false);
   MaybeShowUsbChargerNotification(usb_connected);
   EXPECT_EQ(4, message_center()->add_count());
-  SetUsbChargerConnected(true);
+  SetUsbChargerWasConnected(true);
+}
+
+TEST_F(TrayPowerTest, AvoidUsbChargerNotificationWhenBatteryFull) {
+  PowerSupplyProperties full_proto;
+  full_proto.set_external_power(
+      power_manager::PowerSupplyProperties_ExternalPower_USB);
+  full_proto.set_battery_state(
+      power_manager::PowerSupplyProperties_BatteryState_FULL);
+  full_proto.set_battery_percent(100.0);
+  full_proto.set_is_calculating_battery_time(false);
+
+  PowerSupplyProperties not_full_proto;
+  not_full_proto.set_external_power(
+      power_manager::PowerSupplyProperties_ExternalPower_USB);
+  not_full_proto.set_battery_state(
+      power_manager::PowerSupplyProperties_BatteryState_CHARGING);
+  full_proto.set_battery_percent(90.0);
+  full_proto.set_is_calculating_battery_time(false);
+
+  // When the battery is reported as full, a notification shouldn't be displayed
+  // for a low-power charger: http://b/64913617
+  SetUsbChargerWasConnected(false);
+  SetBatteryWasFull(false);
+  EXPECT_FALSE(MaybeShowUsbChargerNotification(full_proto));
+  EXPECT_EQ(0, message_center()->add_count());
+  EXPECT_EQ(0, message_center()->remove_count());
+
+  // The notification should be displayed if the battery isn't full, though.
+  SetUsbChargerWasConnected(false);
+  SetBatteryWasFull(false);
+  EXPECT_TRUE(MaybeShowUsbChargerNotification(not_full_proto));
+  EXPECT_EQ(1, message_center()->add_count());
+  EXPECT_EQ(0, message_center()->remove_count());
+
+  // It should be dismissed if the battery becomes full again while the charger
+  // is still connected.
+  SetUsbChargerWasConnected(true);
+  SetBatteryWasFull(false);
+  EXPECT_TRUE(MaybeShowUsbChargerNotification(full_proto));
+  EXPECT_EQ(1, message_center()->add_count());
+  EXPECT_EQ(1, message_center()->remove_count());
 }
 
 TEST_F(TrayPowerTest, MaybeShowDualRoleNotification) {
diff --git a/ash/wm/splitview/split_view_controller.cc b/ash/wm/splitview/split_view_controller.cc
index 9e57fc8..22e397f 100644
--- a/ash/wm/splitview/split_view_controller.cc
+++ b/ash/wm/splitview/split_view_controller.cc
@@ -405,14 +405,8 @@
   // smoother resizing visual result.
   UpdateSnappedWindowsAndDividerBounds();
 
-  for (auto* window : {left_window_, right_window_}) {
-    if (window == nullptr)
-      continue;
-    wm::WindowState* window_state = wm::GetWindowState(window);
-    window_state->OnCompleteDrag(
-        GetEndDragLocationInScreen(window, location_in_screen));
-    window_state->DeleteDragDetails();
-  }
+  FinishWindowDrag(left_window_);
+  FinishWindowDrag(right_window_);
 
   // Need to update snapped windows bounds even if the split view mode may have
   // to exit. Otherwise it's possible for a snapped window stuck in the edge of
@@ -451,6 +445,14 @@
   if (!IsSplitViewModeActive())
     return;
 
+  // If we are currently in a resize but split view is ending, make sure to end
+  // the resize. This can happen, for example, on the transition back to
+  // clamshell mode or when a task is minimized during a resize.
+  if (is_resizing_) {
+    FinishWindowDrag(left_window_);
+    FinishWindowDrag(right_window_);
+  }
+
   // Remove observers when the split view mode ends.
   Shell::Get()->RemoveShellObserver(this);
   Shell::Get()->activation_client()->RemoveObserver(this);
@@ -983,6 +985,13 @@
     right_window_ = nullptr;
   }
 
+  if (is_resizing_) {
+    // If the window is minimized or destroyed before the resize ends, if/when
+    // EndResize() is eventually called, it will have no way of knowing that
+    // it should finish the drag for the destroyed window. So, do it here.
+    FinishWindowDrag(window);
+  }
+
   if (!left_window_ && !right_window_) {
     // If there is no snapped window at this moment, ends split view mode. Note
     // this will update overview window grid bounds if the overview mode is
@@ -1249,4 +1258,13 @@
     Shell::Get()->window_selector_controller()->ToggleOverview();
 }
 
+void SplitViewController::FinishWindowDrag(aura::Window* window) {
+  if (window != nullptr) {
+    wm::WindowState* window_state = wm::GetWindowState(window);
+    window_state->OnCompleteDrag(
+        GetEndDragLocationInScreen(window, previous_event_location_));
+    window_state->DeleteDragDetails();
+  }
+}
+
 }  // namespace ash
diff --git a/ash/wm/splitview/split_view_controller.h b/ash/wm/splitview/split_view_controller.h
index ad049731..9fd3ab7 100644
--- a/ash/wm/splitview/split_view_controller.h
+++ b/ash/wm/splitview/split_view_controller.h
@@ -303,6 +303,9 @@
   void StartOverview();
   void EndOverview();
 
+  // Finalizes and cleans up after a drag or resize is finished for a window.
+  void FinishWindowDrag(aura::Window* window);
+
   // Bindings for the SplitViewController interface.
   mojo::BindingSet<mojom::SplitViewController> bindings_;
 
diff --git a/ash/wm/splitview/split_view_controller_unittest.cc b/ash/wm/splitview/split_view_controller_unittest.cc
index 7b2fcd7..3dde1d3b 100644
--- a/ash/wm/splitview/split_view_controller_unittest.cc
+++ b/ash/wm/splitview/split_view_controller_unittest.cc
@@ -19,6 +19,7 @@
 #include "ash/wm/splitview/split_view_divider.h"
 #include "ash/wm/tablet_mode/tablet_mode_controller.h"
 #include "ash/wm/window_state.h"
+#include "ash/wm/window_state_delegate.h"
 #include "ash/wm/window_util.h"
 #include "ash/wm/wm_event.h"
 #include "base/stl_util.h"
@@ -110,6 +111,24 @@
   DISALLOW_COPY_AND_ASSIGN(SplitViewControllerTest);
 };
 
+class TestWindowStateDelegate : public wm::WindowStateDelegate {
+ public:
+  TestWindowStateDelegate() = default;
+  ~TestWindowStateDelegate() override = default;
+
+  // wm::WindowStateDelegate:
+  void OnDragStarted(int component) override { drag_in_progress_ = true; }
+  void OnDragFinished(bool cancel, const gfx::Point& location) override {
+    drag_in_progress_ = false;
+  }
+
+  bool drag_in_progress() { return drag_in_progress_; }
+
+ private:
+  bool drag_in_progress_ = false;
+  DISALLOW_COPY_AND_ASSIGN(TestWindowStateDelegate);
+};
+
 // Tests the basic functionalities.
 TEST_F(SplitViewControllerTest, Basic) {
   const gfx::Rect bounds(0, 0, 400, 400);
@@ -165,7 +184,7 @@
 
 // Tests that if there are two snapped windows, closing one of them will open
 // overview window grid on the closed window side of the screen. If there is
-// only one snapped windows, closing the sanpped window will end split view mode
+// only one snapped windows, closing the snapped window will end split view mode
 // and adjust the overview window grid bounds if the overview mode is active at
 // that moment.
 TEST_F(SplitViewControllerTest, WindowCloseTest) {
@@ -1266,4 +1285,133 @@
   EXPECT_TRUE(Shell::Get()->window_selector_controller()->IsSelecting());
 }
 
+// Tests that when split view ends because of a transition from tablet mode to
+// laptop mode during a resize operation, drags are properly completed.
+TEST_F(SplitViewControllerTest, ExitTabletModeDuringResizeCompletesDrags) {
+  const gfx::Rect bounds(0, 0, 400, 400);
+  std::unique_ptr<aura::Window> window1(CreateWindow(bounds));
+  std::unique_ptr<aura::Window> window2(CreateWindow(bounds));
+  auto* w1_state = wm::GetWindowState(window1.get());
+  auto* w2_state = wm::GetWindowState(window2.get());
+
+  // Setup delegates
+  auto* window_state_delegate1 = new TestWindowStateDelegate();
+  auto* window_state_delegate2 = new TestWindowStateDelegate();
+  w1_state->SetDelegate(base::WrapUnique(window_state_delegate1));
+  w2_state->SetDelegate(base::WrapUnique(window_state_delegate2));
+
+  // Set up windows.
+  split_view_controller()->SnapWindow(window1.get(), SplitViewController::LEFT);
+  split_view_controller()->SnapWindow(window2.get(),
+                                      SplitViewController::RIGHT);
+
+  // Start a drag but don't release the mouse button.
+  gfx::Rect divider_bounds =
+      split_view_divider()->GetDividerBoundsInScreen(false /* is_dragging */);
+  const int screen_width =
+      screen_util::GetDisplayWorkAreaBoundsInParent(window1.get()).width();
+  GetEventGenerator().set_current_location(divider_bounds.CenterPoint());
+  GetEventGenerator().PressLeftButton();
+  GetEventGenerator().MoveMouseTo(screen_width * 0.67f, 0);
+
+  // Drag is started for both windows.
+  EXPECT_TRUE(window_state_delegate1->drag_in_progress());
+  EXPECT_TRUE(window_state_delegate2->drag_in_progress());
+  EXPECT_NE(nullptr, w1_state->drag_details());
+  EXPECT_NE(nullptr, w2_state->drag_details());
+
+  // End tablet mode.
+  Shell::Get()->tablet_mode_controller()->EnableTabletModeWindowManager(false);
+
+  // Drag is ended for both windows.
+  EXPECT_EQ(nullptr, w1_state->drag_details());
+  EXPECT_EQ(nullptr, w2_state->drag_details());
+  EXPECT_FALSE(window_state_delegate1->drag_in_progress());
+  EXPECT_FALSE(window_state_delegate2->drag_in_progress());
+}
+
+// Tests that when a single window is present in split view mode is minimized
+// during a resize operation, then drags are properly completed.
+TEST_F(SplitViewControllerTest,
+       MinimizeSingleWindowDuringResizeCompletesDrags) {
+  const gfx::Rect bounds(0, 0, 400, 400);
+  std::unique_ptr<aura::Window> window1(CreateWindow(bounds));
+  auto* w1_state = wm::GetWindowState(window1.get());
+
+  // Setup delegate
+  auto* window_state_delegate1 = new TestWindowStateDelegate();
+  w1_state->SetDelegate(base::WrapUnique(window_state_delegate1));
+
+  // Set up window.
+  split_view_controller()->SnapWindow(window1.get(), SplitViewController::LEFT);
+
+  // Start a drag but don't release the mouse button.
+  gfx::Rect divider_bounds =
+      split_view_divider()->GetDividerBoundsInScreen(false /* is_dragging */);
+  const int screen_width =
+      screen_util::GetDisplayWorkAreaBoundsInParent(window1.get()).width();
+  GetEventGenerator().set_current_location(divider_bounds.CenterPoint());
+  GetEventGenerator().PressLeftButton();
+  GetEventGenerator().MoveMouseTo(screen_width * 0.67f, 0);
+
+  // Drag is started.
+  EXPECT_TRUE(window_state_delegate1->drag_in_progress());
+  EXPECT_NE(nullptr, w1_state->drag_details());
+
+  // Minimize the window.
+  wm::WMEvent minimize_event(wm::WM_EVENT_MINIMIZE);
+  wm::GetWindowState(window1.get())->OnWMEvent(&minimize_event);
+
+  // Drag is ended.
+  EXPECT_FALSE(window_state_delegate1->drag_in_progress());
+  EXPECT_EQ(nullptr, w1_state->drag_details());
+}
+
+// Tests that when two windows are present in split view mode and one of them
+// is minimized during a resize, then drags are properly completed.
+TEST_F(SplitViewControllerTest,
+       MinimizeOneOfTwoWindowsDuringResizeCompletesDrags) {
+  const gfx::Rect bounds(0, 0, 400, 400);
+  std::unique_ptr<aura::Window> window1(CreateWindow(bounds));
+  std::unique_ptr<aura::Window> window2(CreateWindow(bounds));
+  auto* w1_state = wm::GetWindowState(window1.get());
+  auto* w2_state = wm::GetWindowState(window2.get());
+
+  // Setup delegates
+  auto* window_state_delegate1 = new TestWindowStateDelegate();
+  auto* window_state_delegate2 = new TestWindowStateDelegate();
+  w1_state->SetDelegate(base::WrapUnique(window_state_delegate1));
+  w2_state->SetDelegate(base::WrapUnique(window_state_delegate2));
+
+  // Set up windows.
+  split_view_controller()->SnapWindow(window1.get(), SplitViewController::LEFT);
+  split_view_controller()->SnapWindow(window2.get(),
+                                      SplitViewController::RIGHT);
+
+  // Start a drag but don't release the mouse button.
+  gfx::Rect divider_bounds =
+      split_view_divider()->GetDividerBoundsInScreen(false /* is_dragging */);
+  const int screen_width =
+      screen_util::GetDisplayWorkAreaBoundsInParent(window1.get()).width();
+  GetEventGenerator().set_current_location(divider_bounds.CenterPoint());
+  GetEventGenerator().PressLeftButton();
+  GetEventGenerator().MoveMouseTo(screen_width * 0.67f, 0);
+
+  // Drag is started for both windows.
+  EXPECT_TRUE(window_state_delegate1->drag_in_progress());
+  EXPECT_TRUE(window_state_delegate2->drag_in_progress());
+  EXPECT_NE(nullptr, w1_state->drag_details());
+  EXPECT_NE(nullptr, w2_state->drag_details());
+
+  // Minimize the left window.
+  wm::WMEvent minimize_event(wm::WM_EVENT_MINIMIZE);
+  wm::GetWindowState(window1.get())->OnWMEvent(&minimize_event);
+
+  // Drag is ended just for the left window.
+  EXPECT_FALSE(window_state_delegate1->drag_in_progress());
+  EXPECT_TRUE(window_state_delegate2->drag_in_progress());
+  EXPECT_EQ(nullptr, w1_state->drag_details());
+  EXPECT_NE(nullptr, w2_state->drag_details());
+}
+
 }  // namespace ash
diff --git a/base/metrics/histogram_macros_unittest.cc b/base/metrics/histogram_macros_unittest.cc
index ab9c08ae..3c592b0 100644
--- a/base/metrics/histogram_macros_unittest.cc
+++ b/base/metrics/histogram_macros_unittest.cc
@@ -41,11 +41,17 @@
     SECOND_VALUE,
     THIRD_VALUE,
     kMaxValue = THIRD_VALUE,
+  };
+  UMA_HISTOGRAM_ENUMERATION("Test.ScopedEnumeration", TestEnum::FIRST_VALUE);
+
+  enum class TestEnum2 {
+    FIRST_VALUE,
+    SECOND_VALUE,
+    THIRD_VALUE,
     MAX_ENTRIES,
   };
-  UMA_HISTOGRAM_ENUMERATION("Test.ScopedEnumeration", TestEnum::SECOND_VALUE,
-                            TestEnum::MAX_ENTRIES);
-  UMA_HISTOGRAM_ENUMERATION("Test.ScopedEnumeration2", TestEnum::SECOND_VALUE);
+  UMA_HISTOGRAM_ENUMERATION("Test.ScopedEnumeration2", TestEnum2::SECOND_VALUE,
+                            TestEnum2::MAX_ENTRIES);
 }
 
 }  // namespace base
diff --git a/base/metrics/histogram_unittest.cc b/base/metrics/histogram_unittest.cc
index 97e7ad3..c692f275 100644
--- a/base/metrics/histogram_unittest.cc
+++ b/base/metrics/histogram_unittest.cc
@@ -85,11 +85,6 @@
   }
 
   void CreatePersistentHistogramAllocator() {
-    // By getting the results-histogram before any persistent allocator
-    // is attached, that histogram is guaranteed not to be stored in
-    // any persistent memory segment (which simplifies some tests).
-    GlobalHistogramAllocator::GetCreateHistogramResultHistogram();
-
     GlobalHistogramAllocator::CreateWithLocalMemory(
         kAllocatorMemorySize, 0, "HistogramAllocatorTest");
     allocator_ = GlobalHistogramAllocator::Get()->memory_allocator();
diff --git a/base/metrics/persistent_histogram_allocator.cc b/base/metrics/persistent_histogram_allocator.cc
index 6178b21..bfbb44b 100644
--- a/base/metrics/persistent_histogram_allocator.cc
+++ b/base/metrics/persistent_histogram_allocator.cc
@@ -33,9 +33,6 @@
 
 namespace {
 
-// Name of histogram for storing results of local operations.
-const char kResultHistogram[] = "UMA.CreatePersistentHistogram.Result";
-
 // Type identifiers used when storing in persistent memory so they can be
 // identified during extraction; the first 4 bytes of the SHA1 of the name
 // is used as a unique integer. A "version number" is added to the base
@@ -304,7 +301,6 @@
       // but that doesn't work because the allocated block may have been
       // aligned to the next boundary value.
       HashMetricName(data->name) != data->samples_metadata.id) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_INVALID_METADATA);
     NOTREACHED();
     return nullptr;
   }
@@ -323,10 +319,8 @@
   // This also allows differentiating on the dashboard between allocations
   // failed due to a corrupt allocator and the number of process instances
   // with one, the latter being idicated by "newly corrupt", below.
-  if (memory_allocator_->IsCorrupt()) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_ALLOCATOR_CORRUPT);
+  if (memory_allocator_->IsCorrupt())
     return nullptr;
-  }
 
   // Create the metadata necessary for a persistent sparse histogram. This
   // is done first because it is a small subset of what is required for
@@ -431,21 +425,8 @@
     return histogram;
   }
 
-  CreateHistogramResultType result;
-  if (memory_allocator_->IsCorrupt()) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_ALLOCATOR_NEWLY_CORRUPT);
-    result = CREATE_HISTOGRAM_ALLOCATOR_CORRUPT;
-  } else if (memory_allocator_->IsFull()) {
-    result = CREATE_HISTOGRAM_ALLOCATOR_FULL;
-  } else {
-    result = CREATE_HISTOGRAM_ALLOCATOR_ERROR;
-  }
-  RecordCreateHistogramResult(result);
-
-  // Crash for failures caused by internal bugs but not "full" which is
-  // dependent on outside code.
-  if (result != CREATE_HISTOGRAM_ALLOCATOR_FULL)
-    NOTREACHED() << memory_allocator_->Name() << ", error=" << result;
+  if (memory_allocator_->IsCorrupt())
+    NOTREACHED() << memory_allocator_->Name() << " is corrupt!";
 
   return nullptr;
 }
@@ -521,58 +502,9 @@
   subtle::NoBarrier_Store(&last_created_, 0);
 }
 
-// static
-HistogramBase*
-PersistentHistogramAllocator::GetCreateHistogramResultHistogram() {
-  // A value that can be stored in an AtomicWord as a flag. It must not be zero
-  // or a valid address.
-  constexpr subtle::AtomicWord kHistogramUnderConstruction = 1;
-
-  // This is a similar to LazyInstance but with return-if-under-construction
-  // rather than yielding the CPU until construction completes. This is
-  // necessary because the FactoryGet() below creates a histogram and thus
-  // recursively calls this method to try to store the result.
-
-  // Get the existing pointer. If the "under construction" flag is present,
-  // abort now. It's okay to return null from this method.
-  static subtle::AtomicWord atomic_histogram_pointer = 0;
-  subtle::AtomicWord histogram_value =
-      subtle::Acquire_Load(&atomic_histogram_pointer);
-  if (histogram_value == kHistogramUnderConstruction)
-    return nullptr;
-
-  // If a valid histogram pointer already exists, return it.
-  if (histogram_value)
-    return reinterpret_cast<HistogramBase*>(histogram_value);
-
-  // Set the "under construction" flag; abort if something has changed.
-  if (subtle::NoBarrier_CompareAndSwap(&atomic_histogram_pointer, 0,
-                                       kHistogramUnderConstruction) != 0) {
-    return nullptr;
-  }
-
-  // Only one thread can be here. Even recursion will be thwarted above.
-
-  if (GlobalHistogramAllocator::Get()) {
-    DVLOG(1) << "Creating the results-histogram inside persistent"
-             << " memory can cause future allocations to crash if"
-             << " that memory is ever released (for testing).";
-  }
-
-  HistogramBase* histogram_pointer = LinearHistogram::FactoryGet(
-      kResultHistogram, 1, CREATE_HISTOGRAM_MAX, CREATE_HISTOGRAM_MAX + 1,
-      HistogramBase::kUmaTargetedHistogramFlag);
-  subtle::Release_Store(
-      &atomic_histogram_pointer,
-      reinterpret_cast<subtle::AtomicWord>(histogram_pointer));
-
-  return histogram_pointer;
-}
-
 std::unique_ptr<HistogramBase> PersistentHistogramAllocator::CreateHistogram(
     PersistentHistogramData* histogram_data_ptr) {
   if (!histogram_data_ptr) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_INVALID_METADATA_POINTER);
     NOTREACHED();
     return nullptr;
   }
@@ -585,7 +517,6 @@
                                           &histogram_data_ptr->logged_metadata);
     DCHECK(histogram);
     histogram->SetFlags(histogram_data_ptr->flags);
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_SUCCESS);
     return histogram;
   }
 
@@ -616,7 +547,6 @@
   if (!ranges_data || histogram_bucket_count < 2 ||
       histogram_bucket_count >= max_buckets ||
       allocated_bytes < required_bytes) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_INVALID_RANGES_ARRAY);
     NOTREACHED();
     return nullptr;
   }
@@ -624,7 +554,6 @@
   std::unique_ptr<const BucketRanges> created_ranges = CreateRangesFromData(
       ranges_data, histogram_ranges_checksum, histogram_bucket_count + 1);
   if (!created_ranges) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_INVALID_RANGES_ARRAY);
     NOTREACHED();
     return nullptr;
   }
@@ -638,7 +567,6 @@
   if (counts_bytes == 0 ||
       (counts_ref != 0 &&
        memory_allocator_->GetAllocSize(counts_ref) < counts_bytes)) {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_INVALID_COUNTS_ARRAY);
     NOTREACHED();
     return nullptr;
   }
@@ -701,9 +629,6 @@
   if (histogram) {
     DCHECK_EQ(histogram_type, histogram->GetHistogramType());
     histogram->SetFlags(histogram_flags);
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_SUCCESS);
-  } else {
-    RecordCreateHistogramResult(CREATE_HISTOGRAM_UNKNOWN_TYPE);
   }
 
   return histogram;
@@ -740,14 +665,6 @@
   return StatisticsRecorder::RegisterOrDeleteDuplicate(existing);
 }
 
-// static
-void PersistentHistogramAllocator::RecordCreateHistogramResult(
-    CreateHistogramResultType result) {
-  HistogramBase* result_histogram = GetCreateHistogramResultHistogram();
-  if (result_histogram)
-    result_histogram->Add(result);
-}
-
 GlobalHistogramAllocator::~GlobalHistogramAllocator() = default;
 
 // static
@@ -1020,15 +937,6 @@
   const PersistentHistogramData* data;
   while ((data = iter.GetNextOfObject<PersistentHistogramData>()) != nullptr) {
     StatisticsRecorder::ForgetHistogramForTesting(data->name);
-
-    // If a test breaks here then a memory region containing a histogram
-    // actively used by this code is being released back to the test.
-    // If that memory segment were to be deleted, future calls to create
-    // persistent histograms would crash. To avoid this, have the test call
-    // the method GetCreateHistogramResultHistogram() *before* setting
-    // the (temporary) memory allocator via SetGlobalAllocator() so that
-    // histogram is instead allocated from the process heap.
-    DCHECK_NE(kResultHistogram, data->name);
   }
 
   subtle::Release_Store(&g_histogram_allocator, 0);
diff --git a/base/metrics/persistent_histogram_allocator.h b/base/metrics/persistent_histogram_allocator.h
index 3766ab1..395511f 100644
--- a/base/metrics/persistent_histogram_allocator.h
+++ b/base/metrics/persistent_histogram_allocator.h
@@ -287,9 +287,6 @@
   // operation without that optimization.
   void ClearLastCreatedReferenceForTesting();
 
-  // Histogram containing creation results. Visible for testing.
-  static HistogramBase* GetCreateHistogramResultHistogram();
-
  protected:
   // The structure used to hold histogram data in persistent memory. It is
   // defined and used entirely within the .cc file.
@@ -307,42 +304,6 @@
                                                             Reference ignore);
 
  private:
-  // Enumerate possible creation results for reporting.
-  enum CreateHistogramResultType {
-    // Everything was fine.
-    CREATE_HISTOGRAM_SUCCESS = 0,
-
-    // Pointer to metadata was not valid.
-    CREATE_HISTOGRAM_INVALID_METADATA_POINTER,
-
-    // Histogram metadata was not valid.
-    CREATE_HISTOGRAM_INVALID_METADATA,
-
-    // Ranges information was not valid.
-    CREATE_HISTOGRAM_INVALID_RANGES_ARRAY,
-
-    // Counts information was not valid.
-    CREATE_HISTOGRAM_INVALID_COUNTS_ARRAY,
-
-    // Could not allocate histogram memory due to corruption.
-    CREATE_HISTOGRAM_ALLOCATOR_CORRUPT,
-
-    // Could not allocate histogram memory due to lack of space.
-    CREATE_HISTOGRAM_ALLOCATOR_FULL,
-
-    // Could not allocate histogram memory due to unknown error.
-    CREATE_HISTOGRAM_ALLOCATOR_ERROR,
-
-    // Histogram was of unknown type.
-    CREATE_HISTOGRAM_UNKNOWN_TYPE,
-
-    // Instance has detected a corrupt allocator (recorded only once).
-    CREATE_HISTOGRAM_ALLOCATOR_NEWLY_CORRUPT,
-
-    // Always keep this at the end.
-    CREATE_HISTOGRAM_MAX
-  };
-
   // Create a histogram based on saved (persistent) information about it.
   std::unique_ptr<HistogramBase> CreateHistogram(
       PersistentHistogramData* histogram_data_ptr);
@@ -353,9 +314,6 @@
   HistogramBase* GetOrCreateStatisticsRecorderHistogram(
       const HistogramBase* histogram);
 
-  // Record the result of a histogram creation.
-  static void RecordCreateHistogramResult(CreateHistogramResultType result);
-
   // The memory allocator that provides the actual histogram storage.
   std::unique_ptr<PersistentMemoryAllocator> memory_allocator_;
 
diff --git a/base/metrics/persistent_histogram_allocator_unittest.cc b/base/metrics/persistent_histogram_allocator_unittest.cc
index c492a246..7e07386d 100644
--- a/base/metrics/persistent_histogram_allocator_unittest.cc
+++ b/base/metrics/persistent_histogram_allocator_unittest.cc
@@ -34,7 +34,6 @@
 
     GlobalHistogramAllocator::ReleaseForTesting();
     memset(allocator_memory_.get(), 0, kAllocatorMemorySize);
-    GlobalHistogramAllocator::GetCreateHistogramResultHistogram();
     GlobalHistogramAllocator::CreateWithPersistentMemory(
         allocator_memory_.get(), kAllocatorMemorySize, 0, 0,
         "PersistentHistogramAllocatorTest");
diff --git a/base/metrics/sparse_histogram_unittest.cc b/base/metrics/sparse_histogram_unittest.cc
index 0bf2167..72dd9054 100644
--- a/base/metrics/sparse_histogram_unittest.cc
+++ b/base/metrics/sparse_histogram_unittest.cc
@@ -59,11 +59,6 @@
   }
 
   void CreatePersistentMemoryAllocator() {
-    // By getting the results-histogram before any persistent allocator
-    // is attached, that histogram is guaranteed not to be stored in
-    // any persistent memory segment (which simplifies some tests).
-    GlobalHistogramAllocator::GetCreateHistogramResultHistogram();
-
     GlobalHistogramAllocator::CreateWithLocalMemory(
         kAllocatorMemorySize, 0, "SparseHistogramAllocatorTest");
     allocator_ = GlobalHistogramAllocator::Get()->memory_allocator();
diff --git a/base/metrics/statistics_recorder_unittest.cc b/base/metrics/statistics_recorder_unittest.cc
index 9e3197e..63ba136 100644
--- a/base/metrics/statistics_recorder_unittest.cc
+++ b/base/metrics/statistics_recorder_unittest.cc
@@ -63,10 +63,6 @@
   const int32_t kAllocatorMemorySize = 64 << 10;  // 64 KiB
 
   StatisticsRecorderTest() : use_persistent_histogram_allocator_(GetParam()) {
-    // Get this first so it never gets created in persistent storage and will
-    // not appear in the StatisticsRecorder after it is re-initialized.
-    PersistentHistogramAllocator::GetCreateHistogramResultHistogram();
-
     // Each test will have a clean state (no Histogram / BucketRanges
     // registered).
     InitializeStatisticsRecorder();
diff --git a/base/threading/thread_local_storage.cc b/base/threading/thread_local_storage.cc
index 265f505..dae54fbb 100644
--- a/base/threading/thread_local_storage.cc
+++ b/base/threading/thread_local_storage.cc
@@ -364,7 +364,7 @@
           base::subtle::NoBarrier_Load(&g_native_tls_key)));
   DCHECK_NE(tls_data, kDestroyed);
   if (!tls_data)
-    tls_data = ConstructTlsVector();
+    return nullptr;
   DCHECK_NE(slot_, kInvalidSlotValue);
   DCHECK_LT(slot_, kThreadLocalStorageSize);
   // Version mismatches means this slot was previously freed.
diff --git a/build/android/lint/suppressions.xml b/build/android/lint/suppressions.xml
index 5098c5b..3908242 100644
--- a/build/android/lint/suppressions.xml
+++ b/build/android/lint/suppressions.xml
@@ -264,6 +264,8 @@
   <issue id="ResourceType" severity="Error">
     <ignore regexp="/javatests/"/>
   </issue>
+  <!-- TODO(crbug.com/831774): Play Services starts complaining about RestrictedApi. Needs investigation -->
+  <issue id="RestrictedApi" severity="ignore"/>
   <issue id="RtlCompat" severity="ignore"/>
   <issue id="RtlEnabled" severity="ignore"/>
   <issue id="RtlSymmetry" severity="ignore"/>
diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn
index 7ac3dc8..0092f8d 100644
--- a/build/config/clang/BUILD.gn
+++ b/build/config/clang/BUILD.gn
@@ -45,6 +45,14 @@
       "no-realpath",
     ]
 
+    # TODO(dcheng): remove this once the plugin is updated and rolled again.
+    cflags += [
+      "-Xclang",
+      "-plugin-arg-find-bad-constructs",
+      "-Xclang",
+      "check-enum-max-value",
+    ]
+
     if (is_linux || is_android || is_fuchsia) {
       cflags += [
         "-Xclang",
diff --git a/build/fuchsia/update_sdk.py b/build/fuchsia/update_sdk.py
index 2d694b79..e47ec7a 100755
--- a/build/fuchsia/update_sdk.py
+++ b/build/fuchsia/update_sdk.py
@@ -21,7 +21,7 @@
 
 import find_depot_tools
 
-SDK_SUBIDRS = ["arch", "pkg", "qemu", "sysroot", "target",
+SDK_SUBDIRS = ["arch", "pkg", "qemu", "sysroot", "target",
                "toolchain_libs", "tools"]
 
 
@@ -36,8 +36,10 @@
   hash_file = os.path.join(path, '.hash')
   if os.path.exists(hash_file):
     print 'Removing old SDK from %s.' % path
-    for d in SDK_SUBIDRS:
-      shutil.rmtree(os.path.join(path, d))
+    for d in SDK_SUBDIRS:
+      to_remove = os.path.join(path, d)
+      if os.path.isdir(to_remove):
+        shutil.rmtree(to_remove)
     os.remove(hash_file)
 
 
diff --git a/build/install-build-deps.sh b/build/install-build-deps.sh
index 3df2786..1f78895 100755
--- a/build/install-build-deps.sh
+++ b/build/install-build-deps.sh
@@ -259,6 +259,7 @@
   libspeechd2
   libstdc++6
   libsqlite3-0
+  libwayland-egl1-mesa
   libx11-6
   libx11-xcb1
   libxau6
diff --git a/chrome/android/java/res/drawable-hdpi/context_menu_add_to_contacts.png b/chrome/android/java/res/drawable-hdpi/context_menu_add_to_contacts.png
deleted file mode 100644
index 03c47a3..0000000
--- a/chrome/android/java/res/drawable-hdpi/context_menu_add_to_contacts.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-hdpi/context_menu_load_image.png b/chrome/android/java/res/drawable-hdpi/context_menu_load_image.png
deleted file mode 100644
index fea2d3f..0000000
--- a/chrome/android/java/res/drawable-hdpi/context_menu_load_image.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-hdpi/context_menu_new_tab.png b/chrome/android/java/res/drawable-hdpi/context_menu_new_tab.png
deleted file mode 100644
index a292d83..0000000
--- a/chrome/android/java/res/drawable-hdpi/context_menu_new_tab.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-hdpi/context_menu_search.png b/chrome/android/java/res/drawable-hdpi/context_menu_search.png
deleted file mode 100644
index e1a1d96..0000000
--- a/chrome/android/java/res/drawable-hdpi/context_menu_search.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-mdpi/context_menu_add_to_contacts.png b/chrome/android/java/res/drawable-mdpi/context_menu_add_to_contacts.png
deleted file mode 100644
index bd279b3c..0000000
--- a/chrome/android/java/res/drawable-mdpi/context_menu_add_to_contacts.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-mdpi/context_menu_load_image.png b/chrome/android/java/res/drawable-mdpi/context_menu_load_image.png
deleted file mode 100644
index 44fe31a..0000000
--- a/chrome/android/java/res/drawable-mdpi/context_menu_load_image.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-mdpi/context_menu_new_tab.png b/chrome/android/java/res/drawable-mdpi/context_menu_new_tab.png
deleted file mode 100644
index d42fde0..0000000
--- a/chrome/android/java/res/drawable-mdpi/context_menu_new_tab.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-mdpi/context_menu_search.png b/chrome/android/java/res/drawable-mdpi/context_menu_search.png
deleted file mode 100644
index f01c866..0000000
--- a/chrome/android/java/res/drawable-mdpi/context_menu_search.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xhdpi/context_menu_add_to_contacts.png b/chrome/android/java/res/drawable-xhdpi/context_menu_add_to_contacts.png
deleted file mode 100644
index 6d08aa7..0000000
--- a/chrome/android/java/res/drawable-xhdpi/context_menu_add_to_contacts.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xhdpi/context_menu_load_image.png b/chrome/android/java/res/drawable-xhdpi/context_menu_load_image.png
deleted file mode 100644
index 1585918..0000000
--- a/chrome/android/java/res/drawable-xhdpi/context_menu_load_image.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xhdpi/context_menu_new_tab.png b/chrome/android/java/res/drawable-xhdpi/context_menu_new_tab.png
deleted file mode 100644
index ee037d386f..0000000
--- a/chrome/android/java/res/drawable-xhdpi/context_menu_new_tab.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xhdpi/context_menu_search.png b/chrome/android/java/res/drawable-xhdpi/context_menu_search.png
deleted file mode 100644
index 29672c2..0000000
--- a/chrome/android/java/res/drawable-xhdpi/context_menu_search.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxhdpi/context_menu_add_to_contacts.png b/chrome/android/java/res/drawable-xxhdpi/context_menu_add_to_contacts.png
deleted file mode 100644
index f92803e..0000000
--- a/chrome/android/java/res/drawable-xxhdpi/context_menu_add_to_contacts.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxhdpi/context_menu_load_image.png b/chrome/android/java/res/drawable-xxhdpi/context_menu_load_image.png
deleted file mode 100644
index 644cdf6c..0000000
--- a/chrome/android/java/res/drawable-xxhdpi/context_menu_load_image.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxhdpi/context_menu_new_tab.png b/chrome/android/java/res/drawable-xxhdpi/context_menu_new_tab.png
deleted file mode 100644
index b408d3c..0000000
--- a/chrome/android/java/res/drawable-xxhdpi/context_menu_new_tab.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxhdpi/context_menu_search.png b/chrome/android/java/res/drawable-xxhdpi/context_menu_search.png
deleted file mode 100644
index 5792f4e..0000000
--- a/chrome/android/java/res/drawable-xxhdpi/context_menu_search.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxxhdpi/context_menu_add_to_contacts.png b/chrome/android/java/res/drawable-xxxhdpi/context_menu_add_to_contacts.png
deleted file mode 100644
index 58a1101..0000000
--- a/chrome/android/java/res/drawable-xxxhdpi/context_menu_add_to_contacts.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxxhdpi/context_menu_load_image.png b/chrome/android/java/res/drawable-xxxhdpi/context_menu_load_image.png
deleted file mode 100644
index e97a5ec..0000000
--- a/chrome/android/java/res/drawable-xxxhdpi/context_menu_load_image.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxxhdpi/context_menu_new_tab.png b/chrome/android/java/res/drawable-xxxhdpi/context_menu_new_tab.png
deleted file mode 100644
index 6976c18..0000000
--- a/chrome/android/java/res/drawable-xxxhdpi/context_menu_new_tab.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxxhdpi/context_menu_search.png b/chrome/android/java/res/drawable-xxxhdpi/context_menu_search.png
deleted file mode 100644
index b386329..0000000
--- a/chrome/android/java/res/drawable-xxxhdpi/context_menu_search.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/layout/modal_dialog_view.xml b/chrome/android/java/res/layout/modal_dialog_view.xml
index fe5cf07a..61452f2 100644
--- a/chrome/android/java/res/layout/modal_dialog_view.xml
+++ b/chrome/android/java/res/layout/modal_dialog_view.xml
@@ -16,21 +16,36 @@
     <android.support.v7.widget.DialogTitle
         android:id="@+id/title"
         android:textAppearance="@style/BlackHeadline2"
+        android:visibility="gone"
         style="@style/AlertDialogContent" />
 
-    <ScrollView
+    <org.chromium.chrome.browser.widget.FadingEdgeScrollView
+        android:id="@+id/modal_dialog_scroll_view"
+        android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_weight="1"
-        style="@style/AlertDialogContent">
+        android:fadeScrollbars="false">
 
-        <org.chromium.ui.widget.TextViewWithLeading
-            android:id="@+id/message"
+        <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textAppearance="@style/BlackBody"
-            chrome:leading="20sp" />
+            android:orientation="vertical">
 
-    </ScrollView>
+            <android.support.v7.widget.DialogTitle
+                android:id="@+id/scrollable_title"
+                android:textAppearance="@style/BlackHeadline2"
+                android:visibility="gone"
+                style="@style/AlertDialogContent" />
+
+            <org.chromium.ui.widget.TextViewWithLeading
+                android:id="@+id/message"
+                android:textAppearance="@style/BlackBody"
+                chrome:leading="20sp"
+                style="@style/AlertDialogContent" />
+
+        </LinearLayout>
+
+    </org.chromium.chrome.browser.widget.FadingEdgeScrollView>
 
     <FrameLayout
         android:id="@+id/custom"
@@ -41,7 +56,7 @@
     <android.support.v7.widget.ButtonBarLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        style="?attr/buttonBarStyle" >
+        style="?attr/buttonBarStyle">
 
         <Button
             android:id="@+id/negative_button"
diff --git a/chrome/android/java/res/layout/tabular_context_menu_row.xml b/chrome/android/java/res/layout/tabular_context_menu_row.xml
index 08528936..ca2d96b 100644
--- a/chrome/android/java/res/layout/tabular_context_menu_row.xml
+++ b/chrome/android/java/res/layout/tabular_context_menu_row.xml
@@ -13,14 +13,6 @@
     android:minHeight="40dp"
     chrome:maxHeight="40dp"
     tools:ignore="UseCompoundDrawables">
-    <ImageView
-        android:id="@+id/context_menu_icon"
-        android:layout_width="20dp"
-        android:layout_height="match_parent"
-        android:paddingTop="10dp"
-        android:paddingBottom="10dp"
-        android:scaleType="centerInside"
-        android:contentDescription="@null" />
     <TextView
         android:id="@+id/context_menu_text"
         android:layout_width="0dp"
@@ -30,7 +22,7 @@
         android:textSize="15sp"
         android:textColor="#dd000000" />
     <ImageView
-        android:id="@+id/context_menu_share_icon"
+        android:id="@+id/context_menu_icon"
         android:layout_width="51dp"
         android:layout_height="match_parent"
         android:paddingTop="8dp"
diff --git a/chrome/android/java/res/values-v17/styles.xml b/chrome/android/java/res/values-v17/styles.xml
index 9e8ac85..93d15445 100644
--- a/chrome/android/java/res/values-v17/styles.xml
+++ b/chrome/android/java/res/values-v17/styles.xml
@@ -265,6 +265,7 @@
     <style name="AlertDialogContent">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">wrap_content</item>
+        <item name="android:textAlignment">viewStart</item>
         <item name="android:paddingStart">@dimen/dialog_padding_sides</item>
         <item name="android:paddingEnd">@dimen/dialog_padding_sides</item>
         <item name="android:paddingTop">@dimen/dialog_padding_top</item>
diff --git a/chrome/android/java/res_vr/drawable-nodpi/daydream_icon_foreground.dd.png b/chrome/android/java/res_vr/drawable-nodpi/daydream_icon_foreground.dd.png
index c5f6889..649252bde 100644
--- a/chrome/android/java/res_vr/drawable-nodpi/daydream_icon_foreground.dd.png
+++ b/chrome/android/java/res_vr/drawable-nodpi/daydream_icon_foreground.dd.png
Binary files differ
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 1ad08e6..332b1a6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2363,4 +2363,9 @@
     public float getLastActiveDensity() {
         return mDensityDpi;
     }
+
+    @VisibleForTesting
+    public ContextualSuggestionsCoordinator getContextualSuggestionsCoordinatorForTesting() {
+        return mContextualSuggestionsCoordinator;
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
index c0d3a90a..c467b2a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
@@ -6,84 +6,66 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
-import android.support.annotation.DrawableRes;
 import android.support.annotation.IdRes;
 import android.support.annotation.StringRes;
-import android.support.v7.content.res.AppCompatResources;
 
 import org.chromium.base.Callback;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.DefaultBrowserInfo;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
-import org.chromium.chrome.browser.widget.TintedDrawable;
 
 /**
  * List of all predefined Context Menu Items available in Chrome.
  */
 public enum ChromeContextMenuItem implements ContextMenuItem {
     // Custom Tab Group
-    OPEN_IN_NEW_CHROME_TAB(R.drawable.context_menu_new_tab,
+    OPEN_IN_NEW_CHROME_TAB(
             R.string.contextmenu_open_in_new_chrome_tab, R.id.contextmenu_open_in_new_chrome_tab),
-    OPEN_IN_CHROME_INCOGNITO_TAB(R.drawable.incognito_statusbar,
-            R.string.contextmenu_open_in_chrome_incognito_tab,
+    OPEN_IN_CHROME_INCOGNITO_TAB(R.string.contextmenu_open_in_chrome_incognito_tab,
             R.id.contextmenu_open_in_chrome_incognito_tab),
-    OPEN_IN_BROWSER_ID(R.drawable.context_menu_new_tab, 0, R.id.contextmenu_open_in_browser_id),
+    OPEN_IN_BROWSER_ID(0, R.id.contextmenu_open_in_browser_id),
 
     // Link Group
-    OPEN_IN_OTHER_WINDOW(R.drawable.context_menu_new_tab, R.string.contextmenu_open_in_other_window,
-            R.id.contextmenu_open_in_other_window),
-    OPEN_IN_NEW_TAB(R.drawable.context_menu_new_tab, R.string.contextmenu_open_in_new_tab,
-            R.id.contextmenu_open_in_new_tab),
-    OPEN_IN_INCOGNITO_TAB(R.drawable.incognito_statusbar,
+    OPEN_IN_OTHER_WINDOW(
+            R.string.contextmenu_open_in_other_window, R.id.contextmenu_open_in_other_window),
+    OPEN_IN_NEW_TAB(R.string.contextmenu_open_in_new_tab, R.id.contextmenu_open_in_new_tab),
+    OPEN_IN_INCOGNITO_TAB(
             R.string.contextmenu_open_in_incognito_tab, R.id.contextmenu_open_in_incognito_tab),
-    COPY_LINK_ADDRESS(R.drawable.ic_content_copy_black, R.string.contextmenu_copy_link_address,
-            R.id.contextmenu_copy_link_address),
-    COPY_LINK_TEXT(R.drawable.ic_content_copy_black, R.string.contextmenu_copy_link_text,
-            R.id.contextmenu_copy_link_text),
-    SAVE_LINK_AS(R.drawable.ic_file_download_white_24dp, R.string.contextmenu_save_link,
-            R.id.contextmenu_save_link_as),
+    COPY_LINK_ADDRESS(R.string.contextmenu_copy_link_address, R.id.contextmenu_copy_link_address),
+    COPY_LINK_TEXT(R.string.contextmenu_copy_link_text, R.id.contextmenu_copy_link_text),
+    SAVE_LINK_AS(R.string.contextmenu_save_link, R.id.contextmenu_save_link_as),
 
     // Image Group
-    LOAD_ORIGINAL_IMAGE(R.drawable.context_menu_load_image,
+    LOAD_ORIGINAL_IMAGE(
             R.string.contextmenu_load_original_image, R.id.contextmenu_load_original_image),
-    SAVE_IMAGE(R.drawable.ic_file_download_white_24dp, R.string.contextmenu_save_image,
-            R.id.contextmenu_save_image),
-    OPEN_IMAGE(R.drawable.context_menu_new_tab, R.string.contextmenu_open_image,
-            R.id.contextmenu_open_image),
-    OPEN_IMAGE_IN_NEW_TAB(R.drawable.context_menu_new_tab,
+    SAVE_IMAGE(R.string.contextmenu_save_image, R.id.contextmenu_save_image),
+    OPEN_IMAGE(R.string.contextmenu_open_image, R.id.contextmenu_open_image),
+    OPEN_IMAGE_IN_NEW_TAB(
             R.string.contextmenu_open_image_in_new_tab, R.id.contextmenu_open_image_in_new_tab),
-    SEARCH_BY_IMAGE(R.drawable.context_menu_search, R.string.contextmenu_search_web_for_image,
-            R.id.contextmenu_search_by_image),
+    SEARCH_BY_IMAGE(R.string.contextmenu_search_web_for_image, R.id.contextmenu_search_by_image),
 
     // Message Group
-    CALL(R.drawable.ic_phone_googblue_36dp, R.string.contextmenu_call, R.id.contextmenu_call),
-    SEND_MESSAGE(R.drawable.ic_email_googblue_36dp, R.string.contextmenu_send_message,
-            R.id.contextmenu_send_message),
-    ADD_TO_CONTACTS(R.drawable.context_menu_add_to_contacts, R.string.contextmenu_add_to_contacts,
-            R.id.contextmenu_add_to_contacts),
-    COPY(R.drawable.ic_content_copy_black, R.string.contextmenu_copy, R.id.contextmenu_copy),
+    CALL(R.string.contextmenu_call, R.id.contextmenu_call),
+    SEND_MESSAGE(R.string.contextmenu_send_message, R.id.contextmenu_send_message),
+    ADD_TO_CONTACTS(R.string.contextmenu_add_to_contacts, R.id.contextmenu_add_to_contacts),
+    COPY(R.string.contextmenu_copy, R.id.contextmenu_copy),
 
     // Video Group
-    SAVE_VIDEO(R.drawable.ic_file_download_white_24dp, R.string.contextmenu_save_video,
-            R.id.contextmenu_save_video),
+    SAVE_VIDEO(R.string.contextmenu_save_video, R.id.contextmenu_save_video),
 
     // Other
-    OPEN_IN_CHROME(R.drawable.context_menu_new_tab, R.string.menu_open_in_chrome,
-            R.id.contextmenu_open_in_chrome),
+    OPEN_IN_CHROME(R.string.menu_open_in_chrome, R.id.contextmenu_open_in_chrome),
 
     // Browser Action Items
-    BROWSER_ACTIONS_OPEN_IN_BACKGROUND(R.drawable.context_menu_new_tab,
+    BROWSER_ACTIONS_OPEN_IN_BACKGROUND(
             R.string.browser_actions_open_in_background, R.id.browser_actions_open_in_background),
-    BROWSER_ACTIONS_OPEN_IN_INCOGNITO_TAB(R.drawable.incognito_statusbar,
-            R.string.browser_actions_open_in_incognito_tab,
+    BROWSER_ACTIONS_OPEN_IN_INCOGNITO_TAB(R.string.browser_actions_open_in_incognito_tab,
             R.id.browser_actions_open_in_incognito_tab),
-    BROWSER_ACTION_SAVE_LINK_AS(R.drawable.ic_file_download_white_24dp,
+    BROWSER_ACTION_SAVE_LINK_AS(
             R.string.browser_actions_save_link_as, R.id.browser_actions_save_link_as),
-    BROWSER_ACTIONS_COPY_ADDRESS(R.drawable.ic_content_copy_black,
+    BROWSER_ACTIONS_COPY_ADDRESS(
             R.string.browser_actions_copy_address, R.id.browser_actions_copy_address);
 
-    @DrawableRes
-    private final int mIconId;
     @StringRes
     private final int mStringId;
     @IdRes
@@ -92,12 +74,10 @@
     /**
      * A representation of a Context Menu Item. Each item should have a string and an id associated
      * with it.
-     * @param iconId The icon that appears in {@link TabularContextMenuUi} to represent each item.
      * @param stringId The string that describes the action of the item.
      * @param menuId The id found in ids.xml.
      */
-    ChromeContextMenuItem(@DrawableRes int iconId, @StringRes int stringId, @IdRes int menuId) {
-        mIconId = iconId;
+    ChromeContextMenuItem(@StringRes int stringId, @IdRes int menuId) {
         mStringId = stringId;
         mMenuId = menuId;
     }
@@ -126,17 +106,7 @@
 
     @Override
     public void getDrawableAsync(Context context, Callback<Drawable> callback) {
-        Drawable drawable = null;
-        if (mIconId == R.drawable.context_menu_new_tab
-                || mIconId == R.drawable.context_menu_add_to_contacts
-                || mIconId == R.drawable.context_menu_load_image
-                || mIconId == R.drawable.ic_content_copy_black) {
-            drawable = AppCompatResources.getDrawable(context, mIconId);
-        } else if (mIconId != 0) {
-            drawable = TintedDrawable.constructTintedDrawable(
-                    context.getResources(), mIconId, R.color.light_normal_color);
-        }
-        callback.onResult(drawable);
+        callback.onResult(null);
     }
 
     @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/TabularContextMenuListAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/TabularContextMenuListAdapter.java
index 25f745a..60156e8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/TabularContextMenuListAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/TabularContextMenuListAdapter.java
@@ -7,6 +7,7 @@
 import android.app.Activity;
 import android.graphics.drawable.Drawable;
 import android.os.StrictMode;
+import android.text.TextUtils;
 import android.util.Pair;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -73,8 +74,6 @@
             if (viewHolder.mText == null) {
                 throw new IllegalStateException("Context text not found in new view inflation");
             }
-            viewHolder.mShareIcon =
-                    (ImageView) convertView.findViewById(R.id.context_menu_share_icon);
             viewHolder.mRightPadding =
                     (Space) convertView.findViewById(R.id.context_menu_right_padding);
 
@@ -88,7 +87,6 @@
 
         final String titleText = menuItem.getTitle(mActivity);
         viewHolder.mText.setText(titleText);
-        viewHolder.mIcon.setVisibility(View.GONE);
 
         if (menuItem instanceof ShareContextMenuItem) {
             StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
@@ -96,11 +94,11 @@
                 final Pair<Drawable, CharSequence> shareInfo =
                         ((ShareContextMenuItem) menuItem).getShareInfo();
                 if (shareInfo.first != null) {
-                    viewHolder.mShareIcon.setImageDrawable(shareInfo.first);
-                    viewHolder.mShareIcon.setVisibility(View.VISIBLE);
-                    viewHolder.mShareIcon.setContentDescription(mActivity.getString(
+                    viewHolder.mIcon.setImageDrawable(shareInfo.first);
+                    viewHolder.mIcon.setVisibility(View.VISIBLE);
+                    viewHolder.mIcon.setContentDescription(mActivity.getString(
                             R.string.accessibility_menu_share_via, shareInfo.second));
-                    viewHolder.mShareIcon.setOnClickListener(new View.OnClickListener() {
+                    viewHolder.mIcon.setOnClickListener(new View.OnClickListener() {
                         @Override
                         public void onClick(View view) {
                             mOnDirectShare.onResult(
@@ -113,8 +111,24 @@
                 StrictMode.setThreadPolicy(oldPolicy);
             }
         } else {
-            viewHolder.mShareIcon.setVisibility(View.GONE);
+            viewHolder.mIcon.setVisibility(View.GONE);
+            viewHolder.mIcon.setImageDrawable(null);
+            viewHolder.mIcon.setContentDescription(null);
+            viewHolder.mIcon.setOnClickListener(null);
             viewHolder.mRightPadding.setVisibility(View.VISIBLE);
+
+            Callback<Drawable> callback = drawable -> {
+                // If the current title does not match the title when triggering the callback,
+                // assume the View now represents a different view and do not update the icon.
+                if (!TextUtils.equals(titleText, viewHolder.mText.getText())) return;
+
+                if (drawable != null) {
+                    viewHolder.mIcon.setVisibility(View.VISIBLE);
+                    viewHolder.mIcon.setImageDrawable(drawable);
+                    viewHolder.mRightPadding.setVisibility(View.GONE);
+                }
+            };
+            menuItem.getDrawableAsync(mActivity, callback);
         }
 
         return convertView;
@@ -123,7 +137,6 @@
     private static class ViewHolderItem {
         ImageView mIcon;
         TextView mText;
-        ImageView mShareIcon;
         Space mRightPadding;
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsCoordinator.java
index 0f33aa4..f0e27ed0f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsCoordinator.java
@@ -6,6 +6,7 @@
 
 import android.support.annotation.Nullable;
 
+import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.browser.ChromeActivity;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate;
@@ -165,4 +166,14 @@
             mBottomSheetContent = null;
         }
     }
+
+    @VisibleForTesting
+    ContextualSuggestionsMediator getMediatorForTesting() {
+        return mMediator;
+    }
+
+    @VisibleForTesting
+    ContextualSuggestionsModel getModelForTesting() {
+        return mModel;
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependencyFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependencyFactory.java
new file mode 100644
index 0000000..918397b9
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependencyFactory.java
@@ -0,0 +1,62 @@
+// 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.contextual_suggestions;
+
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.VisibleForTesting;
+import org.chromium.chrome.browser.contextual_suggestions.EnabledStateMonitor.Observer;
+import org.chromium.chrome.browser.contextual_suggestions.FetchHelper.Delegate;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
+
+/**
+ * Provides an injection mechanism for dependencies of the contextual_suggestions package.
+ *
+ * This class is intended to handle creating the instances of the various classes that interact with
+ * native code, so that they can be easily swapped out during tests.
+ */
+class ContextualSuggestionsDependencyFactory {
+    private static ContextualSuggestionsDependencyFactory sInstance;
+
+    static ContextualSuggestionsDependencyFactory getInstance() {
+        ThreadUtils.assertOnUiThread();
+        if (sInstance == null) sInstance = new ContextualSuggestionsDependencyFactory();
+        return sInstance;
+    }
+
+    @VisibleForTesting
+    static void setInstanceForTesting(ContextualSuggestionsDependencyFactory testInstance) {
+        if (sInstance != null && testInstance != null) {
+            throw new IllegalStateException("A real instance already exists.");
+        }
+        sInstance = testInstance;
+    }
+
+    /**
+     * @param profile Profile of the user.
+     * @return A {@link ContextualSuggestionsSource} for getting contextual suggestions for
+     *         the current user.
+     */
+    ContextualSuggestionsSource createContextualSuggestionSource(Profile profile) {
+        return new ContextualSuggestionsSource(profile);
+    }
+
+    /**
+     * @param observer The {@link Observer} to be notified of changes to enabled state.
+     * @return An {@link EnabledStateMonitor}.
+     */
+    EnabledStateMonitor createEnabledStateMonitor(EnabledStateMonitor.Observer observer) {
+        return new EnabledStateMonitor(observer);
+    }
+
+    /**
+     * @param delegate The {@link Delegate} used to fetch suggestions.
+     * @param tabModelSelector The {@link TabModelSelector} for the containing Activity.
+     * @return A {@link FetchHelper}.
+     */
+    FetchHelper createFetchHelper(Delegate delegate, TabModelSelector tabModelSelector) {
+        return new FetchHelper(delegate, tabModelSelector);
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsEventReporter.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsEventReporter.java
index 2cc67db..1516bc5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsEventReporter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsEventReporter.java
@@ -44,8 +44,7 @@
         int eventId = windowOpenDisposition == WindowOpenDisposition.SAVE_TO_DISK
                 ? ContextualSuggestionsEvent.SUGGESTION_DOWNLOADED
                 : ContextualSuggestionsEvent.SUGGESTION_CLICKED;
-        mSuggestionSource.getBridge().reportEvent(
-                mTabModelSelector.getCurrentTab().getWebContents(), eventId);
+        mSuggestionSource.reportEvent(mTabModelSelector.getCurrentTab().getWebContents(), eventId);
     }
 
     @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsMediator.java
index a3c956c..15e55c2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsMediator.java
@@ -8,6 +8,7 @@
 import android.text.TextUtils;
 import android.view.View;
 
+import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
@@ -72,7 +73,9 @@
 
         // Create a state monitor that will alert this mediator if the enabled state for contextual
         // suggestions changes.
-        mEnabledStateMonitor = new EnabledStateMonitor(this);
+        mEnabledStateMonitor =
+                ContextualSuggestionsDependencyFactory.getInstance().createEnabledStateMonitor(
+                        this);
 
         fullscreenManager.addListener(new FullscreenListener() {
             @Override
@@ -131,8 +134,10 @@
     @Override
     public void onEnabledStateChanged(boolean enabled) {
         if (enabled) {
-            mSuggestionsSource = new ContextualSuggestionsSource(mProfile);
-            mFetchHelper = new FetchHelper(this, mTabModelSelector);
+            mSuggestionsSource = ContextualSuggestionsDependencyFactory.getInstance()
+                                         .createContextualSuggestionSource(mProfile);
+            mFetchHelper = ContextualSuggestionsDependencyFactory.getInstance().createFetchHelper(
+                    this, mTabModelSelector);
         } else {
             clearSuggestions();
 
@@ -151,7 +156,7 @@
     @Override
     public void requestSuggestions(String url) {
         mCurrentRequestUrl = url;
-        mSuggestionsSource.getBridge().fetchSuggestions(url, (suggestionsResult) -> {
+        mSuggestionsSource.fetchSuggestions(url, (suggestionsResult) -> {
             if (mSuggestionsSource == null) return;
 
             // Avoiding double fetches causing suggestions for incorrect context.
@@ -190,7 +195,7 @@
         mCoordinator.removeSuggestions();
         mCurrentRequestUrl = "";
 
-        if (mSuggestionsSource != null) mSuggestionsSource.getBridge().clearState();
+        if (mSuggestionsSource != null) mSuggestionsSource.clearState();
 
         if (mSheetObserver != null) {
             mCoordinator.removeBottomSheetObserver(mSheetObserver);
@@ -277,8 +282,7 @@
     }
 
     private void reportEvent(@ContextualSuggestionsEvent int event) {
-        mSuggestionsSource.getBridge().reportEvent(
-                mTabModelSelector.getCurrentTab().getWebContents(), event);
+        mSuggestionsSource.reportEvent(mTabModelSelector.getCurrentTab().getWebContents(), event);
     }
 
     private ClusterList generateClusterList(List<ContextualSuggestionsCluster> clusters) {
@@ -288,4 +292,9 @@
 
         return new ClusterList(clusters);
     }
+
+    @VisibleForTesting
+    void showContentInSheetForTesting() {
+        showContentInSheet();
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsSource.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsSource.java
index e0bf7a8..d492f60c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsSource.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsSource.java
@@ -7,10 +7,12 @@
 import android.graphics.Bitmap;
 
 import org.chromium.base.Callback;
+import org.chromium.chrome.browser.contextual_suggestions.ContextualSuggestionsBridge.ContextualSuggestionsResult;
 import org.chromium.chrome.browser.ntp.cards.SuggestionsCategoryInfo;
 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
 import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource;
 import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.content_public.browser.WebContents;
 
 import java.util.List;
 
@@ -18,7 +20,7 @@
  * Provides content for contextual suggestions.
  */
 class ContextualSuggestionsSource implements SuggestionsSource {
-    private final ContextualSuggestionsBridge mBridge;
+    private ContextualSuggestionsBridge mBridge;
 
     /**
      * Creates a ContextualSuggestionsSource for getting contextual suggestions for the current
@@ -27,6 +29,14 @@
      * @param profile Profile of the user.
      */
     ContextualSuggestionsSource(Profile profile) {
+        init(profile);
+    }
+
+    /**
+     * Initializes the ContextualSuggestionsSource. Intended to encapsulate creating connections
+     * to native code, so that this can be easily stubbed out during tests.
+     */
+    protected void init(Profile profile) {
         mBridge = new ContextualSuggestionsBridge(profile);
     }
 
@@ -53,11 +63,27 @@
     }
 
     /**
-     * @return The {@link ContextualSuggestionsBridge} used communicate with the contextual
-     *         suggestions C++ component.
+     * Fetches suggestions for a given URL.
+     * @param url URL for which to fetch suggestions.
+     * @param callback Callback used to return suggestions for a given URL.
      */
-    ContextualSuggestionsBridge getBridge() {
-        return mBridge;
+    void fetchSuggestions(String url, Callback<ContextualSuggestionsResult> callback) {
+        mBridge.fetchSuggestions(url, callback);
+    }
+
+    /**
+     * Reports an event happening in the context of the current URL.
+     *
+     * @param webContents Web contents with the document for which event is reported.
+     * @param eventId The Id of the reported event as a {@link ContextualSuggestionsEvent} integer.
+     */
+    void reportEvent(WebContents webContents, @ContextualSuggestionsEvent int eventId) {
+        mBridge.reportEvent(webContents, eventId);
+    }
+
+    /** Requests the backend to clear state. */
+    void clearState() {
+        mBridge.clearState();
     }
 
     // The following methods are not applicable to contextual suggestions.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/EnabledStateMonitor.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/EnabledStateMonitor.java
index ffbdcae..1df48fc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/EnabledStateMonitor.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/EnabledStateMonitor.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.contextual_suggestions;
 
+import org.chromium.base.VisibleForTesting;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrlServiceObserver;
 import org.chromium.chrome.browser.signin.SigninManager;
@@ -25,7 +26,8 @@
         void onEnabledStateChanged(boolean enabled);
     }
 
-    private final Observer mObserver;
+    @VisibleForTesting
+    protected Observer mObserver;
     private boolean mEnabled;
 
     /**
@@ -34,6 +36,16 @@
      */
     EnabledStateMonitor(Observer observer) {
         mObserver = observer;
+        init();
+    }
+
+    /**
+     * Initializes the EnabledStateMonitor. Intended to encapsulate creating connections to native
+     * code, so that this can be easily stubbed out during tests. This method should only be
+     * overridden for testing.
+     */
+    @VisibleForTesting
+    protected void init() {
         ProfileSyncService.get().addSyncStateChangedListener(this);
         SigninManager.get().addSignInStateObserver(this);
         TemplateUrlService.getInstance().addObserver(this);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/FetchHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/FetchHelper.java
index ccf0d772..89b0c2a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/FetchHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/FetchHelper.java
@@ -35,8 +35,8 @@
     }
 
     private final Delegate mDelegate;
-    private final TabModelSelectorTabModelObserver mTabModelObserver;
-    private final TabObserver mTabObserver;
+    private TabModelSelectorTabModelObserver mTabModelObserver;
+    private TabObserver mTabObserver;
 
     @Nullable
     private Tab mLastTab;
@@ -50,7 +50,14 @@
      */
     FetchHelper(Delegate delegate, TabModelSelector tabModelSelector) {
         mDelegate = delegate;
+        init(tabModelSelector);
+    }
 
+    /**
+     * Initializes the FetchHelper. Intended to encapsulate creating connections to native code,
+     * so that this can be easily stubbed out during tests.
+     */
+    protected void init(TabModelSelector tabModelSelector) {
         mTabObserver = new EmptyTabObserver() {
             @Override
             public void onUpdateUrl(Tab tab, String url) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/jsdialog/JavascriptModalDialogView.java b/chrome/android/java/src/org/chromium/chrome/browser/jsdialog/JavascriptModalDialogView.java
index aa76637..dc5427d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/jsdialog/JavascriptModalDialogView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/jsdialog/JavascriptModalDialogView.java
@@ -7,10 +7,8 @@
 import android.support.annotation.StringRes;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.CheckBox;
 import android.widget.EditText;
-import android.widget.TextView;
 
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.modaldialog.ModalDialogView;
@@ -19,10 +17,8 @@
  * The JavaScript dialog that is either app modal or tab modal.
  */
 public class JavascriptModalDialogView extends ModalDialogView {
-    private final TextView mMessageView;
     private final EditText mPromptEditText;
     private final CheckBox mSuppressCheckBox;
-    private final View mScrollView;
 
     /**
      * Create a {@link JavascriptModalDialogView} with the specified properties.
@@ -41,10 +37,12 @@
             @StringRes int positiveButtonTextId, @StringRes int negativeButtonTextId) {
         Params params = new Params();
         params.title = title;
+        params.message = message;
         params.positiveButtonTextId = positiveButtonTextId;
         params.negativeButtonTextId = negativeButtonTextId;
         LayoutInflater inflater = LayoutInflater.from(ModalDialogView.getContext());
         params.customView = inflater.inflate(R.layout.js_modal_dialog, null);
+        params.titleScrollable = true;
 
         return new JavascriptModalDialogView(
                 controller, params, message, promptText, shouldShowSuppressCheckBox);
@@ -54,34 +52,21 @@
             String promptText, boolean shouldShowSuppressCheckBox) {
         super(controller, params);
 
-        mScrollView = params.customView.findViewById(R.id.js_modal_dialog_scroll_view);
-        mMessageView = params.customView.findViewById(R.id.js_modal_dialog_message);
         mPromptEditText = params.customView.findViewById(R.id.js_modal_dialog_prompt);
         mSuppressCheckBox = params.customView.findViewById(R.id.suppress_js_modal_dialogs);
 
-        mMessageView.setText(message);
+        // TODO(huayinz): Remove this scroll view once JavaScript dialogs are fully switched to use
+        // ModalDialogView.
+        params.customView.findViewById(R.id.js_modal_dialog_scroll_view).setVisibility(View.GONE);
         setPromptText(promptText);
         setSuppressCheckBoxVisibility(shouldShowSuppressCheckBox);
-    }
 
-    @Override
-    protected void prepareBeforeShow() {
-        super.prepareBeforeShow();
-        // If the message is null or empty do not display the message text view.
-        // Hide parent scroll view instead of text view in order to prevent ui discrepancies.
-        if (mMessageView.getText().length() == 0) {
-            mScrollView.setVisibility(View.GONE);
-        } else {
-            // TODO(huayinz): See if View#canScrollVertictically() can be used for checking if
-            // scrollView is scrollable.
-            mScrollView.addOnLayoutChangeListener(
-                    (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
-                        boolean isScrollable =
-                                v.getMeasuredHeight() - v.getPaddingTop() - v.getPaddingBottom()
-                                < ((ViewGroup) v).getChildAt(0).getMeasuredHeight();
-                        v.setFocusable(isScrollable);
-                    });
-        }
+        View scrollView = getView().findViewById(R.id.modal_dialog_scroll_view);
+        scrollView.addOnLayoutChangeListener(
+                (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
+                    boolean isScrollable = v.canScrollVertically(-1) || v.canScrollVertically(1);
+                    v.setFocusable(isScrollable);
+                });
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ModalDialogView.java b/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ModalDialogView.java
index afdd6b8..6df8b10c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ModalDialogView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/ModalDialogView.java
@@ -14,10 +14,13 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
+import android.widget.LinearLayout.LayoutParams;
 import android.widget.TextView;
 
 import org.chromium.base.ContextUtils;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.widget.FadingEdgeScrollView;
+import org.chromium.ui.UiUtils;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -84,6 +87,12 @@
          * Optional: If true the dialog gets cancelled when the user touches outside of the dialog.
          */
         public boolean cancelOnTouchOutside;
+
+        /**
+         * Optional: If true, the dialog title is scrollable with the message. Note that the
+         * {@link #customView} will have height WRAP_CONTENT if this is set to true.
+         */
+        public boolean titleScrollable;
     }
 
     @IntDef({BUTTON_POSITIVE, BUTTON_NEGATIVE})
@@ -119,7 +128,8 @@
         mParams = params;
 
         mDialogView = LayoutInflater.from(getContext()).inflate(R.layout.modal_dialog_view, null);
-        mTitleView = mDialogView.findViewById(R.id.title);
+        mTitleView = mDialogView.findViewById(
+                mParams.titleScrollable ? R.id.scrollable_title : R.id.title);
         mMessageView = mDialogView.findViewById(R.id.message);
         mCustomView = mDialogView.findViewById(R.id.custom);
         mPositiveButton = mDialogView.findViewById(R.id.positive_button);
@@ -139,23 +149,26 @@
      * Prepare the contents before showing the dialog.
      */
     protected void prepareBeforeShow() {
-        if (TextUtils.isEmpty(mParams.title)) {
-            mTitleView.setVisibility(View.GONE);
-        } else {
+        FadingEdgeScrollView scrollView = mDialogView.findViewById(R.id.modal_dialog_scroll_view);
+
+        if (!TextUtils.isEmpty(mParams.title)) {
             mTitleView.setText(mParams.title);
+            mTitleView.setVisibility(View.VISIBLE);
         }
 
         if (TextUtils.isEmpty(mParams.message)) {
-            ((View) mMessageView.getParent()).setVisibility(View.GONE);
+            if (mParams.titleScrollable && mTitleView.getVisibility() != View.GONE) {
+                mMessageView.setVisibility(View.GONE);
+            } else {
+                scrollView.setVisibility(View.GONE);
+            }
         } else {
-            assert mParams.customView == null;
+            assert mParams.titleScrollable || mParams.customView == null;
             mMessageView.setText(mParams.message);
         }
 
         if (mParams.customView != null) {
-            if (mParams.customView.getParent() != null) {
-                ((ViewGroup) mParams.customView.getParent()).removeView(mParams.customView);
-            }
+            UiUtils.removeViewFromParent(mParams.customView);
             mCustomView.addView(mParams.customView);
         } else {
             mCustomView.setVisibility(View.GONE);
@@ -182,6 +195,16 @@
         } else {
             mNegativeButton.setVisibility(View.GONE);
         }
+
+        if (mParams.titleScrollable) {
+            LayoutParams layoutParams = (LayoutParams) mCustomView.getLayoutParams();
+            layoutParams.height = LayoutParams.WRAP_CONTENT;
+            layoutParams.weight = 0;
+            mCustomView.setLayoutParams(layoutParams);
+        } else {
+            scrollView.setEdgeVisibility(
+                    FadingEdgeScrollView.DRAW_NO_EDGE, FadingEdgeScrollView.DRAW_NO_EDGE);
+        }
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/TabModalPresenter.java b/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/TabModalPresenter.java
index 72fd1eed..86ca331 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/TabModalPresenter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/TabModalPresenter.java
@@ -116,7 +116,6 @@
             mRunEnterAnimationOnCallback = true;
         }
         mChromeActivity.addViewObscuringAllTabs(mDialogContainer);
-        updateContainerHierarchy(true);
     }
 
     @Override
@@ -291,7 +290,12 @@
                 .setDuration(mEnterExitAnimationDurationMs)
                 .alpha(1f)
                 .setInterpolator(BakedBezierInterpolator.FADE_IN_CURVE)
-                .setListener(null)
+                .setListener(new AnimatorListenerAdapter() {
+                    @Override
+                    public void onAnimationEnd(Animator animation) {
+                        updateContainerHierarchy(true);
+                    }
+                })
                 .start();
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
index 5b618b5..b454ae5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -321,16 +321,18 @@
                 transition = PageTransition.LINK | PageTransition.FROM_API;
                 break;
             case FROM_CHROME_UI:
-            case FROM_LONGPRESS_FOREGROUND:
             case FROM_LAUNCHER_SHORTCUT:
                 transition = PageTransition.AUTO_TOPLEVEL;
                 break;
+            case FROM_LONGPRESS_FOREGROUND:
+                transition = PageTransition.LINK;
+                break;
             case FROM_LONGPRESS_BACKGROUND:
                 // On low end devices tabs are backgrounded in a frozen state, so we set the
                 // transition type to RELOAD to avoid handling intents when the tab is foregrounded.
                 // (https://crbug.com/758027)
-                transition = SysUtils.isLowEndDevice() ? PageTransition.RELOAD
-                                                       : PageTransition.AUTO_TOPLEVEL;
+                transition =
+                        SysUtils.isLowEndDevice() ? PageTransition.RELOAD : PageTransition.LINK;
                 break;
             default:
                 assert false;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
index c86ea88..05646b6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -130,7 +130,7 @@
     private TabModelSelectorObserver mTabModelSelectorObserver;
     private TabModelObserver mTabModelObserver;
     private MenuDelegatePhone mMenuDelegatePhone;
-    private final ToolbarModelImpl mToolbarModel;
+    private final ToolbarModel mToolbarModel;
     private Profile mCurrentProfile;
     private BookmarkBridge mBookmarkBridge;
     private TemplateUrlServiceObserver mTemplateUrlObserver;
@@ -195,7 +195,7 @@
             mActionBarDelegate = new ViewShiftingActionBarDelegate(activity, controlContainer);
         }
 
-        mToolbarModel = new ToolbarModelImpl(activity.getBottomSheet(),
+        mToolbarModel = new ToolbarModel(activity.getBottomSheet(),
                 activity.supportsModernDesign() && FeatureUtilities.isChromeModernDesignEnabled());
         mControlContainer = controlContainer;
         assert mControlContainer != null;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModel.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModel.java
index e41efc2..3454805 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModel.java
@@ -4,33 +4,76 @@
 
 package org.chromium.chrome.browser.toolbar;
 
+import android.content.Context;
+import android.support.annotation.DrawableRes;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.base.VisibleForTesting;
 import org.chromium.base.annotations.CalledByNative;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ChromeFeatureList;
+import org.chromium.chrome.browser.ChromeTabbedActivity;
+import org.chromium.chrome.browser.UrlConstants;
+import org.chromium.chrome.browser.dom_distiller.DomDistillerServiceFactory;
+import org.chromium.chrome.browser.dom_distiller.DomDistillerTabUtils;
+import org.chromium.chrome.browser.locale.LocaleManager;
+import org.chromium.chrome.browser.ntp.NativePageFactory;
+import org.chromium.chrome.browser.ntp.NewTabPage;
+import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
+import org.chromium.chrome.browser.omnibox.AutocompleteController;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.search_engines.TemplateUrlService;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.util.ColorUtils;
+import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
+import org.chromium.components.dom_distiller.core.DomDistillerService;
+import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
+import org.chromium.components.security_state.ConnectionSecurityLevel;
 import org.chromium.content_public.browser.WebContents;
 
+import java.net.URI;
+
 /**
  * Provides a way of accessing toolbar data and state.
  */
-public class ToolbarModel {
-
-    /**
-     * Delegate for providing additional information to the model.
-     */
-    public interface ToolbarModelDelegate {
-        /**
-         * @return The currently active WebContents being used by the Toolbar.
-         */
-        @CalledByNative("ToolbarModelDelegate")
-        WebContents getActiveWebContents();
-    }
+public class ToolbarModel implements ToolbarDataProvider {
+    private final BottomSheet mBottomSheet;
+    private final boolean mUseModernDesign;
+    private Tab mTab;
+    private boolean mIsIncognito;
+    private int mPrimaryColor;
+    private boolean mIsUsingBrandColor;
+    /** Query in Omnibox cached values to avoid unnecessary expensive calls. */
+    private boolean mQueryInOmniboxEnabled;
+    private String mPreviousUrl;
+    @ConnectionSecurityLevel
+    private int mPreviousSecurityLevel;
+    private String mCachedSearchTerms;
+    private boolean mIgnoreSecurityLevelForSearchTerms;
 
     private long mNativeToolbarModelAndroid;
 
     /**
-     * Initialize the native counterpart of this model.
-     * @param delegate The delegate that will be used by the model.
+     * Default constructor for this class.
+     * @param bottomSheet The {@link BottomSheet} for the activity displaying this toolbar.
+     * @param useModernDesign Whether the modern design should be used for the toolbar represented
+     *                        by this model.
      */
-    public void initialize(ToolbarModelDelegate delegate) {
-        mNativeToolbarModelAndroid = nativeInit(delegate);
+    public ToolbarModel(@Nullable BottomSheet bottomSheet, boolean useModernDesign) {
+        mBottomSheet = bottomSheet;
+        mUseModernDesign = useModernDesign;
+        mPrimaryColor = ColorUtils.getDefaultThemeColor(
+                ContextUtils.getApplicationContext().getResources(), useModernDesign, false);
+    }
+
+    /**
+     * Handle any initialization that must occur after native has been initialized.
+     */
+    public void initializeWithNative() {
+        mNativeToolbarModelAndroid = nativeInit();
+        mQueryInOmniboxEnabled = ChromeFeatureList.isEnabled(ChromeFeatureList.QUERY_IN_OMNIBOX);
     }
 
     /**
@@ -42,6 +85,384 @@
         mNativeToolbarModelAndroid = 0;
     }
 
+    /**
+     * @return The currently active WebContents being used by the Toolbar.
+     */
+    @CalledByNative
+    private WebContents getActiveWebContents() {
+        if (!hasTab()) return null;
+        return mTab.getWebContents();
+    }
+
+    /**
+     * Sets the tab that contains the information to be displayed in the toolbar.
+     * @param tab The tab associated currently with the toolbar.
+     * @param isIncognito Whether the incognito model is currently selected, which must match the
+     *                    passed in tab if non-null.
+     */
+    public void setTab(Tab tab, boolean isIncognito) {
+        assert tab == null || tab.isIncognito() == isIncognito;
+        mTab = tab;
+        mIsIncognito = isIncognito;
+        updateUsingBrandColor();
+    }
+
+    @Override
+    public Tab getTab() {
+        return hasTab() ? mTab : null;
+    }
+
+    @Override
+    public boolean hasTab() {
+        // TODO(dtrainor, tedchoc): Remove the isInitialized() check when we no longer wait for
+        // TAB_CLOSED events to remove this tab.  Otherwise there is a chance we use this tab after
+        // {@link ChromeTab#destroy()} is called.
+        return mTab != null && mTab.isInitialized();
+    }
+
+    @Override
+    public String getCurrentUrl() {
+        // TODO(yusufo) : Consider using this for all calls from getTab() for accessing url.
+        if (!hasTab()) return "";
+
+        // Tab.getUrl() returns empty string if it does not have a URL.
+        return getTab().getUrl().trim();
+    }
+
+    @Override
+    public NewTabPage getNewTabPageForCurrentTab() {
+        if (hasTab() && mTab.getNativePage() instanceof NewTabPage) {
+            return (NewTabPage) mTab.getNativePage();
+        }
+        return null;
+    }
+
+    /**
+     * @return Whether a truncated URL should be shown in the display (non-editing) state of the
+     *         omnibox.
+     */
+    private boolean useTruncatedUrlForDisplay() {
+        if (!hasTab() || mTab.isFrozen()) return false;
+
+        if (!ChromeFeatureList.isEnabled(
+                    ChromeFeatureList.OMNIBOX_HIDE_SCHEME_DOMAIN_IN_STEADY_STATE)) {
+            return false;
+        }
+
+        String url = getCurrentUrl();
+        if (DomDistillerUrlUtils.isDistilledPage(url)) return false;
+        if (isOfflinePage()) return false;
+        if (shouldDisplaySearchTerms()) return false;
+        if (NativePageFactory.isNativePageUrl(url, isIncognito()) || NewTabPage.isNTPUrl(url)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public String getDisplayText() {
+        if (useTruncatedUrlForDisplay()) {
+            return getUrlForDisplay();
+        } else {
+            return getTextSuitableForEditing(false);
+        }
+    }
+
+    @Override
+    public String getEditingText() {
+        return getTextSuitableForEditing(true);
+    }
+
+    /**
+     * Generate the text that would be suitable to be shown while the user is editing the omnibox.
+     * This should be a closer approximation to the actual URL than that shown as the display URL.
+     *
+     * @param isEditing Whether the user is currently editing the omnibox.  A null return value
+     *                  while in editing, will ensure the original display text will be untouched.
+     * @return The more verbose text that is suitable for editing.
+     */
+    private String getTextSuitableForEditing(boolean isEditing) {
+        if (!hasTab()) return isEditing ? null : "";
+
+        String url = getCurrentUrl();
+        if (NativePageFactory.isNativePageUrl(url, isIncognito()) || NewTabPage.isNTPUrl(url)) {
+            return isEditing ? null : "";
+        }
+
+        String editingText = getFormattedFullUrl();
+        if (mTab.isFrozen()) return editingText;
+
+        if (isEditing && isShowingUntrustedOfflinePage()) {
+            editingText = "";
+        } else if (DomDistillerUrlUtils.isDistilledPage(url)) {
+            if (isStoredArticle(url)) {
+                DomDistillerService domDistillerService =
+                        DomDistillerServiceFactory.getForProfile(getProfile());
+                String originalUrl = domDistillerService.getUrlForEntry(
+                        DomDistillerUrlUtils.getValueForKeyInUrl(url, "entry_id"));
+                editingText =
+                        DomDistillerTabUtils.getFormattedUrlFromOriginalDistillerUrl(originalUrl);
+            } else if (DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(url) != null) {
+                String originalUrl = DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(url);
+                editingText =
+                        DomDistillerTabUtils.getFormattedUrlFromOriginalDistillerUrl(originalUrl);
+            }
+        } else if (isOfflinePage()) {
+            String originalUrl = mTab.getOriginalUrl();
+            editingText = OfflinePageUtils.stripSchemeFromOnlineUrl(
+                    DomDistillerTabUtils.getFormattedUrlFromOriginalDistillerUrl(originalUrl));
+        } else if (shouldDisplaySearchTerms()) {
+            // Show the search terms in the omnibox instead of the URL if this is a DSE search URL.
+            editingText = getDisplaySearchTerms(url);
+        }
+
+        return editingText;
+    }
+
+    private boolean isStoredArticle(String url) {
+        DomDistillerService domDistillerService =
+                DomDistillerServiceFactory.getForProfile(getProfile());
+        String entryIdFromUrl = DomDistillerUrlUtils.getValueForKeyInUrl(url, "entry_id");
+        if (TextUtils.isEmpty(entryIdFromUrl)) return false;
+        return domDistillerService.hasEntry(entryIdFromUrl);
+    }
+
+    @Override
+    public String getTitle() {
+        if (!hasTab()) return "";
+
+        String title = getTab().getTitle();
+        return TextUtils.isEmpty(title) ? title : title.trim();
+    }
+
+    @Override
+    public boolean isIncognito() {
+        return mIsIncognito;
+    }
+
+    @Override
+    public Profile getProfile() {
+        Profile lastUsedProfile = Profile.getLastUsedProfile();
+        if (mIsIncognito) {
+            assert lastUsedProfile.hasOffTheRecordProfile();
+            return lastUsedProfile.getOffTheRecordProfile();
+        }
+        return lastUsedProfile.getOriginalProfile();
+    }
+
+    /**
+     * Sets the primary color and changes the state for isUsingBrandColor.
+     * @param color The primary color for the current tab.
+     */
+    public void setPrimaryColor(int color) {
+        mPrimaryColor = color;
+        updateUsingBrandColor();
+    }
+
+    private void updateUsingBrandColor() {
+        Context context = ContextUtils.getApplicationContext();
+        mIsUsingBrandColor = !isIncognito()
+                && mPrimaryColor
+                        != ColorUtils.getDefaultThemeColor(
+                                   context.getResources(), mUseModernDesign, isIncognito())
+                && hasTab() && !mTab.isNativePage();
+    }
+
+    @Override
+    public int getPrimaryColor() {
+        return mPrimaryColor;
+    }
+
+    @Override
+    public boolean isUsingBrandColor() {
+        return mIsUsingBrandColor && mBottomSheet == null;
+    }
+
+    @Override
+    public boolean isOfflinePage() {
+        return hasTab() && OfflinePageUtils.isOfflinePage(mTab);
+    }
+
+    @Override
+    public boolean isShowingUntrustedOfflinePage() {
+        return isOfflinePage() && !OfflinePageUtils.isShowingTrustedOfflinePage(mTab);
+    }
+
+    @Override
+    public boolean shouldShowGoogleG(String urlBarText) {
+        LocaleManager localeManager = LocaleManager.getInstance();
+        if (localeManager.hasCompletedSearchEnginePromo()
+                || localeManager.hasShownSearchEnginePromoThisSession()) {
+            return false;
+        }
+
+        // Only access ChromeFeatureList and TemplateUrlService after the NTP check,
+        // to prevent native method calls before the native side has been initialized.
+        NewTabPage ntp = getNewTabPageForCurrentTab();
+        boolean isShownInRegularNtp = ntp != null && ntp.isLocationBarShownInNTP()
+                && ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SHOW_GOOGLE_G_IN_OMNIBOX);
+
+        return isShownInRegularNtp
+                && TemplateUrlService.getInstance().isDefaultSearchEngineGoogle();
+    }
+
+    @Override
+    public boolean shouldShowVerboseStatus() {
+        // Because is offline page is cleared a bit slower, we also ensure that connection security
+        // level is NONE or HTTP_SHOW_WARNING (http://crbug.com/671453).
+        int securityLevel = getSecurityLevel();
+        return isOfflinePage()
+                && (securityLevel == ConnectionSecurityLevel.NONE
+                           || securityLevel == ConnectionSecurityLevel.HTTP_SHOW_WARNING);
+    }
+
+    @Override
+    public int getSecurityLevel() {
+        Tab tab = getTab();
+        return getSecurityLevel(
+                tab, isOfflinePage(), tab == null ? null : tab.getTrustedCdnPublisherUrl());
+    }
+
+    @Override
+    public int getSecurityIconResource(boolean isTablet) {
+        // If we're showing a query in the omnibox, and the security level is high enough to show
+        // the search icon, return that instead of the security icon.
+        if (shouldDisplaySearchTerms()) {
+            return R.drawable.ic_search;
+        }
+        return getSecurityIconResource(getSecurityLevel(), !isTablet, isOfflinePage());
+    }
+
+    @VisibleForTesting
+    @ConnectionSecurityLevel
+    static int getSecurityLevel(Tab tab, boolean isOfflinePage, @Nullable String publisherUrl) {
+        if (tab == null || isOfflinePage) {
+            return ConnectionSecurityLevel.NONE;
+        }
+
+        int securityLevel = tab.getSecurityLevel();
+        if (publisherUrl != null) {
+            assert securityLevel != ConnectionSecurityLevel.DANGEROUS;
+            return (URI.create(publisherUrl).getScheme().equals(UrlConstants.HTTPS_SCHEME))
+                    ? ConnectionSecurityLevel.SECURE
+                    : ConnectionSecurityLevel.HTTP_SHOW_WARNING;
+        }
+        return securityLevel;
+    }
+
+    @VisibleForTesting
+    @DrawableRes
+    static int getSecurityIconResource(
+            int securityLevel, boolean isSmallDevice, boolean isOfflinePage) {
+        if (isOfflinePage) {
+            return R.drawable.offline_pin_round;
+        }
+
+        switch (securityLevel) {
+            case ConnectionSecurityLevel.NONE:
+                return isSmallDevice ? 0 : R.drawable.omnibox_info;
+            case ConnectionSecurityLevel.HTTP_SHOW_WARNING:
+                return R.drawable.omnibox_info;
+            case ConnectionSecurityLevel.DANGEROUS:
+                return R.drawable.omnibox_https_invalid;
+            case ConnectionSecurityLevel.SECURE_WITH_POLICY_INSTALLED_CERT:
+            case ConnectionSecurityLevel.SECURE:
+            case ConnectionSecurityLevel.EV_SECURE:
+                return R.drawable.omnibox_https_valid;
+            default:
+                assert false;
+        }
+        return 0;
+    }
+
+    @Override
+    public boolean shouldDisplaySearchTerms() {
+        return (mIgnoreSecurityLevelForSearchTerms || securityLevelSafeForQueryInOmnibox())
+                && isUrlApplicableToDisplaySearchTerms(getCurrentUrl());
+    }
+
+    private boolean isUrlApplicableToDisplaySearchTerms(String url) {
+        if (!mQueryInOmniboxEnabled) return false;
+        if (mTab != null && !(mTab.getActivity() instanceof ChromeTabbedActivity)) return false;
+        if (TextUtils.isEmpty(getDisplaySearchTerms(url))) return false;
+        return true;
+    }
+
+    private boolean securityLevelSafeForQueryInOmnibox() {
+        int securityLevel = getSecurityLevel();
+        return securityLevel == ConnectionSecurityLevel.SECURE
+                || securityLevel == ConnectionSecurityLevel.EV_SECURE;
+    }
+
+    /**
+     * Extracts query terms from a URL if it's a SRP URL from the default search engine, caching
+     * the result of the more expensive call to {@link #getDisplaySearchTermsInternal}.
+     *
+     * @param url The URL to extract search terms from.
+     * @return The search terms. Returns null if not a DSE SRP URL or there are no search terms to
+     *         extract, if query in omnibox is disabled, or if the security level is insufficient to
+     *         display search terms in place of SRP URL. This will also return nothing if the search
+     *         terms look too much like a URL, since we don't want to display URL look-a-likes with
+     *         "Query in Omnibox" to avoid confusion.
+     */
+    private String getDisplaySearchTerms(String url) {
+        if (url == null) {
+            mCachedSearchTerms = null;
+        } else {
+            @ConnectionSecurityLevel
+            int securityLevel = getSecurityLevel();
+            if (!url.equals(mPreviousUrl) || securityLevel != mPreviousSecurityLevel) {
+                mCachedSearchTerms = getDisplaySearchTermsInternal(url);
+                mPreviousUrl = url;
+                mPreviousSecurityLevel = securityLevel;
+            }
+        }
+        return mCachedSearchTerms;
+    }
+
+    /**
+     * Extracts query terms from a URL if it's a SRP URL from the default search engine, returning
+     * the cached result of the previous call if this call is being performed for the same URL and
+     * security level as last time.
+     *
+     * @param url The URL to extract search terms from.
+     * @return The search terms. Returns null if not a DSE SRP URL or there are no search terms to
+     *         extract, if query in omnibox is disabled, or if the security level is insufficient to
+     *         display search terms in place of SRP URL.
+     */
+    private String getDisplaySearchTermsInternal(String url) {
+        TemplateUrlService templateUrlService = TemplateUrlService.getInstance();
+        if (!templateUrlService.isSearchResultsPageFromDefaultSearchProvider(url)) return null;
+
+        String searchTerms = templateUrlService.extractSearchTermsFromUrl(url);
+        // Avoid showing search terms that would be interpreted as a URL if typed into the
+        // omnibox.
+        return looksLikeUrl(searchTerms) ? null : searchTerms;
+    }
+
+    /**
+     * Checks if the provided {@link String} look like a URL.
+     *
+     * @param input The {@link String} to check.
+     * @return Whether or not the {@link String} appeared to be a URL.
+     */
+    private boolean looksLikeUrl(String input) {
+        return !TextUtils.isEmpty(input)
+                && !TextUtils.isEmpty(AutocompleteController.nativeQualifyPartialURLQuery(input));
+    }
+
+    /**
+     * Sets a flag telling the model to ignore the security level in its check for whether to
+     * display search terms or not. This is useful for avoiding the flicker that occurs when loading
+     * a SRP URL before our SSL state updates.
+     *
+     * @param ignore Whether or not we should ignore the security level.
+     */
+    protected void setIgnoreSecurityLevelForSearchTerms(boolean ignore) {
+        mIgnoreSecurityLevelForSearchTerms = ignore;
+    }
+
     /** @return The formatted URL suitable for editing. */
     public String getFormattedFullUrl() {
         if (mNativeToolbarModelAndroid == 0) return null;
@@ -54,7 +475,7 @@
         return nativeGetURLForDisplay(mNativeToolbarModelAndroid);
     }
 
-    private native long nativeInit(ToolbarModelDelegate delegate);
+    private native long nativeInit();
     private native void nativeDestroy(long nativeToolbarModelAndroid);
     private native String nativeGetFormattedFullURL(long nativeToolbarModelAndroid);
     private native String nativeGetURLForDisplay(long nativeToolbarModelAndroid);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java
deleted file mode 100644
index 9678a2a..0000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java
+++ /dev/null
@@ -1,456 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.toolbar;
-
-import android.content.Context;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.Nullable;
-import android.text.TextUtils;
-
-import org.chromium.base.ContextUtils;
-import org.chromium.base.VisibleForTesting;
-import org.chromium.chrome.R;
-import org.chromium.chrome.browser.ChromeFeatureList;
-import org.chromium.chrome.browser.ChromeTabbedActivity;
-import org.chromium.chrome.browser.UrlConstants;
-import org.chromium.chrome.browser.dom_distiller.DomDistillerServiceFactory;
-import org.chromium.chrome.browser.dom_distiller.DomDistillerTabUtils;
-import org.chromium.chrome.browser.locale.LocaleManager;
-import org.chromium.chrome.browser.ntp.NativePageFactory;
-import org.chromium.chrome.browser.ntp.NewTabPage;
-import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
-import org.chromium.chrome.browser.omnibox.AutocompleteController;
-import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.search_engines.TemplateUrlService;
-import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.browser.toolbar.ToolbarModel.ToolbarModelDelegate;
-import org.chromium.chrome.browser.util.ColorUtils;
-import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
-import org.chromium.components.dom_distiller.core.DomDistillerService;
-import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
-import org.chromium.components.security_state.ConnectionSecurityLevel;
-import org.chromium.content_public.browser.WebContents;
-
-import java.net.URI;
-
-/**
- * Contains the data and state for the toolbar.
- */
-@VisibleForTesting
-public class ToolbarModelImpl
-        extends ToolbarModel implements ToolbarDataProvider, ToolbarModelDelegate {
-    private final BottomSheet mBottomSheet;
-    private final boolean mUseModernDesign;
-    private Tab mTab;
-    private boolean mIsIncognito;
-    private int mPrimaryColor;
-    private boolean mIsUsingBrandColor;
-
-    // Query in Omnibox cached values to avoid unnecessary expensive calls.
-    private boolean mQueryInOmniboxEnabled;
-    private String mPreviousUrl;
-    @ConnectionSecurityLevel
-    private int mPreviousSecurityLevel;
-    private String mCachedSearchTerms;
-
-    private boolean mIgnoreSecurityLevelForSearchTerms;
-
-    /**
-     * Default constructor for this class.
-     * @param bottomSheet The {@link BottomSheet} for the activity displaying this toolbar.
-     * @param useModernDesign Whether the modern design should be used for the toolbar represented
-     *                        by this model.
-     */
-    public ToolbarModelImpl(@Nullable BottomSheet bottomSheet, boolean useModernDesign) {
-        super();
-        mBottomSheet = bottomSheet;
-        mUseModernDesign = useModernDesign;
-        mPrimaryColor = ColorUtils.getDefaultThemeColor(
-                ContextUtils.getApplicationContext().getResources(), useModernDesign, false);
-    }
-
-    /**
-     * Handle any initialization that must occur after native has been initialized.
-     */
-    public void initializeWithNative() {
-        initialize(this);
-        mQueryInOmniboxEnabled = ChromeFeatureList.isEnabled(ChromeFeatureList.QUERY_IN_OMNIBOX);
-    }
-
-    @Override
-    public WebContents getActiveWebContents() {
-        if (!hasTab()) return null;
-        return mTab.getWebContents();
-    }
-
-    /**
-     * Sets the tab that contains the information to be displayed in the toolbar.
-     * @param tab The tab associated currently with the toolbar.
-     * @param isIncognito Whether the incognito model is currently selected, which must match the
-     *                    passed in tab if non-null.
-     */
-    public void setTab(Tab tab, boolean isIncognito) {
-        assert tab == null || tab.isIncognito() == isIncognito;
-        mTab = tab;
-        mIsIncognito = isIncognito;
-        updateUsingBrandColor();
-    }
-
-    @Override
-    public Tab getTab() {
-        return hasTab() ? mTab : null;
-    }
-
-    @Override
-    public boolean hasTab() {
-        // TODO(dtrainor, tedchoc): Remove the isInitialized() check when we no longer wait for
-        // TAB_CLOSED events to remove this tab.  Otherwise there is a chance we use this tab after
-        // {@link ChromeTab#destroy()} is called.
-        return mTab != null && mTab.isInitialized();
-    }
-
-    @Override
-    public String getCurrentUrl() {
-        // TODO(yusufo) : Consider using this for all calls from getTab() for accessing url.
-        if (!hasTab()) return "";
-
-        // Tab.getUrl() returns empty string if it does not have a URL.
-        return getTab().getUrl().trim();
-    }
-
-    @Override
-    public NewTabPage getNewTabPageForCurrentTab() {
-        if (hasTab() && mTab.getNativePage() instanceof NewTabPage) {
-            return (NewTabPage) mTab.getNativePage();
-        }
-        return null;
-    }
-
-    /**
-     * @return Whether a truncated URL should be shown in the display (non-editing) state of the
-     *         omnibox.
-     */
-    private boolean useTruncatedUrlForDisplay() {
-        if (!hasTab() || mTab.isFrozen()) return false;
-
-        if (!ChromeFeatureList.isEnabled(
-                    ChromeFeatureList.OMNIBOX_HIDE_SCHEME_DOMAIN_IN_STEADY_STATE)) {
-            return false;
-        }
-
-        String url = getCurrentUrl();
-        if (DomDistillerUrlUtils.isDistilledPage(url)) return false;
-        if (isOfflinePage()) return false;
-        if (shouldDisplaySearchTerms()) return false;
-        if (NativePageFactory.isNativePageUrl(url, isIncognito()) || NewTabPage.isNTPUrl(url)) {
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public String getDisplayText() {
-        if (useTruncatedUrlForDisplay()) {
-            return getUrlForDisplay();
-        } else {
-            return getTextSuitableForEditing(false);
-        }
-    }
-
-    @Override
-    public String getEditingText() {
-        return getTextSuitableForEditing(true);
-    }
-
-    /**
-     * Generate the text that would be suitable to be shown while the user is editing the omnibox.
-     * This should be a closer approximation to the actual URL than that shown as the display URL.
-     *
-     * @param isEditing Whether the user is currently editing the omnibox.  A null return value
-     *                  while in editing, will ensure the original display text will be untouched.
-     * @return The more verbose text that is suitable for editing.
-     */
-    private String getTextSuitableForEditing(boolean isEditing) {
-        if (!hasTab()) return isEditing ? null : "";
-
-        String url = getCurrentUrl();
-        if (NativePageFactory.isNativePageUrl(url, isIncognito()) || NewTabPage.isNTPUrl(url)) {
-            return isEditing ? null : "";
-        }
-
-        String editingText = getFormattedFullUrl();
-        if (mTab.isFrozen()) return editingText;
-
-        if (isEditing && isShowingUntrustedOfflinePage()) {
-            editingText = "";
-        } else if (DomDistillerUrlUtils.isDistilledPage(url)) {
-            if (isStoredArticle(url)) {
-                DomDistillerService domDistillerService =
-                        DomDistillerServiceFactory.getForProfile(getProfile());
-                String originalUrl = domDistillerService.getUrlForEntry(
-                        DomDistillerUrlUtils.getValueForKeyInUrl(url, "entry_id"));
-                editingText =
-                        DomDistillerTabUtils.getFormattedUrlFromOriginalDistillerUrl(originalUrl);
-            } else if (DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(url) != null) {
-                String originalUrl = DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(url);
-                editingText =
-                        DomDistillerTabUtils.getFormattedUrlFromOriginalDistillerUrl(originalUrl);
-            }
-        } else if (isOfflinePage()) {
-            String originalUrl = mTab.getOriginalUrl();
-            editingText = OfflinePageUtils.stripSchemeFromOnlineUrl(
-                    DomDistillerTabUtils.getFormattedUrlFromOriginalDistillerUrl(originalUrl));
-        } else if (shouldDisplaySearchTerms()) {
-            // Show the search terms in the omnibox instead of the URL if this is a DSE search URL.
-            editingText = getDisplaySearchTerms(url);
-        }
-
-        return editingText;
-    }
-
-    private boolean isStoredArticle(String url) {
-        DomDistillerService domDistillerService =
-                DomDistillerServiceFactory.getForProfile(getProfile());
-        String entryIdFromUrl = DomDistillerUrlUtils.getValueForKeyInUrl(url, "entry_id");
-        if (TextUtils.isEmpty(entryIdFromUrl)) return false;
-        return domDistillerService.hasEntry(entryIdFromUrl);
-    }
-
-    @Override
-    public String getTitle() {
-        if (!hasTab()) return "";
-
-        String title = getTab().getTitle();
-        return TextUtils.isEmpty(title) ? title : title.trim();
-    }
-
-    @Override
-    public boolean isIncognito() {
-        return mIsIncognito;
-    }
-
-    @Override
-    public Profile getProfile() {
-        Profile lastUsedProfile = Profile.getLastUsedProfile();
-        if (mIsIncognito) {
-            assert lastUsedProfile.hasOffTheRecordProfile();
-            return lastUsedProfile.getOffTheRecordProfile();
-        }
-        return lastUsedProfile.getOriginalProfile();
-    }
-
-    /**
-     * Sets the primary color and changes the state for isUsingBrandColor.
-     * @param color The primary color for the current tab.
-     */
-    public void setPrimaryColor(int color) {
-        mPrimaryColor = color;
-        updateUsingBrandColor();
-    }
-
-    private void updateUsingBrandColor() {
-        Context context = ContextUtils.getApplicationContext();
-        mIsUsingBrandColor = !isIncognito()
-                && mPrimaryColor
-                        != ColorUtils.getDefaultThemeColor(
-                                   context.getResources(), mUseModernDesign, isIncognito())
-                && hasTab() && !mTab.isNativePage();
-    }
-
-    @Override
-    public int getPrimaryColor() {
-        return mPrimaryColor;
-    }
-
-    @Override
-    public boolean isUsingBrandColor() {
-        return mIsUsingBrandColor && mBottomSheet == null;
-    }
-
-    @Override
-    public boolean isOfflinePage() {
-        return hasTab() && OfflinePageUtils.isOfflinePage(mTab);
-    }
-
-    @Override
-    public boolean isShowingUntrustedOfflinePage() {
-        return isOfflinePage() && !OfflinePageUtils.isShowingTrustedOfflinePage(mTab);
-    }
-
-    @Override
-    public boolean shouldShowGoogleG(String urlBarText) {
-        LocaleManager localeManager = LocaleManager.getInstance();
-        if (localeManager.hasCompletedSearchEnginePromo()
-                || localeManager.hasShownSearchEnginePromoThisSession()) {
-            return false;
-        }
-
-        // Only access ChromeFeatureList and TemplateUrlService after the NTP check,
-        // to prevent native method calls before the native side has been initialized.
-        NewTabPage ntp = getNewTabPageForCurrentTab();
-        boolean isShownInRegularNtp = ntp != null && ntp.isLocationBarShownInNTP()
-                && ChromeFeatureList.isEnabled(ChromeFeatureList.NTP_SHOW_GOOGLE_G_IN_OMNIBOX);
-
-        return isShownInRegularNtp
-                && TemplateUrlService.getInstance().isDefaultSearchEngineGoogle();
-    }
-
-    @Override
-    public boolean shouldShowVerboseStatus() {
-        // Because is offline page is cleared a bit slower, we also ensure that connection security
-        // level is NONE or HTTP_SHOW_WARNING (http://crbug.com/671453).
-        int securityLevel = getSecurityLevel();
-        return isOfflinePage()
-                && (securityLevel == ConnectionSecurityLevel.NONE
-                           || securityLevel == ConnectionSecurityLevel.HTTP_SHOW_WARNING);
-    }
-
-    @Override
-    public int getSecurityLevel() {
-        Tab tab = getTab();
-        return getSecurityLevel(
-                tab, isOfflinePage(), tab == null ? null : tab.getTrustedCdnPublisherUrl());
-    }
-
-    @Override
-    public int getSecurityIconResource(boolean isTablet) {
-        // If we're showing a query in the omnibox, and the security level is high enough to show
-        // the search icon, return that instead of the security icon.
-        if (shouldDisplaySearchTerms()) {
-            return R.drawable.ic_search;
-        }
-        return getSecurityIconResource(getSecurityLevel(), !isTablet, isOfflinePage());
-    }
-
-    @VisibleForTesting
-    @ConnectionSecurityLevel
-    static int getSecurityLevel(Tab tab, boolean isOfflinePage, @Nullable String publisherUrl) {
-        if (tab == null || isOfflinePage) {
-            return ConnectionSecurityLevel.NONE;
-        }
-
-        int securityLevel = tab.getSecurityLevel();
-        if (publisherUrl != null) {
-            assert securityLevel != ConnectionSecurityLevel.DANGEROUS;
-            return (URI.create(publisherUrl).getScheme().equals(UrlConstants.HTTPS_SCHEME))
-                    ? ConnectionSecurityLevel.SECURE
-                    : ConnectionSecurityLevel.HTTP_SHOW_WARNING;
-        }
-        return securityLevel;
-    }
-
-    @VisibleForTesting
-    @DrawableRes
-    static int getSecurityIconResource(
-            int securityLevel, boolean isSmallDevice, boolean isOfflinePage) {
-        if (isOfflinePage) {
-            return R.drawable.offline_pin_round;
-        }
-
-        switch (securityLevel) {
-            case ConnectionSecurityLevel.NONE:
-                return isSmallDevice ? 0 : R.drawable.omnibox_info;
-            case ConnectionSecurityLevel.HTTP_SHOW_WARNING:
-                return R.drawable.omnibox_info;
-            case ConnectionSecurityLevel.DANGEROUS:
-                return R.drawable.omnibox_https_invalid;
-            case ConnectionSecurityLevel.SECURE_WITH_POLICY_INSTALLED_CERT:
-            case ConnectionSecurityLevel.SECURE:
-            case ConnectionSecurityLevel.EV_SECURE:
-                return R.drawable.omnibox_https_valid;
-            default:
-                assert false;
-        }
-        return 0;
-    }
-
-    @Override
-    public boolean shouldDisplaySearchTerms() {
-        return (mIgnoreSecurityLevelForSearchTerms || securityLevelSafeForQueryInOmnibox())
-                && isUrlApplicableToDisplaySearchTerms(getCurrentUrl());
-    }
-
-    private boolean isUrlApplicableToDisplaySearchTerms(String url) {
-        if (!mQueryInOmniboxEnabled) return false;
-        if (mTab != null && !(mTab.getActivity() instanceof ChromeTabbedActivity)) return false;
-        if (TextUtils.isEmpty(getDisplaySearchTerms(url))) return false;
-        return true;
-    }
-
-    private boolean securityLevelSafeForQueryInOmnibox() {
-        int securityLevel = getSecurityLevel();
-        return securityLevel == ConnectionSecurityLevel.SECURE
-                || securityLevel == ConnectionSecurityLevel.EV_SECURE;
-    }
-
-    /**
-     * Extracts query terms from a URL if it's a SRP URL from the default search engine, caching
-     * the result of the more expensive call to {@link #getDisplaySearchTermsInternal}.
-     *
-     * @param url The URL to extract search terms from.
-     * @return The search terms. Returns null if not a DSE SRP URL or there are no search terms to
-     *         extract, if query in omnibox is disabled, or if the security level is insufficient to
-     *         display search terms in place of SRP URL. This will also return nothing if the search
-     *         terms look too much like a URL, since we don't want to display URL look-a-likes with
-     *         "Query in Omnibox" to avoid confusion.
-     */
-    private String getDisplaySearchTerms(String url) {
-        if (url == null) {
-            mCachedSearchTerms = null;
-        } else {
-            @ConnectionSecurityLevel
-            int securityLevel = getSecurityLevel();
-            if (!url.equals(mPreviousUrl) || securityLevel != mPreviousSecurityLevel) {
-                mCachedSearchTerms = getDisplaySearchTermsInternal(url);
-                mPreviousUrl = url;
-                mPreviousSecurityLevel = securityLevel;
-            }
-        }
-        return mCachedSearchTerms;
-    }
-
-    /**
-     * Extracts query terms from a URL if it's a SRP URL from the default search engine, returning
-     * the cached result of the previous call if this call is being performed for the same URL and
-     * security level as last time.
-     *
-     * @param url The URL to extract search terms from.
-     * @return The search terms. Returns null if not a DSE SRP URL or there are no search terms to
-     *         extract, if query in omnibox is disabled, or if the security level is insufficient to
-     *         display search terms in place of SRP URL.
-     */
-    private String getDisplaySearchTermsInternal(String url) {
-        TemplateUrlService templateUrlService = TemplateUrlService.getInstance();
-        if (!templateUrlService.isSearchResultsPageFromDefaultSearchProvider(url)) return null;
-
-        String searchTerms = templateUrlService.extractSearchTermsFromUrl(url);
-        // Avoid showing search terms that would be interpreted as a URL if typed into the
-        // omnibox.
-        return looksLikeUrl(searchTerms) ? null : searchTerms;
-    }
-
-    /**
-     * Checks if the provided {@link String} look like a URL.
-     *
-     * @param input The {@link String} to check.
-     * @return Whether or not the {@link String} appeared to be a URL.
-     */
-    private boolean looksLikeUrl(String input) {
-        return !TextUtils.isEmpty(input)
-                && !TextUtils.isEmpty(AutocompleteController.nativeQualifyPartialURLQuery(input));
-    }
-
-    /**
-     * Sets a flag telling the model to ignore the security level in its check for whether to
-     * display search terms or not. This is useful for avoiding the flicker that occurs when loading
-     * a SRP URL before our SSL state updates.
-     *
-     * @param ignore Whether or not we should ignore the security level.
-     */
-    protected void setIgnoreSecurityLevelForSearchTerms(boolean ignore) {
-        mIgnoreSecurityLevelForSearchTerms = ignore;
-    }
-}
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 a2cded4..183fd77 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
@@ -5,6 +5,7 @@
 package org.chromium.chrome.browser.vr;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.content.res.Configuration;
 import android.os.Build;
 import android.os.Bundle;
@@ -39,7 +40,19 @@
         try {
             super.onCreate(savedInstanceState);
 
-            if (!VrShellDelegate.isDaydreamReadyDevice()) {
+            // TODO(mthiesse, https://crbug.com/831175): Support WebVR launches on standalone VR
+            // devices.
+            if (!VrShellDelegate.deviceSupportsVrLaunches()) {
+                // If the device doesn't support VR launches, forward the intent back to the 2D
+                // launcher. We should only get here on standalone VR devices, or from bad intents
+                // probably sent by testers.
+                VrIntentUtils.removeVrExtras(getIntent());
+                getIntent().setComponent(null);
+                getIntent().setPackage(getPackageName());
+
+                // Daydream drops the MAIN action for unknown reasons...
+                if (getIntent().getAction() == null) getIntent().setAction(Intent.ACTION_MAIN);
+                startActivity(getIntent());
                 finish();
                 return;
             }
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_shell/EmptySniffingVrViewContainer.java
new file mode 100644
index 0000000..5d0fdd0
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/EmptySniffingVrViewContainer.java
@@ -0,0 +1,73 @@
+// 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.vr_shell;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.widget.FrameLayout;
+
+/**
+ * A {@link VrViewContainer} that is able to detect whether or not anything has been drawn inside
+ * of it.
+ *
+ * TODO(mthiesse): See if we can walk the view hierarchy to detect that no elements are visible
+ * rather than extending the canvas to detect whether draw calls were issued, and if that's actually
+ * faster.
+ */
+public class EmptySniffingVrViewContainer extends VrViewContainer {
+    private NoopCanvas mNoopCanvas;
+    private Boolean mEmpty;
+    private EmptyListener mListener;
+
+    /**
+     * Informs the listener when the VrViewContainer is and is not empty.
+     */
+    public static interface EmptyListener {
+        public void onVrViewEmpty();
+        public void onVrViewNonEmpty();
+    }
+
+    /**
+     * See {@link FrameLayout#FrameLayout(Context)}.
+     */
+    public EmptySniffingVrViewContainer(Context context, EmptyListener listener) {
+        super(context);
+        mListener = listener;
+    }
+
+    @Override
+    /* package */ void resize(int width, int height) {
+        mNoopCanvas = new NoopCanvas(Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888),
+                true /* preGenerateException */);
+        super.resize(width, height);
+        // Ensure we draw after creating the noop canvas.
+        postInvalidate();
+    }
+
+    @Override
+    protected void drawSuper(Canvas canvas) {
+        try {
+            if (mNoopCanvas != null) super.drawSuper(mNoopCanvas);
+            onEmpty();
+        } catch (NoopCanvas.NoopException exception) {
+            mNoopCanvas.restoreToCount(1);
+            super.drawSuper(canvas);
+            onNonEmpty();
+        }
+    }
+
+    private void onEmpty() {
+        if (mEmpty != null && mEmpty) return;
+        mEmpty = true;
+        mListener.onVrViewEmpty();
+    }
+
+    private void onNonEmpty() {
+        if (mEmpty != null && !mEmpty) return;
+        mEmpty = false;
+        mListener.onVrViewNonEmpty();
+    }
+}
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_shell/NoopCanvas.java
new file mode 100644
index 0000000..df7b7825
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/NoopCanvas.java
@@ -0,0 +1,274 @@
+// 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.vr_shell;
+
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Matrix;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.Picture;
+import android.graphics.PorterDuff.Mode;
+import android.graphics.Rect;
+import android.graphics.RectF;
+
+/**
+ * Canvas implementation that does not do any rendering, and throws an exception when anything tries
+ * to render anything using it.
+ */
+public class NoopCanvas extends Canvas {
+    /**
+     *  Thrown when the Canvas would have drawn something.
+     */
+    public static class NoopException extends RuntimeException {}
+
+    private NoopException mException = null;
+
+    /**
+     * @param bitmap The bitmap to create the Canvas from.
+     * @param preGenerateException If true, optimize performance by pre-generating the exception to
+     *        be thrown. This will make the exceptions stack trace meaningless.
+     */
+    NoopCanvas(Bitmap bitmap, boolean preGenerateException) {
+        super(bitmap);
+        // We promised not to render anything, so recycling the bitmap should be safe :)
+        bitmap.recycle();
+        if (preGenerateException) {
+            mException = new NoopException() {
+                @Override
+                public synchronized Throwable fillInStackTrace() {
+                    // Short-circuit stack trace generation since we don't care about it.
+                    return this;
+                }
+            };
+        }
+    }
+
+    @Override
+    public void drawRGB(int r, int g, int b) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawARGB(int a, int r, int g, int b) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawColor(int color) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawColor(int color, Mode mode) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPaint(Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPoints(float[] pts, int offset, int count, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPoints(float[] pts, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPoint(float x, float y, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawLine(float startX, float startY, float stopX, float stopY, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawLines(float[] pts, int offset, int count, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawLines(float[] pts, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawRect(RectF rect, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawRect(Rect r, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawRect(float left, float top, float right, float bottom, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawOval(RectF oval, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawOval(float left, float top, float right, float bottom, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawCircle(float cx, float cy, float radius, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawArc(
+            RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawArc(float left, float top, float right, float bottom, float startAngle,
+            float sweepAngle, boolean useCenter, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawRoundRect(
+            float left, float top, float right, float bottom, float rx, float ry, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPath(Path path, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmap(Bitmap bitmap, float left, float top, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmap(int[] colors, int offset, int stride, float x, float y, int width,
+            int height, boolean hasAlpha, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmap(int[] colors, int offset, int stride, int x, int y, int width,
+            int height, boolean hasAlpha, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawBitmapMesh(Bitmap bitmap, int meshWidth, int meshHeight, float[] verts,
+            int vertOffset, int[] colors, int colorOffset, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawVertices(VertexMode mode, int vertexCount, float[] verts, int vertOffset,
+            float[] texs, int texOffset, int[] colors, int colorOffset, short[] indices,
+            int indexOffset, int indexCount, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawText(char[] text, int index, int count, float x, float y, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawText(String text, float x, float y, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawText(String text, int start, int end, float x, float y, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawText(CharSequence text, int start, int end, float x, float y, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawTextRun(char[] text, int index, int count, int contextIndex, int contextCount,
+            float x, float y, boolean isRtl, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawTextRun(CharSequence text, int start, int end, int contextStart, int contextEnd,
+            float x, float y, boolean isRtl, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPosText(char[] text, int index, int count, float[] pos, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPosText(String text, float[] pos, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset,
+            float vOffset, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPicture(Picture picture) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPicture(Picture picture, RectF dst) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+
+    @Override
+    public void drawPicture(Picture picture, Rect dst) {
+        throw(mException == null) ? new NoopException() : mException;
+    }
+}
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_shell/VrIntentUtils.java
index 36fbe5f8..4e60412 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrIntentUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrIntentUtils.java
@@ -179,7 +179,7 @@
      */
     public static boolean maybeForwardToVrLauncher(Intent intent, Activity activity) {
         if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.O) return false;
-        if (wouldUse2DInVrRenderingMode(activity)) {
+        if (wouldUse2DInVrRenderingMode(activity) && VrShellDelegate.deviceSupportsVrLaunches()) {
             Intent vrIntent = new Intent(intent);
             vrIntent.setComponent(null);
             vrIntent.setPackage(activity.getPackageName());
@@ -214,7 +214,7 @@
     /**
      * Removes VR specific extras from the given intent to make it a non-VR intent.
      */
-    /* package */ static void removeVrExtras(Intent intent) {
+    public static void removeVrExtras(Intent intent) {
         if (intent == null) return;
         intent.removeCategory(DAYDREAM_CATEGORY);
         assert !isVrIntent(intent);
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_shell/VrShellDelegate.java
index b7b58d6..6b7a9c25 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java
@@ -60,7 +60,7 @@
 import org.chromium.content_public.browser.ScreenOrientationDelegateManager;
 import org.chromium.ui.UiUtils;
 import org.chromium.ui.display.DisplayAndroidManager;
-import org.chromium.ui.widget.popups.UiWidgetFactory;
+import org.chromium.ui.widget.UiWidgetFactory;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -655,7 +655,10 @@
      */
     public static void maybeHandleVrIntentPreNative(ChromeActivity activity, Intent intent) {
         if (!VrIntentUtils.isVrIntent(intent)) {
-            if (!VrIntentUtils.wouldUse2DInVrRenderingMode(activity)) return;
+            if (!VrIntentUtils.wouldUse2DInVrRenderingMode(activity)
+                    || !deviceSupportsVrLaunches()) {
+                return;
+            }
             // This is to handle intents that are sent directly to ChromeActivitys, bypassing the
             // launcher.
             intent.addCategory(VrIntentUtils.DAYDREAM_CATEGORY);
@@ -689,7 +692,7 @@
      */
     public static void setVrModeEnabled(Activity activity, boolean enabled) {
         VrClassesWrapper wrapper = getVrClassesWrapper();
-        if (wrapper == null) return;
+        if (wrapper == null || wrapper.bootsToVr()) return;
         ensureLifecycleObserverInitialized();
         if (enabled) {
             if (sVrModeEnabledActivitys.contains(activity)) return;
@@ -864,6 +867,10 @@
         return getVrClassesWrapper() != null && getVrClassesWrapper().isDaydreamReadyDevice();
     }
 
+    public static boolean deviceSupportsVrLaunches() {
+        return isDaydreamReadyDevice() && !getVrClassesWrapper().bootsToVr();
+    }
+
     // TODO(mthiesse): Should have package visibility only. We need to unify our vr and vr_shell
     // packages.
     public static boolean willChangeDensityInVr(ChromeActivity activity) {
@@ -930,7 +937,7 @@
      *  @return Whether or not VR is supported on this platform.
      */
     /* package */ static boolean isVrEnabled() {
-        return getVrClassesWrapper() != null;
+        return getVrClassesWrapper() != null && !getVrClassesWrapper().bootsToVr();
     }
 
     private static void addBlackOverlayViewForActivity(ChromeActivity activity) {
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_shell/VrShellImpl.java
index c034aea1..d178b650d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
@@ -66,7 +66,8 @@
 @JNINamespace("vr")
 public class VrShellImpl
         extends GvrLayout implements VrShell, SurfaceHolder.Callback,
-                                     VrInputMethodManagerWrapper.BrowserKeyboardInterface {
+                                     VrInputMethodManagerWrapper.BrowserKeyboardInterface,
+                                     EmptySniffingVrViewContainer.EmptyListener {
     private static final String TAG = "VrShellImpl";
     private static final float INCHES_TO_METERS = 0.0254f;
 
@@ -114,7 +115,7 @@
     private Runnable mOnVSyncPausedForTesting;
 
     private Surface mContentSurface;
-    private VrViewContainer mNonVrViews;
+    private EmptySniffingVrViewContainer mNonVrViews;
     private VrViewContainer mVrUiViewContainer;
     private FrameLayout mUiView;
     private ModalDialogManager mNonVrModalDialogManager;
@@ -272,11 +273,10 @@
         // into a texture when browsing in VR. See https://crbug.com/793430.
         View content = mActivity.getWindow().findViewById(android.R.id.content);
         ViewGroup parent = (ViewGroup) content.getParent();
-        VrViewContainer viewContainer = new VrViewContainer(mActivity);
+        mNonVrViews = new EmptySniffingVrViewContainer(mActivity, this);
         parent.removeView(content);
-        parent.addView(viewContainer);
-        viewContainer.addView(content);
-        mNonVrViews = viewContainer;
+        parent.addView(mNonVrViews);
+        mNonVrViews.addView(content);
     }
 
     private void injectVrHostedUiView() {
@@ -1026,6 +1026,16 @@
         button.callOnClick();
     }
 
+    @Override
+    public void onVrViewEmpty() {
+        if (mNativeVrShell != 0) nativeOnOverlayTextureEmptyChanged(mNativeVrShell, true);
+    }
+
+    @Override
+    public void onVrViewNonEmpty() {
+        if (mNativeVrShell != 0) nativeOnOverlayTextureEmptyChanged(mNativeVrShell, false);
+    }
+
     /**
      * Sets the callback that will be run when VrShellImpl's dispatchTouchEvent
      * is run and the parent consumed the event.
@@ -1147,4 +1157,5 @@
     private native VrInputConnection nativeGetVrInputConnectionForTesting(long nativeVrShell);
     private native void nativeAcceptDoffPromptForTesting(long nativeVrShell);
     private native void nativeResumeContentRendering(long nativeVrShell);
+    private native void nativeOnOverlayTextureEmptyChanged(long nativeVrShell, boolean empty);
 }
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_shell/VrUiWidgetFactory.java
index 808a7f15..539a98c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrUiWidgetFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrUiWidgetFactory.java
@@ -8,7 +8,7 @@
 import android.content.Context;
 import android.widget.PopupWindow;
 
-import org.chromium.ui.widget.popups.UiWidgetFactory;
+import org.chromium.ui.widget.UiWidgetFactory;
 
 /**
  * The factory that creates VR compatible UI widgets.
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_shell/VrViewContainer.java
index 5fcc1ac..dca46b8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrViewContainer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrViewContainer.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.vr_shell;
 
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Color;
@@ -54,6 +55,7 @@
         return false;
     }
 
+    @SuppressLint("MissingSuperCall")
     @Override
     public void draw(Canvas canvas) {
         if (mSurface == null) return;
@@ -70,13 +72,16 @@
             } else {
                 surfaceCanvas = mSurface.lockCanvas(null);
             }
-
             surfaceCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
-            super.draw(surfaceCanvas);
+            drawSuper(surfaceCanvas);
             mSurface.unlockCanvasAndPost(surfaceCanvas);
         }
     }
 
+    protected void drawSuper(Canvas canvas) {
+        super.draw(canvas);
+    }
+
     /* package */ View getInputTarget() {
         assert getChildCount() == 1;
         return getChildAt(0);
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
index cbfe92b..ef43fb9 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
@@ -284,6 +284,7 @@
 <translation id="3661699943263275414">يمكن للمواقع الإلكترونية التابعة لجهات خارجية حفظ بيانات ملفات تعريف الارتباط وقراءتها</translation>
 <translation id="3662546969139119822">لا يوجد سجلّ هنا</translation>
 <translation id="3672452749423051839">اقتراحات أخطاء التنقل</translation>
+<translation id="3692944402865947621">تعذّر تنزيل <ph name="FILE_NAME" /> نظرًا لعدم إمكانية الوصول إلى موقع سعة التخزين.</translation>
 <translation id="3712575778697986964">أترغب في إعادة ضبط توفير البيانات؟</translation>
 <translation id="3714981814255182093">فتح شريط البحث</translation>
 <translation id="3716182511346448902">‏تستهلك هذه الصفحة مساحة كبيرة من الذاكرة، لذلك أوقفها Chrome مؤقتًا.</translation>
@@ -320,6 +321,7 @@
 <translation id="4056223980640387499">بني داكن</translation>
 <translation id="4062305924942672200">المعلومات القانونية</translation>
 <translation id="4084682180776658562">إشارة</translation>
+<translation id="4084712963632273211">‏من <ph name="PUBLISHER_ORIGIN" /> – <ph name="BEGIN_DEEMPHASIZED" />تعرضه Google<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4084836577264234537">تم تنزيل <ph name="MEGABYTES" /> ميغابايت</translation>
 <translation id="4089831646916293264">قد تتداخل هذه الميزة مع إمكانية الوصول إلى خدمات البيانات المتميزة التي يقدّمها مشغّل شبكة الجوال.</translation>
 <translation id="4095146165863963773">هل ترغب في حذف بيانات التطبيق؟</translation>
@@ -370,6 +372,7 @@
 <translation id="4550003330909367850">عيّن قفل الشاشة على هذا الجهاز لعرض كلمة المرور أو نسخها هنا.</translation>
 <translation id="4558311620361989323">اختصارات صفحة الويب</translation>
 <translation id="4565377596337484307">إخفاء كلمة المرور</translation>
+<translation id="4570913071927164677">التفاصيل</translation>
 <translation id="4572422548854449519">تسجيل الدخول إلى الحساب المدار</translation>
 <translation id="4581964774250883625">لقد انتقلت إلى التصفح المتخفي.</translation>
 <translation id="4583164079174244168">{MINUTES,plural, =1{قبل دقيقة واحدة (#)}zero{قبل # دقيقة}two{قبل دقيقتين (#)}few{قبل # دقائق}many{قبل # دقيقة}other{قبل # دقيقة}}</translation>
@@ -546,6 +549,7 @@
 <translation id="60923314841986378">عدد الساعات المتبقية: <ph name="HOURS" /></translation>
 <translation id="60924377787140961">ستظهر المزيد من المقالات قريبًا. استمتع بقضاء وقت الظهيرة!</translation>
 <translation id="6108923351542677676">الإعداد قيد التقدّم…</translation>
+<translation id="6111020039983847643">البيانات المُستخدَمة</translation>
 <translation id="6112702117600201073">يتم الآن تحديث الصفحة</translation>
 <translation id="6127379762771434464">أُزيلَ عنصر</translation>
 <translation id="6138140242378429169">جعل الصفحة متوافقة مع الجوّال</translation>
@@ -698,6 +702,7 @@
 <translation id="748127970106343339">تأكيد حذف بيانات اعتماد الجهاز</translation>
 <translation id="7481312909269577407">إلى الأمام</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (تم التحديث منذ <ph name="TIME_SINCE_UPDATE" />)</translation>
+<translation id="7494974237137038751">البيانات التي تم توفيرها</translation>
 <translation id="7498271377022651285">يُرجى الانتظار...</translation>
 <translation id="7514365320538308">تنزيل</translation>
 <translation id="751961395872307827">يتعذّر الاتصال بالموقع</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
index 1be43c86..b12c264 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
@@ -497,7 +497,7 @@
 <translation id="5639724618331995626">Tillad alle websites</translation>
 <translation id="5648166631817621825">De seneste syv dage</translation>
 <translation id="5655963694829536461">Søg i dine downloads</translation>
-<translation id="5659593005791499971">E-mail</translation>
+<translation id="5659593005791499971">Mail</translation>
 <translation id="5665379678064389456">Opret begivenhed i <ph name="APP_NAME" /></translation>
 <translation id="5668404140385795438">Tilsidesæt en anmodning fra et website om at undgå at zoome ind</translation>
 <translation id="5676636989614905379">Videoen kan ikke afspilles på <ph name="SCREEN_NAME" />.</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 b86a3c97..26b1d04 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
@@ -284,6 +284,7 @@
 <translation id="3661699943263275414">Los sitios web de terceros pueden guardar y leer datos de cookies.</translation>
 <translation id="3662546969139119822">Aquí no hay elementos en el historial</translation>
 <translation id="3672452749423051839">Sugerencias relacionadas con errores de navegación</translation>
+<translation id="3692944402865947621">Falló la descarga de <ph name="FILE_NAME" /> porque no se puede acceder a la ubicación del almacenamiento.</translation>
 <translation id="3712575778697986964">¿Deseas restablecer Ahorro de datos?</translation>
 <translation id="3714981814255182093">Abrir la barra de búsqueda</translation>
 <translation id="3716182511346448902">Chrome pausó esta página porque usa demasiada memoria.</translation>
@@ -320,6 +321,7 @@
 <translation id="4056223980640387499">Sepia</translation>
 <translation id="4062305924942672200">Información legal</translation>
 <translation id="4084682180776658562">Marcador</translation>
+<translation id="4084712963632273211">De <ph name="PUBLISHER_ORIGIN" /> – <ph name="BEGIN_DEEMPHASIZED" />publicado por Google<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4084836577264234537">Descargas: <ph name="MEGABYTES" /> megabytes</translation>
 <translation id="4089831646916293264">Esta función puede interferir con el acceso a servicios de datos de alta calidad brindados por el proveedor.</translation>
 <translation id="4095146165863963773">¿Borrar datos de app?</translation>
@@ -369,6 +371,7 @@
 <translation id="4550003330909367850">Para ver o copiar tu contraseña aquí, establece un bloqueo de pantalla en este dispositivo.</translation>
 <translation id="4558311620361989323">Accesos directos a páginas web</translation>
 <translation id="4565377596337484307">Ocultar contraseña</translation>
+<translation id="4570913071927164677">Detalles</translation>
 <translation id="4572422548854449519">Acceder a una cuenta administrada</translation>
 <translation id="4581964774250883625">Estás en modo incógnito.</translation>
 <translation id="4583164079174244168">{MINUTES,plural, =1{Hace # minuto}other{Hace # minutos}}</translation>
@@ -545,6 +548,7 @@
 <translation id="60923314841986378"><ph name="HOURS" /> horas restantes</translation>
 <translation id="60924377787140961">Pronto se mostrarán más artículos. Disfruta tu tarde.</translation>
 <translation id="6108923351542677676">Configuración en curso…</translation>
+<translation id="6111020039983847643">datos que se utilizaron</translation>
 <translation id="6112702117600201073">Actualizando la página</translation>
 <translation id="6127379762771434464">Se eliminó el elemento</translation>
 <translation id="6138140242378429169">Optimizar la página para celulares</translation>
@@ -697,6 +701,7 @@
 <translation id="748127970106343339">Confirmar eliminación de credencial de dispositivo</translation>
 <translation id="7481312909269577407">Reenviar</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (actualización: <ph name="TIME_SINCE_UPDATE" />)</translation>
+<translation id="7494974237137038751">datos que se ahorraron</translation>
 <translation id="7498271377022651285">Espera un momento…</translation>
 <translation id="7514365320538308">Descargar</translation>
 <translation id="751961395872307827">No se puede conectar al sitio</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 8b04ade37..b5795de 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
@@ -284,6 +284,7 @@
 <translation id="3661699943263275414">Los sitios web externos pueden guardar y leer datos de cookies</translation>
 <translation id="3662546969139119822">Ningún elemento del historial</translation>
 <translation id="3672452749423051839">Sugerencias para errores de navegación</translation>
+<translation id="3692944402865947621">No se ha podido descargar <ph name="FILE_NAME" /> porque no se puede acceder a la ubicación del almacenamiento.</translation>
 <translation id="3712575778697986964">¿Quieres vaciar el historial de ahorro de datos?</translation>
 <translation id="3714981814255182093">Abre la barra de búsqueda</translation>
 <translation id="3716182511346448902">Esta página utiliza demasiada memoria y Chrome la ha pausado.</translation>
@@ -320,6 +321,7 @@
 <translation id="4056223980640387499">Sepia</translation>
 <translation id="4062305924942672200">Información legal</translation>
 <translation id="4084682180776658562">Marcador</translation>
+<translation id="4084712963632273211">De <ph name="PUBLISHER_ORIGIN" /> (<ph name="BEGIN_DEEMPHASIZED" />ofrecida por Google<ph name="END_DEEMPHASIZED" />)</translation>
 <translation id="4084836577264234537">MB descargados: <ph name="MEGABYTES" /></translation>
 <translation id="4089831646916293264">Esta función puede interferir con el acceso a servicios de datos premium ofrecidos por el operador.</translation>
 <translation id="4095146165863963773">¿Eliminar datos de la aplicación?</translation>
@@ -369,6 +371,7 @@
 <translation id="4550003330909367850">Para ver o copiar tu contraseña aquí, configura el bloqueo de pantalla en este dispositivo.</translation>
 <translation id="4558311620361989323">Combinaciones de teclas en páginas web</translation>
 <translation id="4565377596337484307">Ocultar contraseña</translation>
+<translation id="4570913071927164677">Detalles</translation>
 <translation id="4572422548854449519">Inicia sesión en la cuenta gestionada</translation>
 <translation id="4581964774250883625">Has iniciado una sesión de incógnito.</translation>
 <translation id="4583164079174244168">{MINUTES,plural, =1{Hace # minuto}other{Hace # minutos}}</translation>
@@ -545,6 +548,7 @@
 <translation id="60923314841986378">Quedan <ph name="HOURS" /> horas</translation>
 <translation id="60924377787140961">Próximamente se mostrarán más artículos. Disfruta de la tarde.</translation>
 <translation id="6108923351542677676">Configuración en curso…</translation>
+<translation id="6111020039983847643">datos utilizados</translation>
 <translation id="6112702117600201073">Actualizando página</translation>
 <translation id="6127379762771434464">Elemento quitado</translation>
 <translation id="6138140242378429169">Optimizar página para móviles</translation>
@@ -697,6 +701,7 @@
 <translation id="748127970106343339">Confirmar eliminación de credencial de dispositivo</translation>
 <translation id="7481312909269577407">Adelante</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (actualizada el <ph name="TIME_SINCE_UPDATE" />)</translation>
+<translation id="7494974237137038751">datos ahorrados</translation>
 <translation id="7498271377022651285">Espera…</translation>
 <translation id="7514365320538308">Descargar</translation>
 <translation id="751961395872307827">No se puede establecer conexión con el sitio web</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 3330ed3..3dce37b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
@@ -284,6 +284,7 @@
 <translation id="3661699943263275414">Trečiųjų šalių svetainės gali saugoti ir nuskaityti slapukų duomenis</translation>
 <translation id="3662546969139119822">Nėra istorijos elementų</translation>
 <translation id="3672452749423051839">Naršymo klaidų pasiūlymai</translation>
+<translation id="3692944402865947621">Nepavyko atsisiųsti „<ph name="FILE_NAME" />“, nes saugyklos vieta nepasiekiama.</translation>
 <translation id="3712575778697986964">Iš naujo nustatyti Duomenų taupymo priemonę?</translation>
 <translation id="3714981814255182093">Atidaryti radimo juostą</translation>
 <translation id="3716182511346448902">Šis puslapis naudoja per daug atminties, todėl „Chrome“ jį pristabdė.</translation>
@@ -320,6 +321,7 @@
 <translation id="4056223980640387499">Sepija</translation>
 <translation id="4062305924942672200">Teisinė informacija</translation>
 <translation id="4084682180776658562">Žymė</translation>
+<translation id="4084712963632273211">Nuo <ph name="PUBLISHER_ORIGIN" /> – <ph name="BEGIN_DEEMPHASIZED" />pateikė „Google“<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4084836577264234537">Atsisiųsta <ph name="MEGABYTES" /> MB</translation>
 <translation id="4089831646916293264">Ši funkcija gali trukdyti pasiekti papildomas operatoriaus teikiamas duomenų paslaugas.</translation>
 <translation id="4095146165863963773">Ištrinti programos duomenis?</translation>
@@ -369,6 +371,7 @@
 <translation id="4550003330909367850">Jei norite čia peržiūrėti ar nukopijuoti slaptažodį, nustatykite ekrano užraktą šiame įrenginyje.</translation>
 <translation id="4558311620361989323">Tinklalapių spartieji klavišai</translation>
 <translation id="4565377596337484307">Slėpti slaptažodį</translation>
+<translation id="4570913071927164677">Išsami informacija</translation>
 <translation id="4572422548854449519">Prisijungimas prie tvarkomos paskyros</translation>
 <translation id="4581964774250883625">Veikia inkognito režimas.</translation>
 <translation id="4583164079174244168">{MINUTES,plural, =1{Prieš 1 minutę}one{Prieš # minutę}few{Prieš # minutes}many{Prieš # minutės}other{Prieš # minučių}}</translation>
@@ -545,6 +548,7 @@
 <translation id="60923314841986378">Liko <ph name="HOURS" /> val.</translation>
 <translation id="60924377787140961">Netrukus bus rodoma daugiau straipsnių. Geros popietės!</translation>
 <translation id="6108923351542677676">Nustatoma…</translation>
+<translation id="6111020039983847643">išnaudoti duomenys</translation>
 <translation id="6112702117600201073">Puslapio atnaujinimas</translation>
 <translation id="6127379762771434464">Elementas pašalintas</translation>
 <translation id="6138140242378429169">Pritaikykite puslapį mobiliesiems</translation>
@@ -697,6 +701,7 @@
 <translation id="748127970106343339">Patvirtinti įrenginio prisijungimo duomenų ištrynimą</translation>
 <translation id="7481312909269577407">Persiųsti</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (atnaujinta <ph name="TIME_SINCE_UPDATE" />)</translation>
+<translation id="7494974237137038751">sutaupyti duomenys</translation>
 <translation id="7498271377022651285">Palaukite…</translation>
 <translation id="7514365320538308">Atsisiųsti</translation>
 <translation id="751961395872307827">Nepavyksta prisijungti prie svetainės</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 9f6efdf9..7a4eb018 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -284,6 +284,7 @@
 <translation id="3661699943263275414">Trešo pušu vietnes var saglabāt un lasīt sīkfailu datus</translation>
 <translation id="3662546969139119822">Nav vēstures</translation>
 <translation id="3672452749423051839">Navigācijas kļūdu ieteikumi</translation>
+<translation id="3692944402865947621">Faila <ph name="FILE_NAME" /> lejupielāde neizdevās, jo krātuves vieta nav sasniedzama.</translation>
 <translation id="3712575778697986964">Vai atiestatīt datu lietojuma samazinātāju?</translation>
 <translation id="3714981814255182093">Atvērt atrašanas joslu</translation>
 <translation id="3716182511346448902">Šī lapa izmanto pārāk daudz atmiņas, tādēļ Chrome to apturēja.</translation>
@@ -320,6 +321,7 @@
 <translation id="4056223980640387499">Sēpija</translation>
 <translation id="4062305924942672200">Juridiskā informācija</translation>
 <translation id="4084682180776658562">Grāmatzīme</translation>
+<translation id="4084712963632273211">No izdevēja <ph name="PUBLISHER_ORIGIN" /> — <ph name="BEGIN_DEEMPHASIZED" />nodrošina Google<ph name="END_DEEMPHASIZED" /></translation>
 <translation id="4084836577264234537">Lejupielādes: <ph name="MEGABYTES" /> MB</translation>
 <translation id="4089831646916293264">Šī funkcija var ietekmēt piekļuvi paaugstinātas maksas datu pakalpojumiem, kurus nodrošina jūsu mobilo sakaru operators.</translation>
 <translation id="4095146165863963773">Vai dzēst lietotnes datus?</translation>
@@ -369,6 +371,7 @@
 <translation id="4550003330909367850">Lai skatītu vai kopētu savu paroli šeit, iestatiet ekrāna bloķēšanu šajā ierīcē.</translation>
 <translation id="4558311620361989323">Tīmekļa lapu īsinājumtaustiņi</translation>
 <translation id="4565377596337484307">Slēpt paroli</translation>
+<translation id="4570913071927164677">Detalizēta informācija</translation>
 <translation id="4572422548854449519">Pierakstīšanās pārvaldītā kontā</translation>
 <translation id="4581964774250883625">Jūs esat atvēris inkognito režīmu.</translation>
 <translation id="4583164079174244168">{MINUTES,plural, =1{pirms # minūtes}zero{pirms # minūtēm}one{pirms # minūtes}other{pirms # minūtēm}}</translation>
@@ -545,6 +548,7 @@
 <translation id="60923314841986378">Atlikušas <ph name="HOURS" /> h</translation>
 <translation id="60924377787140961">Drīzumā būs pieejami citi raksti. Jauku pēcpusdienu!</translation>
 <translation id="6108923351542677676">Notiek iestatīšana...</translation>
+<translation id="6111020039983847643">Izmantotie dati</translation>
 <translation id="6112702117600201073">Lapas atsvaidzināšana</translation>
 <translation id="6127379762771434464">Vienums ir noņemts</translation>
 <translation id="6138140242378429169">Padarīt lapu piemērotu mobilajām ierīcēm</translation>
@@ -697,6 +701,7 @@
 <translation id="748127970106343339">Ierīces akreditācijas datu dzēšanas apstiprināšana</translation>
 <translation id="7481312909269577407">Pārsūtīt</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (atjaunināts: <ph name="TIME_SINCE_UPDATE" />)</translation>
+<translation id="7494974237137038751">Saglabātie dati</translation>
 <translation id="7498271377022651285">Lūdzu, uzgaidiet...</translation>
 <translation id="7514365320538308">Lejupielādēt</translation>
 <translation id="751961395872307827">Nevar izveidot savienojumu ar vietni.</translation>
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
index e3a537c..ae2ce62c 100644
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -300,6 +300,7 @@
   "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionCardViewHolder.java",
   "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsCluster.java",
   "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsCoordinator.java",
+  "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependencyFactory.java",
   "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsEventReporter.java",
   "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsMediator.java",
   "java/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsModel.java",
@@ -1290,7 +1291,6 @@
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarLayout.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarModel.java",
-  "java/src/org/chromium/chrome/browser/toolbar/ToolbarModelImpl.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarPhone.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabController.java",
   "java/src/org/chromium/chrome/browser/toolbar/ToolbarTablet.java",
@@ -1314,6 +1314,8 @@
   "java/src/org/chromium/chrome/browser/util/ViewUtils.java",
   "java/src/org/chromium/chrome/browser/vr/CustomTabVrActivity.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/VrCancelAnimationActivity.java",
   "java/src/org/chromium/chrome/browser/vr_shell/VrClassesWrapper.java",
@@ -1577,6 +1579,11 @@
   "javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchRequestTest.java",
   "javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java",
   "javatests/src/org/chromium/chrome/browser/contextualsearch/MockContextualSearchPolicy.java",
+  "javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependenciesRule.java",
+  "javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsTest.java",
+  "javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeContextualSuggestionsSource.java",
+  "javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeEnabledStateMonitor.java",
+  "javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeFetchHelper.java",
   "javatests/src/org/chromium/chrome/browser/crash/LogcatExtractionRunnableTest.java",
   "javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java",
   "javatests/src/org/chromium/chrome/browser/crash/PureJavaExceptionReporterTest.java",
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependenciesRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependenciesRule.java
new file mode 100644
index 0000000..1b92d10
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsDependenciesRule.java
@@ -0,0 +1,74 @@
+// 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.contextual_suggestions;
+
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
+
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
+
+/**
+ * Rule that allows mocking native dependencies of the contextual_suggestions package.
+ *
+ * The Factory members to override should be set before the main test rule is called to initialize
+ * the test activity.
+ *
+ * @see ContextualSuggestionsDependencyFactory
+ */
+public class ContextualSuggestionsDependenciesRule extends TestWatcher {
+    private TestFactory mFactory;
+
+    public TestFactory getFactory() {
+        return mFactory;
+    }
+
+    public ContextualSuggestionsDependenciesRule(TestFactory factory) {
+        mFactory = factory;
+    }
+
+    public ContextualSuggestionsDependenciesRule() {
+        this(new TestFactory());
+    }
+
+    @Override
+    protected void starting(Description description) {
+        ContextualSuggestionsDependencyFactory.setInstanceForTesting(mFactory);
+    }
+
+    @Override
+    protected void finished(Description description) {
+        ContextualSuggestionsDependencyFactory.setInstanceForTesting(null);
+    }
+
+    /**
+     * ContextualSuggestionsDependencyFactory that exposes and allows modifying the instances to be
+     * injected.
+     */
+    static class TestFactory extends ContextualSuggestionsDependencyFactory {
+        public ContextualSuggestionsSource suggestionsSource;
+        public EnabledStateMonitor enabledStateMonitor;
+        public FetchHelper fetchHelper;
+
+        @Override
+        ContextualSuggestionsSource createContextualSuggestionSource(Profile profile) {
+            if (suggestionsSource != null) return suggestionsSource;
+            return super.createContextualSuggestionSource(profile);
+        }
+
+        @Override
+        EnabledStateMonitor createEnabledStateMonitor(EnabledStateMonitor.Observer observer) {
+            if (enabledStateMonitor != null) return enabledStateMonitor;
+            return super.createEnabledStateMonitor(observer);
+        }
+
+        @Override
+        FetchHelper createFetchHelper(
+                FetchHelper.Delegate delegate, TabModelSelector tabModelSelector) {
+            if (fetchHelper != null) return fetchHelper;
+            return super.createFetchHelper(delegate, tabModelSelector);
+        }
+    }
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsTest.java
new file mode 100644
index 0000000..a8a8a84
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/ContextualSuggestionsTest.java
@@ -0,0 +1,141 @@
+// 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.contextual_suggestions;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.MediumTest;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.Feature;
+import org.chromium.base.test.util.Restriction;
+import org.chromium.chrome.browser.ChromeFeatureList;
+import org.chromium.chrome.browser.ChromeSwitches;
+import org.chromium.chrome.browser.widget.bottomsheet.BottomSheet;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
+import org.chromium.chrome.test.util.browser.ChromeModernDesign;
+import org.chromium.chrome.test.util.browser.Features;
+import org.chromium.chrome.test.util.browser.Features.EnableFeatures;
+import org.chromium.net.test.EmbeddedTestServer;
+import org.chromium.ui.test.util.UiRestriction;
+
+/**
+ * Tests related to displaying contextual suggestions in a bottom sheet.
+ */
+@RunWith(ChromeJUnit4ClassRunner.class)
+@Restriction(UiRestriction.RESTRICTION_TYPE_PHONE)
+@CommandLineFlags.Add(ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE)
+@EnableFeatures(ChromeFeatureList.CONTEXTUAL_SUGGESTIONS_BOTTOM_SHEET)
+@ChromeModernDesign.Enable
+public class ContextualSuggestionsTest {
+    @Rule
+    public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
+    @Rule
+    public ContextualSuggestionsDependenciesRule mContextualSuggestionsDeps =
+            new ContextualSuggestionsDependenciesRule();
+    @Rule
+    public TestRule mChromeModernDesignStateRule = new ChromeModernDesign.Processor();
+    @Rule
+    public TestRule mFeaturesProcessor = new Features.InstrumentationProcessor();
+
+    private static final String TEST_PAGE = "/chrome/test/data/android/navigate/simple.html";
+
+    private EmbeddedTestServer mTestServer;
+    private ContextualSuggestionsCoordinator mCoordinator;
+    private ContextualSuggestionsMediator mMediator;
+    private ContextualSuggestionsModel mModel;
+    private BottomSheet mBottomSheet;
+
+    @Before
+    public void setUp() throws Exception {
+        mContextualSuggestionsDeps.getFactory().suggestionsSource =
+                new FakeContextualSuggestionsSource();
+        mContextualSuggestionsDeps.getFactory().fetchHelper = new FakeFetchHelper();
+
+        FakeEnabledStateMonitor stateMonitor = new FakeEnabledStateMonitor();
+        mContextualSuggestionsDeps.getFactory().enabledStateMonitor = new FakeEnabledStateMonitor();
+
+        mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
+        mActivityTestRule.startMainActivityWithURL(mTestServer.getURL(TEST_PAGE));
+
+        ThreadUtils.runOnUiThreadBlocking(() -> {
+            mCoordinator =
+                    mActivityTestRule.getActivity().getContextualSuggestionsCoordinatorForTesting();
+            mMediator = mCoordinator.getMediatorForTesting();
+            mModel = mCoordinator.getModelForTesting();
+            stateMonitor.setObserver(mMediator);
+        });
+
+        mBottomSheet = mActivityTestRule.getActivity().getBottomSheet();
+    }
+
+    @After
+    public void tearDown() {
+        mTestServer.stopAndDestroyServer();
+    }
+
+    @Test
+    @MediumTest
+    @Feature({"ContextualSuggestions"})
+    public void testOpenContextualSuggestionsBottomSheet() {
+        assertEquals("Sheet should be hidden.", BottomSheet.SHEET_STATE_HIDDEN,
+                mBottomSheet.getSheetState());
+        assertTrue("Title text should be empty, but was " + mModel.getTitle(),
+                TextUtils.isEmpty(mModel.getTitle()));
+        assertEquals("Cluster list should be empty.", 0, mModel.getClusterList().getItemCount());
+
+        ThreadUtils.runOnUiThreadBlocking(
+                () -> mMediator.requestSuggestions("http://www.testurl.com"));
+
+        assertTrue("Bottom sheet should contain suggestions content",
+                mBottomSheet.getCurrentSheetContent()
+                                instanceof ContextualSuggestionsBottomSheetContent);
+        assertEquals("Sheet should still be hidden.", BottomSheet.SHEET_STATE_HIDDEN,
+                mBottomSheet.getSheetState());
+        assertEquals("Title text should be set.",
+                FakeContextualSuggestionsSource.TEST_TOOLBAR_TITLE, mModel.getTitle());
+
+        assertEquals("Cluster list should be set.",
+                (int) FakeContextualSuggestionsSource.TOTAL_ITEM_COUNT,
+                mModel.getClusterList().getItemCount());
+
+        ContextualSuggestionsBottomSheetContent content =
+                (ContextualSuggestionsBottomSheetContent) mBottomSheet.getCurrentSheetContent();
+        RecyclerView recyclerView = (RecyclerView) content.getContentView();
+        assertEquals("RecyclerView should be empty.", 0, recyclerView.getChildCount());
+
+        ThreadUtils.runOnUiThreadBlocking(() -> {
+            mMediator.showContentInSheetForTesting();
+            mBottomSheet.endAnimations();
+        });
+
+        assertEquals("Sheet should be peeked.", BottomSheet.SHEET_STATE_PEEK,
+                mBottomSheet.getSheetState());
+        assertNull("RecyclerView should still be empty.", recyclerView.getAdapter());
+
+        ThreadUtils.runOnUiThreadBlocking(
+                () -> mBottomSheet.setSheetState(BottomSheet.SHEET_STATE_FULL, false));
+
+        assertEquals("RecyclerView should have content.",
+                (int) FakeContextualSuggestionsSource.TOTAL_ITEM_COUNT,
+                recyclerView.getAdapter().getItemCount());
+    }
+
+    // TODO(twellington): Add more tests!
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeContextualSuggestionsSource.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeContextualSuggestionsSource.java
new file mode 100644
index 0000000..476c968
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeContextualSuggestionsSource.java
@@ -0,0 +1,78 @@
+// 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.contextual_suggestions;
+
+import android.graphics.Bitmap;
+
+import org.chromium.base.Callback;
+import org.chromium.chrome.browser.contextual_suggestions.ContextualSuggestionsBridge.ContextualSuggestionsResult;
+import org.chromium.chrome.browser.ntp.snippets.KnownCategories;
+import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.test.util.browser.suggestions.ContentSuggestionsTestUtils;
+import org.chromium.content_public.browser.WebContents;
+
+/**
+ * A fake {@link ContextualSuggestionsSource} for use in testing.
+ */
+public class FakeContextualSuggestionsSource extends ContextualSuggestionsSource {
+    final static String TEST_TOOLBAR_TITLE = "Test toolbar title";
+    final static Integer NUMBER_OF_CLUSTERS = 3;
+    final static Integer ARTICLES_PER_CLUSTER = 3;
+    // There should be 12 items in the cluster list - 3 articles and a title per cluster.
+    final static Integer TOTAL_ITEM_COUNT = 12;
+
+    FakeContextualSuggestionsSource() {
+        super(null);
+    }
+
+    @Override
+    protected void init(Profile profile) {
+        // Intentionally do nothing.
+    }
+
+    @Override
+    public void destroy() {
+        // Intentionally do nothing.
+    }
+
+    @Override
+    public void fetchSuggestionImage(SnippetArticle suggestion, Callback<Bitmap> callback) {}
+
+    @Override
+    public void fetchContextualSuggestionImage(
+            SnippetArticle suggestion, Callback<Bitmap> callback) {}
+
+    @Override
+    public void fetchSuggestionFavicon(SnippetArticle suggestion, int minimumSizePx,
+            int desiredSizePx, Callback<Bitmap> callback) {}
+
+    @Override
+    void fetchSuggestions(String url, Callback<ContextualSuggestionsResult> callback) {
+        callback.onResult(createDummyResults());
+    }
+
+    @Override
+    void reportEvent(WebContents webContents, @ContextualSuggestionsEvent int eventId) {}
+
+    @Override
+    void clearState() {}
+
+    private ContextualSuggestionsResult createDummyResults() {
+        ContextualSuggestionsResult result = new ContextualSuggestionsResult(TEST_TOOLBAR_TITLE);
+        for (int clusterCount = 0; clusterCount < NUMBER_OF_CLUSTERS; clusterCount++) {
+            ContextualSuggestionsCluster cluster =
+                    new ContextualSuggestionsCluster("Cluster " + clusterCount);
+
+            for (int articleCount = 0; articleCount < ARTICLES_PER_CLUSTER; articleCount++) {
+                cluster.getSuggestions().add(ContentSuggestionsTestUtils.createDummySuggestion(
+                        KnownCategories.CONTEXTUAL));
+            }
+            result.getClusters().add(cluster);
+        }
+
+        return result;
+    }
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeEnabledStateMonitor.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeEnabledStateMonitor.java
new file mode 100644
index 0000000..1ef69661
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeEnabledStateMonitor.java
@@ -0,0 +1,34 @@
+// 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.contextual_suggestions;
+
+/**
+ * A fake {@link EnabledStateMonitor} for use in testing. To finish initializing, call
+ * {@link #setObserver(Observer)}.
+ */
+class FakeEnabledStateMonitor extends EnabledStateMonitor {
+    FakeEnabledStateMonitor() {
+        super(null);
+    }
+
+    @Override
+    protected void init() {
+        // Intentionally do nothing.
+    }
+
+    @Override
+    void destroy() {
+        // Intentionally do nothing.
+    }
+
+    /**
+     * Sets an observer for testing.
+     * @param observer The {@link Observer} to be notified of changes to enabled state.
+     */
+    void setObserver(EnabledStateMonitor.Observer observer) {
+        mObserver = observer;
+        observer.onEnabledStateChanged(true);
+    }
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeFetchHelper.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeFetchHelper.java
new file mode 100644
index 0000000..2bce12fc
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/FakeFetchHelper.java
@@ -0,0 +1,26 @@
+// 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.contextual_suggestions;
+
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
+
+/**
+ * A fake {@link FetchHelper} for use in testing.
+ */
+public class FakeFetchHelper extends FetchHelper {
+    FakeFetchHelper() {
+        super(null, null);
+    }
+
+    @Override
+    protected void init(TabModelSelector tabModelSelector) {
+        // Intentionally do nothing.
+    }
+
+    @Override
+    void destroy() {
+        // Intentionally do nothing.
+    }
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/OWNERS b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/OWNERS
new file mode 100644
index 0000000..908f03f
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextual_suggestions/OWNERS
@@ -0,0 +1 @@
+file://chrome/android/java/src/org/chromium/chrome/browser/contextual_suggestions/OWNERS
\ No newline at end of file
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptTabModalDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptTabModalDialogTest.java
index 03064734..96a57292 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptTabModalDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/jsdialog/JavascriptTabModalDialogTest.java
@@ -204,7 +204,7 @@
         final JavascriptTabModalDialog jsDialog = getCurrentDialog();
         Assert.assertNotNull("No dialog showing.", jsDialog);
 
-        onView(withId(R.id.js_modal_dialog_scroll_view))
+        onView(withId(R.id.modal_dialog_scroll_view))
                 .check(matches(expectedFocusability ? isFocusable() : not(isFocusable())));
 
         onView(withText(R.string.ok)).perform(click());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java
index bb8cdfe1..ce7e7efb 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/LocationBarLayoutTest.java
@@ -24,7 +24,7 @@
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.ChromeSwitches;
 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
-import org.chromium.chrome.browser.toolbar.ToolbarModelImpl;
+import org.chromium.chrome.browser.toolbar.ToolbarModel;
 import org.chromium.chrome.browser.widget.TintedImageButton;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@@ -62,7 +62,7 @@
 
     private TestToolbarModel mTestToolbarModel;
 
-    private class TestToolbarModel extends ToolbarModelImpl {
+    private class TestToolbarModel extends ToolbarModel {
         private String mCurrentUrl;
         private String mEditingText;
         private String mDisplayText;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/ToolbarModelTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/ToolbarModelTest.java
index 3b1c05a..5983c1d 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/ToolbarModelTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/toolbar/ToolbarModelTest.java
@@ -52,7 +52,7 @@
     }
 
     /**
-     * After closing all {@link Tab}s, the {@link ToolbarModelImpl} should know that it is not
+     * After closing all {@link Tab}s, the {@link ToolbarModel} should know that it is not
      * showing any {@link Tab}.
      * @throws InterruptedException
      */
@@ -126,7 +126,7 @@
     /**
      * @param activity A reference to {@link ChromeTabbedActivity} to pull
      *            {@link android.view.View} data from.
-     * @return The id of the current {@link Tab} as far as the {@link ToolbarModelImpl} sees it.
+     * @return The id of the current {@link Tab} as far as the {@link ToolbarModel} sees it.
      */
     public static int getCurrentTabId(final ChromeTabbedActivity activity) {
         ToolbarLayout toolbar = (ToolbarLayout) activity.findViewById(R.id.toolbar);
@@ -137,7 +137,7 @@
         return tab != null ? tab.getId() : Tab.INVALID_TAB_ID;
     }
 
-    private class TestToolbarModel extends ToolbarModelImpl {
+    private class TestToolbarModel extends ToolbarModel {
         private String mDisplayUrl;
         private String mFullUrl;
         private String mUrl;
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java
index 226435b41..14a8a086 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java
@@ -42,30 +42,30 @@
     @Test
     public void testGetSecurityLevel() {
         assertEquals(ConnectionSecurityLevel.NONE,
-                ToolbarModelImpl.getSecurityLevel(null, !IS_OFFLINE_PAGE, null));
+                ToolbarModel.getSecurityLevel(null, !IS_OFFLINE_PAGE, null));
         assertEquals(ConnectionSecurityLevel.NONE,
-                ToolbarModelImpl.getSecurityLevel(null, IS_OFFLINE_PAGE, null));
+                ToolbarModel.getSecurityLevel(null, IS_OFFLINE_PAGE, null));
         assertEquals(ConnectionSecurityLevel.NONE,
-                ToolbarModelImpl.getSecurityLevel(mTab, IS_OFFLINE_PAGE, null));
+                ToolbarModel.getSecurityLevel(mTab, IS_OFFLINE_PAGE, null));
 
         for (int securityLevel : SECURITY_LEVELS) {
             when(mTab.getSecurityLevel()).thenReturn(securityLevel);
             assertEquals("Wrong security level returned for " + securityLevel, securityLevel,
-                    ToolbarModelImpl.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, null));
+                    ToolbarModel.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, null));
         }
 
         when(mTab.getSecurityLevel()).thenReturn(ConnectionSecurityLevel.SECURE);
         assertEquals("Wrong security level returned for HTTPS publisher URL",
                 ConnectionSecurityLevel.SECURE,
-                ToolbarModelImpl.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, "https://example.com"));
+                ToolbarModel.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, "https://example.com"));
         assertEquals("Wrong security level returned for HTTP publisher URL",
                 ConnectionSecurityLevel.HTTP_SHOW_WARNING,
-                ToolbarModelImpl.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, "http://example.com"));
+                ToolbarModel.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, "http://example.com"));
 
         when(mTab.getSecurityLevel()).thenReturn(ConnectionSecurityLevel.DANGEROUS);
         assertEquals("Wrong security level returned for publisher URL on insecure page",
                 ConnectionSecurityLevel.DANGEROUS,
-                ToolbarModelImpl.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, null));
+                ToolbarModel.getSecurityLevel(mTab, !IS_OFFLINE_PAGE, null));
     }
 
     @Test
@@ -73,56 +73,56 @@
         for (int securityLevel : SECURITY_LEVELS) {
             assertEquals("Wrong phone resource for security level " + securityLevel,
                     R.drawable.offline_pin_round,
-                    ToolbarModelImpl.getSecurityIconResource(
+                    ToolbarModel.getSecurityIconResource(
                             securityLevel, IS_SMALL_DEVICE, IS_OFFLINE_PAGE));
             assertEquals("Wrong tablet resource for security level " + securityLevel,
                     R.drawable.offline_pin_round,
-                    ToolbarModelImpl.getSecurityIconResource(
+                    ToolbarModel.getSecurityIconResource(
                             securityLevel, !IS_SMALL_DEVICE, IS_OFFLINE_PAGE));
         }
 
         assertEquals(0,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.NONE, IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
         assertEquals(R.drawable.omnibox_info,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.NONE, !IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
 
         assertEquals(R.drawable.omnibox_info,
-                ToolbarModelImpl.getSecurityIconResource(ConnectionSecurityLevel.HTTP_SHOW_WARNING,
+                ToolbarModel.getSecurityIconResource(ConnectionSecurityLevel.HTTP_SHOW_WARNING,
                         IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
         assertEquals(R.drawable.omnibox_info,
-                ToolbarModelImpl.getSecurityIconResource(ConnectionSecurityLevel.HTTP_SHOW_WARNING,
+                ToolbarModel.getSecurityIconResource(ConnectionSecurityLevel.HTTP_SHOW_WARNING,
                         !IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
 
         assertEquals(R.drawable.omnibox_https_invalid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.DANGEROUS, IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
         assertEquals(R.drawable.omnibox_https_invalid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.DANGEROUS, !IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
 
         assertEquals(R.drawable.omnibox_https_valid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.SECURE_WITH_POLICY_INSTALLED_CERT, IS_SMALL_DEVICE,
                         !IS_OFFLINE_PAGE));
         assertEquals(R.drawable.omnibox_https_valid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.SECURE_WITH_POLICY_INSTALLED_CERT, !IS_SMALL_DEVICE,
                         !IS_OFFLINE_PAGE));
 
         assertEquals(R.drawable.omnibox_https_valid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.SECURE, IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
         assertEquals(R.drawable.omnibox_https_valid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.SECURE, !IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
 
         assertEquals(R.drawable.omnibox_https_valid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.EV_SECURE, IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
         assertEquals(R.drawable.omnibox_https_valid,
-                ToolbarModelImpl.getSecurityIconResource(
+                ToolbarModel.getSecurityIconResource(
                         ConnectionSecurityLevel.EV_SECURE, !IS_SMALL_DEVICE, !IS_OFFLINE_PAGE));
     }
 }
diff --git a/chrome/android/profiles/newest.txt b/chrome/android/profiles/newest.txt
index 408b6e3..e61eeabf 100644
--- a/chrome/android/profiles/newest.txt
+++ b/chrome/android/profiles/newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-67.0.3393.0_rc-r1.afdo.bz2
\ No newline at end of file
+chromeos-chrome-amd64-67.0.3394.0_rc-r1.afdo.bz2
\ No newline at end of file
diff --git a/chrome/android/webapk/shell_apk/BUILD.gn b/chrome/android/webapk/shell_apk/BUILD.gn
index d00b927..688dc490 100644
--- a/chrome/android/webapk/shell_apk/BUILD.gn
+++ b/chrome/android/webapk/shell_apk/BUILD.gn
@@ -9,6 +9,8 @@
 shell_apk_manifest = "$target_gen_dir/shell_apk_manifest/AndroidManifest.xml"
 unbound_shell_apk_manifest =
     "$target_gen_dir/unbound_shell_apk_manifest/AndroidManifest.xml"
+maps_go_apk_manifest =
+    "$target_gen_dir/maps_go_apk_manifest/AndroidManifest.xml"
 
 manifest_processor_template("shell_apk_manifest") {
   input = "AndroidManifest.xml"
@@ -26,6 +28,14 @@
   extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
 }
 
+manifest_processor_template("maps_go_apk_manifest") {
+  input = "AndroidManifest.xml"
+  config_file = "maps_go_manifest_config.json"
+  output = maps_go_apk_manifest
+
+  extra_variables = [ "shell_apk_version=$template_shell_apk_version" ]
+}
+
 android_resources("shell_apk_resources") {
   resource_dirs = [ "res" ]
   custom_package = "org.chromium.webapk.shell_apk"
@@ -38,16 +48,12 @@
 # old copy of the runtime library.
 android_library("compiled_in_runtime_library_java") {
   chromium_code = false
-  java_files = [
-    "src/org/chromium/webapk/lib/runtime_library/IWebApkApi.java",
- ]
+  java_files = [ "src/org/chromium/webapk/lib/runtime_library/IWebApkApi.java" ]
 }
 
 # Split out as a separate target so that it can be tested from chrome_public_test_apk
 android_library("dex_loader_java") {
-  java_files = [
-    "src/org/chromium/webapk/shell_apk/DexLoader.java",
-  ]
+  java_files = [ "src/org/chromium/webapk/shell_apk/DexLoader.java" ]
 }
 
 android_library("webapk_java") {
@@ -167,6 +173,12 @@
   apk_name = "WebApk"
 }
 
+webapk_tmpl("maps_go_webapk") {
+  android_manifest = maps_go_apk_manifest
+  android_manifest_dep = ":maps_go_apk_manifest"
+  apk_name = "MapsWebApk"
+}
+
 webapk_tmpl("unbound_webapk") {
   android_manifest = unbound_shell_apk_manifest
   android_manifest_dep = ":unbound_shell_apk_manifest"
diff --git a/chrome/android/webapk/shell_apk/maps_go_manifest_config.json b/chrome/android/webapk/shell_apk/maps_go_manifest_config.json
new file mode 100644
index 0000000..faf0878
--- /dev/null
+++ b/chrome/android/webapk/shell_apk/maps_go_manifest_config.json
@@ -0,0 +1,24 @@
+{
+  "manifest_package": "org.chromium.maps_go_webapk",
+  "scope_url": "https://www.google.com/maps",
+  "intent_filters": {
+    "scope_url_scheme": "https",
+    "scope_url_host": "www.google.com",
+    "scope_url_path_type": "android:pathPrefix",
+    "scope_url_path": "/maps"
+  },
+  "start_url": "https://www.google.com/maps/@37.7890183,-122.3915063,15z?force=pwa",
+  "display_mode": "standalone",
+  "orientation": "portrait",
+  "theme_color": "2147483648L",
+  "background_color": "2147483648L",
+  "splash_screen_icon": "@mipmap/app_icon",
+  "icon_urls_and_icon_murmur2_hashes": "https://maps.gstatic.com/mapfiles/maps_lite/pwa/icons/maps_pwa_icon_v0920_48x48.png 0 https://maps.gstatic.com/mapfiles/maps_lite/pwa/icons/maps_pwa_icon_v0920_72x72 0",
+  "web_manifest_url": "https://maps.gstatic.com/tactile/worker/ml.json",
+  "version_code": "1",
+  "version_name": "1.0",
+  "bound_webapk": {
+    "runtime_host": "com.google.android.apps.chrome",
+    "runtime_host_application_name": "Chromium"
+  }
+}
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index cb2da46..669a0ea 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -70,6 +70,7 @@
 <translation id="1108164192735968833">‏ربط الرسائل القصيرة SMS</translation>
 <translation id="1108600514891325577">إي&amp;قاف</translation>
 <translation id="1110155001042129815">انتظار</translation>
+<translation id="1112420131909513020">تستخدم علامة تبويب خلفية البلوتوث</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">معيّن</translation>
 <translation id="1114335938027186412">‏يحتوي الكمبيوتر على جهاز أمان الوحدة النمطية للنظام الأساسي الموثوق به (TPM)، والذي يستخدم لتنفيذ العديد من ميزات الأمان المهمة في نظام التشغيل Chrome. ويُمكنك الانتقال إلى مركز مساعدة Chromebook للتعرف على مزيد من المعلومات: https://support.google.com/chromebook/?p=tpm</translation>
@@ -153,6 +154,7 @@
     <ph name="BR" />
     في الشاشة التالية، يُرجى إرسال تعليقات لمساعدتنا في حل هذه المشكلة.</translation>
 <translation id="121783623783282548">كلمتا المرور غير متطابقتين.</translation>
+<translation id="1218860753635451122">‏بالنقر على الزر "أوافق"، أنت توافق بذلك على المعالجة الواردة أعلاه لخدمات Google هذه.</translation>
 <translation id="122082903575839559">خوارزمية التوقيع على الشهادة</translation>
 <translation id="1221024147024329929">‏PKCS #1 MD2 مع تشفير RSA</translation>
 <translation id="1221825588892235038">التحديد فقط</translation>
@@ -192,6 +194,7 @@
 <translation id="1285320974508926690">عدم ترجمة هذا الموقع مطلقًا</translation>
 <translation id="1285484354230578868">‏تخزين البيانات في حساب Google Drive</translation>
 <translation id="1288037062697528143">سيتم تشغيل الإضاءة الليلية تلقائيًا عند غروب الشمس.</translation>
+<translation id="1288300545283011870">خصائص الكلام</translation>
 <translation id="1293177648337752319">إلغاء تجاهل الموقع</translation>
 <translation id="1293509594570842875">لا يُمكن إنشاء مستخدم جديد تحت الإشراف. يُرجى التحقق من اتصال الشبكة وإعادة المحاولة لاحقًا.</translation>
 <translation id="1293556467332435079">ملفات</translation>
@@ -419,6 +422,7 @@
 <translation id="1624026626836496796">لن يحدث ذلك إلا مرة واحدة، ولن يتم تخزين بيانات اعتمادك.</translation>
 <translation id="1627276047960621195">أدوات وصف الملفات</translation>
 <translation id="1627408615528139100">تم التنزيل من قبل</translation>
+<translation id="1632551555529177478">‏خطأ: تعذّر بدء برنامج Concierge.</translation>
 <translation id="1632803087685957583">تسمح لك بضبط معدل تكرار لوحة المفاتيح، وتوقّع الكلمات، والمزيد</translation>
 <translation id="1635033183663317347">تم التثبيت من قبل الوصيّ.</translation>
 <translation id="1637224376458524414">‏الحصول على هذه الإشارة المرجعية على جهاز iPhone</translation>
@@ -517,6 +521,7 @@
 <translation id="177336675152937177">بيانات التطبيق المستضافة</translation>
 <translation id="1774349594977710164">يعمل هاتفك أيضًا على إلغاء قفل أجهزة <ph name="DEVICE_TYPE" /> الأخرى، لأنه تتم مزامنتها تلقائيًا.</translation>
 <translation id="1774833706453699074">وضع إشارة مرجعية على الصفحات المفتوحة...</translation>
+<translation id="1775381402323441512">معلومات الفيديو</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177694132944350798">‏تم تشفير بياناتك باستخدام كلمة مرور Google اعتبارًا من <ph name="TIME" />. يُرجى إدخالها لبدء المزامنة.</translation>
 <translation id="1779652936965200207">يُرجى إدخال مفتاح المرور هذا على "<ph name="DEVICE_NAME" />":</translation>
@@ -536,6 +541,7 @@
 <translation id="180035236176489073">يجب أن تكون متصلاً بالإنترنت للدخول إلى هذه الملفات.</translation>
 <translation id="1802687198411089702">الصفحة لا تستجيب. يمكنك الانتظار أو الخروج منها.</translation>
 <translation id="1802931390041703523">‏تم حظر تشغيل Flash في هذه الصفحة</translation>
+<translation id="1805738995123446102">تستخدم علامة تبويب خلفية الميكروفون</translation>
 <translation id="1805822111539868586">فحص القراءات</translation>
 <translation id="1807938677607439181">كل الملفات</translation>
 <translation id="1809734401532861917">إضافة الإشارات المرجعية، والسّجل، وكلمات المرور، والإعدادات الأخرى إلى <ph name="USER_EMAIL_ADDRESS" /></translation>
@@ -558,6 +564,7 @@
 <translation id="1829192082282182671">ت&amp;صغير</translation>
 <translation id="1830550083491357902">لم يتم تسجيل الدخول</translation>
 <translation id="1832511806131704864">تم تحديث تغيير الهاتف</translation>
+<translation id="1834503245783133039">أخفق التنزيل: <ph name="FILE_NAME" /></translation>
 <translation id="1838374766361614909">محو البحث</translation>
 <translation id="1838709767668011582">‏موقع Google</translation>
 <translation id="1839704667838141620">تغيير كيفية مشاركة هذا الملف</translation>
@@ -672,6 +679,7 @@
 <translation id="2040460856718599782">عفوًا، حدث خطأ ما أثناء محاولة مصادقتك. يُرجى التحقق جيدًا من بيانات اعتماد تسجيل الدخول وإعادة المحاولة.</translation>
 <translation id="2043818754674261542">المسافة المطلوبة للهاتف لإلغاء قفل جهاز <ph name="DEVICE_TYPE" /> هذا</translation>
 <translation id="204497730941176055">‏اسم قالب الشهادات لـ Microsoft</translation>
+<translation id="2045117674524495717">مساعد اختصارات لوحة المفاتيح</translation>
 <translation id="2045969484888636535">متابعة حظر تشغيل ملفات تعريف الارتباط</translation>
 <translation id="204622017488417136">‏سيتم إرجاع جهازك إلى إصدار Chrome المثبت مسبقًا. ستتم إزالة كل حسابات المستخدمين والبيانات المحلية. ولا يمكن التراجع عن ذلك.</translation>
 <translation id="2048182445208425546">الدخول إلى عدد زيارات شبكتك</translation>
@@ -693,6 +701,7 @@
 <translation id="2079053412993822885">إذا حذفت إحدى شهاداتك، فلن تستطيع استخدامها لتعريف هويتك.</translation>
 <translation id="2079545284768500474">تراجع</translation>
 <translation id="2080070583977670716">مزيد من الإعدادات</translation>
+<translation id="2084108471225856927">إعدادات الجهاز</translation>
 <translation id="2085470240340828803">هناك ملف بالاسم "<ph name="FILENAME" />" موجود فعلاً. ما الإجراء الذي تريد تنفيذه؟</translation>
 <translation id="2087822576218954668">الطباعة: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">‏التصفح بأمان باستخدام Google Chrome</translation>
@@ -806,6 +815,7 @@
 <translation id="2239921694246509981">إضافة شخص خاضع للإشراف</translation>
 <translation id="2241053333139545397">قراءة بياناتك وتغييرها على عدد من المواقع</translation>
 <translation id="2242687258748107519">معلومات الملف</translation>
+<translation id="2243194103992005307">لإزالة التطبيقات، انتقل إلى "الإعدادات &gt; التطبيقات أو مدير التطبيقات"، ثم انقر على التطبيق الذي تريد إلغاء تثبيته (ربما تحتاج إلى التمرير سريعًا جهة اليمين أو اليسار للعثور على التطبيق)، ثم انقر على "إلغاء التثبيت" أو "إيقاف".</translation>
 <translation id="2245240762616536227">‏التحكّم في كيفية تخصيص البحث والإعلانات وخدمات Google الأخرى من خلال سجلّ التصفح</translation>
 <translation id="2249605167705922988">مثال: 1-5، 8، 11-13</translation>
 <translation id="2251218783371366160">فتح باستخدام عارض النظام</translation>
@@ -824,6 +834,7 @@
 <translation id="2270627217422354837">تبادل البيانات مع أي جهاز في النطاقات: <ph name="DOMAINS" /></translation>
 <translation id="2271088077909873520">‏يمكنك إدارة البيانات المتزامنة على <ph name="BEGIN_LINK" />لوحة تحكم Google<ph name="END_LINK" />.</translation>
 <translation id="2272570998639520080">كوب عصير</translation>
+<translation id="2275685295206198038">انتهى تثبيت <ph name="APP_NAME" />.</translation>
 <translation id="2276503375879033601">إضافة المزيد من التطبيقات</translation>
 <translation id="2277255602909579701">جميع ملفات تعريف الارتباط وبيانات الموقع</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{تم نسخ عنصر واحد}zero{تم نسخ # عنصر}two{تم نسخ عنصرين (#)}few{تم نسخ # عناصر}many{تم نسخ # عنصرًا}other{تم نسخ # عنصر}}</translation>
@@ -863,6 +874,7 @@
 <translation id="2335122562899522968">تُعين هذه الصفحة ملفات تعريف الارتباط.</translation>
 <translation id="2336228925368920074">وضع إشارة على جميع علامات التبويب...</translation>
 <translation id="2336381494582898602">Powerwash</translation>
+<translation id="2338776671779155318">خطأ: تعذّر إنشاء صورة القرص.</translation>
 <translation id="2339120501444485379">أدخل اسمًا جديدًا</translation>
 <translation id="2339641773402824483">التحقّق من التحديثات...</translation>
 <translation id="2340263603246777781">يريد <ph name="ORIGIN" /> الاقتران</translation>
@@ -882,6 +894,7 @@
 <translation id="2359808026110333948">المتابعة</translation>
 <translation id="236141728043665931">حظر الدخول إلى الميكروفون دومًا</translation>
 <translation id="2365507699358342471">يمكن لهذا الموقع الاطلاع على النصوص والصور التي تم نسخها إلى الحافظة.</translation>
+<translation id="2367199180085172140">إضافة مشاركة ملف</translation>
 <translation id="2367972762794486313">إظهار التطبيقات</translation>
 <translation id="2371076942591664043">فتح الملفّ عند &amp;انتهاء التحميل</translation>
 <translation id="2377319039870049694">تبديل إلى عرض القائمة</translation>
@@ -1060,6 +1073,7 @@
 <translation id="264810637653812429">لم يتم العثور على أي أجهزة متوافقة.</translation>
 <translation id="2648831393319960979">جارٍ إضافة الجهاز إلى حسابك - قد يستغرق ذلك دقيقة...</translation>
 <translation id="2649045351178520408">‏حفظ سلسلة شهادات بتشفير ASCII المرمّز باستخدام Base64</translation>
+<translation id="2651353619134567122">‏إرسال بيانات النظام. يُرسِل هذا الجهاز حاليًا بيانات التشخيص وبيانات استخدام التطبيق والجهاز تلقائيًا إلى Google. ويمكنك تغيير ذلك في أي وقت في <ph name="BEGIN_LINK1" />إعدادات<ph name="END_LINK1" /> جهازك. وفي حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK2" />مزيد من المعلومات<ph name="END_LINK2" /></translation>
 <translation id="2653033005692233957">تعذّر البحث</translation>
 <translation id="2653266418988778031">‏في حالة حذف شهادة مرجع مصدق (CA)، لن يثق المتصفح في أي شهادات يصدرها ذلك المرجع المصدق.</translation>
 <translation id="2653659639078652383">إرسال</translation>
@@ -1301,6 +1315,7 @@
 <translation id="2986010903908656993">‏تم حظر هذه الصفحة من التحكم تحكمًا كاملاً في أجهزة MIDI.</translation>
 <translation id="2989474696604907455">غير متصل</translation>
 <translation id="2989786307324390836">‏حفظ شهادة واحدة بتشفير DER ثنائي</translation>
+<translation id="2993165626813508977">‏خطأ: تعذّر بدء الحاوية داخل الجهاز الافتراضي (VM) Termina.</translation>
 <translation id="2993517869960930405">معلومات التطبيق</translation>
 <translation id="2994669386200004489">تعذر الاحتفاظ بنسخة احتياطية للملف <ph name="FILE_NAME" /></translation>
 <translation id="299483336428448530">تم التثبيت من قبل والدك.</translation>
@@ -1353,6 +1368,7 @@
 <translation id="3045447014237878114">نزَّل هذا الموقع عدة ملفات تلقائيًا</translation>
 <translation id="304567287000691532">مشاركة الشاشة</translation>
 <translation id="3046910703532196514">صفحة الويب، كاملة</translation>
+<translation id="304747341537320566">محركات الكلام</translation>
 <translation id="304826556400666995">إلغاء تجاهل علامات التبويب</translation>
 <translation id="3053013834507634016">استخدام مفتاح الشهادة</translation>
 <translation id="3057861065630527966">نسخ الصور ومقاطع الفيديو احتياطيًا</translation>
@@ -1361,6 +1377,7 @@
 <translation id="3064410671692449875">بيانات غير كافية</translation>
 <translation id="3065041951436100775">التعليقات المرتبطة بعلامة التبويب المعطلة.</translation>
 <translation id="3066642396596108483">مزامنة الإشارات المرجعية، وكلمات المرور، والسجل على جميع أجهزتك</translation>
+<translation id="3067198179881736288">هل تريد تثبيت التطبيق؟</translation>
 <translation id="3067198360141518313">تشغيل هذا المكون الإضافي</translation>
 <translation id="3071624960923923138">يمكنك النقر هنا لفتح علامة تبويب جديدة</translation>
 <translation id="3074037959626057712">تم تسجيل دخولك وتشغيل المزامنة</translation>
@@ -1406,11 +1423,13 @@
 <translation id="3130528281680948470">ستتم إعادة تعيين جهازك وستتم إزالة كل حسابات المستخدمين والبيانات المحلية. ولا يمكن التراجع عن ذلك.</translation>
 <translation id="313205617302240621">هل نسيت كلمة المرور؟</translation>
 <translation id="3135204511829026971">تدوير الشاشة</translation>
+<translation id="313963229645891001">جارٍ التنزيل، <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">الصورة الرمزية الافتراضية الصفراء</translation>
 <translation id="3140353188828248647">تركيز شريط العناوين</translation>
 <translation id="3141318088920353606">جارٍ الاستماع…</translation>
 <translation id="3141917231319778873">الطلب المحدد غير مدعوم على "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3143515551205905069">إلغاء المزامنة</translation>
+<translation id="3143695347784622594">‏إرسال بيانات النظام. يمكنك إرسال بيانات التشخيص وبيانات استخدام التطبيق والجهاز تلقائيًا إلى Google. ويمكنك تغيير ذلك في أي وقت في <ph name="BEGIN_LINK1" />إعدادات<ph name="END_LINK1" /> جهازك. في حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK2" />مزيد من المعلومات<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">تم</translation>
 <translation id="3144647712221361880">فتح الرابط كـ</translation>
 <translation id="3149510190863420837">‏تطبيقات Chrome</translation>
@@ -1449,6 +1468,7 @@
 <translation id="3206175707080061730">هناك ملف بالاسم "$1" موجود فعلاً. هل تريد استبداله؟</translation>
 <translation id="3208703785962634733">لم يتم تأكيده</translation>
 <translation id="3213187967168344806">تتعذّر إضافة طابعة. أعِد تشغيل جهاز الكمبيوتر وحاوِل مرة أخرى.</translation>
+<translation id="3217843140356091325">هل تريد إنشاء اختصار؟</translation>
 <translation id="321799795901478485">Zip Archiver</translation>
 <translation id="3220586366024592812">تعطلت عملية موصل <ph name="CLOUD_PRINT_NAME" /> . هل تريد إعادة التشغيل؟</translation>
 <translation id="3221634914176615296">استكشاف محتوى الجهاز في تطبيق الملفات.</translation>
@@ -1530,6 +1550,7 @@
 <translation id="3326821416087822643">جارٍ ضغط <ph name="FILE_NAME" />...</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">معلومات التطبيق</translation>
+<translation id="3335337277364016868">عام التسجيل</translation>
 <translation id="3335947283844343239">إعادة فتح علامة التبويب المغلقة</translation>
 <translation id="3340978935015468852">الإعدادات</translation>
 <translation id="3341703758641437857">‏السماح بالدخول إلى عناوين URL للملفات</translation>
@@ -1591,6 +1612,7 @@
 <translation id="3435738964857648380">أمن المعلومات</translation>
 <translation id="3435896845095436175">تمكين الإضافات</translation>
 <translation id="3436038974659740746">تدقيق إملائي مخصص</translation>
+<translation id="3437801641691368414">وقت الإنشاء</translation>
 <translation id="3438633801274389918">النينجا</translation>
 <translation id="3439153939049640737">السماح دائمًا لـ <ph name="HOST" /> بالدخول إلى الميكروفون</translation>
 <translation id="3439970425423980614">‏جارٍ فتح ملف PDF في تطبيق المعاينة</translation>
@@ -1634,6 +1656,7 @@
 <translation id="3487007233252413104">وظيفة مجهولة</translation>
 <translation id="348780365869651045">‏في انتظار AppCache...</translation>
 <translation id="3488065109653206955">نشطة جزئيًا</translation>
+<translation id="348999362308956431">اكتمل التنزيل: <ph name="FILE_NAME" /></translation>
 <translation id="3492788708641132712">المزامنة لا تعمل. حاول تسجيل الدخول مرة أخرى.</translation>
 <translation id="3493881266323043047">الصلاحية</translation>
 <translation id="3494769164076977169">طلب الإذن عند محاولة أحد المواقع تنزيل الملفات تلقائيًا بعد الملف الأول (مستحسن)</translation>
@@ -1723,6 +1746,7 @@
 <translation id="3627320433825461852">تتبقى أقل من دقيقة واحدة</translation>
 <translation id="3627588569887975815">فتح الرّابط في نافذة للتصفّح المتخ&amp;فّي</translation>
 <translation id="3627671146180677314">‏وقت تجديد شهادة Netscape</translation>
+<translation id="3627879631695760395">جارٍ تثبيت تطبيق <ph name="APP" />...</translation>
 <translation id="3630995161997703415">أضف موقع الويب هذا إلى الرف لاستخدامه في أي وقت.</translation>
 <translation id="3635030235490426869">علامة التبويب 1</translation>
 <translation id="3636096452488277381">مرحبًا، <ph name="USER_GIVEN_NAME" />.</translation>
@@ -1735,6 +1759,7 @@
 <translation id="3646789916214779970">إعادة تعيين إلى المظهر الافتراضي</translation>
 <translation id="3648348069317717750">تم اكتشاف <ph name="USB_DEVICE_NAME" /></translation>
 <translation id="3649138363871392317">تم التقاط الصورة</translation>
+<translation id="3650952250015018111">السماح لتطبيق "<ph name="APP_NAME" />" بالوصول:</translation>
 <translation id="3651488188562686558">‏قطع الاتصال بشبكة Wi-Fi</translation>
 <translation id="3652817283076144888">جارٍ التهيئة</translation>
 <translation id="3653999333232393305">مواصلة السماح لـ <ph name="HOST" /> بالدخول إلى الميكروفون</translation>
@@ -1847,6 +1872,7 @@
 <translation id="381202950560906753">إضافة بصمة إصبع أخرى</translation>
 <translation id="3812525830114410218">شهادة سيئة</translation>
 <translation id="3813296892522778813">‏يمكنك الانتقال إلى <ph name="BEGIN_LINK_CHROMIUM" />مساعدة Google Chrome<ph name="END_LINK_CHROMIUM" /> إذا لم تتمكن من العثور عما تبحث عنه</translation>
+<translation id="3817579325494460411">غير متوفِّر</translation>
 <translation id="3819007103695653773">السماح لجميع المواقع بإرسال رسائل دفع في الخلفية</translation>
 <translation id="3819752733757735746">الوصول عبر مفتاح التحويل (التحكم في جهاز الكمبيوتر بمفتاح واحد فقط أو مفتاحين)</translation>
 <translation id="3819800052061700452">م&amp;لء الشاشة</translation>
@@ -1937,6 +1963,7 @@
 <translation id="394984172568887996">‏تمّ الاستيراد من IE</translation>
 <translation id="3950820424414687140">تسجيل الدخول</translation>
 <translation id="3954354850384043518">جارية</translation>
+<translation id="3954469006674843813">‏<ph name="WIDTH" /> x <ph name="HEIGHT" /> (<ph name="REFRESH_RATE" /> هرتز)</translation>
 <translation id="3955193568934677022">السماح للمواقع الإلكترونية بتشغيل المحتوى المحمي (مُستحسَن)</translation>
 <translation id="3956702100721821638">‏تعذّر الوصول إلى Google Play</translation>
 <translation id="3958088479270651626">استيراد الإشارات المرجعية والإعدادات</translation>
@@ -1957,6 +1984,7 @@
 <translation id="3979748722126423326">تمكين <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981760180856053153">نوع الحفظ الذي تم إدخاله غير صالح.</translation>
 <translation id="3983586614702900908">أجهزة من مورد غير معروف</translation>
+<translation id="3985261842049607969">‏يمكنك الاحتفاظ بنسخة احتياطية في Google Drive. ويمكنك استعادة بياناتك أو تبديل الجهاز بسهولة متى شئت. وتتضمَّن النسخة الاحتياطية بيانات التطبيقات. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">البيانات المحفوظة</translation>
 <translation id="3987938432087324095">عذرًا، لم يتم التعرف على ذلك.</translation>
 <translation id="3988996860813292272">تحديد منطقة زمنية</translation>
@@ -1982,6 +2010,7 @@
 <translation id="4033471457476425443">إضافة مجلد جديد</translation>
 <translation id="4034042927394659004">تقليل سطوع المفاتيح</translation>
 <translation id="4035758313003622889">مدير الم&amp;هام</translation>
+<translation id="4036758022112812315">‏يمكنك تمييز ما تريد سماعه، ثم الضغط على "البحث + S". أو الضغط مع الاستمرار على "البحث"، ثم النقر أو السحب لاختيار المحتوى.</translation>
 <translation id="4037084878352560732">حصان</translation>
 <translation id="4037889604535939429">تعديل الشخص</translation>
 <translation id="4042264909745389898">‏بنود نظام التشغيل Google Chrome</translation>
@@ -2014,6 +2043,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="4087470595660267445">‏يمكنك تثبيت التطبيقات والألعاب من Google Play على جهاز Chromebook‏. &lt;a target="_blank" href="<ph name="URL" />"&gt;مزيد من المعلومات&lt;/a&gt;</translation>
 <translation id="4088095054444612037">الموافقة للمجموعة</translation>
+<translation id="4089235344645910861">تم حفظ الإعدادات، وبدأت عملية المزامنة.</translation>
 <translation id="4090103403438682346">تمكين الدخول الذي تم التحقق منه</translation>
 <translation id="4090535558450035482">(هذه الإضافة مُدارة ولا يمكن إزالتها.)</translation>
 <translation id="4091434297613116013">أوراق</translation>
@@ -2024,6 +2054,7 @@
 <translation id="4096824249111507322">يتم حاليًا تحضيرالوحدة الآمنة، يُرجى الانتظار (قد يستغرق ذلك بضع دقائق)...</translation>
 <translation id="4099060993766194518">هل تريد استعادة محرك البحث الافتراضي؟</translation>
 <translation id="4100733287846229632">المساحة على الجهاز منخفضة للغاية</translation>
+<translation id="4103091233824664032">يُرجى إدخال كلمة مرورك لتهيئة قفل الشاشة وتسجيل الدخول</translation>
 <translation id="4104163789986725820">ت&amp;صدير...</translation>
 <translation id="4105563239298244027">‏احصل على 1 تيرابايت مجانًا مع Google Drive</translation>
 <translation id="4107048419833779140">تحديد أجهزة التخزين وإخراجها</translation>
@@ -2086,11 +2117,13 @@
 <translation id="4235200303672858594">الشاشة بالكامل</translation>
 <translation id="4235813040357936597">إضافة حساب لـ <ph name="PROFILE_NAME" /></translation>
 <translation id="4235965441080806197">إلغاء تسجيل الدخول</translation>
+<translation id="4239107879884489787">‏خطأ: تعذّر تحميل مُكوِّن Termina.</translation>
 <translation id="4242533952199664413">فتح الإعدادات</translation>
 <translation id="4242577469625748426">تعذّر تثبيت إعدادات السياسة على الجهاز: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4244238649050961491">العثور على المزيد من تطبيقات قلم الشاشة</translation>
 <translation id="424546999567421758">تم اكتشاف استخدام مرتفع للقرص</translation>
 <translation id="424726838611654458">‏الفتح دائمًا باستخدام Adobe Reader</translation>
+<translation id="4247901771970415646">تتعذّر المزامنة مع <ph name="USERNAME" /></translation>
 <translation id="4249248555939881673">في انتظار الاتصال بالشبكة...</translation>
 <translation id="4249373718504745892">تم حظر دخول هذه الصفحة إلى الكاميرا والميكروفون التابعين لك.</translation>
 <translation id="424963718355121712">يجب عرض التطبيقات من المضيف الذي تؤثر فيه.</translation>
@@ -2111,6 +2144,7 @@
 <translation id="4271396100647220620">لا توجد أي مطابقات</translation>
 <translation id="4275830172053184480">إعادة تشغيل جهازك</translation>
 <translation id="4278390842282768270">مسموح بها</translation>
+<translation id="4280864916190672950">إيقاف التحميل</translation>
 <translation id="4281844954008187215">شروط الخدمة</translation>
 <translation id="4282196459431406533">‏Smart Lock قيد التشغيل</translation>
 <translation id="4284105660453474798">هل تريد فعلًا حذف "$1"؟</translation>
@@ -2127,6 +2161,7 @@
 <translation id="4305227814872083840">طويل (ثانيتين)</translation>
 <translation id="4306119971288449206">يجب عرض التطبيقات باستخدام نوع المحتوى "<ph name="CONTENT_TYPE" />".</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" />كيلوبايت (<ph name="NUM_KILOBYTES_LIVE" />كيلوبايت مباشرة)</translation>
+<translation id="4309915981827077375">معلومات عامة</translation>
 <translation id="4310139701823742692">‏الملف بتنسيق خاطئ. تحقق من ملف PPD وأعد المحاولة.</translation>
 <translation id="431076611119798497">&amp;التفاصيل</translation>
 <translation id="4312866146174492540">حظر (افتراضي)</translation>
@@ -2175,11 +2210,13 @@
 <translation id="4409697491990005945">الهوامش</translation>
 <translation id="4411578466613447185">موقّع الشفرة</translation>
 <translation id="4412698727486357573">مركز المساعدة</translation>
+<translation id="44141919652824029">‏هل تريد السماح لتطبيق "<ph name="APP_NAME" />" بالحصول على قائمة أجهزة USB المرفقة؟</translation>
 <translation id="4414232939543644979">&amp;نافذة جديدة للتصفح المتخفي</translation>
 <translation id="4415748029120993980">‏منحنى SECG ناقص المقطع secp384r1‏ (aka NIST P-384)</translation>
 <translation id="4419409365248380979">السماح للموقع <ph name="HOST" /> بتعيين ملفات تعريف الارتباط دومًا</translation>
 <translation id="4421932782753506458">الانتفاش</translation>
 <translation id="4422347585044846479">تعديل إشارة هذه الصفحة</translation>
+<translation id="4423104065312875417">تثبيت محركات كلام إضافية</translation>
 <translation id="4423376891418188461">استعادة الإعدادات</translation>
 <translation id="4423482519432579560">ال&amp;تدقيق الإملائي</translation>
 <translation id="442397852638519243">يا <ph name="USER_NAME" />، يطلب منك مشرفك تغيير كلمة المرور.</translation>
@@ -2267,6 +2304,7 @@
 <translation id="4565377596337484307">إخفاء كلمة المرور</translation>
 <translation id="4567772783389002344">إضافة كلمة</translation>
 <translation id="4568213207643490790">‏عذرًا، غير مسموح بتسجيل دخول حسابات Google على هذا الجهاز.</translation>
+<translation id="4568854179928172494">الوقت المُعدل</translation>
 <translation id="4569747168316751899">عند وضع الخمول</translation>
 <translation id="4572659312570518089">تم إلغاء المصادقة أثناء الاتصال بالجهاز "<ph name="DEVICE_NAME" />".</translation>
 <translation id="4572815280350369984">ملف <ph name="FILE_TYPE" /></translation>
@@ -2310,6 +2348,7 @@
 <translation id="4640525840053037973">‏تسجيل الدخول باستخدام حسابك في Google</translation>
 <translation id="4641539339823703554">‏تعذر على Chrome تعيين وقت النظام. يُرجى التحقق من الوقت أدناه وإعادة ضبطه إذا لزم الأمر.</translation>
 <translation id="4643612240819915418">&amp;فتح مقطع الفيديو في علامة تبويب جديدة</translation>
+<translation id="4644818355646995778">جارٍ التنزيل، <ph name="PERCENT_REMAINING" /></translation>
 <translation id="4645676300727003670">&amp;احتفاظ</translation>
 <translation id="4647090755847581616">إغلاق &amp;علامة التبويب</translation>
 <translation id="4647697156028544508">يُرجى إدخال رقم التعريف الشخصي لـ "<ph name="DEVICE_NAME" />":</translation>
@@ -2466,6 +2505,11 @@
 <translation id="4883178195103750615">‏تصدير الإشارات المرجعية إلى ملف HTML...</translation>
 <translation id="4883436287898674711">جميع مواقع <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">&amp;مدير المهام</translation>
+<translation id="4883898390143004266">‏مساعدة التطبيقات في تحديد الموقع الجغرافي. يمكنك استخدام خدمة الموقع الجغرافي من Google للمساعدة في تحسين الموقع الجغرافي للتطبيقات. ويجوز لشركة Google جمع بيانات الموقع الجغرافي دوريًا واستخدامها بدون الكشف عن هويتك للمساعدة في تحسين دقة تحديد المواقع الجغرافية والخدمات المستندة إليها. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
+<translation id="4884740091792292473">‏<ph name="BEGIN_PARAGRAPH1" />يمكنك الاحتفاظ بنسخة احتياطية في Google Drive. وكذلك استعادة بياناتك أو تبديل جهازك بسهولة وفي أي وقت.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />قد تكون بيانات التطبيق أي بيانات يحفظها التطبيق (استنادًا إلى إعدادات مطوِّر البرامج)، بما في ذلك البيانات التي قد تكون حسَّاسة مثل جهات الاتصال والرسائل والصور.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />لن تُحتَسَب بيانات النسخ الاحتياطي ضمن حصتك في "التخزين في Drive".<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH4" />يمكنك إيقاف هذه الخدمة في "الإعدادات".<ph name="END_PARAGRAPH4" /></translation>
 <translation id="4884987973312178454">6 أضعاف</translation>
 <translation id="4885705234041587624">MSCHAPv2</translation>
 <translation id="4887424188275796356">فتح باستخدام عارض النظام</translation>
@@ -2691,6 +2735,7 @@
 <translation id="5250372599208556903">يستخدم <ph name="SEARCH_ENGINE_NAME" /> موقعك لتقديم محتوى محلّي لك. ويمكنك تغيير ذلك في <ph name="SETTINGS_LINK" />.</translation>
 <translation id="5252456968953390977">تجوال</translation>
 <translation id="5252653240322147470">يجب أن يكون رقم التعريف الشخصي أقل من <ph name="MAXIMUM" /> من الأرقام</translation>
+<translation id="5253070652067921974">أنشأها</translation>
 <translation id="5254368820972107711">عرض الملفات التي ستتم إزالتها</translation>
 <translation id="52550593576409946">‏تعذر إطلاق تطبيق Kiosk.</translation>
 <translation id="5255315797444241226">عبارة المرور التي أدخلتها غير صحيحة.</translation>
@@ -2713,6 +2758,7 @@
 <translation id="5275973617553375938">‏الملفات المستردة من Google Drive</translation>
 <translation id="527605719918376753">تجاهل علامة التبويب</translation>
 <translation id="527605982717517565">السماح بتشغيل جافا سكريبت على الموقع <ph name="HOST" /> دومًا</translation>
+<translation id="5280426389926346830">هل تريد إنشاء اختصار؟</translation>
 <translation id="5282733140964383898">إن تمكين "عدم التعقب" يعني أنه سيتم تضمين طلب في حركة بيانات التصفح. ويعتمد أي تأثير يحدث على ما إذا كان موقع الويب سيستجيب للطلب، وعلى كيفية تفسير الطلب. على سبيل المثال، قد تستجيب بعض مواقع الويب لهذا الطلب عبر عرض إعلانات لا تستند إلى مواقع الويب الأخرى التي زرتها. بينما ستظل العديد من مواقع الويب تجمع بيانات تصفحك وتستخدمها - على سبيل المثال، لتحسين الأمان وتقديم محتوى وخدمات وإعلانات واقتراحات على مواقع الويب ولإعداد إحصائيات التقارير. <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
 <translation id="5283677936944177147">عفوًا!  تعذّر النظام في تحديد طراز الجهاز أو رقمه التسلسلي.</translation>
 <translation id="5284445933715251131">متابعة التنزيل</translation>
@@ -2745,6 +2791,7 @@
 <translation id="532360961509278431">يتعذر فتح "$1": $2</translation>
 <translation id="5324780743567488672">تعيين المنطقة الزمنية تلقائيا باستخدام موقعك</translation>
 <translation id="5327248766486351172">الاسم</translation>
+<translation id="532776649628038357">أوافق</translation>
 <translation id="532943162177641444">يُرجى نقر الإشعار على جهاز <ph name="PHONE_NAME" /> لإعداد نقطة اتصال الجوّال التي يمكن لهذا الجهاز استخدامها.</translation>
 <translation id="5329858601952122676">&amp;حذف</translation>
 <translation id="5330145655348521461">تم فتح هذه الملفات على جهاز سطح مكتب آخر. يمكنك الانتقال إلى <ph name="USER_NAME" /> (<ph name="MAIL_ADDRESS" />) للاطلاع عليها.</translation>
@@ -2767,6 +2814,7 @@
 <translation id="5353252989841766347">‏تصدير كلمات المرور من Chrome</translation>
 <translation id="5355097969896547230">البحث مرة أخرى</translation>
 <translation id="5355926466126177564">غيّرت الإضافة "<ph name="EXTENSION_NAME" />" الصفحة التي تظهر عند البحث في المربع متعدد الاستخدامات.</translation>
+<translation id="5358764674931277">معدل عرض الإطارات</translation>
 <translation id="5360150013186312835">العرض في شريط الأدوات</translation>
 <translation id="5362741141255528695">حدد ملف المفتاح الخاص.</translation>
 <translation id="5363109466694494651">إجراء المحو الكامل والعودة</translation>
@@ -2803,6 +2851,7 @@
 <translation id="5414566801737831689">قراءة رموز مواقع الويب التي تزورها</translation>
 <translation id="5417312524372586921">مظاهر المتصفح</translation>
 <translation id="5419294236999569767">وقت النظام</translation>
+<translation id="5420438158931847627">تحدّد درجة حدة النص والصور</translation>
 <translation id="5422221874247253874">نقطة الوصول</translation>
 <translation id="5422781158178868512">عذرًا، تعذر التعرف على جهاز سعة التخزين الخارجية.</translation>
 <translation id="5423849171846380976">نشطة</translation>
@@ -2858,6 +2907,7 @@
 <translation id="5487521232677179737">محو البيانات</translation>
 <translation id="5488093641312826914">تم نسخ العنصر '<ph name="COPIED_ITEM_NAME" />'</translation>
 <translation id="5488468185303821006">السماح بالتشغيل في وضع التصفح المتخفي</translation>
+<translation id="5491110079163012109">‏إرسال بيانات النظام. يمكنك إرسال بيانات التشخيص وبيانات استخدام التطبيق والجهاز تلقائيًا إلى Google. يفرض المالك هذا الإعداد. وقد يختار إرسال بيانات الاستخدام والتشخيص لهذا الجهاز إلى Google. ويمكنك عرض ذلك في الإعدادات. وفي حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">الشاشة قيد التشغيل</translation>
 <translation id="5494362494988149300">فتح عند &amp;اكتمال التنزيل</translation>
 <translation id="5494920125229734069">تحديد الكل</translation>
@@ -2918,6 +2968,7 @@
 <translation id="5568069709869097550">تعذّر الدخول</translation>
 <translation id="5568144734023334204">‏سعة تخزين Android</translation>
 <translation id="5569544776448152862">التسجيل في <ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" />...</translation>
+<translation id="5572572070321843880">‏خطأ: تعذّر بدء الجهاز الافتراضي (VM) Termina.</translation>
 <translation id="5575473780076478375">إضافة وضع التصفح المتخفي: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">‏لن يؤثر إعادة تعيين الجهاز على حسابات Google أو أي من البيانات التي تمت مزامنتها مع هذه الحسابات. ومع ذلك، سيتم حذف جميع الملفات التي تم حفظها محليًا على جهازك.</translation>
 <translation id="5578059481725149024">تسجيل الدخول التلقائي</translation>
@@ -2986,6 +3037,9 @@
 <translation id="5678550637669481956">تم منح إذن دخول للقراءة والكتابة إلى <ph name="VOLUME_NAME" />.</translation>
 <translation id="5678955352098267522">قراءة بياناتك على <ph name="WEBSITE_1" /></translation>
 <translation id="5684661240348539843">معرّف الأصول</translation>
+<translation id="5686799162999241776"><ph name="BEGIN_BOLD" />لا يمكن قطع الاتصال من أرشيف أو قرص افتراضي<ph name="END_BOLD" />
+   <ph name="LINE_BREAKS" />
+   أغلق جميع الملفات في الأرشيف أو القرص الافتراضي، ثم أعِد المحاولة.</translation>
 <translation id="5687326903064479980">المنطقة الزمنية</translation>
 <translation id="5689516760719285838">الموقع</translation>
 <translation id="56907980372820799">ربط البيانات</translation>
@@ -2994,6 +3048,8 @@
 <translation id="5694501201003948907">جارٍ ضغط $1 من العناصر...</translation>
 <translation id="5696143504434933566">الإبلاغ عن إساءة الاستخدام من "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="5699533844376998780">تم إضافة الإضافة "<ph name="EXTENSION_NAME" />".</translation>
+<translation id="5700087501958648444">معلومات الملف الصوتي</translation>
+<translation id="570043786759263127">‏تطبيقات Google Play وخدماته</translation>
 <translation id="5700836101007545240">تم تعطيل إضافة اتصال بواسطة المشرف</translation>
 <translation id="5701381305118179107">توسيط</translation>
 <translation id="5702898740348134351">&amp;تعديل محركات البحث...</translation>
@@ -3018,6 +3074,7 @@
 <translation id="5739458112391494395">كبير جدًا</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />، و<ph name="LANGUAGE_2" />، و<ph name="NUM_ADDITIONAL_LANGUAGES" /> من اللغات الأخرى</translation>
 <translation id="5741245087700236983"><ph name="PROFILE_NAME" />: حدد للتعديل</translation>
+<translation id="574209121243317957">درجة الصوت</translation>
 <translation id="5746169159649715125">‏حفظ بتنسيق ملف PDF</translation>
 <translation id="5747552184818312860">تاريخ انتهاء الصلاحية</translation>
 <translation id="5747785204778348146">المطوّر - غير ثابت</translation>
@@ -3177,6 +3234,7 @@
 <translation id="5991049340509704927">تكبير</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{لضمان مواصلة تصفّح الويب، يُرجى الطلب من المُشرف إزالة هذا التطبيق.}zero{لضمان مواصلة تصفّح الويب، يُرجى الطلب من المُشرف إزالة هذه التطبيقات.}two{لضمان مواصلة تصفّح الويب، يُرجى الطلب من المُشرف إزالة هذين التطبيقين.}few{لضمان مواصلة تصفّح الويب، يُرجى الطلب من المُشرف إزالة هذه التطبيقات.}many{لضمان مواصلة تصفّح الويب، يُرجى الطلب من المُشرف إزالة هذه التطبيقات.}other{لضمان مواصلة تصفّح الويب، يُرجى الطلب من المُشرف إزالة هذه التطبيقات.}}</translation>
 <translation id="5993332328670040093">لن يتم قياس استخدام البيانات بعد ذلك.</translation>
+<translation id="6002458620803359783">الأصوات المُفضَّلة</translation>
 <translation id="600424552813877586">التطبيق غير صالح.</translation>
 <translation id="6005695835120147974">موجّه الوسائط</translation>
 <translation id="6006484371116297560">كلاسيكي</translation>
@@ -3193,6 +3251,7 @@
 <translation id="602251597322198729">يحاول هذا الموقع تنزيل ملفات متعددة. هل تريد السماح بهذا الإجراء؟</translation>
 <translation id="6022526133015258832">فتح في وضع ملء الشاشة</translation>
 <translation id="6025215716629925253">تتبع التكديس</translation>
+<translation id="6026047032548434446">هل تريد تثبيت التطبيق؟</translation>
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - تم توصيل جهاز USB</translation>
 <translation id="6032912588568283682">نظام الملفات</translation>
 <translation id="6034662038931255275">تم تحديث نظام التشغيل بنجاح</translation>
@@ -3278,6 +3337,7 @@
 <translation id="6151771661215463137">الملف موجود فعلاً في مجلد التنزيل.</translation>
 <translation id="615436196126345398">البروتوكول</translation>
 <translation id="6154697846084421647">مسجّل الدخول حاليًا</translation>
+<translation id="6155141482566063812">تتشارك علامة تبويب خلفية في شاشتك</translation>
 <translation id="6156323911414505561">عرض شريط الإشارات</translation>
 <translation id="6156863943908443225">ذاكرة التخزين المؤقت للنص البرمجي</translation>
 <translation id="6156960295318603523">إعدادات اللغة</translation>
@@ -3297,6 +3357,7 @@
 <translation id="6181431612547969857">تم حظر التنزيل</translation>
 <translation id="6185132558746749656">موقع الجهاز</translation>
 <translation id="6185696379715117369">صفحة لأعلى</translation>
+<translation id="6189273858858366896">إعداد مشاركات ملف الشبكة أو إدارتها.</translation>
 <translation id="6189412234224385711">فتح باستخدام <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">حظر ملفات تعريف الارتباط للجهات الخارجية</translation>
 <translation id="6196854373336333322">أصبح بإمكان الإضافة "<ph name="EXTENSION_NAME" />" التحكم في إعدادات الخادم الوكيل التابعة لك، مما يعني أن بإمكانها تغيير أي إجراء لك عبر الإنترنت أو قطعه أو التجسس عليه. إذا كنت غير متيقن من سبب حدوث هذا التغيير، فأنت لا ترغب فيه على الأرجح.</translation>
@@ -3519,6 +3580,7 @@
 <translation id="6528513914570774834">السماح للمستخدمين الآخرين لهذا الجهاز باستخدام هذه الشبكة</translation>
 <translation id="652948702951888897">‏سجل Chrome</translation>
 <translation id="653019979737152879">جارٍ مزامنة <ph name="FILE_NAME" />...</translation>
+<translation id="6530681427077572136">‏إرسال بيانات النظام. يُرسِل هذا الجهاز حاليًا بيانات التشخيص وبيانات استخدام التطبيق والجهاز تلقائيًا إلى Google. ويمكنك تغيير ذلك في أي وقت في إعدادات جهازك. وفي حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="6531282281159901044">الاحتفاظ بالملف الضار</translation>
 <translation id="6534583978616527129">تهيئة الاتصال</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />ملاحظة:<ph name="END_BOLD" /> يُوصى بعدم التمكين إلا إذا كنت تعرف ماذا تريد أو عندما يُطلب منك إجراء ذلك، ذلك أن جمع البيانات قد يقلل من مستوى الأداء.</translation>
@@ -3545,6 +3607,7 @@
 <translation id="656398493051028875">جارٍ حذف "<ph name="FILENAME" />"...</translation>
 <translation id="6567688344210276845">تعذر تحميل الرمز '<ph name="ICON" />' لإجراء المتصفح.</translation>
 <translation id="657402800789773160">إ&amp;عادة تحميل هذه الصفحة</translation>
+<translation id="6577284282025554716">تم إلغاء التنزيل: <ph name="FILE_NAME" /></translation>
 <translation id="6578664922716508575">‏تشفير كلمات المرور المتزامنة باستخدام اسم المستخدم وكلمة المرور لحساب Google</translation>
 <translation id="6580151766480067746">‏إصدار ARC</translation>
 <translation id="6581162200855843583">‏رابط Google Drive</translation>
@@ -3570,6 +3633,7 @@
 <translation id="6607831829715835317">المزيد من &amp;الأدوات</translation>
 <translation id="6612358246767739896">محتوى محمي</translation>
 <translation id="6613452264606394692">يمكنك الرجوع إلى هنا بسرعة بوضع إشارة على هذه الصفحة</translation>
+<translation id="6614893213975402384">‏تثبيت التحديثات والتطبيقات. بالمتابعة، أنت توافق على تمكين هذا الجهاز من تنزيل التحديثات والتطبيقات وتثبيتها تلقائيًا من Google ومشغِّل شبكة الجوَّال والشركة المصنِّعة للجهاز، وأنّ ذلك قد يتم عبر بيانات شبكة الجوَّال. قد توفّر بعض هذه التطبيقات ميزة الشراء داخل التطبيق. ويمكنك إزالة هذه التطبيقات متى شئت. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="6615455863669487791">عرضه</translation>
 <translation id="661719348160586794">ستظهر هنا كلمات المرور المحفوظة.</translation>
 <translation id="6618097958368085618">الاحتفاظ به على أيّ حال</translation>
@@ -3585,6 +3649,7 @@
 <translation id="6628328486509726751">تم التحميل في <ph name="WEBRTC_LOG_UPLOAD_TIME" /></translation>
 <translation id="6629841649550503054">‏تم نسخ جميع العناصر احتياطيًا في <ph name="BEGIN_LINK" />Google Drive.<ph name="END_LINK" /></translation>
 <translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> يريد وصولاً دائمًا إلى شهادة للمصادقة الذاتية نيابةً عنك.</translation>
+<translation id="6635956300022133031">اختيار إعدادات الصوت في ميزة تحويل النص إلى كلام وتخصيصها</translation>
 <translation id="6639554308659482635">‏ذاكرة SQLite</translation>
 <translation id="6641138807883536517">‏كلمة مرور الوحدة الآمنة التي تم إنشاؤها عشوائيًا غير متاحة. ويعد ذلك أمرًا عاديًا بعد إجراء Powerwash.</translation>
 <translation id="6643016212128521049">محو</translation>
@@ -3592,6 +3657,7 @@
 <translation id="6644846457769259194">جارٍ تحديث جهازك (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="6647228709620733774">‏عنوان URL لإبطال المرجع المصدق لـ Netscape</translation>
 <translation id="6647838571840953560">حاليًا على قناة <ph name="CHANNEL_NAME" /></translation>
+<translation id="6648911618876616409">تحديث مهم جاهز للتثبيت. يُرجى تسجيل الدخول للبدء.</translation>
 <translation id="6649018507441623493">لحظة من فضلك...</translation>
 <translation id="6649563841575838401">تنسيق الأرشيف غير متوافق، أو الملف تالف.</translation>
 <translation id="665061930738760572">فتح في &amp;نافذة جديدة</translation>
@@ -3611,6 +3677,7 @@
 <translation id="6678717876183468697">‏عنوان URL للاستعلام</translation>
 <translation id="6680028776254050810">التبديل بين المستخدمين</translation>
 <translation id="6680442031740878064">المساحة المتاحة: <ph name="AVAILABLE_SPACE" /></translation>
+<translation id="6680650203439190394">تقييم</translation>
 <translation id="6681668084120808868">التقاط صورة</translation>
 <translation id="6681964764822470072">سيتم إلغاء تثبيت "<ph name="APP_NAME" />".</translation>
 <translation id="668599234725812620">‏فتح Google Play</translation>
@@ -3627,6 +3694,7 @@
 <translation id="6702639462873609204">تعد&amp;يل...</translation>
 <translation id="6706210727756204531">النطاق</translation>
 <translation id="6707389671160270963">‏شهادة عميل بروتوكول SSL (طبقة المقابس الآمنة)</translation>
+<translation id="6708029444764748914">يُرجى إعادة إدخال "رقم التعريف الشخصي" لتسجيل الدخول إلى جهازك.</translation>
 <translation id="6708242697268981054">المصدر:</translation>
 <translation id="6709357832553498500">الاتصال باستخدام <ph name="EXTENSIONNAME" /></translation>
 <translation id="6710213216561001401">السابق</translation>
@@ -3757,6 +3825,7 @@
 <translation id="6922128026973287222">‏حفظ البيانات والاستمتاع بتصفح أسرع باستخدام ميزة توفير البيانات في Google. يمكن النقر للتعرف على المزيد من المعلومات.</translation>
 <translation id="6923132443355966645">التمرير / النقر على</translation>
 <translation id="6929555043669117778">متابعة منع عرض النوافذ المنبثقة</translation>
+<translation id="6929835486583850209">حدث خطأ أثناء تثبيت <ph name="APP_NAME" />...</translation>
 <translation id="6930242544192836755">المدة</translation>
 <translation id="6934241953272494177">جارٍ فحص جهاز الوسائط...
     <ph name="LINE_BREAK1" />
@@ -3861,6 +3930,7 @@
 <translation id="7077829361966535409">تعذّر تحميل صفحة تسجيل الدخول باستخدام إعدادات الخادم الوكيل الحالية. يُرجى <ph name="GAIA_RELOAD_LINK_START" />إعادة محاولة تسجيل الدخول<ph name="GAIA_RELOAD_LINK_END" />، أو استخدام <ph name="PROXY_SETTINGS_LINK_START" />إعدادات خادم وكيل<ph name="PROXY_SETTINGS_LINK_END" /> مختلفة.</translation>
 <translation id="7078120482318506217">جميع الشبكات</translation>
 <translation id="708060913198414444">ن&amp;سخ عنوان الصوت</translation>
+<translation id="7081952801286122383">أنت تستخدم وضع التصفُّح المُتخفِّي</translation>
 <translation id="708278670402572152">قطع الاتصال لتمكين الفحص</translation>
 <translation id="7084192839369222683">تشغيل المحتوى المهم فقط</translation>
 <translation id="7085389578340536476">‏هل تسمح لمتصفح Chrome بتسجيل الصوت؟</translation>
@@ -3928,6 +3998,9 @@
 <translation id="7191454237977785534">حفظ الملف باسم</translation>
 <translation id="7193374945610105795">لم يتم حفظ أي كلمات مرور لـ <ph name="ORIGIN" /></translation>
 <translation id="7196835305346730603">‏جارٍ البحث عن أجهزة Chromeboxe قريبة...</translation>
+<translation id="7197160646667308890">‏<ph name="BEGIN_PARAGRAPH1" />هذه معلومات عامة عن جهازك وكيفية استخدامه (مثل مستوى طاقة البطارية واستخدام التطبيقات وجودة اتصال الشبكة). وسيتم استخدام هذه البيانات في تحسين منتجات Google وخدماتها للجميع. كما تساعد بعض المعلومات المُجمعّة الشركاء، مثل مطوِّري برامج Android، على تحسين تطبيقاتهم ومنتجاتهم أيضًا.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />لا يؤثر إيقاف هذه الميزة في إمكانية جهازك لإرسال المعلومات اللازمة للخدمات الأساسية، مثل تحديثات النظام والأمان.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />يمكنك التحكُّم في هذه الميزة من "الإعدادات &gt; Google". ثم يمكنك اختيار "الاستخدام وبيانات التشخيص" من القائمة.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7199158086730159431">الحصول على مساعدة</translation>
 <translation id="720110658997053098">تشغيل هذا الجهاز في وضع الكشك دائمًا</translation>
 <translation id="7201118060536064622">تم حذف "<ph name="DELETED_ITEM_NAME" />"</translation>
@@ -3946,9 +4019,11 @@
 <translation id="7223775956298141902">عفوًا... ليست لديك أي إضافات :-(</translation>
 <translation id="7225179976675429563">نوع الشبكة مفقود</translation>
 <translation id="7228479291753472782">معالجة الإعدادات التي تحدد ما إذا كان بإمكان مواقع الويب استخدام ميزات مثل المواقع الجغرافية والميكروفون والكاميرا، وغيرها</translation>
+<translation id="7228523857728654909">قفل الشاشة وتسجيل الدخول</translation>
 <translation id="7229570126336867161">‏يلزم توفر EVDO</translation>
 <translation id="7230787553283372882">تخصيص حجم النَّص</translation>
 <translation id="7232750842195536390">تعذّرت إعادة التسمية</translation>
+<translation id="7233309214676155451">‏يمكنك مزامنة Chrome وتخصيصه على جهازك</translation>
 <translation id="7238585580608191973">‏بصمة أصبع SHA-256</translation>
 <translation id="7240120331469437312">الاسم البديل لصاحب الشهادة</translation>
 <translation id="7240339475467890413">هل تريد الاتصال بنقطة اتصال جديدة؟</translation>
@@ -3979,6 +4054,7 @@
 <translation id="727952162645687754">خطأ في التنزيل</translation>
 <translation id="7279701417129455881">إدارة منع ملفات تعريف الارتباط...</translation>
 <translation id="7280041992884344566">‏حدث خطأ أثناء بحث Chrome عن البرامج الضارة.</translation>
+<translation id="7280649757394340890">إعدادات الصوت في ميزة تحويل النص إلى كلام</translation>
 <translation id="7280877790564589615">تمّ طلب إذن</translation>
 <translation id="7282992757463864530">شريط المعلومات</translation>
 <translation id="7283041136720745563">‏حصة Google Drive ليست كبيرة بشكلٍ كافٍ.</translation>
@@ -3994,12 +4070,14 @@
 <translation id="7297443947353982503">‏اسم المستخدم/كلمة المرور غير صحيحة أو تعذّرت مصادقة EAP</translation>
 <translation id="729761647156315797">اختيار اللغة ولوحة المفاتيح</translation>
 <translation id="7299337219131431707">تمكين تصفح الضيف</translation>
+<translation id="730289542559375723">{NUM_APPLICATIONS,plural, =1{‏قد يمنع هذا التطبيق تشغيل Chrome بشكلٍ صحيح.}zero{‏قد تمنع هذه التطبيقات تشغيل Chrome بشكلٍ صحيح.}two{‏قد يمنع هذان التطبيقان تشغيل Chrome بشكلٍ صحيح.}few{‏قد تمنع هذه التطبيقات تشغيل Chrome بشكلٍ صحيح.}many{‏قد تمنع هذه التطبيقات تشغيل Chrome بشكلٍ صحيح.}other{‏قد تمنع هذه التطبيقات تشغيل Chrome بشكلٍ صحيح.}}</translation>
 <translation id="7303900363563182677">تم حظر هذا الموقع من الاطلاع على النصوص والصور التي تم نسخها إلى الحافظة.</translation>
 <translation id="730515362922783851">تبادل البيانات مع أي جهاز على الشبكة المحلية أو الإنترنت</translation>
 <translation id="7308002049209013926">‏استخدم Launcher للوصول بسرعة إلى التطبيقات والأنشطة الجديدة. وللوصول إلى هنا من خلال لوحة المفاتيح، اضغط على Alt + Shift + L.</translation>
 <translation id="7309257895202129721">عرض &amp;عناصر التحكم</translation>
 <translation id="7311079019872751559">الوصول إلى المكون الإضافي دون استخدام وضع الحماية</translation>
 <translation id="7311891583377621132">التحرك قليلاً لالتقاط جزء مختلف من بصمة الإصبع</translation>
+<translation id="7317680720589234980">خيارات تسجيل الدخول وقفل الشاشة</translation>
 <translation id="7317938878466090505"><ph name="PROFILE_NAME" /> (الحالي)</translation>
 <translation id="7321545336522791733">خادم يتعذر الوصول إليه</translation>
 <translation id="7324297612904500502">منتدى الإصدار التجريبي</translation>
@@ -4129,6 +4207,10 @@
 <translation id="7507930499305566459">شهادة الاستجابة للحالة</translation>
 <translation id="7508545000531937079">عرض الشرائح</translation>
 <translation id="7513029293694390567">يمكنك تسجيل الدخول تلقائيًا إلى مواقع الويب باستخدام بيانات الاعتماد المخزّنة. وفي حالة تعطيل هذا الإعداد، سيُطلب منك التأكيد في كل مرة قبل تسجيل الدخول إلى أحد مواقع الويب.</translation>
+<translation id="7515154058529101840">‏<ph name="BEGIN_PARAGRAPH1" />مساعدة التطبيقات في تحديد الموقع الجغرافي. يمكنك استخدام خدمة الموقع الجغرافي من Google للمساعدة في تحسين الموقع الجغرافي للتطبيقات. ويجوز لشركة Google جمع بيانات الموقع الجغرافي بشكل دوري واستخدامها بدون الكشف عن هويتك للمساعدة في تحسين دقة تحديد المواقع الجغرافية
+ والخدمات المستندة إليها.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />تستخدم خدمة الموقع الجغرافي من Google المصادر، مثل شبكة Wi-Fi وشبكات الجوَّال والحساسات للمساعدة في تقدير الموقع الجغرافي لجهازك. ويتم تنشيط هذه الخدمة عند تفعيل إعداد "الموقع الجغرافي" على جهازك.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />يمكنك إيقاف "الموقع الجغرافي" من خلال إيقاف الإعداد الرئيسي للموقع الجغرافي على جهازك. ويمكنك أيضًا إيقاف استخدام شبكة Wi-Fi وشبكات الجوَّال والحساسات للموقع الجغرافي في إعدادات الموقع الجغرافي.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7517569744831774757">إعادة الإعدادات إلى الحالة الافتراضية الأصلية.</translation>
 <translation id="7517786267097410259">إنشاء كلمة مرور -</translation>
 <translation id="7518150891539970662">‏سجلات WebRTC‏ (<ph name="WEBRTC_LOG_COUNT" />)</translation>
@@ -4144,6 +4226,7 @@
 <translation id="7543104066686362383">تمكين ميزات تصحيح الأخطاء على جهاز <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="7544853251252956727">ترتيب عشوائي</translation>
 <translation id="7545415673537747415">‏يمكنك التحكم في الطريقة التي تتبعها Google عند استخدام سجل التصفح لتخصيص البحث، والإعلانات، وخدمات Google الأخرى من <ph name="BEGIN_LINK" />عناصر التحكم في النشاط على Google<ph name="END_LINK" />.</translation>
+<translation id="7545809182698428577">تفعيل الميزات المُدرَجة هنا. واستخدام نشاط متصفِّحك ومحتوى بعض المواقع التي تزورها وتفاعلات المتصفِّح الأخرى للتخصيص.</translation>
 <translation id="7547317915858803630">تحذير: إعدادات <ph name="PRODUCT_NAME" /> مخزنة على محرك أقراص شبكة. قد يؤدي هذا إلى حدوث مشاكل بطء أو أعطال أو حتى فقدان البيانات.</translation>
 <translation id="7547483330017600937">يمكنك تطوير البرامج على <ph name="DEVICE_TYPE" />، وتشغيل التطبيقات المحلية المفضّلة وأدوات سطر الأوامر بسلاسة وأمان.
 
@@ -4179,6 +4262,7 @@
 <translation id="7589461650300748890">توقف، وكن حذرًا.</translation>
 <translation id="7589661784326793847">انتظر قليلاً</translation>
 <translation id="7591957897535945411">تمت ترجمة هذه الصفحة.</translation>
+<translation id="7595453277607160340">‏لاستخدام تطبيقات Android والاستمرار في تشغيل جهازك <ph name="DEVICE_TYPE" /> بشكلٍ صحيح، يُرجى تسجيل الدخول مرة أخرى والتحديث.</translation>
 <translation id="7595547011743502844"><ph name="ERROR" /> (رمز الخطأ <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">إعادة تشغيل الكمبيوتر</translation>
 <translation id="7600965453749440009">عدم الترجمة مطلقًا من اللغة <ph name="LANGUAGE" /></translation>
@@ -4243,6 +4327,7 @@
 <translation id="7707922173985738739">استخدام بيانات الجوّال</translation>
 <translation id="7709152031285164251">تعذّر - <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;إرسال...</translation>
+<translation id="7711920809702896782">معلومات الصورة</translation>
 <translation id="7714307061282548371">تم السماح بملفات تعريف الارتباط الواردة من <ph name="DOMAIN" /></translation>
 <translation id="7714464543167945231">شهادة</translation>
 <translation id="7716781361494605745">‏عنوان URL لسياسة المرجع المصدق لـ Netscape</translation>
@@ -4342,6 +4427,7 @@
 <translation id="7851457902707056880">تم تقييد تسجيل الدخول على مالك الحساب فقط. يُرجى إعادة التشغيل وتسجيل الدخول باستخدام حساب المالك. ستتم إعادة تشغيل الجهاز خلال 30 ثانية.</translation>
 <translation id="7851716364080026749">حظر الدخول إلى الكاميرا والميكروفون دومًا</translation>
 <translation id="7853747251428735">المزيد من الأد&amp;وات</translation>
+<translation id="7856006446339184955">‏إرسال بيانات النظام. يُرسِل هذا الجهاز حاليًا بيانات التشخيص وبيانات استخدام الجهاز والتطبيق تلقائيًا إلى Google. ويفرض المالك هذا <ph name="BEGIN_LINK1" />الإعداد<ph name="END_LINK1" />. في حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك، حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK2" />مزيد من المعلومات<ph name="END_LINK2" /></translation>
 <translation id="7857117644404132472">إضافة استثناء</translation>
 <translation id="7857949311770343000">هل هذه هي صفحة علامة التبويب الجديدة التي كنت تتوقع ظهورها؟</translation>
 <translation id="786073089922909430">الخدمة: <ph name="ARC_PROCESS_NAME" /></translation>
@@ -4360,6 +4446,7 @@
 <translation id="7886917304091689118">‏قيد التشغيل في Chrome</translation>
 <translation id="7887334752153342268">تكرار</translation>
 <translation id="7887864092952184874">ماوس بلوتوث مقترن</translation>
+<translation id="7889565820482017512">حجم الشاشة</translation>
 <translation id="7889966925761734854">البحث بالتمرير</translation>
 <translation id="7892100671754994880">المستخدم التالي</translation>
 <translation id="7893008570150657497">الوصول إلى الصور والموسيقى والوسائط الأخرى من جهاز الكمبيوتر</translation>
@@ -4463,6 +4550,7 @@
 <translation id="8026334261755873520">محو بيانات التصفُّح</translation>
 <translation id="8028060951694135607">‏استرداد مفتاح Microsoft</translation>
 <translation id="8028134359912645720">‏اضغط مع الاستمرار على Control، Alt، Shift أو Launcher لمشاهدة اختصارات لوحة المفاتيح لمفاتيح التعديل هذه.</translation>
+<translation id="8028803902702117856">جارٍ تنزيل <ph name="SIZE" />، <ph name="FILE_NAME" /></translation>
 <translation id="8028993641010258682">الحجم</translation>
 <translation id="8030656706657716245">إضافة طابعة</translation>
 <translation id="8032244173881942855">يتعذّر إرسال علامة التبويب.</translation>
@@ -4661,6 +4749,7 @@
 <translation id="8366396658833131068">تمت استعادة اتصال الشبكة. يُرجى تحديد شبكة أخرى أو الضغط على الزر "متابعة" أدناه لتشغيل تطبيق الكشك.</translation>
 <translation id="8366947248864804596">عندما يكون هاتفك غير مقفل وقريب، ما عليك سوى تحديد إلغاء القفل. أو يمكنك إدخال كلمة المرور أو رقم التعريف الشخصي التابع لك.</translation>
 <translation id="8368859634510605990">&amp;فتح كل الإشارات المرجعية</translation>
+<translation id="8369547389711988632">تم إيقاف التحميل</translation>
 <translation id="8371695176452482769">تحدث الآن</translation>
 <translation id="8372369524088641025">‏مفتاح WEP غير صالح</translation>
 <translation id="8373553483208508744">تجاهل علامات التبويب</translation>
@@ -4702,6 +4791,7 @@
 <translation id="8439506636278576865">عرض ترجمة الصفحات المكتوبة بهذه اللغة</translation>
 <translation id="8446884382197647889">مزيد من المعلومات</translation>
 <translation id="8447409163267621480">‏تضمين إما مفتاح Ctrl أو Alt</translation>
+<translation id="8448729345478502352">تصغير العناصر المعروضة على شاشتك أو تكبيرها</translation>
 <translation id="8449008133205184768">لصق النمط ومطابقته</translation>
 <translation id="8449036207308062757">إدارة سعة التخزين</translation>
 <translation id="8451512073679317615">المساعد</translation>
@@ -4716,6 +4806,7 @@
 <translation id="84613761564611563">تم طلب واجهة المستخدم لتهيئة الشبكة، يُرجى الانتظار...</translation>
 <translation id="8461914792118322307">الخادم الوكيل</translation>
 <translation id="8463215747450521436">ربما يكون قد تم حذف هذا المستخدم الخاضع للإدارة أو تم تعطيله بواسطة المدير. يُرجى الاتصال بالمدير إذا كنت تريد متابعة تسجيل دخولك باسم هذا المستخدم.</translation>
+<translation id="846374874681391779">شريط التنزيلات</translation>
 <translation id="8463955938112983119">تم تعطيل <ph name="PLUGIN_NAME" />.</translation>
 <translation id="8464132254133862871">حساب المستخدم هذا غير مؤهل للخدمة.</translation>
 <translation id="8465252176946159372">غير صالح</translation>
@@ -4731,6 +4822,7 @@
 <translation id="8477384620836102176">&amp;عام</translation>
 <translation id="8480082892550707549">حتى إذا كنت قد نزّلت ملفات من موقع الويب هذا من قبل، فقد يكون موقع الويب غير آمن مؤقتًا (تعرض للاختراق). يُرجى محاولة تنزيل هذا الملف لاحقًا.</translation>
 <translation id="8480869669560681089">جهاز غير معروف من <ph name="VENDOR_NAME" /></translation>
+<translation id="8481187309597259238">‏تأكيد إذن USB</translation>
 <translation id="8483248364096924578">‏عنوان IP</translation>
 <translation id="8487678622945914333">تكبير</translation>
 <translation id="8487693399751278191">استيراد الإشارات المرجعية الآن...</translation>
@@ -4756,6 +4848,7 @@
 <translation id="8534656636775144800">عفوًا،  حدث خطأ ما أثناء محاولة الانضمام إلى النطاق. يُرجى إعادة المحاولة.</translation>
 <translation id="8535005006684281994">‏عنوان URL لتجديد شهادة Netscape</translation>
 <translation id="8539727552378197395">‏لا (HttpOnly)</translation>
+<translation id="8541166929715485291">‏إرسال بيانات النظام. يمكنك إرسال بيانات التشخيص وبيانات استخدام الجهاز والتطبيق تلقائيًا إلى Google. يفرض المالك هذا الإعداد. وقد يختار إرسال بيانات التشخيص والاستخدام لهذا الجهاز إلى Google. ويمكنك عرض ذلك في <ph name="BEGIN_LINK1" />الإعدادات<ph name="END_LINK1" />. وفي حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK2" />مزيد من المعلومات<ph name="END_LINK2" /></translation>
 <translation id="8545107379349809705">إخفاء المعلومات...</translation>
 <translation id="8545575359873600875">عفوًا، تعذر التحقق من كلمة مرورك. ربما غيّر مدير المستخدم تحت الإشراف هذا كلمة المرور مؤخرًا. إذا كان الأمر كذلك، فسيتم تطبيق كلمة المرور الجديدة في المرة القادمة التي تسجل فيها الدخول. حاول استخدام كلمة المرور القديمة.</translation>
 <translation id="8546186510985480118">المساحة الموجودة على الجهاز منخفضة</translation>
@@ -4851,6 +4944,7 @@
 <translation id="8677212948402625567">تصغير الكل...</translation>
 <translation id="8678648549315280022">إدارة إعدادات التنزيل...</translation>
 <translation id="8678933587484842200">كيف تريد بدء عمل هذا التطبيق؟</translation>
+<translation id="8679788109894721265">تستخدم هذه الصفحة مساحة تزيد عن <ph name="MEGABYTES" />ميغابايت</translation>
 <translation id="8680251145628383637">‏سجّل الدخول للحصول على الإشارات المرجعية، والسجل، وكلمات المرور، والإعدادات الأخرى على جميع أجهزتك. سيتم أيضًا تسجيل دخولك تلقائيًا إلى خدمات Google.</translation>
 <translation id="8680536109547170164"><ph name="QUERY" />، إجابة، <ph name="ANSWER" /></translation>
 <translation id="8686213429977032554">‏لم تتم مشاركة ملف Drive هذا بعد</translation>
@@ -4864,6 +4958,7 @@
 <translation id="8698464937041809063">‏رسم Google</translation>
 <translation id="869884720829132584">قائمة التطبيقات</translation>
 <translation id="869891660844655955">تاريخ انتهاء الصلاحية</translation>
+<translation id="870073306461175568">مشاركات ملف الشبكة</translation>
 <translation id="8700934097952626751">انقر لبدء البحث الصوتي</translation>
 <translation id="8704521619148782536">يستغرق هذا الإجراء وقتًا أطول من المعتاد. يمكنك متابعة الانتظار أو الإلغاء وإعادة المحاولة.</translation>
 <translation id="8705331520020532516">الرقم التسلسلي</translation>
@@ -4878,6 +4973,7 @@
 <translation id="8714154114375107944">إيقاف الدعم</translation>
 <translation id="871476437400413057">‏كلمات مرور Google التي تم حفظها</translation>
 <translation id="8714838604780058252">رسومات الخلفية</translation>
+<translation id="8715480913140015283">تستخدم علامة تبويب خلفية الكاميرا</translation>
 <translation id="8719653885894320876">تعذّر تنزيل <ph name="PLUGIN_NAME" /></translation>
 <translation id="8723829621484579639">التصفح المتخفي للإطارات الفرعية لـ: <ph name="PARENT_SITE" /></translation>
 <translation id="8724859055372736596">&amp;عرض في المجلد</translation>
@@ -5011,6 +5107,7 @@
 <translation id="8940081510938872932">يجري الكمبيوتر الكثير من المهام في الوقت الحالي. أعد المحاولة لاحقًا.</translation>
 <translation id="8941173171815156065">إلغاء الإذن "<ph name="PERMISSION" />"</translation>
 <translation id="8941882480823041320">الكلمة السابقة</translation>
+<translation id="8943076760234179177">‏عنوان URL لمشاركة الملف</translation>
 <translation id="894360074127026135">‏الترقية الدولية لـ Netscape</translation>
 <translation id="8944099748578356325">استخدام البطارية بسرعة أكبر (حاليًا <ph name="BATTERY_PERCENTAGE" />%)</translation>
 <translation id="8944964446326379280">يشارك <ph name="APP_NAME" /> نافذة من خلال <ph name="TAB_NAME" />.</translation>
@@ -5112,6 +5209,7 @@
 <translation id="9094033019050270033">تحديث كلمة المرور</translation>
 <translation id="9094982973264386462">إزالة</translation>
 <translation id="9095253524804455615">إزالة</translation>
+<translation id="9099674669267916096">عدد الصفحات</translation>
 <translation id="9100765901046053179">الإعدادات المتقدمة</translation>
 <translation id="9101691533782776290">إطلاق التطبيق</translation>
 <translation id="9102610709270966160">تمكين الإضافة</translation>
@@ -5158,6 +5256,7 @@
 <translation id="9157697743260533322">فشل في إعداد التحديثات التلقائية لجميع المستخدمين (خطأ إطلاق الاختبار المبدئي: <ph name="ERROR_NUMBER" />)</translation>
 <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="9169496697824289689">عرض اختصارات لوحة المفاتيح</translation>
 <translation id="9169931577761441333">إضافة تطبيق <ph name="APP_NAME" /> إلى الشاشة الرئيسية</translation>
 <translation id="9170397650136757332">حرِّك الآن إصبعك قليلاً لالتقاط جميع الأجزاء المختلفة لبصمة إصبعك</translation>
@@ -5181,6 +5280,7 @@
 <translation id="9214695392875603905">كب كيك</translation>
 <translation id="9215293857209265904">تمت إضافة "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="9215934040295798075">تعيين خلفية</translation>
+<translation id="9218027443531385788">‏لتنزيل تطبيقات Android واستخدامها، تحتاج أولاً إلى تثبيت هذا التحديث المطلوب. لا يمكنك استخدام جهازك <ph name="DEVICE_TYPE" /> أثناء تحديثه. وستتم إعادة تشغيل الجهاز <ph name="DEVICE_TYPE" /> بعد اكتمال التثبيت.</translation>
 <translation id="9218430445555521422">تعيين كافتراضي</translation>
 <translation id="9219103736887031265">صور</translation>
 <translation id="9220525904950070496">إزالة الحساب</translation>
@@ -5201,6 +5301,7 @@
 <translation id="939736085109172342">مجلد جديد</translation>
 <translation id="942532530371314860">‏يشارك <ph name="APP_NAME" /> علامة تبويب متصفح Chrome والصوت.</translation>
 <translation id="942954117721265519">لا تتوفر أي صور في هذا الدليل.</translation>
+<translation id="943972244133411984">تم التعديل بواسطة</translation>
 <translation id="945522503751344254">إرسال تعليقات</translation>
 <translation id="952992212772159698">غير نشطة</translation>
 <translation id="957960681186851048">حاول هذا الموقع تنزيل عدة ملفات تلقائيًا</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index 49e7f61..bee29d2b 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -520,6 +520,7 @@
 <translation id="177336675152937177">Dades d'aplicacions allotjades</translation>
 <translation id="1774349594977710164">El telèfon també desbloqueja els altres dispositius <ph name="DEVICE_TYPE" /> que tinguis, perquè se sincronitzen automàticament.</translation>
 <translation id="1774833706453699074">Afegeix les pàgines obertes a les adreces d'interès...</translation>
+<translation id="1775381402323441512">Informació del vídeo</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177694132944350798">Les teves dades s'han encriptat amb la contrasenya de Google a partir del dia <ph name="TIME" />. Introdueix-la per començar la sincronització.</translation>
 <translation id="1779652936965200207">Introduïu aquesta contrasenya a "<ph name="DEVICE_NAME" />":</translation>
@@ -562,6 +563,7 @@
 <translation id="1829192082282182671">&amp;Redueix</translation>
 <translation id="1830550083491357902">Sessió no iniciada</translation>
 <translation id="1832511806131704864">Canvi de telèfon actualitzat</translation>
+<translation id="1834503245783133039">Error en la baixada: <ph name="FILE_NAME" /></translation>
 <translation id="1838374766361614909">Esborra la cerca</translation>
 <translation id="1838709767668011582">Lloc de Google</translation>
 <translation id="1839704667838141620">Canvieu de quina manera es comparteix el fitxer.</translation>
@@ -698,6 +700,7 @@
 <translation id="2079053412993822885">Si suprimiu un dels vostres certificats, ja no el podreu utilitzar per identificar-vos.</translation>
 <translation id="2079545284768500474">Desfés</translation>
 <translation id="2080070583977670716">Més opcions de configuració</translation>
+<translation id="2084108471225856927">Configuració del dispositiu</translation>
 <translation id="2085470240340828803">El nom de fitxer "<ph name="FILENAME" />" ja existeix. Què voleu fer?</translation>
 <translation id="2087822576218954668">Impressió: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">Navega de manera segura amb Google Chrome</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3130528281680948470">El dispositiu es restablirà i tots els comptes d'usuari i les dades del dispositiu s'eliminaran. Aquesta acció no es pot desfer.</translation>
 <translation id="313205617302240621">Heu oblidat la contrasenya?</translation>
 <translation id="3135204511829026971">Gira la pantalla</translation>
+<translation id="313963229645891001">S'està baixant, <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Avatar groc predeterminat</translation>
 <translation id="3140353188828248647">Mou el focus a la barra d'adreces</translation>
 <translation id="3141318088920353606">S'està escoltant...</translation>
@@ -1545,6 +1549,7 @@
 <translation id="3326821416087822643">S'està comprimint <ph name="FILE_NAME" />...</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informació de l'aplicació</translation>
+<translation id="3335337277364016868">Any de gravació</translation>
 <translation id="3335947283844343239">Torna a obrir la pestanya tancada</translation>
 <translation id="3340978935015468852">configuració</translation>
 <translation id="3341703758641437857">Permet l'accés als URL de fitxer</translation>
@@ -1606,6 +1611,7 @@
 <translation id="3435738964857648380">Seguretat</translation>
 <translation id="3435896845095436175">Activa</translation>
 <translation id="3436038974659740746">Ortografia personalitzada</translation>
+<translation id="3437801641691368414">Hora de creació</translation>
 <translation id="3438633801274389918">Ninja</translation>
 <translation id="3439153939049640737">Permet sempre que <ph name="HOST" /> accedeixi al micròfon</translation>
 <translation id="3439970425423980614">S'està obrint la previsualització en PDF</translation>
@@ -1649,6 +1655,7 @@
 <translation id="3487007233252413104">funció anònima</translation>
 <translation id="348780365869651045">S'està esperant AppCache...</translation>
 <translation id="3488065109653206955">Activat parcialment</translation>
+<translation id="348999362308956431">Baixada finalitzada: <ph name="FILE_NAME" /></translation>
 <translation id="3492788708641132712">La sincronització no funciona. Torna a iniciar la sessió.</translation>
 <translation id="3493881266323043047">Validesa</translation>
 <translation id="3494769164076977169">Pregunta'm quan un lloc provi de baixar fitxers automàticament després del primer fitxer (opció recomanada)</translation>
@@ -1751,6 +1758,7 @@
 <translation id="3646789916214779970">Restableix el tema predeterminat</translation>
 <translation id="3648348069317717750">S'ha detectat <ph name="USB_DEVICE_NAME" /></translation>
 <translation id="3649138363871392317">S'ha fet la foto.</translation>
+<translation id="3650952250015018111">Permet que <ph name="APP_NAME" /> accedeixi a:</translation>
 <translation id="3651488188562686558">Desconnecta de la Wi-Fi</translation>
 <translation id="3652817283076144888">S'està inicialitzant</translation>
 <translation id="3653999333232393305">Continua permetent que <ph name="HOST" /> accedeixi al micròfon</translation>
@@ -1863,6 +1871,7 @@
 <translation id="381202950560906753">Afegeix-ne una altra</translation>
 <translation id="3812525830114410218">Certificat incorrecte</translation>
 <translation id="3813296892522778813">Si no trobes el que busques, ves a l'<ph name="BEGIN_LINK_CHROMIUM" />ajuda de Google Chrome<ph name="END_LINK_CHROMIUM" /></translation>
+<translation id="3817579325494460411">No s'ha proporcionat</translation>
 <translation id="3819007103695653773">Permet que tots els llocs enviïn missatges de tramesa automàtica en segon pla</translation>
 <translation id="3819752733757735746">Accés amb interruptors (controleu l'ordinador amb només un o dos interruptors)</translation>
 <translation id="3819800052061700452">&amp;Pantalla completa</translation>
@@ -1955,6 +1964,7 @@
 <translation id="394984172568887996">Importat d'IE</translation>
 <translation id="3950820424414687140">Inicia la sessió</translation>
 <translation id="3954354850384043518">En curs</translation>
+<translation id="3954469006674843813"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (<ph name="REFRESH_RATE" /> hertzs)</translation>
 <translation id="3955193568934677022">Permet que els llocs web reprodueixin contingut protegit (opció recomanada)</translation>
 <translation id="3956702100721821638">No s'ha pogut contactar amb Google Play</translation>
 <translation id="3958088479270651626">Importa les adreces d'interès i la configuració</translation>
@@ -2034,6 +2044,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="4087470595660267445">Instal·la aplicacions i jocs de Google Play al dispositiu Chromebook. &lt;a target="_blank" href="<ph name="URL" />"&gt;Més informació&lt;/a&gt;</translation>
 <translation id="4088095054444612037">Accepta per al grup</translation>
+<translation id="4089235344645910861">La configuració s'ha desat i la sincronització ha començat.</translation>
 <translation id="4090103403438682346">Activa l'accés verificat</translation>
 <translation id="4090535558450035482">(Aquesta extensió és responsabilitat d'un gestor i no es pot eliminar.)</translation>
 <translation id="4091434297613116013">fulls de paper</translation>
@@ -2113,6 +2124,7 @@
 <translation id="4244238649050961491">Cerca més aplicacions de llapis òptic</translation>
 <translation id="424546999567421758">Ús de disc elevat detectat</translation>
 <translation id="424726838611654458">Obre sempre a Adobe Reader</translation>
+<translation id="4247901771970415646">No es pot sincronitzar amb <ph name="USERNAME" /></translation>
 <translation id="4249248555939881673">S'està esperant la connexió de xarxa...</translation>
 <translation id="4249373718504745892">S'ha bloquejat l'accés d'aquesta pàgina a la càmera i al micròfon</translation>
 <translation id="424963718355121712">Les aplicacions s'han de distribuir des de l'amfitrió que afecten</translation>
@@ -2150,6 +2162,7 @@
 <translation id="4305227814872083840">llarg (2 s)</translation>
 <translation id="4306119971288449206">Les aplicacions s'han de distribuir amb el tipus de contingut "<ph name="CONTENT_TYPE" />"</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> K (<ph name="NUM_KILOBYTES_LIVE" /> K actius)</translation>
+<translation id="4309915981827077375">Informació general</translation>
 <translation id="4310139701823742692">El format del fitxer PPD és incorrecte. Revisa'l i torna-ho a provar.</translation>
 <translation id="431076611119798497">&amp;Detalls</translation>
 <translation id="4312866146174492540">Bloqueja (opció predeterminada)</translation>
@@ -2198,6 +2211,7 @@
 <translation id="4409697491990005945">Marges</translation>
 <translation id="4411578466613447185">Signant del codi</translation>
 <translation id="4412698727486357573">Centre d'ajuda</translation>
+<translation id="44141919652824029">Vols permetre que <ph name="APP_NAME" /> obtingui la llista de dispositius USB vinculats?</translation>
 <translation id="4414232939543644979">F&amp;inestra d'incògnit nova</translation>
 <translation id="4415748029120993980">Corba el·líptica secp384r1 d'SECG (també coneguda com a NIST P-384)</translation>
 <translation id="4419409365248380979">Permet sempre que <ph name="HOST" /> pugui emmagatzemar galetes</translation>
@@ -2291,6 +2305,7 @@
 <translation id="4565377596337484307">Oculta la contrasenya</translation>
 <translation id="4567772783389002344">Afegeix la paraula</translation>
 <translation id="4568213207643490790">No s'admeten comptes de Google en aquest dispositiu.</translation>
+<translation id="4568854179928172494">Hora de modificació</translation>
 <translation id="4569747168316751899">Quan estigui inactiu</translation>
 <translation id="4572659312570518089">S'ha cancel·lat l'autenticació mentre es connectava a "<ph name="DEVICE_NAME" />".</translation>
 <translation id="4572815280350369984">Fitxer <ph name="FILE_TYPE" /></translation>
@@ -2334,6 +2349,7 @@
 <translation id="4640525840053037973">Inicieu la sessió amb el vostre Compte de Google</translation>
 <translation id="4641539339823703554">Chrome no ha pogut establir l'hora del sistema. Comproveu-la més avall i corregiu-la si cal.</translation>
 <translation id="4643612240819915418">O&amp;bre el vídeo en una pestanya nova</translation>
+<translation id="4644818355646995778">S'està baixant, <ph name="PERCENT_REMAINING" /></translation>
 <translation id="4645676300727003670">&amp;Conserva-ho</translation>
 <translation id="4647090755847581616">&amp;Tanca la pestanya</translation>
 <translation id="4647697156028544508">Introduïu el PIN per a "<ph name="DEVICE_NAME" />":</translation>
@@ -2723,6 +2739,7 @@
 <translation id="5250372599208556903"><ph name="SEARCH_ENGINE_NAME" /> utilitza la teva ubicació per oferir-te contingut local. Per canviar-ho, ves a <ph name="SETTINGS_LINK" />.</translation>
 <translation id="5252456968953390977">Itinerància</translation>
 <translation id="5252653240322147470">El PIN no pot tenir més de <ph name="MAXIMUM" /> dígits</translation>
+<translation id="5253070652067921974">Creat per</translation>
 <translation id="5254368820972107711">Mostra els fitxers que cal suprimir</translation>
 <translation id="52550593576409946">L'aplicació Quiosc no es pot iniciar.</translation>
 <translation id="5255315797444241226">La frase de contrasenya que heu introduït no és correcta.</translation>
@@ -2801,6 +2818,7 @@
 <translation id="5353252989841766347">Exporteu contrasenyes de Chrome</translation>
 <translation id="5355097969896547230">Torna a cercar</translation>
 <translation id="5355926466126177564">L'extensió <ph name="EXTENSION_NAME" /> ha canviat la pàgina que es mostra quan feu una cerca des de l'omnibox.</translation>
+<translation id="5358764674931277">Fotogrames per segon</translation>
 <translation id="5360150013186312835">Mostra a la barra d'eines</translation>
 <translation id="5362741141255528695">Seleccioneu el fitxer de clau privada.</translation>
 <translation id="5363109466694494651">Fes un Powerwash i canvia a la versió anterior</translation>
@@ -2837,6 +2855,7 @@
 <translation id="5414566801737831689">Llegeix les icones dels llocs web visitats</translation>
 <translation id="5417312524372586921">Temes del navegador</translation>
 <translation id="5419294236999569767">Hora del sistema</translation>
+<translation id="5420438158931847627">Determina la nitidesa del text i les imatges</translation>
 <translation id="5422221874247253874">Punt d'accés</translation>
 <translation id="5422781158178868512">El dispositiu d'emmagatzematge extern no s'ha pogut reconèixer.</translation>
 <translation id="5423849171846380976">Activat</translation>
@@ -3023,6 +3042,9 @@
 <translation id="5678550637669481956">S'ha concedit accés de lectura i d'escriptura a <ph name="VOLUME_NAME" />.</translation>
 <translation id="5678955352098267522">Llegir les dades del lloc <ph name="WEBSITE_1" /></translation>
 <translation id="5684661240348539843">Identificador d'elements</translation>
+<translation id="5686799162999241776"><ph name="BEGIN_BOLD" />No es pot desconnectar d'un arxiu o d'un disc virtual<ph name="END_BOLD" />
+   <ph name="LINE_BREAKS" />
+   Tanca tots els fitxers de l'arxiu o del disc virtual i torna-ho a provar.</translation>
 <translation id="5687326903064479980">Zona horària</translation>
 <translation id="5689516760719285838">Ubicació</translation>
 <translation id="56907980372820799">Enllaça les dades</translation>
@@ -3031,6 +3053,7 @@
 <translation id="5694501201003948907">S'estan comprimint $1 elements...</translation>
 <translation id="5696143504434933566">Informa d'un ús inadequat de l'extensió "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="5699533844376998780">S'ha afegit l'extensió "<ph name="EXTENSION_NAME" />".</translation>
+<translation id="5700087501958648444">Informació de l'àudio</translation>
 <translation id="570043786759263127">Aplicacions i serveis de Google Play</translation>
 <translation id="5700836101007545240">L'administrador ha desactivat l'opció Afegeix una connexió</translation>
 <translation id="5701381305118179107">Centre</translation>
@@ -3587,6 +3610,7 @@
 <translation id="656398493051028875">S'està suprimint "<ph name="FILENAME" />"...</translation>
 <translation id="6567688344210276845">No s'ha pogut carregar la icona "<ph name="ICON" />" per a l'acció de la pàgina.</translation>
 <translation id="657402800789773160">&amp;Torna a carregar aquesta pàgina</translation>
+<translation id="6577284282025554716">Baixada cancel·lada: <ph name="FILE_NAME" /></translation>
 <translation id="6578664922716508575">Encripta les contrasenyes sincronitzades amb el teu nom d'usuari i la teva contrasenya de Google</translation>
 <translation id="6580151766480067746">Versió d'ARC</translation>
 <translation id="6581162200855843583">Enllaç de Google Drive</translation>
@@ -4049,6 +4073,7 @@
 <translation id="7297443947353982503">El nom d'usuari o la contrasenya és incorrecte o no s'ha pogut realitzar l'autorització d'EAP.</translation>
 <translation id="729761647156315797">Tria l'idioma i el teclat</translation>
 <translation id="7299337219131431707">Activa la navegació com a convidat</translation>
+<translation id="730289542559375723">{NUM_APPLICATIONS,plural, =1{Aquesta aplicació pot impedir que Chrome funcioni correctament.}other{Aquestes aplicacions poden impedir que Chrome funcioni correctament.}}</translation>
 <translation id="7303900363563182677">No es permet que aquest lloc web vegi el text ni les imatges copiats al porta-retalls</translation>
 <translation id="730515362922783851">Intercanviar dades amb un altre dispositiu de la xarxa local o d'Internet</translation>
 <translation id="7308002049209013926">Utilitza el menú d'aplicacions per accedir ràpidament a aplicacions i activitats noves. Per accedir-hi amb el teclat, prem Alt+Maj+L.</translation>
@@ -4296,6 +4321,7 @@
 <translation id="7707922173985738739">Utilitza dades mòbils</translation>
 <translation id="7709152031285164251">Error: <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;Emet…</translation>
+<translation id="7711920809702896782">Informació de la imatge</translation>
 <translation id="7714307061282548371">S'admeten les galetes del domini <ph name="DOMAIN" /></translation>
 <translation id="7714464543167945231">Certificat</translation>
 <translation id="7716781361494605745">URL de norma d'entitat emissora de certificats de Netscape</translation>
@@ -4414,6 +4440,7 @@
 <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 la pantalla</translation>
 <translation id="7889966925761734854">Cerca</translation>
 <translation id="7892100671754994880">Usuari següent</translation>
 <translation id="7893008570150657497">Accedir a fotos, a música i a d'altres elements multimèdia de l'equip</translation>
@@ -4517,6 +4544,7 @@
 <translation id="8026334261755873520">Esborra les dades de navegació</translation>
 <translation id="8028060951694135607">Recuperació de claus de Microsoft</translation>
 <translation id="8028134359912645720">Mantén premut Control, Alt, Maj o Menú d'aplicacions per veure les tecles de drecera per a aquestes tecles modificadores.</translation>
+<translation id="8028803902702117856">S'està baixant <ph name="FILE_NAME" /> (<ph name="SIZE" />)</translation>
 <translation id="8028993641010258682">Mida</translation>
 <translation id="8030656706657716245">Afegeix una impressora</translation>
 <translation id="8032244173881942855">No es pot emetre la pestanya.</translation>
@@ -4772,6 +4800,7 @@
 <translation id="84613761564611563">La interfície d'usuari per configurar la xarxa s'ha sol·licitat. Espera…</translation>
 <translation id="8461914792118322307">Servidor intermediari</translation>
 <translation id="8463215747450521436">Pot ser que l'administrador hagi suprimit o desactivat aquest usuari supervisat. Poseu-vos en contacte amb l'administrador si voleu continuar amb la sessió iniciada amb aquest usuari.</translation>
+<translation id="846374874681391779">Barra de baixades</translation>
 <translation id="8463955938112983119"><ph name="PLUGIN_NAME" /> s'ha desactivat.</translation>
 <translation id="8464132254133862871">Aquest compte d'usuari no és apte per al servei.</translation>
 <translation id="8465252176946159372">No és vàlid</translation>
@@ -4787,6 +4816,7 @@
 <translation id="8477384620836102176">&amp;General</translation>
 <translation id="8480082892550707549">Encara que ja hagis baixat fitxers d'aquest lloc, és possible que sigui temporalment perillós (si s'ha piratejat). Prova de baixar el fitxer més tard.</translation>
 <translation id="8480869669560681089">Dispositiu desconegut de <ph name="VENDOR_NAME" /></translation>
+<translation id="8481187309597259238">Confirma el permís d'USB</translation>
 <translation id="8483248364096924578">Adreça IP</translation>
 <translation id="8487678622945914333">Amplia</translation>
 <translation id="8487693399751278191">Importa les adreces d'interès ara...</translation>
@@ -5173,6 +5203,7 @@
 <translation id="9094033019050270033">Actualitza la contrasenya</translation>
 <translation id="9094982973264386462">Suprimeix</translation>
 <translation id="9095253524804455615">Suprimeix</translation>
+<translation id="9099674669267916096">Nombre de pàgines</translation>
 <translation id="9100765901046053179">Configuració avançada</translation>
 <translation id="9101691533782776290">Inicia l'aplicació</translation>
 <translation id="9102610709270966160">Activa l'extensió</translation>
@@ -5264,6 +5295,7 @@
 <translation id="939736085109172342">Carpeta nova</translation>
 <translation id="942532530371314860"><ph name="APP_NAME" /> està compartint una pestanya de Chrome i l'àudio.</translation>
 <translation id="942954117721265519">No hi ha cap imatge en aquest directori.</translation>
+<translation id="943972244133411984">Modificat per</translation>
 <translation id="945522503751344254">Envia suggeriments</translation>
 <translation id="952992212772159698">No activat</translation>
 <translation id="957960681186851048">Aquest lloc web ha provat de baixar diversos fitxers automàticament</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index abc3ecf..d2de4815 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -776,7 +776,7 @@
 <translation id="2190355936436201913">(tom)</translation>
 <translation id="2192505247865591433">Fra:</translation>
 <translation id="2193365732679659387">Tillidsindstillinger</translation>
-<translation id="2195729137168608510">E-mail-beskyttelse</translation>
+<translation id="2195729137168608510">Mail-beskyttelse</translation>
 <translation id="219985413780390209">Beskyt dig selv og din enhed mod farlige websites</translation>
 <translation id="2200356397587687044">Chrome skal have tilladelse til at fortsætte</translation>
 <translation id="220138918934036434">Skjul knap</translation>
@@ -1341,6 +1341,7 @@
 <translation id="3016641847947582299">Komponenten er opdateret</translation>
 <translation id="3016780570757425217">Kende din placering</translation>
 <translation id="302014277942214887">Indtast et applikations-id eller webadressen for webshoppen.</translation>
+<translation id="3020183492814296499">Genveje</translation>
 <translation id="3020990233660977256">Serienummer: <ph name="SERIAL_NUMBER" /></translation>
 <translation id="3021678814754966447">&amp;Vis rammens kilde</translation>
 <translation id="3022978424994383087">Det er ikke forstået.</translation>
@@ -1851,7 +1852,7 @@
 <translation id="3783640748446814672">alt</translation>
 <translation id="3785308913036335955">Vis genveje for Apps</translation>
 <translation id="3785727820640310185">Gemte adgangskoder til dette website</translation>
-<translation id="3785852283863272759">E-mail-sideplacering</translation>
+<translation id="3785852283863272759">Mail-sideplacering</translation>
 <translation id="3786301125658655746">Du er offline</translation>
 <translation id="3788401245189148511">Den kunne:</translation>
 <translation id="3789841737615482174">Installer</translation>
@@ -2607,7 +2608,7 @@
 <translation id="5018207570537526145">Åbn udvidelsens website</translation>
 <translation id="5024856940085636730">En handling tager længere tid end forventet. Vil du afbryde den?</translation>
 <translation id="5026874946691314267">Vis ikke denne underretning igen</translation>
-<translation id="5027550639139316293">E-mail-certifikat</translation>
+<translation id="5027550639139316293">Mail-certifikat</translation>
 <translation id="5027562294707732951">Tilføj udvidelsen</translation>
 <translation id="5029568752722684782">Slet kopi</translation>
 <translation id="5030338702439866405">Udstedt af</translation>
@@ -2960,7 +2961,7 @@
 <translation id="5553089923092577885">Beskrivelse af certifikatpolitik</translation>
 <translation id="5554489410841842733">Dette ikon er synligt, når udvidelsen kan fungere på den aktuelle side.</translation>
 <translation id="5554573843028719904">Andet Wi-Fi-netværk...</translation>
-<translation id="5554720593229208774">E-mail-certificeringsautoritet</translation>
+<translation id="5554720593229208774">Mail-certificeringsautoritet</translation>
 <translation id="5556206011531515970">Klik på Næste for at vælge din standardbrowser.</translation>
 <translation id="5556459405103347317">Genindlæs</translation>
 <translation id="555746285996217175">Lås/tænd</translation>
@@ -3030,7 +3031,7 @@
 <translation id="5653140146600257126">Der findes allerede en mappe med navnet "$1". Vælg et andet navn.</translation>
 <translation id="5657667036353380798">Den eksterne udvidelse kræver Chrome-versionen <ph name="MINIMUM_CHROME_VERSION" /> eller nyere for at blive installeret.</translation>
 <translation id="5658415415603568799">Af sikkerhedshensyn beder Smart Lock dig om at angive din adgangskode efter 20 timer.</translation>
-<translation id="5659593005791499971">E-mail</translation>
+<translation id="5659593005791499971">Mail</translation>
 <translation id="5659833766619490117">Denne side kunne ikke oversættes</translation>
 <translation id="5662477687021125631">Bestandig</translation>
 <translation id="5667546120811588575">Konfigurerer Google Play...</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index 3ac7617..c67a8cf0 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -70,6 +70,7 @@
 <translation id="1108164192735968833">SMS Connect</translation>
 <translation id="1108600514891325577">&amp;Interrumpir</translation>
 <translation id="1110155001042129815">Esperar</translation>
+<translation id="1112420131909513020">La pestaña en segundo plano está usando Bluetooth</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">Diamante</translation>
 <translation id="1114335938027186412">La computadora contiene un dispositivo de seguridad del Módulo de plataforma segura (TPM) que se usa para implementar varias funciones clave de seguridad en el Sistema operativo Chrome. Para obtener más información, visita el Centro de ayuda de Chromebook: https://support.google.com/chromebook/?p=tpm.</translation>
@@ -153,6 +154,7 @@
     <ph name="BR" />
     En la próxima pantalla, envía un comentario para ayudarnos a solucionar este problema.</translation>
 <translation id="121783623783282548">Las contraseñas no coinciden.</translation>
+<translation id="1218860753635451122">Al hacer clic en el botón "Acepto", aceptas el procesamiento descrito anteriormente para estos servicios de Google.</translation>
 <translation id="122082903575839559">Algoritmo de firma del certificado</translation>
 <translation id="1221024147024329929">PKCS N. º 1 MD2 con encriptación RSA</translation>
 <translation id="1221825588892235038">Solo selección</translation>
@@ -192,6 +194,7 @@
 <translation id="1285320974508926690">Nunca traducir este sitio</translation>
 <translation id="1285484354230578868">Almacenar datos en tu cuenta de Google Drive</translation>
 <translation id="1288037062697528143">La Luz nocturna se activará automáticamente al atardecer</translation>
+<translation id="1288300545283011870">Propiedades de comentarios de texto a voz</translation>
 <translation id="1293177648337752319">Activar el sonido del sitio</translation>
 <translation id="1293509594570842875">No se pudo crear el usuario supervisado. Comprueba tu conexión de red e inténtalo de nuevo más tarde.</translation>
 <translation id="1293556467332435079">Archivos</translation>
@@ -415,6 +418,7 @@
 <translation id="1624026626836496796">Esta acción solo se llevará a cabo una vez; tus credenciales no se almacenarán.</translation>
 <translation id="1627276047960621195">Descriptores de archivos</translation>
 <translation id="1627408615528139100">Ya se descargó</translation>
+<translation id="1632551555529177478">ERROR: No se pudo iniciar el cliente Concierge.</translation>
 <translation id="1632803087685957583">Permite ajustar la velocidad de repetición del teclado, la predicción de palabras y más</translation>
 <translation id="1635033183663317347">Instalado por tu tutor</translation>
 <translation id="1637224376458524414">Obtener este favorito en tu iPhone</translation>
@@ -532,6 +536,7 @@
 <translation id="180035236176489073">Tienes que estar conectado para acceder a estos archivos.</translation>
 <translation id="1802687198411089702">La página no responde. Puedes esperar o salir.</translation>
 <translation id="1802931390041703523">Flash está bloqueado en esta página</translation>
+<translation id="1805738995123446102">La pestaña en segundo plano está usando tu micrófono</translation>
 <translation id="1805822111539868586">Analizar vistas</translation>
 <translation id="1807938677607439181">Todos los archivos</translation>
 <translation id="1809734401532861917">Agregar mis favoritos, historial, contraseñas y otras opciones de configuración a <ph name="USER_EMAIL_ADDRESS" /></translation>
@@ -668,6 +673,7 @@
 <translation id="2040460856718599782">Se produjo un error cuando intentábamos autenticarte. Verifica tus credenciales de acceso y vuelve a intentarlo.</translation>
 <translation id="2043818754674261542">Distancia a la que debe estar el teléfono para desbloquear esta <ph name="DEVICE_TYPE" /></translation>
 <translation id="204497730941176055">Nombre de la plantilla de certificado de Microsoft</translation>
+<translation id="2045117674524495717">Asistente de combinaciones de teclas</translation>
 <translation id="2045969484888636535">Continuar bloqueando las cookies</translation>
 <translation id="204622017488417136">El dispositivo volverá a la versión de Chrome instalada anteriormente. Se eliminarán todas las cuentas de usuario y los datos locales. Esta acción no se puede deshacer.</translation>
 <translation id="2048182445208425546">Acceder al tráfico de la red</translation>
@@ -802,6 +808,7 @@
 <translation id="2239921694246509981">Agregar persona supervisada</translation>
 <translation id="2241053333139545397">Leer y modificar tus datos en una serie de sitios web</translation>
 <translation id="2242687258748107519">Información del archivo</translation>
+<translation id="2243194103992005307">Para quitar apps, ve a Configuración &gt; Apps o a Administrador de aplicaciones. Luego, presiona la app que quieras desinstalar (es posible que debas deslizar el dedo hacia la derecha o la izquierda para encontrarla). A continuación, presiona Desinstalar o Inhabilitar.</translation>
 <translation id="2245240762616536227">Controla la manera en la que el historial de navegación personaliza Búsqueda, los anuncios y otros servicios de Google</translation>
 <translation id="2249605167705922988">p. ej. 1-5, 8, 11-13</translation>
 <translation id="2251218783371366160">Abrir con el lector del sistema</translation>
@@ -820,6 +827,7 @@
 <translation id="2270627217422354837">Intercambiar datos con cualquier dispositivo de los siguientes dominios: <ph name="DOMAINS" /></translation>
 <translation id="2271088077909873520">Administra tus datos sincronizados en el <ph name="BEGIN_LINK" />Panel de control de Google<ph name="END_LINK" />.</translation>
 <translation id="2272570998639520080">Copa de martini</translation>
+<translation id="2275685295206198038">Se completó la instalación de <ph name="APP_NAME" />.</translation>
 <translation id="2276503375879033601">Agregar más aplicaciones</translation>
 <translation id="2277255602909579701">Todas las cookies y todos los datos de sitios</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{1 elemento copiado}other{# elementos copiados}}</translation>
@@ -859,6 +867,7 @@
 <translation id="2335122562899522968">Esta página establece cookies.</translation>
 <translation id="2336228925368920074">Agregar a favoritos todas las pestañas...</translation>
 <translation id="2336381494582898602">Powerwash</translation>
+<translation id="2338776671779155318">ERROR: No se pudo crear una imagen de disco.</translation>
 <translation id="2339120501444485379">Ingresa un nombre nuevo.</translation>
 <translation id="2339641773402824483">Comprobando actualizaciones...</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> desea sincronizarse</translation>
@@ -878,6 +887,7 @@
 <translation id="2359808026110333948">Continuar</translation>
 <translation id="236141728043665931">Bloquear siempre el acceso al micrófono</translation>
 <translation id="2365507699358342471">Este sitio puede ver el texto y las imágenes que se copiaron en el portapapeles.</translation>
+<translation id="2367199180085172140">Agregar uso compartido del archivo</translation>
 <translation id="2367972762794486313">Mostrar aplicaciones</translation>
 <translation id="2371076942591664043">Abrir al &amp;finalizar</translation>
 <translation id="2377319039870049694">Cambiar a la vista de lista</translation>
@@ -1057,6 +1067,7 @@
 <translation id="264810637653812429">No se encontraron dispositivos compatibles.</translation>
 <translation id="2648831393319960979">El dispositivo se está agregando a la cuenta. Este proceso podría demorar un momento.</translation>
 <translation id="2649045351178520408">Cadena de certificados ASCII con codificación Base64</translation>
+<translation id="2651353619134567122">Envía los datos del sistema. Este dispositivo envía datos de diagnóstico y uso de apps y del dispositivo a Google automáticamente. Puedes cambiar esta opción en cualquier momento en la <ph name="BEGIN_LINK1" />configuración<ph name="END_LINK1" /> de tu dispositivo. Si activaste la función adicional de Actividad web y de aplicaciones, la información se almacenará con tu cuenta para que puedas administrarla en Mi actividad. <ph name="BEGIN_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="2653033005692233957">Error en la búsqueda</translation>
 <translation id="2653266418988778031">Si eliminas un certificado de una Entidad de certificación (CA), tu navegador ya no confiará en ningún certificado emitido por esa Entidad.</translation>
 <translation id="2653659639078652383">Enviar</translation>
@@ -1298,6 +1309,7 @@
 <translation id="2986010903908656993">Se bloqueó esta página para que no tenga el control total de los dispositivos MIDI.</translation>
 <translation id="2989474696604907455">no conectado</translation>
 <translation id="2989786307324390836">Certificado binario único con codificación DER</translation>
+<translation id="2993165626813508977">ERROR: No se pudo iniciar el contenedor dentro de Termina VM.</translation>
 <translation id="2993517869960930405">Información de la aplicación</translation>
 <translation id="2994669386200004489">No se pudo crear una copia de seguridad de <ph name="FILE_NAME" /></translation>
 <translation id="299483336428448530">Instalado por tus padres</translation>
@@ -1350,6 +1362,7 @@
 <translation id="3045447014237878114">Este sitio descargó varios archivos automáticamente</translation>
 <translation id="304567287000691532">Compartiendo pantalla</translation>
 <translation id="3046910703532196514">Página web, completa</translation>
+<translation id="304747341537320566">Motores de comentarios de texto a voz</translation>
 <translation id="304826556400666995">Activar sonido de las pestañas</translation>
 <translation id="3053013834507634016">Uso de la clave del certificado</translation>
 <translation id="3057861065630527966">Crea una copia de seguridad de tus fotos y videos.</translation>
@@ -1358,6 +1371,7 @@
 <translation id="3064410671692449875">Datos insuficientes</translation>
 <translation id="3065041951436100775">La pestaña terminó los comentarios.</translation>
 <translation id="3066642396596108483">Sincroniza tus favoritos, historial y contraseñas en todos los dispositivos</translation>
+<translation id="3067198179881736288">¿Deseas instalar la app?</translation>
 <translation id="3067198360141518313">Ejecutar este complemento</translation>
 <translation id="3071624960923923138">Puedes hacer clic aquí para abrir una pestaña nueva</translation>
 <translation id="3074037959626057712">Accediste a tu cuenta y activaste la sincronización</translation>
@@ -1408,6 +1422,7 @@
 <translation id="3141318088920353606">Escuchando…</translation>
 <translation id="3141917231319778873">La solicitud dada no es compatible con: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3143515551205905069">Cancelar sincronización</translation>
+<translation id="3143695347784622594">Envía los datos del sistema. Envía datos de diagnóstico y uso de apps y del dispositivo a Google automáticamente. Puedes cambiar esta opción en cualquier momento en la <ph name="BEGIN_LINK1" />configuración<ph name="END_LINK1" /> de tu dispositivo. Si activaste la función adicional de Actividad web y de aplicaciones, la información se almacenará con tu cuenta para que puedas administrarla en Mi actividad. <ph name="BEGIN_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">LISTO</translation>
 <translation id="3144647712221361880">Abrir vínculo como</translation>
 <translation id="3149510190863420837">Aplicaciones de Chrome</translation>
@@ -1446,6 +1461,7 @@
 <translation id="3206175707080061730">Ya existe un archivo llamado "$1". ¿Deseas reemplazarlo?</translation>
 <translation id="3208703785962634733">Sin confirmar</translation>
 <translation id="3213187967168344806">No se puede agregar la impresora. Reinicia la computadora y vuelve a intentarlo.</translation>
+<translation id="3217843140356091325">¿Deseas crear un acceso directo?</translation>
 <translation id="321799795901478485">Zip Archiver</translation>
 <translation id="3220586366024592812">Se ha producido un bloqueo en el proceso del conector de <ph name="CLOUD_PRINT_NAME" />. ¿Deseas reiniciarlo?</translation>
 <translation id="3221634914176615296">Explora el contenido del dispositivo en la aplicación Archivos.</translation>
@@ -1721,6 +1737,7 @@
 <translation id="3627320433825461852">Falta menos de un minuto.</translation>
 <translation id="3627588569887975815">Abrir el enlace en una ventana de navegación de incó&amp;gnito</translation>
 <translation id="3627671146180677314">Tiempo de renovación del certificado Netscape</translation>
+<translation id="3627879631695760395">Instalar <ph name="APP" />…</translation>
 <translation id="3630995161997703415">Agrega el sitio a tu biblioteca para usarlo en cualquier momento</translation>
 <translation id="3635030235490426869">Pestaña 1</translation>
 <translation id="3636096452488277381">Hola, <ph name="USER_GIVEN_NAME" />.</translation>
@@ -1958,6 +1975,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="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>
 <translation id="3988996860813292272">Seleccionar zona horaria</translation>
@@ -1983,6 +2001,7 @@
 <translation id="4033471457476425443">Agregar carpeta nueva</translation>
 <translation id="4034042927394659004">Disminuir el brillo del teclado</translation>
 <translation id="4035758313003622889">Adminis&amp;trador de &amp;tareas</translation>
+<translation id="4036758022112812315">Destaca lo que quieras escuchar y, luego, presiona Búsqueda + S. O bien, mantén presionado Búsqueda y, luego, haz clic en el contenido seleccionado o arrástralo.</translation>
 <translation id="4037084878352560732">Caballo</translation>
 <translation id="4037889604535939429">Editar persona</translation>
 <translation id="4042264909745389898">Condiciones del Sistema operativo Google Chrome</translation>
@@ -2025,6 +2044,7 @@
 <translation id="4096824249111507322">Se está preparando el módulo de seguridad. Espera (esta acción tardará algunos minutos)…</translation>
 <translation id="4099060993766194518">¿Deseas restaurar el motor de búsqueda predeterminado?</translation>
 <translation id="4100733287846229632">Hay muy poco espacio en el dispositivo</translation>
+<translation id="4103091233824664032">Ingresa tu contraseña para configurar el bloqueo de pantalla y acceder</translation>
 <translation id="4104163789986725820">E&amp;xportar...</translation>
 <translation id="4105563239298244027">Obtén 1 TB gratuito con Google Drive</translation>
 <translation id="4107048419833779140">Identificar y expulsar los dispositivos de almacenamiento</translation>
@@ -2087,6 +2107,7 @@
 <translation id="4235200303672858594">Toda la pantalla</translation>
 <translation id="4235813040357936597">Agregar cuenta para <ph name="PROFILE_NAME" /></translation>
 <translation id="4235965441080806197">Cancelar acceso</translation>
+<translation id="4239107879884489787">ERROR: No se pudo cargar el componente Termina.</translation>
 <translation id="4242533952199664413">Abrir la configuración</translation>
 <translation id="4242577469625748426">Se produjo un error al instalar la configuración de la política en el dispositivo: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4244238649050961491">Encontrar más apps para la pluma stylus</translation>
@@ -2112,6 +2133,7 @@
 <translation id="4271396100647220620">No hay coincidencias</translation>
 <translation id="4275830172053184480">Reiniciar tu dispositivo</translation>
 <translation id="4278390842282768270">Permitido</translation>
+<translation id="4280864916190672950">Detener la carga</translation>
 <translation id="4281844954008187215">Condiciones del servicio</translation>
 <translation id="4282196459431406533">Smart Lock está activado</translation>
 <translation id="4284105660453474798">¿Estás seguro de que deseas eliminar "$1"?</translation>
@@ -2181,6 +2203,7 @@
 <translation id="4419409365248380979">Permitir siempre que <ph name="HOST" /> configure las cookies</translation>
 <translation id="4421932782753506458">Peludito</translation>
 <translation id="4422347585044846479">Editar marcador para esta página</translation>
+<translation id="4423104065312875417">Instalar motores de comentarios de texto a voz adicionales</translation>
 <translation id="4423376891418188461">Restaurar configuración</translation>
 <translation id="4423482519432579560">&amp;Corrección ortográfica</translation>
 <translation id="442397852638519243"><ph name="USER_NAME" />, tu administrador te solicita que cambies la contraseña.</translation>
@@ -2467,6 +2490,11 @@
 <translation id="4883178195103750615">Exportar favoritos a un archivo HTML...</translation>
 <translation id="4883436287898674711">Todos los sitios de <ph name="WEBSITE_1" /></translation>
 <translation id="48838266408104654">Adminis&amp;trador de tareas</translation>
+<translation id="4883898390143004266">Ayuda a que las apps encuentren tu ubicación. Usa el servicio de ubicación de Google para mejorar esta función en las apps. Es posible que Google recopile datos de ubicación anónimos periódicamente y los use para mejorar la precisión de la ubicación y los servicios que dependen de esta. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
+<translation id="4884740091792292473"><ph name="BEGIN_PARAGRAPH1" />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="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Los datos de las apps pueden incluir cualquier información que una app haya guardado (en función de la configuración del programador), incluso datos potencialmente confidenciales, como los contactos, los mensajes y las fotos.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />La copia de seguridad de los datos no incide en la cuota de almacenamiento en Drive.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH4" />Se puede desactivar este servicio en Configuración.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="4884987973312178454">6x</translation>
 <translation id="4885705234041587624">MSCHAPv2</translation>
 <translation id="4887424188275796356">Abrir con el lector del sistema</translation>
@@ -2715,6 +2743,7 @@
 <translation id="5275973617553375938">Archivos recuperados de Google Drive</translation>
 <translation id="527605719918376753">Silenciar pestaña</translation>
 <translation id="527605982717517565">Siempre permitir JavaScript en <ph name="HOST" /></translation>
+<translation id="5280426389926346830">¿Deseas crear un acceso directo?</translation>
 <translation id="5282733140964383898">Si habilitas la opción "No realizar seguimiento", se incluirá una solicitud con el tráfico de navegación. Los efectos dependerán de si algún sitio web responde a dicha solicitud y de cómo se interpreta. Por ejemplo, algunos sitios web pueden responder a la solicitud a través de la publicación de anuncios que no se basan en los sitios web que visitaste. Muchos sitios web continuarán recopilando y usando tus datos de navegación para, por ejemplo, mejorar la seguridad, generar estadísticas para informes y ofrecer contenido, servicios, anuncios y recomendaciones. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
 <translation id="5283677936944177147">El sistema no pudo determinar el modelo del dispositivo ni el número de serie.</translation>
 <translation id="5284445933715251131">Continuar con la descarga</translation>
@@ -2747,6 +2776,7 @@
 <translation id="532360961509278431">No se puede abrir "$1": $2.</translation>
 <translation id="5324780743567488672">Configurar la zona horaria automáticamente mediante la ubicación</translation>
 <translation id="5327248766486351172">Nombre</translation>
+<translation id="532776649628038357">Acepto</translation>
 <translation id="532943162177641444">Presiona la notificación en tu <ph name="PHONE_NAME" /> para configurar la zona móvil que puede usar este dispositivo.</translation>
 <translation id="5329858601952122676">&amp;Suprimir</translation>
 <translation id="5330145655348521461">Estos archivos están abiertos en otro escritorio. Ve a <ph name="USER_NAME" /> (<ph name="MAIL_ADDRESS" />) para visualizarlos.</translation>
@@ -2860,6 +2890,7 @@
 <translation id="5487521232677179737">Borrar datos</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" copiado</translation>
 <translation id="5488468185303821006">Permitir modo incógnito</translation>
+<translation id="5491110079163012109">Envía los datos del sistema. Envía datos de diagnóstico y uso del dispositivo y de apps a Google automáticamente. El propietario aplica esta configuración y puede enviar datos de uso y diagnóstico para este dispositivo a Google. Puedes verlo en la configuración. Si activas la función adicional de 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="5493792505296048976">pantalla encendida</translation>
 <translation id="5494362494988149300">Abrir cuan&amp;do esté listo</translation>
 <translation id="5494920125229734069">Seleccionar todo</translation>
@@ -2920,6 +2951,7 @@
 <translation id="5568069709869097550">No puedo acceder</translation>
 <translation id="5568144734023334204">Almacenamiento de Android</translation>
 <translation id="5569544776448152862">Registrando en <ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" />…</translation>
+<translation id="5572572070321843880">ERROR: No se pudo iniciar Termina VM.</translation>
 <translation id="5575473780076478375">Extensión de incógnito: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">Restablecer el dispositivo no afectará las cuentas de Google ni los datos sincronizados con esas cuentas. Sin embargo, se eliminarán todos los archivos guardados localmente en el dispositivo.</translation>
 <translation id="5578059481725149024">Acceso automático</translation>
@@ -2996,6 +3028,7 @@
 <translation id="5694501201003948907">Comprimiendo $1 elementos…</translation>
 <translation id="5696143504434933566">Informar abuso de "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="5699533844376998780">Se agregó la extensión "<ph name="EXTENSION_NAME" />".</translation>
+<translation id="570043786759263127">Apps y servicios de Google Play</translation>
 <translation id="5700836101007545240">Tu administrador inhabilitó la opción Agregar conexión</translation>
 <translation id="5701381305118179107">Centrar</translation>
 <translation id="5702898740348134351">&amp;Modificar los motores de búsqueda...</translation>
@@ -3020,6 +3053,7 @@
 <translation id="5739458112391494395">Muy grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> y <ph name="NUM_ADDITIONAL_LANGUAGES" /> más</translation>
 <translation id="5741245087700236983"><ph name="PROFILE_NAME" />: seleccionar para editar</translation>
+<translation id="574209121243317957">Sonido</translation>
 <translation id="5746169159649715125">Guardar como PDF</translation>
 <translation id="5747552184818312860">Caduca</translation>
 <translation id="5747785204778348146">Programador: versión inestable</translation>
@@ -3179,6 +3213,7 @@
 <translation id="5991049340509704927">Ampliar</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para asegurarte de que puedas seguir navegando en la Web, pídele a tu administrador que quite esta aplicación.}other{Para asegurarte de que puedas seguir navegando en la Web, pídele a tu administrador que quite estas aplicaciones.}}</translation>
 <translation id="5993332328670040093">Ya no se medirá el uso de datos.</translation>
+<translation id="6002458620803359783">Voces preferidas</translation>
 <translation id="600424552813877586">Aplicación no válida</translation>
 <translation id="6005695835120147974">Router multimedia</translation>
 <translation id="6006484371116297560">Clásico</translation>
@@ -3195,6 +3230,7 @@
 <translation id="602251597322198729">Este sitio está intentando descargar varios archivos. ¿Desea permitir estas descargas?</translation>
 <translation id="6022526133015258832">Abrir en pantalla completa</translation>
 <translation id="6025215716629925253">Seguimiento de la pila</translation>
+<translation id="6026047032548434446">¿Deseas instalar la app?</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: Se conectó el dispositivo USB</translation>
 <translation id="6032912588568283682">Sistema de archivos</translation>
 <translation id="6034662038931255275">El SO se actualizó correctamente</translation>
@@ -3280,6 +3316,7 @@
 <translation id="6151771661215463137">El archivo ya existe en tu carpeta de descargas.</translation>
 <translation id="615436196126345398">Protocolo</translation>
 <translation id="6154697846084421647">Sesión iniciada</translation>
+<translation id="6155141482566063812">La pestaña en segundo plano está compartiendo tu pantalla</translation>
 <translation id="6156323911414505561">Mostrar barra de favoritos</translation>
 <translation id="6156863943908443225">Caché de la secuencia de comandos</translation>
 <translation id="6156960295318603523">Configuración de idioma</translation>
@@ -3298,6 +3335,7 @@
 <translation id="6181431612547969857">Descarga bloqueada</translation>
 <translation id="6185132558746749656">Ubicación del dispositivo</translation>
 <translation id="6185696379715117369">Retroceder página</translation>
+<translation id="6189273858858366896">Configura o administra Network File Shares.</translation>
 <translation id="6189412234224385711">Abrir con <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6196854373336333322">La extensión "<ph name="EXTENSION_NAME" />" tomó el control de la configuración de proxy, lo que significa que puede modificar, dañar o espiar cualquier actividad que lleves a cabo en línea. Si no sabes con certeza por qué se produjo este cambio, probablemente no lo desees.</translation>
@@ -3520,6 +3558,7 @@
 <translation id="6528513914570774834">Permitir que otros usuarios de este dispositivo usen esta red</translation>
 <translation id="652948702951888897">Historial de Chrome</translation>
 <translation id="653019979737152879">Sincronizando <ph name="FILE_NAME" />…</translation>
+<translation id="6530681427077572136">Envía los datos del sistema. Este dispositivo envía datos de diagnóstico y uso del dispositivo y las apps a Google automáticamente. Puedes cambiar esta opción en cualquier momento en la configuración del dispositivo. Si activas la función adicional de 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="6531282281159901044">Conservar archivo peligroso</translation>
 <translation id="6534583978616527129">Inicializa la conexión</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Nota:<ph name="END_BOLD" /> Solo debes habilitar esta opción si sabes lo que estás haciendo o si alguien te lo solicitó, ya que la recopilación de datos puede reducir el rendimiento.</translation>
@@ -3571,6 +3610,7 @@
 <translation id="6607831829715835317">Más herramientas</translation>
 <translation id="6612358246767739896">Contenido protegido</translation>
 <translation id="6613452264606394692">Para regresar aquí rápidamente, agrega esta página a favoritos</translation>
+<translation id="6614893213975402384">Instala actualizaciones y apps. Al continuar, aceptas que probablemente este dispositivo también descargue e instale automáticamente actualizaciones y apps de Google, tu administrador y el fabricante del dispositivo, a través de datos móviles. Es posible que algunas de estas apps ofrezcan compras directas desde la aplicación. Puedes quitar estas apps en cualquier momento. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="6615455863669487791">Mostrarme</translation>
 <translation id="661719348160586794">Las contraseñas que guardaste aparecerán aquí.</translation>
 <translation id="6618097958368085618">Conservar de todos modos</translation>
@@ -3586,6 +3626,7 @@
 <translation id="6628328486509726751">Fecha y hora de carga: <ph name="WEBRTC_LOG_UPLOAD_TIME" /></translation>
 <translation id="6629841649550503054">Todos los archivos están guardados en una copia de seguridad en <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />.</translation>
 <translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> solicita acceso permanente a un certificado para autenticarse en tu nombre.</translation>
+<translation id="6635956300022133031">Seleccionar y personalizar las voces de texto a voz</translation>
 <translation id="6639554308659482635">Memoria SQLite</translation>
 <translation id="6641138807883536517">La contraseña del módulo de seguridad generada de manera aleatoria no está disponible. Esto es normal después de un Powerwash.</translation>
 <translation id="6643016212128521049">Borrar</translation>
@@ -3593,6 +3634,7 @@
 <translation id="6644846457769259194">Actualizando tu dispositivo (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="6647228709620733774">URL de revocación de entidad de certificación de Netscape</translation>
 <translation id="6647838571840953560">Actualmente estás en el canal <ph name="CHANNEL_NAME" /></translation>
+<translation id="6648911618876616409">Hay una actualización fundamental lista para instalarse. Accede a tu cuenta para comenzar.</translation>
 <translation id="6649018507441623493">Un segundo…</translation>
 <translation id="6649563841575838401">El formato de archivo no es compatible o el archivo está dañado.</translation>
 <translation id="665061930738760572">Abrir en una &amp;nueva ventana</translation>
@@ -3612,6 +3654,7 @@
 <translation id="6678717876183468697">URL de consulta</translation>
 <translation id="6680028776254050810">Cambiar usuario</translation>
 <translation id="6680442031740878064">Disponible: <ph name="AVAILABLE_SPACE" /></translation>
+<translation id="6680650203439190394">Calificar</translation>
 <translation id="6681668084120808868">Tomar foto</translation>
 <translation id="6681964764822470072">Se desinstalará "<ph name="APP_NAME" />".</translation>
 <translation id="668599234725812620">Abrir Google Play</translation>
@@ -3628,6 +3671,7 @@
 <translation id="6702639462873609204">&amp;Editar</translation>
 <translation id="6706210727756204531">Alcance</translation>
 <translation id="6707389671160270963">Certificado de cliente SSL</translation>
+<translation id="6708029444764748914">Vuelve a ingresar el PIN a fin de que puedas usarlo para acceder en tu dispositivo.</translation>
 <translation id="6708242697268981054">Origen:</translation>
 <translation id="6709357832553498500">Conectar a través de <ph name="EXTENSIONNAME" /></translation>
 <translation id="6710213216561001401">Anterior</translation>
@@ -3758,6 +3802,7 @@
 <translation id="6922128026973287222">Guarda los datos y explóralos más rápidamente con la extensión Ahorro de datos de Google. Haz clic aquí para obtener más información.</translation>
 <translation id="6923132443355966645">Desplazar/Hacer clic</translation>
 <translation id="6929555043669117778">Continuar con el bloqueo de ventanas emergentes</translation>
+<translation id="6929835486583850209">Se produjo un error al instalar <ph name="APP_NAME" />…</translation>
 <translation id="6930242544192836755">Duración</translation>
 <translation id="6934241953272494177">Analizando el dispositivo de medios…
     <ph name="LINE_BREAK1" />
@@ -3862,6 +3907,7 @@
 <translation id="7077829361966535409">No se pudo cargar la página de acceso a la cuenta con la configuración de proxy actual. <ph name="GAIA_RELOAD_LINK_START" />Intenta volver a acceder<ph name="GAIA_RELOAD_LINK_END" /> o utiliza otra <ph name="PROXY_SETTINGS_LINK_START" />configuración de proxy<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="7078120482318506217">Todas las redes</translation>
 <translation id="708060913198414444">Copiar dirección del audio</translation>
+<translation id="7081952801286122383">Estás en modo de navegación incógnito</translation>
 <translation id="708278670402572152">Desactiva la conexión para habilitar el análisis</translation>
 <translation id="7084192839369222683">Ejecutar solo contenido importante</translation>
 <translation id="7085389578340536476">¿Permitir que Chrome grabe audio?</translation>
@@ -3929,6 +3975,9 @@
 <translation id="7191454237977785534">Guardar archivo como</translation>
 <translation id="7193374945610105795">No se guardó ninguna contraseña para <ph name="ORIGIN" /></translation>
 <translation id="7196835305346730603">Buscando Chromebox cercanas…</translation>
+<translation id="7197160646667308890"><ph name="BEGIN_PARAGRAPH1" />Esto es información general sobre tu dispositivo y la manera en que lo usas (como el nivel de batería, el uso de las apps y la conectividad de red). Se usarán los datos para mejorar los productos y servicios de Google para todos. Parte de la información agregada también permitirá que los socios, como los desarrolladores de Android, mejoren sus apps y productos.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Si desactivas esta función, tu dispositivo podrá seguir enviando la información necesaria para servicios fundamentales, como actualizaciones y seguridad del sistema.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Puedes controlar esta función en Configuración &gt; Google. En el menú, selecciona Uso y diagnóstico.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7199158086730159431">Obtener ayuda</translation>
 <translation id="720110658997053098">Mantener este dispositivo en modo kiosco de forma permanente</translation>
 <translation id="7201118060536064622">Se borró "<ph name="DELETED_ITEM_NAME" />"</translation>
@@ -3947,9 +3996,11 @@
 <translation id="7223775956298141902">Vaya, no tienes ninguna extensión. :-(</translation>
 <translation id="7225179976675429563">Falta el tipo de red.</translation>
 <translation id="7228479291753472782">Se manipularán las opciones de configuración que especifican si los sitios web pueden usar funciones, como la ubicación geográfica, el micrófono, la cámara, etc.</translation>
+<translation id="7228523857728654909">Bloqueo de pantalla y acceso</translation>
 <translation id="7229570126336867161">Se necesita EVDO</translation>
 <translation id="7230787553283372882">Personaliza el tamaño del texto</translation>
 <translation id="7232750842195536390">No se pudo cambiar el nombre</translation>
+<translation id="7233309214676155451">Sincroniza y personaliza Chrome en todos tus dispositivos</translation>
 <translation id="7238585580608191973">Huella digital SHA-256</translation>
 <translation id="7240120331469437312">Nombre alternativo del sujeto del certificado</translation>
 <translation id="7240339475467890413">¿Deseas conectarte a un nuevo hotspot?</translation>
@@ -3980,6 +4031,7 @@
 <translation id="727952162645687754">Error de descarga</translation>
 <translation id="7279701417129455881">Administrar el bloqueo de cookies...</translation>
 <translation id="7280041992884344566">Se produjo un error cuando Chrome buscaba software dañino</translation>
+<translation id="7280649757394340890">Configuración de la voz en la función de texto y voz</translation>
 <translation id="7280877790564589615">Permiso solicitado</translation>
 <translation id="7282992757463864530">Barra de información</translation>
 <translation id="7283041136720745563">Tu cuota de Google Drive no es lo suficientemente grande.</translation>
@@ -4001,6 +4053,7 @@
 <translation id="7309257895202129721">Mostrar &amp;controles</translation>
 <translation id="7311079019872751559">Acceso a complementos no incluidos en la zona de pruebas</translation>
 <translation id="7311891583377621132">Mueve el dedo ligeramente para capturar otra parte de la huella digital</translation>
+<translation id="7317680720589234980">Opciones del bloqueo de pantalla y el acceso</translation>
 <translation id="7317938878466090505"><ph name="PROFILE_NAME" /> (actual)</translation>
 <translation id="7321545336522791733">No se puede acceder al servidor</translation>
 <translation id="7324297612904500502">Foro de la versión Beta</translation>
@@ -4130,6 +4183,9 @@
 <translation id="7507930499305566459">Certificado del respondedor de estado</translation>
 <translation id="7508545000531937079">Presentación de diapositivas</translation>
 <translation id="7513029293694390567">Accede automáticamente a los sitios web con las credenciales almacenadas. Si la función está inhabilitada, deberás confirmar siempre tu identidad para acceder a un sitio web.</translation>
+<translation id="7515154058529101840"><ph name="BEGIN_PARAGRAPH1" />Ayuda a que las apps encuentren tu ubicación. Usa el servicio de ubicación de Google para mejorar esta función en las apps. Es posible que Google recopile datos de ubicación anónimos periódicamente y los use para mejorar la precisión de la ubicación y los servicios que dependen de esta.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />El servicio de ubicación de Google usa fuentes como Wi-Fi, redes móviles y sensores para calcular la ubicación de tu dispositivo. Este servicio se activa cuando está activada la configuración de la ubicación de tu dispositivo.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Para desactivar la ubicación, desactiva la opción principal de configuración de la ubicación en tu dispositivo. También, puedes desactivar el uso de redes Wi-Fi, redes móviles y sensores para obtener la ubicación en la configuración de la ubicación.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7517569744831774757">Permite restaurar la configuración a los valores predeterminados originales.</translation>
 <translation id="7517786267097410259">Crear una contraseña:</translation>
 <translation id="7518150891539970662">Registros de WebRTC (<ph name="WEBRTC_LOG_COUNT" />)</translation>
@@ -4145,6 +4201,7 @@
 <translation id="7543104066686362383">Habilitar funciones de depuración en este dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="7544853251252956727">Reproducir aleatoriamente</translation>
 <translation id="7545415673537747415">Controla la forma en que Google usa tu historial de búsqueda para personalizar Búsqueda, Ads y otros servicios de Google en <ph name="BEGIN_LINK" />Controles de actividad de Google<ph name="END_LINK" />.</translation>
+<translation id="7545809182698428577">Activa las funciones que se enumeran aquí. Usa la actividad de tu navegador, el contenido en algunos sitios que visitas y otras interacciones del navegador para personalizar las opciones.</translation>
 <translation id="7547317915858803630">Advertencia: La configuración de <ph name="PRODUCT_NAME" /> se almacena en una unidad de red, lo que puede provocar ralentizaciones, fallas o, incluso, la pérdida de datos.</translation>
 <translation id="7547483330017600937">Desarrolla en tu <ph name="DEVICE_TYPE" />. Puedes ejecutar tus herramientas de línea de comandos y apps nativas favoritas al instante y de forma segura.
 
@@ -4180,6 +4237,7 @@
 <translation id="7589461650300748890">¡Espera! Ten cuidado.</translation>
 <translation id="7589661784326793847">Espera un momento.</translation>
 <translation id="7591957897535945411">Se tradujo esta página.</translation>
+<translation id="7595453277607160340">Para usar las apps de Android y que tu <ph name="DEVICE_TYPE" /> funcione correctamente, vuelve a acceder y actualiza.</translation>
 <translation id="7595547011743502844"><ph name="ERROR" /> (código de error <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">Reiniciar la computadora</translation>
 <translation id="7600965453749440009">Nunca traducir <ph name="LANGUAGE" /></translation>
@@ -4343,6 +4401,7 @@
 <translation id="7851457902707056880">El acceso se restringió únicamente a la cuenta del propietario. Reinicia el sistema y accede con la cuenta del propietario. El equipo se reiniciará automáticamente en 30 segundos.</translation>
 <translation id="7851716364080026749">Siempre bloquear el acceso a la cámara y al micrófono</translation>
 <translation id="7853747251428735">&amp;Más herramientas</translation>
+<translation id="7856006446339184955">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 <ph name="BEGIN_LINK1" />configuración<ph name="END_LINK1" />. Si activaste la función adicional de Actividad web y de aplicaciones, esta información se almacenará con tu cuenta para que puedas administrarla en Mi actividad. <ph name="BEGIN_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="7857117644404132472">Agregar excepción</translation>
 <translation id="7857949311770343000">¿Esta es la página Nueva pestaña que esperabas ver?</translation>
 <translation id="786073089922909430">Servicio: <ph name="ARC_PROCESS_NAME" /></translation>
@@ -4663,6 +4722,7 @@
 <translation id="8366396658833131068">Se restauró la conexión de red. Selecciona una red distinta o presiona el botón "Continuar" para iniciar la aplicación de kiosco.</translation>
 <translation id="8366947248864804596">Cuando tu teléfono está desbloqueado y cerca, selecciona el dispositivo que quieras desbloquear. De lo contrario, ingresa tu contraseña o PIN.</translation>
 <translation id="8368859634510605990">&amp;Abrir todos los favoritos</translation>
+<translation id="8369547389711988632">Detuviste la carga</translation>
 <translation id="8371695176452482769">Hablar ahora</translation>
 <translation id="8372369524088641025">Clave de WEP no válida</translation>
 <translation id="8373553483208508744">Silenciar pestañas</translation>
@@ -4704,6 +4764,7 @@
 <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">Incluir Ctrl o Alt</translation>
+<translation id="8448729345478502352">Aumenta o reduce el tamaño de los elementos en tu pantalla</translation>
 <translation id="8449008133205184768">Pegar con el mismo estilo</translation>
 <translation id="8449036207308062757">Administrar almacenamiento</translation>
 <translation id="8451512073679317615">asistente</translation>
@@ -4758,6 +4819,7 @@
 <translation id="8534656636775144800">Se produjo un error al intentar unirse al dominio. Vuelve a intentarlo.</translation>
 <translation id="8535005006684281994">URL de renovación del certificado Netscape</translation>
 <translation id="8539727552378197395">No (HttpOnly)</translation>
+<translation id="8541166929715485291">Envía los datos del sistema. Envía datos de diagnóstico y uso del dispositivo y de apps a Google automáticamente. El propietario aplica esta configuración y puede enviar datos de uso y diagnóstico de este dispositivo a Google. Puedes verlo en la <ph name="BEGIN_LINK1" />configuración<ph name="END_LINK1" />. Si activaste la función adicional de Actividad web y de aplicaciones, esta información se almacenará con tu cuenta para que puedas administrarla en Mi actividad. <ph name="BEGIN_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="8545107379349809705">Ocultar información...</translation>
 <translation id="8545575359873600875">No se pudo verificar la contraseña. Es posible que el administrador de este usuario supervisado haya cambiado la contraseña recientemente. De ser así, la nueva contraseña se aplicará la próxima vez que accedas. Intenta utilizar la contraseña antigua.</translation>
 <translation id="8546186510985480118">El dispositivo tiene poco espacio</translation>
@@ -4853,6 +4915,7 @@
 <translation id="8677212948402625567">Contraer todo...</translation>
 <translation id="8678648549315280022">Administrar configuración de descarga…</translation>
 <translation id="8678933587484842200">¿Cómo deseas que se ejecute esta app?</translation>
+<translation id="8679788109894721265">Esta página usa más de <ph name="MEGABYTES" /> MB</translation>
 <translation id="8680251145628383637">Accede para obtener tus favoritos, el historial, las contraseñas y otras opciones de configuración en todos tus dispositivos. Además, accederás de forma automática a los servicios de Google.</translation>
 <translation id="8680536109547170164"><ph name="QUERY" />, respuesta, <ph name="ANSWER" /></translation>
 <translation id="8686213429977032554">Este archivo de Drive aún no está compartido</translation>
@@ -4866,6 +4929,7 @@
 <translation id="8698464937041809063">Dibujo de Google</translation>
 <translation id="869884720829132584">Menú Aplicaciones</translation>
 <translation id="869891660844655955">Fecha de vencimiento</translation>
+<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8700934097952626751">Haz clic aquí para iniciar la búsqueda por voz.</translation>
 <translation id="8704521619148782536">Esta acción está tardando más de lo normal. Puedes seguir esperando o cancelar la acción y volver a intentarlo más tarde.</translation>
 <translation id="8705331520020532516">Número de serie</translation>
@@ -4880,6 +4944,7 @@
 <translation id="8714154114375107944">Fin de la compatibilidad</translation>
 <translation id="871476437400413057">Contraseñas guardadas por Google</translation>
 <translation id="8714838604780058252">Gráficos en segundo plano</translation>
+<translation id="8715480913140015283">La pestaña en segundo plano está usando tu cámara</translation>
 <translation id="8719653885894320876">Se produjo un error al descargar <ph name="PLUGIN_NAME" /></translation>
 <translation id="8723829621484579639">Submarcos incógnito para: <ph name="PARENT_SITE" /></translation>
 <translation id="8724859055372736596">Mo&amp;strar en carpeta</translation>
@@ -5013,6 +5078,7 @@
 <translation id="8940081510938872932">El equipo está trabajando demasiado en este momento. Intenta nuevamente más tarde.</translation>
 <translation id="8941173171815156065">Revocar el permiso "<ph name="PERMISSION" />"</translation>
 <translation id="8941882480823041320">La palabra anterior</translation>
+<translation id="8943076760234179177">URL del uso compartido de archivos</translation>
 <translation id="894360074127026135">Suplemento especial internacional de Netscape</translation>
 <translation id="8944099748578356325">Usa la batería de forma más rápida (nivel actual: <ph name="BATTERY_PERCENTAGE" />%).</translation>
 <translation id="8944964446326379280"><ph name="APP_NAME" /> comparte una ventana con <ph name="TAB_NAME" />.</translation>
@@ -5160,6 +5226,7 @@
 <translation id="9157697743260533322">No se pudieron configurar actualizaciones automáticas para todos los usuarios (error de inicio preliminar: <ph name="ERROR_NUMBER" />)</translation>
 <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="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>
@@ -5183,6 +5250,7 @@
 <translation id="9214695392875603905">Cupcake</translation>
 <translation id="9215293857209265904">"<ph name="EXTENSION_NAME" />" agregada</translation>
 <translation id="9215934040295798075">Establecer fondo de pantalla</translation>
+<translation id="9218027443531385788">Para descargar y usar las apps de Android, debes instalar esta actualización obligatoria. No puedes usar tu <ph name="DEVICE_TYPE" /> mientras se actualiza. Una vez que se complete la instalación, tu <ph name="DEVICE_TYPE" /> se reiniciará.</translation>
 <translation id="9218430445555521422">Establecer como predeterminado</translation>
 <translation id="9219103736887031265">Imágenes</translation>
 <translation id="9220525904950070496">Eliminar cuenta</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index f31dace..ac57222 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -70,6 +70,7 @@
 <translation id="1108164192735968833">Conexión SMS</translation>
 <translation id="1108600514891325577">&amp;Detener</translation>
 <translation id="1110155001042129815">Esperar</translation>
+<translation id="1112420131909513020">La pestaña en segundo plano está usando el Bluetooth</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">Rombo</translation>
 <translation id="1114335938027186412">Tu ordenador contiene un dispositivo de seguridad del módulo de plataforma de confianza (TPM), que se utiliza para implementar un gran número de funciones clave de seguridad en Chrome OS. Puedes consultar más información en el Centro de ayuda de los Chromebook (https://support.google.com/chromebook/?p=tpm).</translation>
@@ -153,6 +154,7 @@
     <ph name="BR" />
     Envíanos tus comentarios a través de la siguiente pantalla para ayudarnos a solucionar el problema.</translation>
 <translation id="121783623783282548">Las contraseñas no coinciden.</translation>
+<translation id="1218860753635451122">Al hacer clic en el botón "Acepto", declaras que estás conforme con el proceso descrito anteriormente de estos servicios de Google.</translation>
 <translation id="122082903575839559">Algoritmo de firma de certificado</translation>
 <translation id="1221024147024329929">PKCS #1 MD2 con cifrado RSA</translation>
 <translation id="1221825588892235038">Solo contenido seleccionado</translation>
@@ -192,6 +194,7 @@
 <translation id="1285320974508926690">No traducir nunca este sitio</translation>
 <translation id="1285484354230578868">Almacenar datos en tu cuenta de Google Drive</translation>
 <translation id="1288037062697528143">La luz nocturna se activará automáticamente al anochecer</translation>
+<translation id="1288300545283011870">Propiedades de voz</translation>
 <translation id="1293177648337752319">Activar sonido del sitio web</translation>
 <translation id="1293509594570842875">No se ha podido crear el nuevo usuario supervisado. Comprueba tu conexión de red y vuelve a intentarlo más tarde.</translation>
 <translation id="1293556467332435079">Archivos</translation>
@@ -418,6 +421,7 @@
 <translation id="1624026626836496796">Esta acción solo se realizará una vez y tus credenciales no se almacenarán.</translation>
 <translation id="1627276047960621195">Descriptores de archivo</translation>
 <translation id="1627408615528139100">Ya se ha descargado</translation>
+<translation id="1632551555529177478">Error: No se ha podido iniciar el cliente Concierge.</translation>
 <translation id="1632803087685957583">Te permite configurar la frecuencia de repetición del teclado, la predicción de palabras y otros ajustes</translation>
 <translation id="1635033183663317347">Instalada por tu tutor legal.</translation>
 <translation id="1637224376458524414">Obtener este marcador en tu iPhone</translation>
@@ -516,6 +520,7 @@
 <translation id="177336675152937177">Datos de aplicaciones alojadas</translation>
 <translation id="1774349594977710164">Tu teléfono también desbloquea el resto de tus <ph name="DEVICE_TYPE" /> porque se sincronizan automáticamente.</translation>
 <translation id="1774833706453699074">Añadir páginas abiertas a marcadores...</translation>
+<translation id="1775381402323441512">Información del vídeo</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177694132944350798">Tus datos se han cifrado con tu contraseña de Google a partir del <ph name="TIME" />. Introduce tu contraseña para iniciar la sincronización.</translation>
 <translation id="1779652936965200207">Introduce esta clave de acceso en "<ph name="DEVICE_NAME" />":</translation>
@@ -535,6 +540,7 @@
 <translation id="180035236176489073">Tienes que conectarte a Internet para acceder a estos archivos.</translation>
 <translation id="1802687198411089702">La página no responde. Puedes esperar a que lo haga o cerrarla.</translation>
 <translation id="1802931390041703523">Se ha bloqueado Flash en esta página</translation>
+<translation id="1805738995123446102">La pestaña en segundo plano está usando el micrófono</translation>
 <translation id="1805822111539868586">Inspeccionar vistas</translation>
 <translation id="1807938677607439181">Todos los archivos</translation>
 <translation id="1809734401532861917">Añadir mis marcadores, mi historial, mis contraseñas y otras opciones de configuración a <ph name="USER_EMAIL_ADDRESS" /></translation>
@@ -557,6 +563,7 @@
 <translation id="1829192082282182671">&amp;Reducir zoom</translation>
 <translation id="1830550083491357902">No has iniciado sesión.</translation>
 <translation id="1832511806131704864">Cambio de teléfono actualizado</translation>
+<translation id="1834503245783133039">No se ha podido completar la descarga: <ph name="FILE_NAME" /></translation>
 <translation id="1838374766361614909">Borrar búsqueda</translation>
 <translation id="1838709767668011582">Sitio de Google</translation>
 <translation id="1839704667838141620">Cambiar forma de compartir este archivo</translation>
@@ -671,6 +678,7 @@
 <translation id="2040460856718599782">¡Vaya! Parece que algo ha fallado al intentar identificarte. Vuelve a comprobar tus credenciales de inicio de sesión e inténtalo de nuevo.</translation>
 <translation id="2043818754674261542">Distancia necesaria para que el teléfono desbloquee este <ph name="DEVICE_TYPE" /></translation>
 <translation id="204497730941176055">Nombre de plantilla de certificado de Microsoft</translation>
+<translation id="2045117674524495717">Asistente de combinaciones de teclas</translation>
 <translation id="2045969484888636535">Continuar bloqueando las cookies</translation>
 <translation id="204622017488417136">Se restaurará la versión de Chrome instalada previamente en el dispositivo y se eliminarán todas las cuentas de usuario y todos los datos locales. Esta acción no se puede deshacer.</translation>
 <translation id="2048182445208425546">Acceder a tu tráfico de red</translation>
@@ -692,6 +700,7 @@
 <translation id="2079053412993822885">Si eliminas uno de tus propios certificados, ya no podrás utilizarlo para identificarte.</translation>
 <translation id="2079545284768500474">Deshacer</translation>
 <translation id="2080070583977670716">Más opciones</translation>
+<translation id="2084108471225856927">Ajustes del dispositivo</translation>
 <translation id="2085470240340828803">Ya existe un archivo "<ph name="FILENAME" />". ¿Qué quieres hacer?</translation>
 <translation id="2087822576218954668">Imprimir: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">Navega de forma segura con Google Chrome</translation>
@@ -805,6 +814,7 @@
 <translation id="2239921694246509981">Añadir persona supervisada</translation>
 <translation id="2241053333139545397">Leer y modificar tus datos en una serie de sitios web</translation>
 <translation id="2242687258748107519">Información del archivo</translation>
+<translation id="2243194103992005307">Para desinstalar aplicaciones, accede a Ajustes &gt; Aplicaciones o Administrador de aplicaciones. A continuación, toca la aplicación que quieras desinstalar (es posible que tengas que deslizar el dedo hacia la derecha o hacia la izquierda para encontrar la aplicación) y toca Desinstalar o Inhabilitar.</translation>
 <translation id="2245240762616536227">Controlar cómo el historial de navegación personaliza la Búsqueda, los anuncios y otros servicios de Google</translation>
 <translation id="2249605167705922988">p. ej. 1-5, 8, 11-13</translation>
 <translation id="2251218783371366160">Abrir con visor del sistema</translation>
@@ -823,6 +833,7 @@
 <translation id="2270627217422354837">Intercambiar datos con cualquier dispositivo de los dominios <ph name="DOMAINS" /></translation>
 <translation id="2271088077909873520">Administra tus datos sincronizados en el <ph name="BEGIN_LINK" />Panel de Control de Google<ph name="END_LINK" />.</translation>
 <translation id="2272570998639520080">Copa de Martini</translation>
+<translation id="2275685295206198038">Se ha terminado de instalar <ph name="APP_NAME" />.</translation>
 <translation id="2276503375879033601">Añadir más aplicaciones</translation>
 <translation id="2277255602909579701">Todas las cookies y los datos de sitios web</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{Se ha copiado 1 elemento}other{Se han copiado # elementos}}</translation>
@@ -862,6 +873,7 @@
 <translation id="2335122562899522968">Esta página almacena cookies</translation>
 <translation id="2336228925368920074">Añadir todas las pestañas a marcadores...</translation>
 <translation id="2336381494582898602">Powerwash</translation>
+<translation id="2338776671779155318">Error: No se ha podido crear la imagen de disco.</translation>
 <translation id="2339120501444485379">Introduce un nuevo nombre</translation>
 <translation id="2339641773402824483">Buscando actualizaciones</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> quiere vincularse</translation>
@@ -881,6 +893,7 @@
 <translation id="2359808026110333948">Continuar</translation>
 <translation id="236141728043665931">Bloquear siempre el acceso al micrófono</translation>
 <translation id="2365507699358342471">Este sitio web puede ver el texto y las imágenes que se hayan copiado en el portapapeles.</translation>
+<translation id="2367199180085172140">Añadir uso compartido de archivo</translation>
 <translation id="2367972762794486313">Mostrar aplicaciones</translation>
 <translation id="2371076942591664043">Abrir al &amp;finalizar</translation>
 <translation id="2377319039870049694">Cambiar a vista de lista</translation>
@@ -1060,10 +1073,12 @@
 <translation id="264810637653812429">No se han podido encontrar dispositivos compatibles.</translation>
 <translation id="2648831393319960979">El dispositivo se está añadiendo a tu cuenta. Esta acción puede tardar unos minutos...</translation>
 <translation id="2649045351178520408">ASCII codificado en Base64, cadena de certificados</translation>
+<translation id="2651353619134567122">Enviar datos del sistema. Este dispositivo envía a Google datos de diagnósticos y uso del dispositivo y las aplicaciones automáticamente. Puedes cambiar esta opción en cualquier momento en los <ph name="BEGIN_LINK1" />ajustes<ph name="END_LINK1" /> del dispositivo. 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_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="2653033005692233957">No se ha podido completar la búsqueda</translation>
 <translation id="2653266418988778031">Si eliminas el certificado de CA, el navegador ya no podrá confiar en ningún certificado emitido por esa entidad emisora de certificados.</translation>
 <translation id="2653659639078652383">Enviar</translation>
 <translation id="265390580714150011">Valor de campo</translation>
+<translation id="2654166010170466751">Permitir a los sitios web instalar controladores de pago</translation>
 <translation id="2655386581175833247">Certificado usuario:</translation>
 <translation id="2660779039299703961">Evento</translation>
 <translation id="266079277508604648">No se puede establecer conexión con la impresora. Comprueba que esté encendida y conectada a tu Chromebook por red Wi‑Fi o USB.</translation>
@@ -1302,6 +1317,7 @@
 <translation id="2986010903908656993">Se ha bloqueado esta página para que no tenga un control absoluto de los dispositivos MIDI.</translation>
 <translation id="2989474696604907455">no conectado</translation>
 <translation id="2989786307324390836">DER binario codificado, certificado único</translation>
+<translation id="2993165626813508977">Error: No se ha podido iniciar el contenedor de la máquina virtual Termina.</translation>
 <translation id="2993517869960930405">Información de la aplicación</translation>
 <translation id="2994669386200004489">No se ha podido crear la copia de seguridad de <ph name="FILE_NAME" /></translation>
 <translation id="299483336428448530">Instalada por tus padres.</translation>
@@ -1354,6 +1370,7 @@
 <translation id="3045447014237878114">Este sitio web ha descargado varios archivos automáticamente</translation>
 <translation id="304567287000691532">Compartiendo pantalla</translation>
 <translation id="3046910703532196514">Página web (completa)</translation>
+<translation id="304747341537320566">Motores de voz</translation>
 <translation id="304826556400666995">Activar sonido de pestañas</translation>
 <translation id="3053013834507634016">Uso de claves de certificado</translation>
 <translation id="3057861065630527966">Realiza copias de seguridad de tus fotos y vídeos</translation>
@@ -1362,6 +1379,7 @@
 <translation id="3064410671692449875">Datos insuficientes</translation>
 <translation id="3065041951436100775">Comentarios sobre una pestaña que se ha cerrado.</translation>
 <translation id="3066642396596108483">Sincroniza tus marcadores, tus contraseñas y tu historial en todos tus dispositivos</translation>
+<translation id="3067198179881736288">¿Quieres instalar la aplicación?</translation>
 <translation id="3067198360141518313">Ejecutar este complemento</translation>
 <translation id="3071624960923923138">Puedes hacer clic aquí para abrir una pestaña nueva</translation>
 <translation id="3074037959626057712">Has iniciado sesión y activado la sincronización</translation>
@@ -1407,10 +1425,13 @@
 <translation id="3130528281680948470">Tu dispositivo se restablecerá y se eliminarán todas las cuentas de usuario y todos los datos locales. Esta acción no se puede deshacer.</translation>
 <translation id="313205617302240621">¿Has olvidado tu contraseña?</translation>
 <translation id="3135204511829026971">Girar pantalla</translation>
+<translation id="313963229645891001">Descargando (<ph name="STATUS" />)</translation>
 <translation id="3139925690611372679">Avatar amarillo predeterminado</translation>
 <translation id="3140353188828248647">Activar barra de direcciones</translation>
 <translation id="3141318088920353606">Escuchando...</translation>
 <translation id="3141917231319778873">"<ph name="DEVICE_NAME" />" no admite la solicitud proporcionada.</translation>
+<translation id="3143515551205905069">Cancelar sincronización</translation>
+<translation id="3143695347784622594">Enviar datos del sistema. Envía automáticamente datos de diagnósticos y uso del dispositivo y las aplicaciones a Google. Puedes cambiar esta opción en cualquier momento en los <ph name="BEGIN_LINK1" />ajustes<ph name="END_LINK1" /> del dispositivo. 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_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">LISTO</translation>
 <translation id="3144647712221361880">Abrir enlace como</translation>
 <translation id="3149510190863420837">Aplicaciones de Chrome</translation>
@@ -1449,6 +1470,7 @@
 <translation id="3206175707080061730">Ya existe un archivo "$1". ¿Quieres sustituirlo?</translation>
 <translation id="3208703785962634733">Sin confirmar</translation>
 <translation id="3213187967168344806">No se puede añadir la impresora. Reinicia el ordenador y vuelve a intentarlo.</translation>
+<translation id="3217843140356091325">¿Quieres crear un acceso directo?</translation>
 <translation id="321799795901478485">Zip Archiver</translation>
 <translation id="3220586366024592812">Se ha producido un error en el proceso de conector de <ph name="CLOUD_PRINT_NAME" />. ¿Reiniciar?</translation>
 <translation id="3221634914176615296">Explora el contenido del dispositivo con la aplicación Archivos.</translation>
@@ -1529,6 +1551,7 @@
 <translation id="3326821416087822643">Comprimiendo <ph name="FILE_NAME" />...</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Información de la aplicación</translation>
+<translation id="3335337277364016868">Año de grabación</translation>
 <translation id="3335947283844343239">Volver a abrir pestaña cerrada</translation>
 <translation id="3340978935015468852">configuración</translation>
 <translation id="3341703758641437857">Permitir acceso a URL de archivo</translation>
@@ -1590,6 +1613,7 @@
 <translation id="3435738964857648380">Seguridad</translation>
 <translation id="3435896845095436175">Habilitar</translation>
 <translation id="3436038974659740746">Ortografía personalizada</translation>
+<translation id="3437801641691368414">Hora de creación</translation>
 <translation id="3438633801274389918">Ninja</translation>
 <translation id="3439153939049640737">Permitir siempre que <ph name="HOST" /> acceda al micrófono</translation>
 <translation id="3439970425423980614">Abriendo archivo PDF en la vista previa</translation>
@@ -1633,6 +1657,7 @@
 <translation id="3487007233252413104">función anónima</translation>
 <translation id="348780365869651045">Esperando a la memoria caché de aplicaciones...</translation>
 <translation id="3488065109653206955">Activación parcial</translation>
+<translation id="348999362308956431">Descarga completa: <ph name="FILE_NAME" /></translation>
 <translation id="3492788708641132712">La sincronización no funciona. Prueba a iniciar sesión de nuevo.</translation>
 <translation id="3493881266323043047">Validez</translation>
 <translation id="3494769164076977169">Preguntar cuando un sitio intente descargar archivos automáticamente después del primer archivo (recomendado)</translation>
@@ -1722,6 +1747,7 @@
 <translation id="3627320433825461852">Menos de 1 minuto</translation>
 <translation id="3627588569887975815">Abrir el enlace en una ventana de incó&amp;gnito</translation>
 <translation id="3627671146180677314">Tiempo de renovación de certificado de Netscape</translation>
+<translation id="3627879631695760395">Installar <ph name="APP" />...</translation>
 <translation id="3630995161997703415">Añade este sitio web a tu estantería para usarlo en cualquier momento</translation>
 <translation id="3635030235490426869">Pestaña 1</translation>
 <translation id="3636096452488277381">Hola, <ph name="USER_GIVEN_NAME" />.</translation>
@@ -1734,6 +1760,7 @@
 <translation id="3646789916214779970">Restablecer tema predeterminado</translation>
 <translation id="3648348069317717750">Se ha detectado <ph name="USB_DEVICE_NAME" /></translation>
 <translation id="3649138363871392317">Se ha hecho la foto</translation>
+<translation id="3650952250015018111">Permitir que "<ph name="APP_NAME" />" acceda a:</translation>
 <translation id="3651488188562686558">Se desconectará de la red Wi-Fi</translation>
 <translation id="3652817283076144888">Inicializando</translation>
 <translation id="3653999333232393305">Seguir permitiendo que <ph name="HOST" /> acceda al micrófono</translation>
@@ -1846,6 +1873,7 @@
 <translation id="381202950560906753">Añadir otra</translation>
 <translation id="3812525830114410218">Certificado erróneo</translation>
 <translation id="3813296892522778813">Si no puedes encontrar lo que estás buscando, consulta la <ph name="BEGIN_LINK_CHROMIUM" />ayuda de Google Chrome<ph name="END_LINK_CHROMIUM" /></translation>
+<translation id="3817579325494460411">No proporcionada</translation>
 <translation id="3819007103695653773">Permitir a todos los sitios enviar mensajes push en segundo plano</translation>
 <translation id="3819752733757735746">Acceso a interruptores (controla el ordenador con uno o dos interruptores)</translation>
 <translation id="3819800052061700452">&amp;Pantalla completa</translation>
@@ -1938,6 +1966,7 @@
 <translation id="394984172568887996">Importado desde Internet Explorer</translation>
 <translation id="3950820424414687140">Iniciar sesión</translation>
 <translation id="3954354850384043518">En curso</translation>
+<translation id="3954469006674843813"><ph name="WIDTH" />x<ph name="HEIGHT" /> (<ph name="REFRESH_RATE" /> Hz)</translation>
 <translation id="3955193568934677022">Permitir que los sitios web reproduzcan contenido protegido (recomendado)</translation>
 <translation id="3956702100721821638">No se ha podido acceder a Google Play</translation>
 <translation id="3958088479270651626">Importar marcadores y configuración</translation>
@@ -1958,6 +1987,7 @@
 <translation id="3979748722126423326">Habilitar <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981760180856053153">Tipo de almacenamiento no válido</translation>
 <translation id="3983586614702900908">dispositivos de un proveedor desconocido</translation>
+<translation id="3985261842049607969">Crear copia de seguridad en Google Drive. Cambia de dispositivo o restaura tus datos fácilmente en cualquier momento. La copia de seguridad incluye datos de las aplicaciones. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">Se ha reducido el uso de datos</translation>
 <translation id="3987938432087324095">No he entendido nada.</translation>
 <translation id="3988996860813292272">Seleccionar la zona horaria</translation>
@@ -1983,6 +2013,7 @@
 <translation id="4033471457476425443">Añadir nueva carpeta</translation>
 <translation id="4034042927394659004">Reducir brillo de teclado</translation>
 <translation id="4035758313003622889">Adminis&amp;trador de tareas</translation>
+<translation id="4036758022112812315">Selecciona lo que quieras escuchar y pulsa la tecla de búsqueda + S. También puedes mantener pulsada la tecla de búsqueda y hacer clic o arrastrar para seleccionar contenido.</translation>
 <translation id="4037084878352560732">Caballo</translation>
 <translation id="4037889604535939429">Cambiar persona</translation>
 <translation id="4042264909745389898">Condiciones de Google Chrome OS</translation>
@@ -2015,6 +2046,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="4087470595660267445">Descarga aplicaciones y juegos de Google Play en tu Chromebook. &lt;a target="_blank" href="<ph name="URL" />"&gt;Más información&lt;/a&gt;</translation>
 <translation id="4088095054444612037">Aceptar la invitación para el grupo</translation>
+<translation id="4089235344645910861">Se ha guardado la configuración y se ha iniciado la sincronización.</translation>
 <translation id="4090103403438682346">Habilitar acceso verificado</translation>
 <translation id="4090535558450035482">(Esta extensión está administrada y no se puede eliminar.)</translation>
 <translation id="4091434297613116013">hojas de papel</translation>
@@ -2025,6 +2057,7 @@
 <translation id="4096824249111507322">Se está preparando el módulo seguro. Este proceso tardar unos minutos...</translation>
 <translation id="4099060993766194518">¿Restaurar el motor de búsqueda predeterminado?</translation>
 <translation id="4100733287846229632">Queda muy poco espacio en el dispositivo</translation>
+<translation id="4103091233824664032">Introduce tu contraseña para configurar el bloqueo de pantalla y el inicio de sesión</translation>
 <translation id="4104163789986725820">E&amp;xportar...</translation>
 <translation id="4105563239298244027">Consigue 1 TB gratis con Google Drive</translation>
 <translation id="4107048419833779140">Identificar y expulsar dispositivos de almacenamiento</translation>
@@ -2087,11 +2120,13 @@
 <translation id="4235200303672858594">Toda la pantalla</translation>
 <translation id="4235813040357936597">Añadir cuenta de <ph name="PROFILE_NAME" /></translation>
 <translation id="4235965441080806197">Cancelar inicio de sesión</translation>
+<translation id="4239107879884489787">Error: No se ha podido cargar el componente Termina.</translation>
 <translation id="4242533952199664413">Abrir Configuración</translation>
 <translation id="4242577469625748426">Se ha producido un error al instalar la configuración de política en el dispositivo (<ph name="VALIDATION_ERROR" />).</translation>
 <translation id="4244238649050961491">Buscar más aplicaciones para el lápiz óptico</translation>
 <translation id="424546999567421758">Se ha detectado un uso elevado del disco</translation>
 <translation id="424726838611654458">Abrir siempre en Adobe Reader</translation>
+<translation id="4247901771970415646">No se puede sincronizar con <ph name="USERNAME" /></translation>
 <translation id="4249248555939881673">Esperando conexión de red...</translation>
 <translation id="4249373718504745892">Esta página no tiene permiso para acceder a la cámara y al micrófono.</translation>
 <translation id="424963718355121712">Las aplicaciones deben proceder del host al que afecten</translation>
@@ -2112,6 +2147,7 @@
 <translation id="4271396100647220620">Sin resultados</translation>
 <translation id="4275830172053184480">Reiniciar tu dispositivo</translation>
 <translation id="4278390842282768270">Permitido</translation>
+<translation id="4280864916190672950">Detener carga</translation>
 <translation id="4281844954008187215">Condiciones del servicio</translation>
 <translation id="4282196459431406533">Smart Lock está activado</translation>
 <translation id="4284105660453474798">¿Seguro que quieres eliminar "$1"?</translation>
@@ -2128,6 +2164,7 @@
 <translation id="4305227814872083840">largo (2 s)</translation>
 <translation id="4306119971288449206">Las aplicaciones deben incluir el encabezado content-type "<ph name="CONTENT_TYPE" />"</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> K (<ph name="NUM_KILOBYTES_LIVE" /> K activos)</translation>
+<translation id="4309915981827077375">Información general</translation>
 <translation id="4310139701823742692">El formato del archivo no es correcto. Comprueba el archivo PPD e inténtalo de nuevo.</translation>
 <translation id="431076611119798497">&amp;Detalles</translation>
 <translation id="4312866146174492540">Bloquear (predeterminado)</translation>
@@ -2176,11 +2213,13 @@
 <translation id="4409697491990005945">Márgenes</translation>
 <translation id="4411578466613447185">Firmante del código</translation>
 <translation id="4412698727486357573">Centro de Ayuda</translation>
+<translation id="44141919652824029">¿Quieres permitir que "<ph name="APP_NAME" />" obtenga la lista de tus dispositivos USB adjuntos?</translation>
 <translation id="4414232939543644979">Nueva ventana de &amp;incógnito</translation>
 <translation id="4415748029120993980">Curva elíptica SECG secp384r1 (también denominada NIST P-384)</translation>
 <translation id="4419409365248380979">Permitir siempre que <ph name="HOST" /> pueda establecer cookies.</translation>
 <translation id="4421932782753506458">Gatito</translation>
 <translation id="4422347585044846479">Editar marcador para esta página</translation>
+<translation id="4423104065312875417">Instalar motores de voz adicionales</translation>
 <translation id="4423376891418188461">Restaurar configuración</translation>
 <translation id="4423482519432579560">&amp;Corrector ortográfico</translation>
 <translation id="442397852638519243"><ph name="USER_NAME" />, tu administrador solicita que cambies la contraseña.</translation>
@@ -2268,6 +2307,7 @@
 <translation id="4565377596337484307">Ocultar contraseña</translation>
 <translation id="4567772783389002344">Añadir palabra</translation>
 <translation id="4568213207643490790">Las cuentas de Google no están permitidas en este dispositivo.</translation>
+<translation id="4568854179928172494">Hora de modificación</translation>
 <translation id="4569747168316751899">Cuando esté inactivo</translation>
 <translation id="4572659312570518089">Se canceló la autenticación mientras se establecía conexión con <ph name="DEVICE_NAME" />.</translation>
 <translation id="4572815280350369984">Archivo <ph name="FILE_TYPE" /></translation>
@@ -2311,6 +2351,7 @@
 <translation id="4640525840053037973">Inicia sesión con tu cuenta de Google</translation>
 <translation id="4641539339823703554">Chrome no ha podido establecer la hora del sistema. Comprueba la hora a continuación y corrígela si es necesario.</translation>
 <translation id="4643612240819915418">&amp;Abrir vídeo en una pestaña nueva</translation>
+<translation id="4644818355646995778">Descargando (<ph name="PERCENT_REMAINING" />)</translation>
 <translation id="4645676300727003670">&amp;Guardar</translation>
 <translation id="4647090755847581616">&amp;Cerrar pestaña</translation>
 <translation id="4647697156028544508">Introduce el PIN de "<ph name="DEVICE_NAME" />":</translation>
@@ -2467,6 +2508,11 @@
 <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>
+<translation id="4883898390143004266">Permitir que las apps detecten la ubicación. Usa el servicio de ubicación de Google para mejorar la ubicación de las aplicaciones. Es posible que Google recoja datos de ubicación periódicamente y que los utilice de forma anónima para mejorar la precisión de la ubicación y los servicios basados en la ubicación. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
+<translation id="4884740091792292473"><ph name="BEGIN_PARAGRAPH1" />Crear copia de seguridad en Google Drive. Cambia de dispositivo o restaura tus datos fácilmente en cualquier momento. La copia de seguridad incluye datos de las aplicaciones.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Los datos de aplicaciones pueden ser cualquier tipo de información que guarden las aplicaciones (según la configuración de los desarrolladores), incluyendo datos que pueden ser sensibles (como contactos, mensajes y fotos).<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Los datos de la copia de seguridad no se tienen en cuenta para calcular tu espacio de almacenamiento de Google Drive.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH4" />Puedes desactivar este servicio en Ajustes.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="4884987973312178454">6x</translation>
 <translation id="4885705234041587624">MSCHAPv2</translation>
 <translation id="4887424188275796356">Abrir con el visor del sistema</translation>
@@ -2692,6 +2738,7 @@
 <translation id="5250372599208556903"><ph name="SEARCH_ENGINE_NAME" /> utiliza tu ubicación para ofrecerte contenido local. Puedes cambiar esta opción en <ph name="SETTINGS_LINK" />.</translation>
 <translation id="5252456968953390977">Itinerancia</translation>
 <translation id="5252653240322147470">El PIN debe tener menos de <ph name="MAXIMUM" /> dígitos</translation>
+<translation id="5253070652067921974">Creado por</translation>
 <translation id="5254368820972107711">Mostrar archivos que se van a eliminar</translation>
 <translation id="52550593576409946">La aplicación de kiosco no se ha podido iniciar.</translation>
 <translation id="5255315797444241226">La frase de contraseña introducida no es correcta.</translation>
@@ -2714,6 +2761,7 @@
 <translation id="5275973617553375938">Archivos recuperados de Google Drive</translation>
 <translation id="527605719918376753">Silenciar pestaña</translation>
 <translation id="527605982717517565">Permitir siempre JavaScript en <ph name="HOST" /></translation>
+<translation id="5280426389926346830">¿Quieres crear un acceso directo?</translation>
 <translation id="5282733140964383898">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 interprete. Por ejemplo, algunos sitios web pueden responder a la solicitud mostrándote anuncios que no están basados en otros sitios web que has visitado. Muchos sitios web seguirán recogiendo y utilizando tus datos de navegación para, por ejemplo, mejorar la seguridad, proporcionar contenido, servicios, anuncios y recomendaciones sobre sus sitios web, y generar estadísticas de informes. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
 <translation id="5283677936944177147">¡Vaya! El sistema no ha podido determinar el número de serie o el modelo del dispositivo.</translation>
 <translation id="5284445933715251131">Seguir descargando</translation>
@@ -2746,6 +2794,7 @@
 <translation id="532360961509278431">No se puede abrir "$1": $2</translation>
 <translation id="5324780743567488672">Establecer la zona horaria de forma automática según tu ubicación</translation>
 <translation id="5327248766486351172">Nombre</translation>
+<translation id="532776649628038357">Acepto</translation>
 <translation id="532943162177641444">Toca la notificación en el <ph name="PHONE_NAME" /> para configurar el punto de acceso móvil que este dispositivo puede usar.</translation>
 <translation id="5329858601952122676">&amp;Suprimir</translation>
 <translation id="5330145655348521461">Estos archivos se han abierto en un escritorio diferente. Ve a <ph name="USER_NAME" /> (<ph name="MAIL_ADDRESS" />) para verlo.</translation>
@@ -2759,6 +2808,7 @@
 <translation id="5337771866151525739">Instalada por una aplicación externa</translation>
 <translation id="5338503421962489998">Almacenamiento local</translation>
 <translation id="5340217413897845242">Elemento 6 de la estantería</translation>
+<translation id="5340638867532133571">Permitir a los sitios web instalar controladores de pago (recomendado)</translation>
 <translation id="5341793073192892252">Se han bloqueado las siguientes cookies (las cookies de terceros se bloquean sin excepción)</translation>
 <translation id="5341980496415249280">Espera mientras se comprime…</translation>
 <translation id="5342091991439452114">El PIN debe tener al menos <ph name="MINIMUM" /> dígitos</translation>
@@ -2767,6 +2817,7 @@
 <translation id="5353252989841766347">Exportar contraseñas de Chrome</translation>
 <translation id="5355097969896547230">Volver a buscar</translation>
 <translation id="5355926466126177564">La extensión <ph name="EXTENSION_NAME" /> ha cambiado la página que se muestra al buscar en el omnibox.</translation>
+<translation id="5358764674931277">Fotogramas por segundo</translation>
 <translation id="5360150013186312835">Mostrar en la barra de herramientas</translation>
 <translation id="5362741141255528695">Selecciona un archivo de clave privada.</translation>
 <translation id="5363109466694494651">Powerwash y cambio a versión anterior</translation>
@@ -2803,6 +2854,7 @@
 <translation id="5414566801737831689">Leer los iconos de los sitios web que visites</translation>
 <translation id="5417312524372586921">Temas del navegador</translation>
 <translation id="5419294236999569767">Hora del sistema</translation>
+<translation id="5420438158931847627">Determina la nitidez del texto y las imágenes</translation>
 <translation id="5422221874247253874">Punto de acceso</translation>
 <translation id="5422781158178868512">No se ha podido reconocer tu dispositivo de almacenamiento externo.</translation>
 <translation id="5423849171846380976">Activado</translation>
@@ -2858,6 +2910,7 @@
 <translation id="5487521232677179737">Borrar los datos</translation>
 <translation id="5488093641312826914">Se ha copiado <ph name="COPIED_ITEM_NAME" /></translation>
 <translation id="5488468185303821006">Permitir en modo incógnito</translation>
+<translation id="5491110079163012109">Enviar datos del sistema. Envía automáticamente datos de diagnósticos y uso del dispositivo y las aplicaciones a Google. El propietario aplica esta configuración y puede elegir si se envían datos de uso y diagnósticos de este dispositivo a Google Puedes ver esta opción en los ajustes. 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="5493792505296048976">pantalla encendida</translation>
 <translation id="5494362494988149300">Abrir al &amp;finalizar</translation>
 <translation id="5494920125229734069">Seleccionar todo</translation>
@@ -2918,6 +2971,7 @@
 <translation id="5568069709869097550">No puedo iniciar sesión</translation>
 <translation id="5568144734023334204">Almacenamiento de Android</translation>
 <translation id="5569544776448152862">Registrando en <ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" />...</translation>
+<translation id="5572572070321843880">Error: No se ha podido iniciar la máquina virtual Termina.</translation>
 <translation id="5575473780076478375">Extensión de incógnito: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">El restablecimiento de tu dispositivo no afectará a tus cuentas de Google ni a los datos sincronizados con esas cuentas, pero se eliminarán todos los archivos guardados localmente en tu dispositivo.</translation>
 <translation id="5578059481725149024">Iniciar sesión automáticamente</translation>
@@ -2986,6 +3040,9 @@
 <translation id="5678550637669481956">Se ha concedido acceso de lectura y escritura a <ph name="VOLUME_NAME" />.</translation>
 <translation id="5678955352098267522">Leer tus datos en <ph name="WEBSITE_1" /></translation>
 <translation id="5684661240348539843">Identificador de recurso</translation>
+<translation id="5686799162999241776"><ph name="BEGIN_BOLD" />No se puede desconectar de un archivo o disco virtual<ph name="END_BOLD" />
+   <ph name="LINE_BREAKS" />
+   Cierra todos los archivos del archivo o disco virtual e inténtalo de nuevo.</translation>
 <translation id="5687326903064479980">Zona horaria</translation>
 <translation id="5689516760719285838">Ubicación</translation>
 <translation id="56907980372820799">Vincular datos</translation>
@@ -2994,6 +3051,8 @@
 <translation id="5694501201003948907">Comprimiendo $1 elementos...</translation>
 <translation id="5696143504434933566">Denunciar uso inadecuado de <ph name="EXTENSION_NAME" /></translation>
 <translation id="5699533844376998780">Se ha añadido la extensión "<ph name="EXTENSION_NAME" />".</translation>
+<translation id="5700087501958648444">Información del audio</translation>
+<translation id="570043786759263127">Servicios y aplicaciones de Google Play</translation>
 <translation id="5700836101007545240">El administrador ha inhabilitado la opción Añadir conexión</translation>
 <translation id="5701381305118179107">Centrar</translation>
 <translation id="5702898740348134351">&amp;Editar motores de búsqueda...</translation>
@@ -3018,6 +3077,7 @@
 <translation id="5739458112391494395">Muy grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> y otros <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="5741245087700236983"><ph name="PROFILE_NAME" />: seleccionar para editar</translation>
+<translation id="574209121243317957">Tono</translation>
 <translation id="5746169159649715125">Guardar como PDF</translation>
 <translation id="5747552184818312860">Caduca</translation>
 <translation id="5747785204778348146">Desarrollador: versión inestable</translation>
@@ -3177,6 +3237,7 @@
 <translation id="5991049340509704927">Ampliar</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para seguir navegando por Internet, pide a tu administrador que quite esta aplicación.}other{Para seguir navegando por Internet, pide a tu administrador que quite estas aplicaciones.}}</translation>
 <translation id="5993332328670040093">El uso de datos dejará de medirse.</translation>
+<translation id="6002458620803359783">Voces preferidas</translation>
 <translation id="600424552813877586">La aplicación no es válida.</translation>
 <translation id="6005695835120147974">Router multimedia</translation>
 <translation id="6006484371116297560">Clásico</translation>
@@ -3193,6 +3254,7 @@
 <translation id="602251597322198729">Este sitio está intentando descargar varios archivos. ¿Aceptar?</translation>
 <translation id="6022526133015258832">Abrir en pantalla completa</translation>
 <translation id="6025215716629925253">Seguimiento de la pila</translation>
+<translation id="6026047032548434446">¿Quieres instalar la aplicación?</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: dispositivo USB conectado</translation>
 <translation id="6032912588568283682">Sistema de archivos</translation>
 <translation id="6034662038931255275">Se ha actualizado correctamente el SO</translation>
@@ -3278,6 +3340,7 @@
 <translation id="6151771661215463137">El archivo ya existe en tu carpeta de descargas.</translation>
 <translation id="615436196126345398">Protocolo</translation>
 <translation id="6154697846084421647">Has iniciado sesión</translation>
+<translation id="6155141482566063812">La pestaña en segundo plano está compartiendo tu pantalla</translation>
 <translation id="6156323911414505561">Mostrar barra de marcadores</translation>
 <translation id="6156863943908443225">Caché de secuencia de comandos</translation>
 <translation id="6156960295318603523">Configuración de idioma</translation>
@@ -3296,6 +3359,7 @@
 <translation id="6181431612547969857">Descarga bloqueada</translation>
 <translation id="6185132558746749656">Ubicación del dispositivo</translation>
 <translation id="6185696379715117369">Retroceder página</translation>
+<translation id="6189273858858366896">Configurar o gestionar archivos compartidos de la red.</translation>
 <translation id="6189412234224385711">Abrir con <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6196854373336333322">La extensión <ph name="EXTENSION_NAME" /> ahora controla la configuración del proxy, lo que significa que puede cambiar, deshacer o espiar cualquier acción que hagas online. Si no estás seguro de los motivos por los que se ha producido este cambio, probablemente no haya sido intencionado.</translation>
@@ -3517,6 +3581,7 @@
 <translation id="6528513914570774834">Permitir que otros usuarios de este dispositivo usen esta red</translation>
 <translation id="652948702951888897">Historial de Chrome</translation>
 <translation id="653019979737152879">Sincronizando <ph name="FILE_NAME" />...</translation>
+<translation id="6530681427077572136">Enviar datos del sistema. Este dispositivo envía a Google datos de diagnósticos y uso del dispositivo y las aplicaciones automáticamente. Puedes cambiar esta opción en cualquier momento en los ajustes del dispositivo. 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="6531282281159901044">Conservar archivo peligroso</translation>
 <translation id="6534583978616527129">Iniciar la conexión</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Nota:<ph name="END_BOLD" /> Habilita esta opción solo si tienes conciencia de los efectos de esta acción o si se te ha pedido que lo hagas, ya que la recogida de datos puede reducir el rendimiento.</translation>
@@ -3543,6 +3608,7 @@
 <translation id="656398493051028875">Eliminando "<ph name="FILENAME" />"...</translation>
 <translation id="6567688344210276845">No se ha podido cargar el icono "<ph name="ICON" />" para la acción de la página.</translation>
 <translation id="657402800789773160">Volver a &amp;cargar la página</translation>
+<translation id="6577284282025554716">Descarga cancelada: <ph name="FILE_NAME" /></translation>
 <translation id="6578664922716508575">Cifrar las contraseñas sincronizadas con tu nombre de usuario y contraseña de Google</translation>
 <translation id="6580151766480067746">Versión de ARC</translation>
 <translation id="6581162200855843583">Enlace de Google Drive</translation>
@@ -3558,6 +3624,7 @@
 <translation id="6596745167571172521">Inhabilitar Bloq Mayús</translation>
 <translation id="6596816719288285829">Dirección IP</translation>
 <translation id="6597017209724497268">Ejemplos</translation>
+<translation id="659934686219830168">La sincronización comenzará cuando salgas de esta página</translation>
 <translation id="6602353599068390226">mover ventana a otra pantalla</translation>
 <translation id="6602956230557165253">Utiliza las teclas de flecha hacia la izquierda y hacia la derecha para desplazarte.</translation>
 <translation id="660380282187945520">F9</translation>
@@ -3567,6 +3634,7 @@
 <translation id="6607831829715835317">Más herramientas</translation>
 <translation id="6612358246767739896">Contenido protegido</translation>
 <translation id="6613452264606394692">Añade esta página a marcadores para volver a ella rápidamente</translation>
+<translation id="6614893213975402384">Instalar actualizaciones y aplicaciones. Si continúas, aceptas que este dispositivo pueda descargar e instalar actualizaciones y aplicaciones de Google, de tu operador y del fabricante de forma automática, y que pueda usar datos móviles para ello. Es posible que algunas de estas aplicaciones ofrezcan compras en la aplicación. Puedes desinstalar estas aplicaciones en cualquier momento. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="6615455863669487791">Ver</translation>
 <translation id="661719348160586794">Las contraseñas guardadas aparecerán aquí.</translation>
 <translation id="6618097958368085618">Conservar de todos modos</translation>
@@ -3582,6 +3650,7 @@
 <translation id="6628328486509726751">Fecha y hora de subida: <ph name="WEBRTC_LOG_UPLOAD_TIME" /></translation>
 <translation id="6629841649550503054">Se ha realizado la copia de seguridad de todos los archivos en <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> desea acceder de forma permanente a un certificado parar autenticarse en tu nombre.</translation>
+<translation id="6635956300022133031">Seleccionar y personalizar voces de la síntesis de voz</translation>
 <translation id="6639554308659482635">Memoria de SQLite</translation>
 <translation id="6641138807883536517">La contraseña del modulo de seguridad generada de forma aleatoria no está disponible (suele ocurrir después de un Powerwash).</translation>
 <translation id="6643016212128521049">Eliminar</translation>
@@ -3589,6 +3658,7 @@
 <translation id="6644846457769259194">Actualizando el dispositivo (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="6647228709620733774">URL de revocación de la entidad emisora de certificados de Netscape</translation>
 <translation id="6647838571840953560">Actualmente en <ph name="CHANNEL_NAME" /></translation>
+<translation id="6648911618876616409">Hay una actualización importante que puedes instalar. Inicia sesión para empezar.</translation>
 <translation id="6649018507441623493">Un segundo...</translation>
 <translation id="6649563841575838401">El formato del archivo no se admite o el archivo está dañado.</translation>
 <translation id="665061930738760572">Abrir en una ventana &amp;nueva</translation>
@@ -3608,6 +3678,7 @@
 <translation id="6678717876183468697">URL de la consulta</translation>
 <translation id="6680028776254050810">Cambiar usuario</translation>
 <translation id="6680442031740878064">Disponible: <ph name="AVAILABLE_SPACE" /></translation>
+<translation id="6680650203439190394">Velocidad</translation>
 <translation id="6681668084120808868">Sacar foto</translation>
 <translation id="6681964764822470072">"<ph name="APP_NAME" />" se desinstalará.</translation>
 <translation id="668599234725812620">Abrir Google Play</translation>
@@ -3624,6 +3695,7 @@
 <translation id="6702639462873609204">&amp;Editar...</translation>
 <translation id="6706210727756204531">Alcance</translation>
 <translation id="6707389671160270963">Certificado de cliente SSL</translation>
+<translation id="6708029444764748914">Vuelve a introducir tu PIN para poder usarlo para iniciar sesión en tu dispositivo.</translation>
 <translation id="6708242697268981054">Origen:</translation>
 <translation id="6709357832553498500">Conectar con <ph name="EXTENSIONNAME" /></translation>
 <translation id="6710213216561001401">Anterior</translation>
@@ -3704,6 +3776,7 @@
 <translation id="6829250331733125857">Recibe ayuda para tu <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6829270497922309893">Registro en tu organización</translation>
 <translation id="682971198310367122">Política de Privacidad de Google</translation>
+<translation id="6829772336900667075">Abrir <ph name="APP_NAME" /></translation>
 <translation id="6831043979455480757">Traducir</translation>
 <translation id="683373380308365518">Cambia a un navegador seguro e inteligente</translation>
 <translation id="6835762382653651563">Conéctate a Internet para actualizar tu <ph name="DEVICE_TYPE" />.</translation>
@@ -3753,6 +3826,7 @@
 <translation id="6922128026973287222">Ahorra datos y navega más rápido con Ahorro de Datos de Google. Haz clic para obtener más información.</translation>
 <translation id="6923132443355966645">Desplazarse/Hacer clic</translation>
 <translation id="6929555043669117778">Seguir bloqueando pop-ups</translation>
+<translation id="6929835486583850209">No se ha podido instalar <ph name="APP_NAME" />...</translation>
 <translation id="6930242544192836755">Duración</translation>
 <translation id="6934241953272494177">Escaneando tu dispositivo multimedia...
     <ph name="LINE_BREAK1" />
@@ -3764,6 +3838,7 @@
 <translation id="6945221475159498467">Seleccionar</translation>
 <translation id="694592694773692225">Se ha bloqueado la redirección bloqueada en esta página.</translation>
 <translation id="6949306908218145636">Añadir páginas abiertas a marcadores...</translation>
+<translation id="6951153907720526401">Controladores de pago</translation>
 <translation id="6955446738988643816">Inspeccionar ventana emergente</translation>
 <translation id="6957231940976260713">Nombre de servicio</translation>
 <translation id="696203921837389374">Habilitar sincronización a través de redes de datos móviles</translation>
@@ -3856,6 +3931,7 @@
 <translation id="7077829361966535409">No se ha podido cargar la página de inicio de sesión con la configuración de proxy actual. <ph name="GAIA_RELOAD_LINK_START" />Intenta iniciar sesión de nuevo<ph name="GAIA_RELOAD_LINK_END" /> o utiliza otra <ph name="PROXY_SETTINGS_LINK_START" />configuración de proxy<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="7078120482318506217">Todas las redes</translation>
 <translation id="708060913198414444">C&amp;opiar dirección de audio</translation>
+<translation id="7081952801286122383">Estás en el modo incógnito</translation>
 <translation id="708278670402572152">Desconectar para habilitar la búsqueda</translation>
 <translation id="7084192839369222683">Ejecutar solo contenido importante</translation>
 <translation id="7085389578340536476">¿Quieres permitir que Chrome grabe audio?</translation>
@@ -3923,6 +3999,9 @@
 <translation id="7191454237977785534">Guardar archivo como</translation>
 <translation id="7193374945610105795">No hay contraseñas guardadas de <ph name="ORIGIN" /></translation>
 <translation id="7196835305346730603">Buscando Chromebox cercanos…</translation>
+<translation id="7197160646667308890"><ph name="BEGIN_PARAGRAPH1" />Esto es información general sobre el dispositivo y su uso (como el nivel de batería, el uso de las aplicaciones o la conectividad de red). La información se utilizará con el fin de mejorar los productos y servicios de Google para todo el mundo. Parte de los datos recogidos también ayudarán a nuestros partners, como los desarrolladores de Android, a mejorar sus aplicaciones y productos.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Si la opción se desactiva, esto no afectará a la capacidad del dispositivo de enviar la información necesaria para recibir servicios esenciales, como actualizaciones del sistema y funciones de seguridad..<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Puedes controlar esta función en Ajustes &gt; Google. En el menú, selecciona Uso y diagnósticos.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7199158086730159431">Obtener a&amp;yuda</translation>
 <translation id="720110658997053098">Mantener este dispositivo en modo kiosco de forma permanente</translation>
 <translation id="7201118060536064622">Se ha eliminado "<ph name="DELETED_ITEM_NAME" />"</translation>
@@ -3941,9 +4020,11 @@
 <translation id="7223775956298141902">Vaya, no tienes ninguna extensión :-(</translation>
 <translation id="7225179976675429563">Falta el tipo de red.</translation>
 <translation id="7228479291753472782">Manipula la configuración que especifica si los sitios web pueden usar funciones como la geolocalización, el micrófono, la cámara, etc.</translation>
+<translation id="7228523857728654909">Bloqueo de pantalla e inicio de sesión</translation>
 <translation id="7229570126336867161">Es necesario el estándar EVDO.</translation>
 <translation id="7230787553283372882">Personalizar el tamaño del texto</translation>
 <translation id="7232750842195536390">No se ha podido cambiar el nombre</translation>
+<translation id="7233309214676155451">Sincroniza y personaliza Chrome en todos tus dispositivos</translation>
 <translation id="7238585580608191973">Huella digital SHA-256</translation>
 <translation id="7240120331469437312">Nombre alternativo de la entidad receptora del certificado</translation>
 <translation id="7240339475467890413">¿Quieres conectarte a un nuevo punto de acceso?</translation>
@@ -3974,6 +4055,7 @@
 <translation id="727952162645687754">Error de descarga</translation>
 <translation id="7279701417129455881">Administrar bloqueo de cookies...</translation>
 <translation id="7280041992884344566">Chrome no ha podido buscar software dañino</translation>
+<translation id="7280649757394340890">Ajustes de voz de síntesis de voz</translation>
 <translation id="7280877790564589615">Permiso solicitado</translation>
 <translation id="7282992757463864530">Barra de información</translation>
 <translation id="7283041136720745563">No hay espacio suficiente en tu cuota de Google Drive.</translation>
@@ -3989,12 +4071,14 @@
 <translation id="7297443947353982503">Nombre de usuario o contraseña incorrectos o error de autenticación EAP</translation>
 <translation id="729761647156315797">Seleccionar idioma y teclado</translation>
 <translation id="7299337219131431707">Habilitar navegación como invitado</translation>
+<translation id="730289542559375723">{NUM_APPLICATIONS,plural, =1{Esta aplicación puede impedir que Chrome funcione correctamente.}other{Estas aplicaciones pueden impedir que Chrome funcione correctamente.}}</translation>
 <translation id="7303900363563182677">No se permite que este sitio web vea el texto y las imágenes que se hayan copiado en el portapapeles</translation>
 <translation id="730515362922783851">Intercambiar datos con cualquier dispositivo en la red local o Internet</translation>
 <translation id="7308002049209013926">Utiliza el menú de aplicaciones para acceder rápidamente a aplicaciones y actividades nuevas. Para acceder al menú con el teclado, pulsa Alt + Mayús + L.</translation>
 <translation id="7309257895202129721">Mostrar &amp;controles</translation>
 <translation id="7311079019872751559">Acceso de complementos sin pasar por la zona de pruebas</translation>
 <translation id="7311891583377621132">Mueve el dedo ligeramente para capturar otra parte de la huella digital</translation>
+<translation id="7317680720589234980">Opciones de bloqueo de pantalla e inicio de sesión</translation>
 <translation id="7317938878466090505"><ph name="PROFILE_NAME" /> (actual)</translation>
 <translation id="7321545336522791733">No se puede acceder al servidor</translation>
 <translation id="7324297612904500502">Foro beta</translation>
@@ -4123,6 +4207,9 @@
 <translation id="7507930499305566459">Certificado de respuesta de estado</translation>
 <translation id="7508545000531937079">Presentación de diapositivas</translation>
 <translation id="7513029293694390567">Permite iniciar sesión automáticamente en sitios web con credenciales almacenadas. Si esta función está inhabilitada, se te solicitará la confirmación cada vez que intentes iniciar sesión en un sitio web.</translation>
+<translation id="7515154058529101840"><ph name="BEGIN_PARAGRAPH1" />Permitir que las apps detecten la ubicación. Usa el servicio de ubicación de Google para mejorar la ubicación de las aplicaciones. Es posible que Google recoja datos de ubicación periódicamente y que los utilice de forma anónima para mejorar la precisión de la ubicación y los servicios basados en la ubicación.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />El servicio de ubicación de Google utiliza fuentes como las redes Wi‑Fi y móviles y sensores para ayudar a determinar la ubicación de tu dispositivo. Este servicio está disponible si la opción Ubicación del dispositivo está activada .<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Para inhabilitar la ubicación, desactiva la opción Ubicación del dispositivo.  También puedes inhabilitar el uso de sensores y redes Wi‑Fi o móviles para determinar la ubicación en los ajustes de ubicación.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7517569744831774757">Restablece los ajustes a la configuración predeterminada original.</translation>
 <translation id="7517786267097410259">Crear una contraseña:</translation>
 <translation id="7518150891539970662">Registros de WebRTC (<ph name="WEBRTC_LOG_COUNT" />)</translation>
@@ -4138,6 +4225,7 @@
 <translation id="7543104066686362383">Se habilitarán las funciones de depurado en este dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="7544853251252956727">Reproducir aleatoriamente</translation>
 <translation id="7545415673537747415">Controla cómo utiliza Google tu historial de navegación para personalizar la Búsqueda, los anuncios y otros servicios en la página <ph name="BEGIN_LINK" />Controles de la actividad de tu cuenta de Google<ph name="END_LINK" />.</translation>
+<translation id="7545809182698428577">Activa las funciones de esta lista. Usa la actividad del navegador, el contenido de algunos sitios web que visitas y otras interacciones del navegador para personalizarlo.</translation>
 <translation id="7547317915858803630">Advertencia: la configuración de <ph name="PRODUCT_NAME" /> se almacena en una unidad de red, lo que puede provocar ralentizaciones, fallos e incluso pérdidas de datos.</translation>
 <translation id="7547483330017600937">Desarrolla contenido en tu <ph name="DEVICE_TYPE" />. Puedes ejecutar tus herramientas de líneas de comandos y aplicaciones nativas favoritas de forma fácil y segura.
 
@@ -4173,6 +4261,7 @@
 <translation id="7589461650300748890">¡Atención! Ten cuidado.</translation>
 <translation id="7589661784326793847">Espera un segundo</translation>
 <translation id="7591957897535945411">Esta página se ha traducido.</translation>
+<translation id="7595453277607160340">Para usar aplicaciones de Android y que tu <ph name="DEVICE_TYPE" /> siga funcionando correctamente, inicia sesión de nuevo e instala la actualización.</translation>
 <translation id="7595547011743502844"><ph name="ERROR" /> (código de error <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">Reiniciar el ordenador</translation>
 <translation id="7600965453749440009">No traducir nunca del <ph name="LANGUAGE" /></translation>
@@ -4194,6 +4283,7 @@
 <translation id="7629827748548208700">Pestaña: <ph name="TAB_NAME" /></translation>
 <translation id="7631887513477658702">&amp;Abrir siempre archivos de este tipo</translation>
 <translation id="7632948528260659758">No se han podido actualizar las siguientes aplicaciones de kiosco:</translation>
+<translation id="763632859238619983">No permitir a ningún sitio web instalar controladores de pago</translation>
 <translation id="7639178625568735185">¡Listo!</translation>
 <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> inicia sesión automáticamente en los sitios web en los que se pueda iniciar sesión con las contraseñas que hayas guardado.</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (propietario)</translation>
@@ -4236,6 +4326,7 @@
 <translation id="7707922173985738739">Se utilizarán datos móviles</translation>
 <translation id="7709152031285164251">Error: <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;Enviar...</translation>
+<translation id="7711920809702896782">Información de la imagen</translation>
 <translation id="7714307061282548371">Se han habilitado las cookies de <ph name="DOMAIN" /></translation>
 <translation id="7714464543167945231">Certificado</translation>
 <translation id="7716781361494605745">URL de política de la entidad emisora de certificados de Netscape</translation>
@@ -4335,6 +4426,7 @@
 <translation id="7851457902707056880">El inicio de sesión se ha restringido únicamente a la cuenta del propietario. Reinicia el sistema e inicia sesión con la cuenta del propietario. El ordenador se reiniciará automáticamente en 30 segundos.</translation>
 <translation id="7851716364080026749">Bloquear siempre el acceso a la cámara y al micrófono</translation>
 <translation id="7853747251428735">Más herramienta&amp;s</translation>
+<translation id="7856006446339184955">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 <ph name="BEGIN_LINK1" />configuración<ph name="END_LINK1" />. 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_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="7857117644404132472">Añadir excepción</translation>
 <translation id="7857949311770343000">¿Es esta la página Nueva pestaña que esperabas?</translation>
 <translation id="786073089922909430">Servicio: <ph name="ARC_PROCESS_NAME" /></translation>
@@ -4353,6 +4445,7 @@
 <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>
 <translation id="7889966925761734854">Buscar</translation>
 <translation id="7892100671754994880">Siguiente usuario</translation>
 <translation id="7893008570150657497">Acceder a fotos, música y otro contenido multimedia de tu ordenador</translation>
@@ -4456,6 +4549,7 @@
 <translation id="8026334261755873520">Borrar datos de navegación</translation>
 <translation id="8028060951694135607">Recuperación de claves de Microsoft</translation>
 <translation id="8028134359912645720">Mantén pulsadas las teclas Control, Alt, Mayús o el menú de aplicaciones para ver las combinaciones de teclas correspondientes a esas teclas modificadoras.</translation>
+<translation id="8028803902702117856">Descargando <ph name="SIZE" /> (<ph name="FILE_NAME" />)</translation>
 <translation id="8028993641010258682">Tamaño</translation>
 <translation id="8030656706657716245">Añadir impresora</translation>
 <translation id="8032244173881942855">No se puede enviar la pestaña.</translation>
@@ -4654,6 +4748,7 @@
 <translation id="8366396658833131068">Tu conexión de red se ha restaurado. Selecciona una red diferente o pulsa el botón "Continuar" para ejecutar tu aplicación de kiosco.</translation>
 <translation id="8366947248864804596">Si el teléfono está desbloqueado y está cerca, solo tienes que seleccionarlo para desbloquearlo. De lo contrario, introduce tu contraseña o PIN.</translation>
 <translation id="8368859634510605990">&amp;Abrir todos los marcadores</translation>
+<translation id="8369547389711988632">Se ha dejado de cargar</translation>
 <translation id="8371695176452482769">Habla ahora</translation>
 <translation id="8372369524088641025">Clave WEP incorrecta</translation>
 <translation id="8373553483208508744">Silenciar pestañas</translation>
@@ -4695,6 +4790,7 @@
 <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>
+<translation id="8448729345478502352">Reducir o aumentar el tamaño de los elementos de la pantalla</translation>
 <translation id="8449008133205184768">Pegar con el mismo estilo</translation>
 <translation id="8449036207308062757">Gestionar almacenamiento</translation>
 <translation id="8451512073679317615">asistente</translation>
@@ -4709,6 +4805,7 @@
 <translation id="84613761564611563">Se ha solicitado la configuración de red de la IU. Por favor, espera...</translation>
 <translation id="8461914792118322307">Proxy</translation>
 <translation id="8463215747450521436">Es posible que el administrador haya eliminado o inhabilitado este usuario supervisado. Ponte en contacto con el administrador si quieres seguir iniciando sesión como este usuario.</translation>
+<translation id="846374874681391779">Barra de descargas</translation>
 <translation id="8463955938112983119"><ph name="PLUGIN_NAME" /> inhabilitado.</translation>
 <translation id="8464132254133862871">Esta cuenta de usuario no es apta para este servicio.</translation>
 <translation id="8465252176946159372">No válido</translation>
@@ -4724,6 +4821,7 @@
 <translation id="8477384620836102176">&amp;General</translation>
 <translation id="8480082892550707549">Aunque hayas descargado archivos de este sitio web previamente, puede que no sea seguro temporalmente (pirateado). Intenta descargar de nuevo este archivo más tarde.</translation>
 <translation id="8480869669560681089">Dispositivo de <ph name="VENDOR_NAME" /> desconocido</translation>
+<translation id="8481187309597259238">Confirmar permiso de USB</translation>
 <translation id="8483248364096924578">Dirección IP</translation>
 <translation id="8487678622945914333">Acercar</translation>
 <translation id="8487693399751278191">Importar marcadores ahora...</translation>
@@ -4749,6 +4847,7 @@
 <translation id="8534656636775144800">¡Vaya! No se ha podido vincular el dominio. Inténtalo de nuevo.</translation>
 <translation id="8535005006684281994">URL de renovación de certificado de Netscape</translation>
 <translation id="8539727552378197395">No (HttpOnly)</translation>
+<translation id="8541166929715485291">Enviar datos del sistema. Envía automáticamente datos de diagnósticos y uso del dispositivo y las aplicaciones a Google. El propietario aplica esta configuración y puede elegir si se envían datos de uso y diagnósticos de este dispositivo a Google. Puedes ver esta opción en los <ph name="BEGIN_LINK1" />ajustes<ph name="END_LINK1" />. 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_LINK2" />Más información<ph name="END_LINK2" /></translation>
 <translation id="8545107379349809705">Ocultar información...</translation>
 <translation id="8545575359873600875">Tu contraseña no se ha podido verificar. El administrador de este usuario supervisado puede haber cambiado la contraseña recientemente. Si es así, la nueva contraseña se aplicará la próxima vez que inicies sesión. Prueba a utilizar la contraseña antigua.</translation>
 <translation id="8546186510985480118">Queda poco espacio en el dispositivo</translation>
@@ -4844,6 +4943,7 @@
 <translation id="8677212948402625567">Ocultar todos...</translation>
 <translation id="8678648549315280022">Administrar configuración de descargas...</translation>
 <translation id="8678933587484842200">¿Cómo te gustaría que se iniciara esta aplicación?</translation>
+<translation id="8679788109894721265">Esta página utiliza más de <ph name="MEGABYTES" /> MB</translation>
 <translation id="8680251145628383637">Inicia sesión para acceder a tus marcadores, tu historial, tus contraseñas y tu configuración en todos tus dispositivos. Además, iniciarás sesión automáticamente en tus servicios de Google.</translation>
 <translation id="8680536109547170164"><ph name="QUERY" />, respuesta: <ph name="ANSWER" /></translation>
 <translation id="8686213429977032554">Este archivo de Drive aún no se ha compartido</translation>
@@ -4857,6 +4957,7 @@
 <translation id="8698464937041809063">Dibujo de Google</translation>
 <translation id="869884720829132584">Menú de aplicaciones</translation>
 <translation id="869891660844655955">Fecha de caducidad</translation>
+<translation id="870073306461175568">Uso compartido de archivos del sistema</translation>
 <translation id="8700934097952626751">Haz clic para iniciar la búsqueda por voz</translation>
 <translation id="8704521619148782536">Esta acción está tardando mucho más tiempo del habitual. Puedes seguir esperando o cancelar la acción y volver a intentarlo más tarde.</translation>
 <translation id="8705331520020532516">Número de serie</translation>
@@ -4871,6 +4972,7 @@
 <translation id="8714154114375107944">Sin asistencia</translation>
 <translation id="871476437400413057">Contraseñas guardadas de Google</translation>
 <translation id="8714838604780058252">Gráficos de fondo</translation>
+<translation id="8715480913140015283">La pestaña en segundo plano está usando la cámara</translation>
 <translation id="8719653885894320876">No se ha podido descargar <ph name="PLUGIN_NAME" /></translation>
 <translation id="8723829621484579639">Submarcos de incógnito de: <ph name="PARENT_SITE" /></translation>
 <translation id="8724859055372736596">&amp;Mostrar en carpeta</translation>
@@ -5004,6 +5106,7 @@
 <translation id="8940081510938872932">Tu ordenador está ocupado en este momento. Vuelve a intentarlo más tarde.</translation>
 <translation id="8941173171815156065">Revocar el permiso <ph name="PERMISSION" /></translation>
 <translation id="8941882480823041320">Palabra anterior</translation>
+<translation id="8943076760234179177">URL para compartir archivos</translation>
 <translation id="894360074127026135">Certificado Step-Up International de Netscape</translation>
 <translation id="8944099748578356325">Consumirá batería de forma más rápida (carga actual: <ph name="BATTERY_PERCENTAGE" />%)</translation>
 <translation id="8944964446326379280"><ph name="APP_NAME" /> está compartiendo una ventana con <ph name="TAB_NAME" />.</translation>
@@ -5105,6 +5208,7 @@
 <translation id="9094033019050270033">Actualizar contraseña</translation>
 <translation id="9094982973264386462">Quitar</translation>
 <translation id="9095253524804455615">Quitar</translation>
+<translation id="9099674669267916096">Número de páginas</translation>
 <translation id="9100765901046053179">Configuración avanzada</translation>
 <translation id="9101691533782776290">Iniciar aplicación</translation>
 <translation id="9102610709270966160">Habilitar extensión</translation>
@@ -5135,6 +5239,7 @@
 <translation id="9137013805542155359">Mostrar original</translation>
 <translation id="9137916601698928395">Abrir enlace como <ph name="USER" /></translation>
 <translation id="9138978632494473300">Añadir accesos directos a las siguientes ubicaciones:</translation>
+<translation id="9140067245205650184">Estás usando una marca de función no admitida (<ph name="BAD_FLAG" />), lo que afectará a la estabilidad y la seguridad.</translation>
 <translation id="9147392381910171771">&amp;Opciones</translation>
 <translation id="9148058034647219655">Salir</translation>
 <translation id="9148116311817999634">Establecer un bloqueo de pantalla por seguridad</translation>
@@ -5150,7 +5255,9 @@
 <translation id="9157697743260533322">Se ha producido un error al configurar las actualizaciones automáticas para todos los usuarios (error de lanzamiento preliminar: <ph name="ERROR_NUMBER" />)</translation>
 <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="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>
 <translation id="9170848237812810038">&amp;Deshacer</translation>
 <translation id="9170884462774788842">Otro programa de tu ordenador ha añadido un tema que puede cambiar el funcionamiento de Chrome.</translation>
@@ -5172,6 +5279,7 @@
 <translation id="9214695392875603905">Cupcake</translation>
 <translation id="9215293857209265904">"<ph name="EXTENSION_NAME" />" añadida</translation>
 <translation id="9215934040295798075">Establecer fondo de pantalla</translation>
+<translation id="9218027443531385788">Para descargar y utilizar aplicaciones de Android, primero debes instalar esta actualización. Mientras se actualiza tu <ph name="DEVICE_TYPE" />, no podrás usarlo. Tu <ph name="DEVICE_TYPE" /> se reiniciará cuando se complete la instalación.</translation>
 <translation id="9218430445555521422">Establecer como predeterminado</translation>
 <translation id="9219103736887031265">Imágenes</translation>
 <translation id="9220525904950070496">Quitar cuenta</translation>
@@ -5192,6 +5300,7 @@
 <translation id="939736085109172342">Nueva carpeta</translation>
 <translation id="942532530371314860"><ph name="APP_NAME" /> está compartiendo audio y una pestaña de Chrome.</translation>
 <translation id="942954117721265519">No hay imágenes en este directorio.</translation>
+<translation id="943972244133411984">Modificado por</translation>
 <translation id="945522503751344254">Enviar comentarios</translation>
 <translation id="952992212772159698">Sin activar</translation>
 <translation id="957960681186851048">Este sitio web ha intentado descargar varios archivos automáticamente</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 73993400..4bc158cef 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -1876,7 +1876,7 @@
 <translation id="3813296892522778813">Jos et löydä etsimääsi, siirry <ph name="BEGIN_LINK_CHROMIUM" />Google Chromen ohjeisiin<ph name="END_LINK_CHROMIUM" />.</translation>
 <translation id="3817579325494460411">Ei annettu</translation>
 <translation id="3819007103695653773">Anna kaikkien sivustojen lähettää push-viestejä taustalla</translation>
-<translation id="3819752733757735746">Kytkimen käyttö (ohjaa tietokonetta yhdellä tai kahdella kytkimellä)</translation>
+<translation id="3819752733757735746">Valitsimen käyttö (ohjaa tietokonetta yhdellä tai kahdella kytkimellä)</translation>
 <translation id="3819800052061700452">&amp;Koko näyttö</translation>
 <translation id="3820172043799983114">Virheellinen PIN-koodi</translation>
 <translation id="3820749202859700794">SECG elliptinen käyrä secp521r1 (eli NIST P-521)</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index ac7b46cf..b462b45 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -1340,6 +1340,7 @@
 <translation id="3016641847947582299">הרכיב עודכן</translation>
 <translation id="3016780570757425217">לדעת מה המיקום שלך</translation>
 <translation id="302014277942214887">הזן מזהה יישום או כתובת אתר של חנות אינטרנט.</translation>
+<translation id="3020183492814296499">קיצורים</translation>
 <translation id="3020990233660977256">מספר סידורי: <ph name="SERIAL_NUMBER" /></translation>
 <translation id="3021678814754966447">&amp;הצג את מקור המסגרת</translation>
 <translation id="3022978424994383087">ההודעה שלך לא ברורה.</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index 0a25b4c..bdabbb3 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -521,6 +521,7 @@
 <translation id="177336675152937177">ホストされているアプリ データ</translation>
 <translation id="1774349594977710164">スマートフォンを使って、自動的に同期されている他の <ph name="DEVICE_TYPE" /> のロックも解除することができます。</translation>
 <translation id="1774833706453699074">開いているページをブックマーク...</translation>
+<translation id="1775381402323441512">動画情報</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177694132944350798">データは <ph name="TIME" /> に Google パスワードで暗号化されました。同期を開始するには、パスフレーズを入力してください。</translation>
 <translation id="1779652936965200207">「<ph name="DEVICE_NAME" />」でこのパスキーを入力してください:</translation>
@@ -563,6 +564,7 @@
 <translation id="1829192082282182671">縮小(&amp;O)</translation>
 <translation id="1830550083491357902">ログインしていません</translation>
 <translation id="1832511806131704864">スマートフォンの変更が反映されました</translation>
+<translation id="1834503245783133039"><ph name="FILE_NAME" /> をダウンロードできませんでした</translation>
 <translation id="1838374766361614909">検索をクリア</translation>
 <translation id="1838709767668011582">Google サイト</translation>
 <translation id="1839704667838141620">このファイルの共有方法を変更してください</translation>
@@ -699,6 +701,7 @@
 <translation id="2079053412993822885">ユーザーの証明書のいずれかを削除すると、それを使って身元を証明することはできなくなります。</translation>
 <translation id="2079545284768500474">元に戻す</translation>
 <translation id="2080070583977670716">詳細設定</translation>
+<translation id="2084108471225856927">端末の設定</translation>
 <translation id="2085470240340828803">「<ph name="FILENAME" />」という名前のファイルは既に存在します。どのように処理しますか?</translation>
 <translation id="2087822576218954668">印刷: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">Google Chrome で安全にブラウジング</translation>
@@ -1421,6 +1424,7 @@
 <translation id="3130528281680948470">デバイスをリセットし、すべてのユーザー アカウントとローカルデータを削除します。この操作は元に戻せません。</translation>
 <translation id="313205617302240621">パスワードをお忘れの場合</translation>
 <translation id="3135204511829026971">画面を回転</translation>
+<translation id="313963229645891001">ダウンロードしています。<ph name="STATUS" /></translation>
 <translation id="3139925690611372679">デフォルトの黄のアバター</translation>
 <translation id="3140353188828248647">アドレスバーにフォーカスを移す</translation>
 <translation id="3141318088920353606">お話しください...</translation>
@@ -1548,6 +1552,7 @@
 <translation id="3326821416087822643"><ph name="FILE_NAME" /> を圧縮しています...</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />)<ph name="LONGTZNAME" />(<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">アプリ情報</translation>
+<translation id="3335337277364016868">録音された年</translation>
 <translation id="3335947283844343239">閉じたタブを開く</translation>
 <translation id="3340978935015468852">設定</translation>
 <translation id="3341703758641437857">ファイルの URL へのアクセスを許可する</translation>
@@ -1609,6 +1614,7 @@
 <translation id="3435738964857648380">セキュリティ</translation>
 <translation id="3435896845095436175">有効にする</translation>
 <translation id="3436038974659740746">カスタム スペルチェック</translation>
+<translation id="3437801641691368414">作成日時</translation>
 <translation id="3438633801274389918">忍者</translation>
 <translation id="3439153939049640737"><ph name="HOST" /> によるマイクへのアクセスを常に許可する</translation>
 <translation id="3439970425423980614">PDF をプレビューしています</translation>
@@ -1652,6 +1658,7 @@
 <translation id="3487007233252413104">無名関数</translation>
 <translation id="348780365869651045">AppCache を待機しています...</translation>
 <translation id="3488065109653206955">一部有効</translation>
+<translation id="348999362308956431"><ph name="FILE_NAME" /> のダウンロードが完了しました</translation>
 <translation id="3492788708641132712">同期が機能していません。もう一度ログインしてみてください。</translation>
 <translation id="3493881266323043047">有効期間</translation>
 <translation id="3494769164076977169">サイトが最初のファイルに続いて他のファイルを自動的にダウンロードしようとする際に確認する(推奨)</translation>
@@ -1754,6 +1761,7 @@
 <translation id="3646789916214779970">デフォルトのテーマに戻す</translation>
 <translation id="3648348069317717750">「<ph name="USB_DEVICE_NAME" />」を検出しました</translation>
 <translation id="3649138363871392317">写真を撮りました</translation>
+<translation id="3650952250015018111">「<ph name="APP_NAME" />」のアクセスを許可する:</translation>
 <translation id="3651488188562686558">Wi-Fi から切断します</translation>
 <translation id="3652817283076144888">初期化しています</translation>
 <translation id="3653999333232393305"><ph name="HOST" /> によるマイクへのアクセスを引き続き許可する</translation>
@@ -1866,6 +1874,7 @@
 <translation id="381202950560906753">別の指紋を登録</translation>
 <translation id="3812525830114410218">不適切な証明書</translation>
 <translation id="3813296892522778813">探しているものが見つからない場合は、<ph name="BEGIN_LINK_CHROMIUM" />Google Chrome のヘルプ<ph name="END_LINK_CHROMIUM" />をご覧ください。</translation>
+<translation id="3817579325494460411">指定されていません</translation>
 <translation id="3819007103695653773">すべてのサイトに対しバックグラウンドのプッシュ メッセージの送信を許可する</translation>
 <translation id="3819752733757735746">スイッチ アクセス(スイッチ 1 つまたは 2 つでパソコンを制御)</translation>
 <translation id="3819800052061700452">全画面表示(&amp;F)</translation>
@@ -1959,6 +1968,7 @@
 <translation id="394984172568887996">IE ブックマーク</translation>
 <translation id="3950820424414687140">ログイン</translation>
 <translation id="3954354850384043518">ダウンロード中</translation>
+<translation id="3954469006674843813"><ph name="WIDTH" /> x <ph name="HEIGHT" />(<ph name="REFRESH_RATE" /> Hz)</translation>
 <translation id="3955193568934677022">保護されたコンテンツの再生をサイトに許可する(推奨)</translation>
 <translation id="3956702100721821638">Google Play に接続できませんでした</translation>
 <translation id="3958088479270651626">ブックマークと設定のインポート</translation>
@@ -2038,6 +2048,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="4087470595660267445">Google Play のアプリとゲームを Chromebook にインストールします。&lt;a target="_blank" href="<ph name="URL" />"&gt;詳細&lt;/a&gt;</translation>
 <translation id="4088095054444612037">グループとの共有を許可する</translation>
+<translation id="4089235344645910861">設定が保存され、同期が始まりました。</translation>
 <translation id="4090103403438682346">確認済みのアクセスを有効にする</translation>
 <translation id="4090535558450035482">(この拡張機能は管理対象であり、削除できません。)</translation>
 <translation id="4091434297613116013">枚</translation>
@@ -2117,6 +2128,7 @@
 <translation id="4244238649050961491">他のタッチペン アプリを探す</translation>
 <translation id="424546999567421758">ディスクの使用率が高くなっています</translation>
 <translation id="424726838611654458">常に Adobe Reader で開く</translation>
+<translation id="4247901771970415646"><ph name="USERNAME" /> に同期できません</translation>
 <translation id="4249248555939881673">ネットワークに接続しています...</translation>
 <translation id="4249373718504745892">このページではカメラとマイクへのアクセスがブロックされています。</translation>
 <translation id="424963718355121712">アプリは関連付けられたホストから配信される必要があります</translation>
@@ -2154,6 +2166,7 @@
 <translation id="4305227814872083840">長い(2 秒)</translation>
 <translation id="4306119971288449206">アプリはコンテンツタイプ「<ph name="CONTENT_TYPE" />」で配信される必要があります</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> K(<ph name="NUM_KILOBYTES_LIVE" /> K ライブ)</translation>
+<translation id="4309915981827077375">一般情報</translation>
 <translation id="4310139701823742692">ファイルの形式が正しくありません。PPD ファイルを確認してもう一度お試しください。</translation>
 <translation id="431076611119798497">詳細(&amp;D)</translation>
 <translation id="4312866146174492540">ブロック(デフォルト)</translation>
@@ -2202,6 +2215,7 @@
 <translation id="4409697491990005945">余白</translation>
 <translation id="4411578466613447185">コードの署名者</translation>
 <translation id="4412698727486357573">ヘルプセンター</translation>
+<translation id="44141919652824029">接続された USB デバイスのリストを「<ph name="APP_NAME" />」が取得することを許可しますか?</translation>
 <translation id="4414232939543644979">新しいシークレット ウインドウ(&amp;I)</translation>
 <translation id="4415748029120993980">SECG 楕円曲線 secp384r1(別名 NIST P-384)</translation>
 <translation id="4419409365248380979"><ph name="HOST" /> による Cookie 設定を常に許可する</translation>
@@ -2295,6 +2309,7 @@
 <translation id="4565377596337484307">パスワードを表示しない</translation>
 <translation id="4567772783389002344">単語を追加</translation>
 <translation id="4568213207643490790">この端末では Google アカウントをご利用いただけません。</translation>
+<translation id="4568854179928172494">更新日時</translation>
 <translation id="4569747168316751899">アイドル状態のとき</translation>
 <translation id="4572659312570518089">「<ph name="DEVICE_NAME" />」への接続中に、認証がキャンセルされました。</translation>
 <translation id="4572815280350369984"><ph name="FILE_TYPE" /> ファイル</translation>
@@ -2338,6 +2353,7 @@
 <translation id="4640525840053037973">Google アカウントでログイン</translation>
 <translation id="4641539339823703554">Chrome はシステムの時刻を設定できませんでした。以下で時刻を確認し、必要に応じて修正してください。</translation>
 <translation id="4643612240819915418">動画を新しいタブで開く(&amp;O)</translation>
+<translation id="4644818355646995778">ダウンロードしています。<ph name="PERCENT_REMAINING" /></translation>
 <translation id="4645676300727003670">継続(&amp;K)</translation>
 <translation id="4647090755847581616">タブを閉じる(&amp;C)</translation>
 <translation id="4647697156028544508">「<ph name="DEVICE_NAME" />」の PIN を入力してください:</translation>
@@ -2725,6 +2741,7 @@
 <translation id="5250372599208556903"><ph name="SEARCH_ENGINE_NAME" /> は、ユーザーの現在地情報を使用して地域のコンテンツを提供します。この設定は [<ph name="SETTINGS_LINK" />] で変更できます。</translation>
 <translation id="5252456968953390977">ローミング</translation>
 <translation id="5252653240322147470">PIN は <ph name="MAXIMUM" /> 桁未満で指定してください</translation>
+<translation id="5253070652067921974">作成者</translation>
 <translation id="5254368820972107711">削除されるファイルを表示</translation>
 <translation id="52550593576409946">キオスク アプリケーションを起動できませんでした。</translation>
 <translation id="5255315797444241226">入力したパスフレーズが正しくありません。</translation>
@@ -2803,6 +2820,7 @@
 <translation id="5353252989841766347">Chrome からパスワードをエクスポート</translation>
 <translation id="5355097969896547230">もう一度検索する</translation>
 <translation id="5355926466126177564">拡張機能「<ph name="EXTENSION_NAME" />」により、アドレスバーから検索したときに表示されるページが変更されました。</translation>
+<translation id="5358764674931277">フレームレート</translation>
 <translation id="5360150013186312835">ツールバーに表示</translation>
 <translation id="5362741141255528695">秘密鍵ファイルを選択します。</translation>
 <translation id="5363109466694494651">Powerwash を実行して以前のバージョンに戻す</translation>
@@ -2839,6 +2857,7 @@
 <translation id="5414566801737831689">アクセスしたウェブサイトのアイコンの読み取り</translation>
 <translation id="5417312524372586921">ブラウザのテーマ</translation>
 <translation id="5419294236999569767">システムの時刻</translation>
+<translation id="5420438158931847627">テキストと画像をどの程度鮮明に表示するかを指定します</translation>
 <translation id="5422221874247253874">アクセス ポイント</translation>
 <translation id="5422781158178868512">外部ストレージ デバイスを認識できませんでした。</translation>
 <translation id="5423849171846380976">有効</translation>
@@ -3024,6 +3043,9 @@
 <translation id="5678550637669481956"><ph name="VOLUME_NAME" /> への読み書きのアクセス権が許可されました。</translation>
 <translation id="5678955352098267522"><ph name="WEBSITE_1" /> でのユーザーデータの読み取り</translation>
 <translation id="5684661240348539843">アセット ID</translation>
+<translation id="5686799162999241776"><ph name="BEGIN_BOLD" />アーカイブまたは仮想ディスクから切断できません<ph name="END_BOLD" />
+   <ph name="LINE_BREAKS" />
+   アーカイブまたは仮想ディスク上のすべてのファイルを閉じてから、もう一度お試しください。</translation>
 <translation id="5687326903064479980">タイムゾーン</translation>
 <translation id="5689516760719285838">現在地</translation>
 <translation id="56907980372820799">データをリンク</translation>
@@ -3032,6 +3054,7 @@
 <translation id="5694501201003948907">$1 件のアイテムを圧縮しています...</translation>
 <translation id="5696143504434933566">「<ph name="EXTENSION_NAME" />」の不正行為を報告する</translation>
 <translation id="5699533844376998780">拡張機能「<ph name="EXTENSION_NAME" />」を追加しました。</translation>
+<translation id="5700087501958648444">オーディオ情報</translation>
 <translation id="570043786759263127">Google Play のアプリとサービス</translation>
 <translation id="5700836101007545240">接続の追加機能は管理者によって無効にされています</translation>
 <translation id="5701381305118179107">中央揃え</translation>
@@ -3589,6 +3612,7 @@
 <translation id="656398493051028875">「<ph name="FILENAME" />」を削除しています...</translation>
 <translation id="6567688344210276845">ページ操作のアイコン「<ph name="ICON" />」を読み込むことができませんでした。</translation>
 <translation id="657402800789773160">ページを再読み込み(&amp;R)</translation>
+<translation id="6577284282025554716"><ph name="FILE_NAME" /> のダウンロードがキャンセルされました</translation>
 <translation id="6578664922716508575">Google のユーザー名とパスワードを使用して同期パスワードを暗号化する</translation>
 <translation id="6580151766480067746">ARC バージョン</translation>
 <translation id="6581162200855843583">Google ドライブ リンク</translation>
@@ -4051,6 +4075,7 @@
 <translation id="7297443947353982503">ユーザー名/パスワードが正しくないか、EAP 認証に失敗しました</translation>
 <translation id="729761647156315797">言語とキーボードの選択</translation>
 <translation id="7299337219131431707">ゲストのブラウジングを許可する</translation>
+<translation id="730289542559375723">{NUM_APPLICATIONS,plural, =1{このアプリケーションにより、Chrome の正常な動作が妨げられている可能性があります。}other{これらのアプリケーションにより、Chrome の正常な動作が妨げられている可能性があります。}}</translation>
 <translation id="7303900363563182677">このサイトでは、クリップボードにコピーされているテキストや画像へのアクセスがブロックされています</translation>
 <translation id="730515362922783851">ローカル ネットワークまたはインターネット上のデバイスとのデータ交換</translation>
 <translation id="7308002049209013926">ランチャーを使うと、新しいアプリやアクティビティにすばやく移動できます。キーボードからランチャーを表示するには、Alt+Shift+L キーを押します。</translation>
@@ -4308,6 +4333,7 @@
 <translation id="7707922173985738739">モバイルデータを使用します</translation>
 <translation id="7709152031285164251">失敗 - <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">キャスト(&amp;C)...</translation>
+<translation id="7711920809702896782">画像情報</translation>
 <translation id="7714307061282548371"><ph name="DOMAIN" /> からの Cookie が許可されました</translation>
 <translation id="7714464543167945231">証明書</translation>
 <translation id="7716781361494605745">Netscape 認証局ポリシー URL</translation>
@@ -4426,6 +4452,7 @@
 <translation id="7886917304091689118">Chrome で実行中です</translation>
 <translation id="7887334752153342268">タブを複製</translation>
 <translation id="7887864092952184874">Bluetooth マウスがペア設定されました</translation>
+<translation id="7889565820482017512">ディスプレイ サイズ</translation>
 <translation id="7889966925761734854">シーク再生</translation>
 <translation id="7892100671754994880">次のユーザー</translation>
 <translation id="7893008570150657497">パソコンから画像、音楽、その他のメディアにアクセスする</translation>
@@ -4529,6 +4556,7 @@
 <translation id="8026334261755873520">閲覧履歴データを消去する</translation>
 <translation id="8028060951694135607">Microsoft キー回復</translation>
 <translation id="8028134359912645720">Ctrl キー、Alt キー、Shift キー、またはランチャー キーを押したままにすると、各キーのキーボード ショートカットが表示されます。</translation>
+<translation id="8028803902702117856"><ph name="FILE_NAME" /> をダウンロードしています。<ph name="SIZE" /> 完了</translation>
 <translation id="8028993641010258682">サイズ</translation>
 <translation id="8030656706657716245">プリンタを追加</translation>
 <translation id="8032244173881942855">タブをキャストできません。</translation>
@@ -4784,6 +4812,7 @@
 <translation id="84613761564611563">ネットワーク設定画面を呼び出しています。しばらくお待ちください...</translation>
 <translation id="8461914792118322307">プロキシ</translation>
 <translation id="8463215747450521436">この監視対象ユーザーは管理者によって削除されたか無効にされた可能性があります。引き続きこのユーザーとしてログインする場合は、管理者にお問い合わせください。</translation>
+<translation id="846374874681391779">ダウンロード バー</translation>
 <translation id="8463955938112983119"><ph name="PLUGIN_NAME" /> が無効になっています。</translation>
 <translation id="8464132254133862871">このユーザー アカウントはサービスを利用できません。</translation>
 <translation id="8465252176946159372">無効です</translation>
@@ -4799,6 +4828,7 @@
 <translation id="8477384620836102176">全般(&amp;G)</translation>
 <translation id="8480082892550707549">以前ファイルをダウンロードしたサイトでも、一時的に安全でなくなっている(ハッキングされている)可能性があります。しばらくしてからファイルをダウンロードしてみてください。</translation>
 <translation id="8480869669560681089"><ph name="VENDOR_NAME" /> 製の不明なデバイス</translation>
+<translation id="8481187309597259238">USB のアクセス許可の確認</translation>
 <translation id="8483248364096924578">IP アドレス</translation>
 <translation id="8487678622945914333">拡大</translation>
 <translation id="8487693399751278191">今すぐブックマークをインポート...</translation>
@@ -5185,6 +5215,7 @@
 <translation id="9094033019050270033">パスワードを更新</translation>
 <translation id="9094982973264386462">削除</translation>
 <translation id="9095253524804455615">削除</translation>
+<translation id="9099674669267916096">ページ数</translation>
 <translation id="9100765901046053179">詳細設定</translation>
 <translation id="9101691533782776290">アプリを起動</translation>
 <translation id="9102610709270966160">拡張機能を有効にする</translation>
@@ -5276,6 +5307,7 @@
 <translation id="939736085109172342">新しいフォルダ</translation>
 <translation id="942532530371314860"><ph name="APP_NAME" /> が Chrome タブと音声を共有しています。</translation>
 <translation id="942954117721265519">このディレクトリには画像がありません。</translation>
+<translation id="943972244133411984">更新者</translation>
 <translation id="945522503751344254">フィードバックを送信</translation>
 <translation id="952992212772159698">無効</translation>
 <translation id="957960681186851048">このサイトで複数ファイルの自動ダウンロードが試行されました</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index 4c2fc5c..75b3b89d 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -70,6 +70,7 @@
 <translation id="1108164192735968833">SMS Connect</translation>
 <translation id="1108600514891325577">&amp;Sustabdyti</translation>
 <translation id="1110155001042129815">Palaukti</translation>
+<translation id="1112420131909513020">Fone veikiančiame skirtuke naudojamas „Bluetooth“</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">Deimantas</translation>
 <translation id="1114335938027186412">Jūsų kompiuteryje yra patikimos platformos modulio (TPM) saugos įrenginys, kuris naudojamas „Chrome“ OS įdiegiant daug svarbių saugos funkcijų. Jei reikia daugiau informacijos, apsilankykite „Chromebook“ pagalbos centre adresu https://support.google.com/chromebook/?p=tpm</translation>
@@ -153,6 +154,7 @@
     <ph name="BR" />
     Kitame ekrane atsiųskite atsiliepimą, kad padėtumėte išspręsti problemą.</translation>
 <translation id="121783623783282548">Slaptažodžiai neatitinka.</translation>
+<translation id="1218860753635451122">Spustelėdami mygtuką „Sutinku“ sutinkate, kad šios „Google“ paslaugos būtų apdorojamos, kaip aprašyta anksčiau.</translation>
 <translation id="122082903575839559">Sertifikato parašo algoritmas</translation>
 <translation id="1221024147024329929">PKCS Nr. 1 MD2 su RSA šifruote</translation>
 <translation id="1221825588892235038">Tik pasirinkimas</translation>
@@ -192,6 +194,7 @@
 <translation id="1285320974508926690">Niekada neversti šios svetainės</translation>
 <translation id="1285484354230578868">Saugoti duomenis „Google“ disko paskyroje</translation>
 <translation id="1288037062697528143">Nakties šviesa bus įjungta automatiškai saulei leidžiantis</translation>
+<translation id="1288300545283011870">Kalbos ypatybės</translation>
 <translation id="1293177648337752319">Įjungti svetainės garsą</translation>
 <translation id="1293509594570842875">Nepavyko sukurti naujo prižiūrimo naudotojo. Patikrinkite tinklo ryšį ir vėliau bandykite dar kartą.</translation>
 <translation id="1293556467332435079">Failai</translation>
@@ -418,6 +421,7 @@
 <translation id="1624026626836496796">Tai reikia padaryti tik kartą. Be to, jūsų prisijungimo duomenys išsaugoti nebus.</translation>
 <translation id="1627276047960621195">Failų deskriptoriai</translation>
 <translation id="1627408615528139100">Jau atsisiųsta</translation>
+<translation id="1632551555529177478">KLAIDA: nepavyko paleisti „Concierge“ kliento.</translation>
 <translation id="1632803087685957583">Suteikiama galimybė koreguoti klaviatūros kartojimo dažnį, žodžių numatymą ir daugiau</translation>
 <translation id="1635033183663317347">Įdiegė jūsų prižiūrėtojas.</translation>
 <translation id="1637224376458524414">Gaukite šią žymę „iPhone“ įrenginyje</translation>
@@ -536,6 +540,7 @@
 <translation id="180035236176489073">Jei norite pasiekti šios failus, turite prisijungti.</translation>
 <translation id="1802687198411089702">Puslapis neatsako. Galite palaukti arba išeiti.</translation>
 <translation id="1802931390041703523">Šiame puslapyje „Flash“ buvo užblokuotas</translation>
+<translation id="1805738995123446102">Fone veikiančiame skirtuke naudojamas jūsų mikrofonas</translation>
 <translation id="1805822111539868586">Tikrinti rodinius</translation>
 <translation id="1807938677607439181">Visi failai</translation>
 <translation id="1809734401532861917">Pridėti mano žymes, istoriją, slaptažodžius ir kitus nustatymus prie <ph name="USER_EMAIL_ADDRESS" /></translation>
@@ -673,6 +678,7 @@
 <translation id="2040460856718599782">Oi! Kažkas atsitiko bandant nustatyti jūsų tapatybę. Dar kartą patikrinkite prisijungimo duomenis ir bandykite iš naujo.</translation>
 <translation id="2043818754674261542">Atstumas, reikalingas norint atrakinti šį „<ph name="DEVICE_TYPE" />“ telefonu</translation>
 <translation id="204497730941176055">„Microsoft“ sertifikato šablono pavadinimas</translation>
+<translation id="2045117674524495717">Sparčiųjų klavišų pagalbos priemonė</translation>
 <translation id="2045969484888636535">Tęsti slapukų blokavimą</translation>
 <translation id="204622017488417136">Įrenginyje bus grąžinta anksčiau įdiegta „Chrome“ versija. Visos naudotojų paskyros ir vietiniai duomenys bus pašalinti. Šio veiksmo anuliuoti negalėsite.</translation>
 <translation id="2048182445208425546">Pasiekti tinklo srautą</translation>
@@ -808,6 +814,7 @@
 <translation id="2239921694246509981">Pridėti prižiūrimą asmenį</translation>
 <translation id="2241053333139545397">Skaityti ir keisti duomenis keliose svetainėse</translation>
 <translation id="2242687258748107519">Failo informacija</translation>
+<translation id="2243194103992005307">Jei norite pašalinti programas, eikite į skiltį „Nustatymai“ &gt; „Programos“ arba „Programų tvarkytuvė“. Tada palieskite programą, kurią norite pašalinti (galbūt reikės perbraukti į dešinę arba į kairę, kad rastumėte programą). Tada palieskite „Pašalinti“ arba „Išjungti“.</translation>
 <translation id="2245240762616536227">Valdykite, kaip jūsų naršymo istorija suasmenina Paiešką, skelbimus ir kitas „Google“ paslaugas</translation>
 <translation id="2249605167705922988">pvz., 1–5, 8, 11–13</translation>
 <translation id="2251218783371366160">Atidaryti naudojat sistemos peržiūros priemonę</translation>
@@ -826,6 +833,7 @@
 <translation id="2270627217422354837">Keistis duomenimis su bet kuriuo įrenginiu iš šių domenų: <ph name="DOMAINS" /></translation>
 <translation id="2271088077909873520">Tvarkykite sinchronizuojamus duomenis <ph name="BEGIN_LINK" />„Google“ informacijos suvestinėje<ph name="END_LINK" />.</translation>
 <translation id="2272570998639520080">Martinio taurė</translation>
+<translation id="2275685295206198038">Baigta diegti „<ph name="APP_NAME" />“.</translation>
 <translation id="2276503375879033601">Pridėti daugiau programų</translation>
 <translation id="2277255602909579701">Visi slapukai ir svetainės duomenys</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{Nukopijuotas 1 elementas}one{Nukopijuotas # elementas}few{Nukopijuoti # elementai}many{Nukopijuota # elemento}other{Nukopijuota # elementų}}</translation>
@@ -865,6 +873,7 @@
 <translation id="2335122562899522968">Šis puslapis nustatė slapukus.</translation>
 <translation id="2336228925368920074">Žymėti visus skirtukus...</translation>
 <translation id="2336381494582898602">Powerwash</translation>
+<translation id="2338776671779155318">KLAIDA: nepavyko sukurti disko turinio kopijos.</translation>
 <translation id="2339120501444485379">Įveskite naują pavadinimą</translation>
 <translation id="2339641773402824483">Ieškoma atnaujinimų...</translation>
 <translation id="2340263603246777781">Svetainė <ph name="ORIGIN" /> nori būti susieta su</translation>
@@ -884,6 +893,7 @@
 <translation id="2359808026110333948">Tęsti</translation>
 <translation id="236141728043665931">Visada blokuoti prieigą prie mikrofono</translation>
 <translation id="2365507699358342471">Ši svetainė gali peržiūrėti tekstą ir vaizdus, nukopijuotus į iškarpinę.</translation>
+<translation id="2367199180085172140">Nustatyti failo bendrinimą</translation>
 <translation id="2367972762794486313">Rodyti programas</translation>
 <translation id="2371076942591664043">Baigus &amp;atidaryti</translation>
 <translation id="2377319039870049694">Perjungti į sąrašo rodinį</translation>
@@ -1063,6 +1073,7 @@
 <translation id="264810637653812429">Nerasta jokių suderinamų įrenginių.</translation>
 <translation id="2648831393319960979">Prie paskyros pridedamas įrenginys – tai gali šiek tiek užtrukti...</translation>
 <translation id="2649045351178520408">„Base64“ užkoduotas ASCII, sertifikato grandinė</translation>
+<translation id="2651353619134567122">Siųskite sistemos duomenis. Šiuo metu šis įrenginys automatiškai siunčia diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Tai galite bet kada pakeisti įrenginio <ph name="BEGIN_LINK1" />nustatymuose<ph name="END_LINK1" />. 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_LINK2" />Sužinokite daugiau<ph name="END_LINK2" /></translation>
 <translation id="2653033005692233957">Paieška nepavyko</translation>
 <translation id="2653266418988778031">Jei ištrinsite sertifikavimo instituciją (angl. „Certification Authority“, CA), naršyklėje nebebus pasitikima jokiais tos CA išduotais sertifikatais.</translation>
 <translation id="2653659639078652383">Pateikti</translation>
@@ -1304,6 +1315,7 @@
 <translation id="2986010903908656993">Šis puslapis užblokuotas, kad negalėtų visiškai valdyti MIDI įrenginių.</translation>
 <translation id="2989474696604907455">neprijungtas</translation>
 <translation id="2989786307324390836">DER užkoduotas dvejetainis, vienas sertifikatas</translation>
+<translation id="2993165626813508977">KLAIDA: nepavyko paleisti sudėtinio rodinio „Termina“ VM viduje.</translation>
 <translation id="2993517869960930405">Programos informacija</translation>
 <translation id="2994669386200004489">Nepavyko sukurti <ph name="FILE_NAME" /> atsarginės kopijos</translation>
 <translation id="299483336428448530">Įdiegė jūsų tėvai.</translation>
@@ -1356,6 +1368,7 @@
 <translation id="3045447014237878114">Ši svetainė automatiškai atsisiuntė kelis failus</translation>
 <translation id="304567287000691532">Ekranas bendrinamas</translation>
 <translation id="3046910703532196514">Tinklalapis, baigti</translation>
+<translation id="304747341537320566">Kalbų varikliai</translation>
 <translation id="304826556400666995">Įjungti garsą skirtukuose</translation>
 <translation id="3053013834507634016">Sertifikato rakto naudojimas</translation>
 <translation id="3057861065630527966">Kurkite atsargines nuotraukų ir vaizdo įrašų kopijas</translation>
@@ -1364,6 +1377,7 @@
 <translation id="3064410671692449875">Nepakanka duomenų</translation>
 <translation id="3065041951436100775">Atsiliepimai dėl uždaryto skirtuko.</translation>
 <translation id="3066642396596108483">Sinchronizuokite žymes, slaptažodžius ir istoriją visuose savo įrenginiuose</translation>
+<translation id="3067198179881736288">Įdiegti programą?</translation>
 <translation id="3067198360141518313">Paleisti šį papildinį</translation>
 <translation id="3071624960923923138">Galite spustelėti čia, kad atidarytumėte naują skirtuką</translation>
 <translation id="3074037959626057712">Prisijungėte ir įjungėte sinchronizavimą</translation>
@@ -1415,6 +1429,7 @@
 <translation id="3141318088920353606">Klausoma…</translation>
 <translation id="3141917231319778873">Nurodyta užklausa nepalaikoma įrenginyje „<ph name="DEVICE_NAME" />“.</translation>
 <translation id="3143515551205905069">Atšaukti sinchronizavimą</translation>
+<translation id="3143695347784622594">Siųskite sistemos duomenis. Automatiškai siųskite diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Tai galite bet kada pakeisti įrenginio <ph name="BEGIN_LINK1" />nustatymuose<ph name="END_LINK1" />. 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_LINK2" />Sužinokite daugiau<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">ATLIKTA</translation>
 <translation id="3144647712221361880">Atidaryti nuorodą kaip</translation>
 <translation id="3149510190863420837">„Chrome“ programos</translation>
@@ -1453,6 +1468,7 @@
 <translation id="3206175707080061730">Failas pavadinimu „$1“ jau yra. Ar norite jį pakeisti?</translation>
 <translation id="3208703785962634733">Nepatvirtinta</translation>
 <translation id="3213187967168344806">Nepavyko pridėti spausdintuvo. Paleiskite kompiuterį iš naujo ir bandykite dar kartą.</translation>
+<translation id="3217843140356091325">Sukurti spartųjį klavišą?</translation>
 <translation id="321799795901478485">Zip Archiver</translation>
 <translation id="3220586366024592812">Užstrigo „<ph name="CLOUD_PRINT_NAME" />“ jungties procesas. Paleisti iš naujo?</translation>
 <translation id="3221634914176615296">Naršyti įrenginio turinį programoje „Failai“.</translation>
@@ -1731,6 +1747,7 @@
 <translation id="3627320433825461852">Liko mažiau nei 1 min.</translation>
 <translation id="3627588569887975815">Atidaryti nuorodą inco&amp;gnito lange</translation>
 <translation id="3627671146180677314">„Netscape“ sertifikato atnaujinimo laikas</translation>
+<translation id="3627879631695760395">Įdiegti „<ph name="APP" />“...</translation>
 <translation id="3630995161997703415">Pridėkite šią svetainę prie lentynos, kad galėtumėte ją bet kada naudoti</translation>
 <translation id="3635030235490426869">1 skirtukas</translation>
 <translation id="3636096452488277381">Sveiki, <ph name="USER_GIVEN_NAME" />.</translation>
@@ -1971,6 +1988,7 @@
 <translation id="3979748722126423326">Įgalinti <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981760180856053153">Įvestas neteisingas išsaugojimo tipas.</translation>
 <translation id="3983586614702900908">nežinomų tiekėjų įrenginiai</translation>
+<translation id="3985261842049607969">Sukurkite atsarginę kopiją „Google“ diske. Lengvai bet kada atkurkite duomenis arba perjunkite įrenginį. Į atsarginę kopiją įtraukiami programų duomenys. <ph name="BEGIN_LINK1" />Sužinokite daugiau<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">Išsaugoti duomenys</translation>
 <translation id="3987938432087324095">Deja, suprasti nepavyko.</translation>
 <translation id="3988996860813292272">Pasirinkite laiko juostą</translation>
@@ -1996,6 +2014,7 @@
 <translation id="4033471457476425443">Pridėti naują aplanką</translation>
 <translation id="4034042927394659004">Sumažinti klaviatūros šviesumą</translation>
 <translation id="4035758313003622889">&amp;Užduočių tvarkytuvė</translation>
+<translation id="4036758022112812315">Paryškinkite tai, ką norite girdėti, tada paspauskite „Ieškoti“ + S. Arba paspauskite ir palaikykite „Ieškoti“, tada spustelėkite arba vilkite, kad pasirinktumėte turinį.</translation>
 <translation id="4037084878352560732">Arklys</translation>
 <translation id="4037889604535939429">Asmens informacijos redagavimas</translation>
 <translation id="4042264909745389898">„Google Chrome“ OS sąlygos</translation>
@@ -2039,6 +2058,7 @@
 <translation id="4096824249111507322">Ruošiamas saugus modulis; palaukite (tai gali užtrukti kelias minutes)...</translation>
 <translation id="4099060993766194518">Atkurti numatytąjį paieškos variklį?</translation>
 <translation id="4100733287846229632">Labai mažai vietos įrenginyje</translation>
+<translation id="4103091233824664032">Įveskite slaptažodį ir konfigūruokite ekrano užraktą bei prisijungimą</translation>
 <translation id="4104163789986725820">Eksportuoti...</translation>
 <translation id="4105563239298244027">Gaukite 1 TB nemokamai naudodami „Google“ diską</translation>
 <translation id="4107048419833779140">Identifikuoti ir pašalinti saugyklos įrenginius</translation>
@@ -2101,6 +2121,7 @@
 <translation id="4235200303672858594">Visas ekranas</translation>
 <translation id="4235813040357936597">Pridėti paskyrą, skirtą <ph name="PROFILE_NAME" /></translation>
 <translation id="4235965441080806197">Atšaukti prisijungimą</translation>
+<translation id="4239107879884489787">KLAIDA: nepavyko įkelti „Termina“ komponento.</translation>
 <translation id="4242533952199664413">Atidaryti nustatymus</translation>
 <translation id="4242577469625748426">Diegiant politikos nustatymus įrenginyje įvyko klaida: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4244238649050961491">Rasti daugiau rašiklio programų</translation>
@@ -2127,6 +2148,7 @@
 <translation id="4271396100647220620">Nėra atitikčių</translation>
 <translation id="4275830172053184480">Iš naujo paleisti įrenginį</translation>
 <translation id="4278390842282768270">Leidžiama</translation>
+<translation id="4280864916190672950">Sustabdyti įkėlimą</translation>
 <translation id="4281844954008187215">Paslaugų teikimo sąlygos</translation>
 <translation id="4282196459431406533">„Smart Lock“ įjungta</translation>
 <translation id="4284105660453474798">Ar iš tikrųjų norite ištrinti „$1“?</translation>
@@ -2198,6 +2220,7 @@
 <translation id="4419409365248380979">Visada leisti <ph name="HOST" /> nustatyti slapukus</translation>
 <translation id="4421932782753506458">Pūkuotasis</translation>
 <translation id="4422347585044846479">Redaguoti žymę šitam puslapiui</translation>
+<translation id="4423104065312875417">Įdiegti papildomų kalbų variklių</translation>
 <translation id="4423376891418188461">Atkurti nustatymus</translation>
 <translation id="4423482519432579560">&amp;Rašybos tikrinimas</translation>
 <translation id="442397852638519243"><ph name="USER_NAME" />, jūsų administratoriui reikia pakeisti jūsų slaptažodį.</translation>
@@ -2486,6 +2509,11 @@
 <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>
+<translation id="4883898390143004266">Padėkite programoms rasti vietovę. Naudodami „Google“ vietovės paslaugas padėkite patobulinti vietovės tikslumą programose. „Google“ gali periodiškai rinkti vietovės duomenis ir juos naudoti anonimiškai siekdama patobulinti vietovės tikslumą ir pagerinti paslaugas pagal vietovę. <ph name="BEGIN_LINK1" />Sužinokite daugiau<ph name="END_LINK1" /></translation>
+<translation id="4884740091792292473"><ph name="BEGIN_PARAGRAPH1" />Sukurkite atsarginę kopiją „Google“ diske. Lengvai bet kada atkurkite duomenis arba perjunkite įrenginį. Į atsarginę kopiją įtraukiami programų duomenys.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Programų duomenys gali būti bet kurie programų sutaupyti duomenys (atsižvelgiant į kūrėjo nustatymus), įskaitant duomenis, kurie gali būti neskelbtini, pvz., kontaktai, pranešimai ir nuotraukos.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Atsarginės kopijos duomenys nebus įtraukti skaičiuojant Disko saugyklos kvotą.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH4" />Šią paslaugą galite išjungti nustatymuose.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="4884987973312178454">6 k.</translation>
 <translation id="4885705234041587624">MSCHAPv2</translation>
 <translation id="4887424188275796356">Atidaryti naudojat sistemos peržiūros priemonę</translation>
@@ -2735,6 +2763,7 @@
 <translation id="5275973617553375938">Atkurti failai iš „Google“ disko</translation>
 <translation id="527605719918376753">Nutildyti skirtuko garsą</translation>
 <translation id="527605982717517565">Visada leisti „JavaScript“ <ph name="HOST" /></translation>
+<translation id="5280426389926346830">Sukurti spartųjį klavišą?</translation>
 <translation id="5282733140964383898">Įgalinus parinktį „Nestebėti“ užklausa bus įtraukta į naršymo srautą. Poveikis priklauso nuo to, ar svetainė atsako į užklausą ir kaip ji interpretuojama. Pvz., kai kurios svetainės gali atsakyti į šią užklausą rodydamos skelbimus, nepagrįstus kitomis svetainėmis, kuriose lankėtės. Daugybė svetainių vis tiek rinks ir naudos jūsų naršymo duomenis, pvz., siekdamos pagerinti saugumą, teikti svetainėse turinį, paslaugas, skelbimus ir rekomendacijas bei generuoti ataskaitų statistiką. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
 <translation id="5283677936944177147">Oi! Sistemai nepavyko nustatyti įrenginio modelio ar serijos numerio.</translation>
 <translation id="5284445933715251131">Tęsti atsisiuntimą</translation>
@@ -2767,6 +2796,7 @@
 <translation id="532360961509278431">Nepavyksta atidaryti „$1“: $2</translation>
 <translation id="5324780743567488672">Automatiškai nustatyti laiko juostą pagal jūsų vietovę</translation>
 <translation id="5327248766486351172">Pavadinimas</translation>
+<translation id="532776649628038357">Sutinku</translation>
 <translation id="532943162177641444">Palieskite pranešimą „<ph name="PHONE_NAME" />“ įrenginyje, kad nustatytumėte mobiliojo ryšio viešosios interneto prieigos tašką, kurį galima naudoti šiame įrenginyje.</translation>
 <translation id="5329858601952122676">&amp;Pašalinti</translation>
 <translation id="5330145655348521461">Šie failai atidaryti kitame darbalaukyje. Perkelkite failus <ph name="USER_NAME" /> (<ph name="MAIL_ADDRESS" />), kad peržiūrėtumėte juos.</translation>
@@ -2882,6 +2912,7 @@
 <translation id="5487521232677179737">Išvalyti duomenis</translation>
 <translation id="5488093641312826914">Elementas „<ph name="COPIED_ITEM_NAME" />“ nukopijuotas</translation>
 <translation id="5488468185303821006">Leisti „inkognito“ režimą</translation>
+<translation id="5491110079163012109">Siųskite sistemos duomenis. Automatiškai siųskite diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Šį nustatymą priverstinai taiko savininkas. Savininkas gali pasirinkti siųsti šio įrenginio diagnostikos ir naudojimo duomenis į sistemą „Google“. Tai galite peržiūrėti nustatymuose. 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="5493792505296048976">ekranas įjungtas</translation>
 <translation id="5494362494988149300">&amp;Baigus atidaryti</translation>
 <translation id="5494920125229734069">Pasirinkti viską</translation>
@@ -2942,6 +2973,7 @@
 <translation id="5568069709869097550">Nepavyksta prisijungti</translation>
 <translation id="5568144734023334204">„Android“ saugykla</translation>
 <translation id="5569544776448152862">Užregistruojama <ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" />…</translation>
+<translation id="5572572070321843880">KLAIDA: nepavyko paleisti „Termina“ VM.</translation>
 <translation id="5575473780076478375">Inkognito plėtinys: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">Iš naujo nustačius įrenginį, tai neturės įtakos jūsų „Google“ paskyroms ar šiose paskyrose sinchronizuotiems duomenims. Tačiau bus ištrinti visi įrenginyje saugomi duomenys.</translation>
 <translation id="5578059481725149024">Automatinis prisijungimas</translation>
@@ -3023,6 +3055,7 @@
 <translation id="5696143504434933566">Pranešti apie piktnaudžiavimą „<ph name="EXTENSION_NAME" />“</translation>
 <translation id="5699533844376998780">Plėtinys „<ph name="EXTENSION_NAME" />“ pridėtas.</translation>
 <translation id="5700087501958648444">Garso failo informacija</translation>
+<translation id="570043786759263127">„Google Play“ programos ir paslaugos</translation>
 <translation id="5700836101007545240">Ryšio pridėjimo funkciją išjungė administratorius</translation>
 <translation id="5701381305118179107">Centre</translation>
 <translation id="5702898740348134351">&amp;Redaguoti paieškos variklius...</translation>
@@ -3047,6 +3080,7 @@
 <translation id="5739458112391494395">Labai didelis</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> ir dar <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="5741245087700236983"><ph name="PROFILE_NAME" />: pasirinkite, jei norite redaguoti</translation>
+<translation id="574209121243317957">Tonas</translation>
 <translation id="5746169159649715125">Išsaugoti kaip PDF</translation>
 <translation id="5747552184818312860">Galioja iki</translation>
 <translation id="5747785204778348146">Kūrėjas – nestabilus</translation>
@@ -3206,6 +3240,7 @@
 <translation id="5991049340509704927">Didinti</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Kad galėtumėte toliau naršyti žiniatinklį, paprašykite administratoriaus pašalinti šią programą.}one{Kad galėtumėte toliau naršyti žiniatinklį, paprašykite administratoriaus pašalinti šias programas.}few{Kad galėtumėte toliau naršyti žiniatinklį, paprašykite administratoriaus pašalinti šias programas.}many{Kad galėtumėte toliau naršyti žiniatinklį, paprašykite administratoriaus pašalinti šias programas.}other{Kad galėtumėte toliau naršyti žiniatinklį, paprašykite administratoriaus pašalinti šias programas.}}</translation>
 <translation id="5993332328670040093">Duomenų naudojimas nebebus vertinamas.</translation>
+<translation id="6002458620803359783">Pageidaujami balsai</translation>
 <translation id="600424552813877586">Netinkama programa.</translation>
 <translation id="6005695835120147974">Medijos maršruto parinktuvas</translation>
 <translation id="6006484371116297560">Klasikinė</translation>
@@ -3222,6 +3257,7 @@
 <translation id="602251597322198729">Svetainėje bandoma atsisiųsti kelis failus. Ar norite tai leisti?</translation>
 <translation id="6022526133015258832">Atidaryti viso ekrano režimu</translation>
 <translation id="6025215716629925253">Dėklo pėdsakas</translation>
+<translation id="6026047032548434446">Įdiegti programą?</translation>
 <translation id="6026819612896463875">„<ph name="WINDOW_TITLE" />“ – USB įrenginys prijungtas</translation>
 <translation id="6032912588568283682">Failų sistema</translation>
 <translation id="6034662038931255275">OS sėkmingai atnaujinta</translation>
@@ -3307,6 +3343,7 @@
 <translation id="6151771661215463137">Failas jau yra „Atsisiuntimų“ aplanke.</translation>
 <translation id="615436196126345398">Protokolas</translation>
 <translation id="6154697846084421647">Prisijungta</translation>
+<translation id="6155141482566063812">Fone veikiančiame skirtuke bendrinamas jūsų ekranas</translation>
 <translation id="6156323911414505561">Rodyti žymių juostą</translation>
 <translation id="6156863943908443225">Scenarijų talpykla</translation>
 <translation id="6156960295318603523">Kalbos nustatymai</translation>
@@ -3325,6 +3362,7 @@
 <translation id="6181431612547969857">Atsisiuntimas užblokuotas</translation>
 <translation id="6185132558746749656">Įrenginio vietovė</translation>
 <translation id="6185696379715117369">Puslapiu aukštyn</translation>
+<translation id="6189273858858366896">Nustatykite arba tvarkykite tinklo failų bendrinimą.</translation>
 <translation id="6189412234224385711">Atidaryti naudojant „<ph name="EXTENSION_NAME" />“</translation>
 <translation id="6196640612572343990">Blokuoti trečiosios šalies slapukus</translation>
 <translation id="6196854373336333322">Plėtinys „<ph name="EXTENSION_NAME" />“ perėmė tarpinio serverio valdymą. Tai reiškia, kad jis gali keisti, nutraukti ar stebėti visus prisijungus atliekamus veiksmus. Jei nesate tikri, kodėl įvyko šis pakeitimas, tikriausiai jūs jo nenorite.</translation>
@@ -3547,6 +3585,7 @@
 <translation id="6528513914570774834">Leisti kitiems šio įrenginio naudotojams naudoti šį tinklą</translation>
 <translation id="652948702951888897">„Chrome“ istorija</translation>
 <translation id="653019979737152879">Sinchronizuojamas failas „<ph name="FILE_NAME" />“...</translation>
+<translation id="6530681427077572136">Siųskite sistemos duomenis. Šiuo metu šis įrenginys automatiškai siunčia diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Tai galite bet kada pakeisti įrenginio nustatymuose. 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="6531282281159901044">Palikti pavojingą failą</translation>
 <translation id="6534583978616527129">Inicijuoti ryšį</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Pastaba:<ph name="END_BOLD" /> įgalinkite, tik jei žinote, ką darote, arba jei jūsų paprašė tai atlikti, nes renkant duomenis gali sumažėti našumas.</translation>
@@ -3599,6 +3638,7 @@
 <translation id="6607831829715835317">Daugiau įrank&amp;ių</translation>
 <translation id="6612358246767739896">Apsaugotas turinys</translation>
 <translation id="6613452264606394692">Grįžkite čia greičiau ir patogiau pasižymėję šį puslapį</translation>
+<translation id="6614893213975402384">Įdiekite naujinius ir programas. Tęsdami sutinkate, kad šis įrenginys taip pat gali automatiškai atsisiųsti ir įdiegti naujinius bei programas iš „Google“, operatoriaus ir įrenginio gamintojo (gali būti naudojami mobiliojo ryšio duomenys). Kai kurios programos gali siūlyti įsigyti pirkinių programoje. Šias programas galite bet kada pašalinti. <ph name="BEGIN_LINK1" />Sužinokite daugiau<ph name="END_LINK1" /></translation>
 <translation id="6615455863669487791">Rodyti</translation>
 <translation id="661719348160586794">Čia bus rodomi išsaugoti slaptažodžiai.</translation>
 <translation id="6618097958368085618">Vis tiek palikti</translation>
@@ -3614,6 +3654,7 @@
 <translation id="6628328486509726751">Įkelta <ph name="WEBRTC_LOG_UPLOAD_TIME" /></translation>
 <translation id="6629841649550503054">Visų failų atsarginės kopijos sukurtos <ph name="BEGIN_LINK" />„Google“ diske!<ph name="END_LINK" /></translation>
 <translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> nori nuolatinės prieigos prie sertifikato, kad galėtų save autentifikuoti jūsų vardu.</translation>
+<translation id="6635956300022133031">Pasirinkite ir tinkinkite teksto į kalbą balsus</translation>
 <translation id="6639554308659482635">„SQLite“ atmintis</translation>
 <translation id="6641138807883536517">Šis atsitiktinai sugeneruotas saugaus modulio slaptažodis nepasiekiamas. Tai įprasta po „Powerwash“ vykdymo.</translation>
 <translation id="6643016212128521049">Išvalyti</translation>
@@ -3621,6 +3662,7 @@
 <translation id="6644846457769259194">Atnaujinamas įrenginys (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="6647228709620733774">„Netscape“ sertifikavimo institucijos panaikinimo URL</translation>
 <translation id="6647838571840953560">Dabar naudojama: <ph name="CHANNEL_NAME" /></translation>
+<translation id="6648911618876616409">Svarbus naujinys paruoštas įdiegti. Prisijunkite ir pradėkite.</translation>
 <translation id="6649018507441623493">Šiek tiek palaukite...</translation>
 <translation id="6649563841575838401">Archyvo formatas nepalaikomas arba failas yra sugadintas.</translation>
 <translation id="665061930738760572">Atidaryti &amp;naujame lange</translation>
@@ -3640,6 +3682,7 @@
 <translation id="6678717876183468697">Užklausos URL</translation>
 <translation id="6680028776254050810">Perjungti naudotojus</translation>
 <translation id="6680442031740878064">Pasiekiama: <ph name="AVAILABLE_SPACE" /></translation>
+<translation id="6680650203439190394">Sparta</translation>
 <translation id="6681668084120808868">Fotografuoti</translation>
 <translation id="6681964764822470072">„<ph name="APP_NAME" />“ bus pašalinta.</translation>
 <translation id="668599234725812620">Atidaryti „Google Play“</translation>
@@ -3656,6 +3699,7 @@
 <translation id="6702639462873609204">&amp;Redaguoti...</translation>
 <translation id="6706210727756204531">Taikymo sritis</translation>
 <translation id="6707389671160270963">SSL kliento sertifikatas</translation>
+<translation id="6708029444764748914">Iš naujo įveskite PIN kodą, kad galėtumėte jį naudoti prisijungdami prie įrenginio.</translation>
 <translation id="6708242697268981054">Pradžia:</translation>
 <translation id="6709357832553498500">Prisijungti naudojant „<ph name="EXTENSIONNAME" />“</translation>
 <translation id="6710213216561001401">Ankstesnis</translation>
@@ -3786,6 +3830,7 @@
 <translation id="6922128026973287222">Taupykite duomenis ir naršykite greičiau naudodami „Google“ duomenų taupymo priemonę. Jei norite sužinoti daugiau, spustelėkite.</translation>
 <translation id="6923132443355966645">Slinkti / spustelėti</translation>
 <translation id="6929555043669117778">Tęsti iššokančiųjų langų blokavimą</translation>
+<translation id="6929835486583850209">Klaida diegiant „<ph name="APP_NAME" />“...</translation>
 <translation id="6930242544192836755">Trukmė</translation>
 <translation id="6934241953272494177">Nuskaitomas medijos įrenginys...
     <ph name="LINE_BREAK1" />
@@ -3890,6 +3935,7 @@
 <translation id="7077829361966535409">Įkeliant prisijungimo puslapį naudojant dabartinius įgaliotojo serverio nustatymus įvyko klaida. <ph name="GAIA_RELOAD_LINK_START" />Bandykite prisijungti dar kartą<ph name="GAIA_RELOAD_LINK_END" /> arba nustatykite kitus <ph name="PROXY_SETTINGS_LINK_START" />įgaliotojo serverio nustatymus<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="7078120482318506217">Visi tinklai</translation>
 <translation id="708060913198414444">K&amp;opijuoti garso įrašo adresą</translation>
+<translation id="7081952801286122383">Veikia inkognito režimas</translation>
 <translation id="708278670402572152">Atjunkite, kad įgalintumėte nuskaitymą</translation>
 <translation id="7084192839369222683">Vykdyti tik svarbų turinį</translation>
 <translation id="7085389578340536476">Leisti „Chrome“ įrašyti garsą?</translation>
@@ -3957,6 +4003,9 @@
 <translation id="7191454237977785534">Išsaugoti failą kaip</translation>
 <translation id="7193374945610105795">Nėra išsaugotų <ph name="ORIGIN" /> slaptažodžių</translation>
 <translation id="7196835305346730603">Ieškoma šalia esančių „Chromebox“…</translation>
+<translation id="7197160646667308890"><ph name="BEGIN_PARAGRAPH1" />Tai yra pagrindinė informacija apie įrenginį ir kaip jį naudojate (pvz., akumuliatoriaus įkrovimo lygis, programų naudojimo duomenys ir tinklo ryšys). Šie duomenys bus naudojami visiems naudotojams skirtiems „Google“ produktams ir paslaugoms tobulinti. Tam tikra sukaupta informacija taip pat padės partneriams, pvz., „Android“ kūrėjams, pagerinti jų programas ir produktus.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Išjungus šią funkciją vis tiek galima siųsti įrenginio informaciją, reikalingą pagrindinėms paslaugoms, pvz., sistemos naujiniams ir saugai.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Šią funkciją galite valdyti skiltyje „Nustatymai“ &gt; „Google“. Meniu pasirinkite „Naudojimas ir diagnostika“.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7199158086730159431">Gauti pagalbos</translation>
 <translation id="720110658997053098">Įgalinti nuolatinį šio įrenginio veikimą viešojo terminalo režimu</translation>
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />“ ištrintas (-a)</translation>
@@ -3975,9 +4024,11 @@
 <translation id="7223775956298141902">Nėra įdiegtų plėtinių :-(</translation>
 <translation id="7225179976675429563">Trūksta tinklo tipo</translation>
 <translation id="7228479291753472782">Valdyti nustatymus, nurodančius, ar svetainės gali naudoti funkcijas, pvz., geografinės vietovės nustatymą, mikrofoną, fotoaparatą ir kt.</translation>
+<translation id="7228523857728654909">Ekrano užraktas ir prisijungimas</translation>
 <translation id="7229570126336867161">Reikia EVDO</translation>
 <translation id="7230787553283372882">Tinkinkite teksto dydį</translation>
 <translation id="7232750842195536390">Nepavyko pervardyti</translation>
+<translation id="7233309214676155451">Sinchronizuokite ir suasmeninkite „Chrome“ įrenginyje</translation>
 <translation id="7238585580608191973">SHA-256 kontrolinis kodas</translation>
 <translation id="7240120331469437312">Alternatyvus sertifikato subjekto vardas</translation>
 <translation id="7240339475467890413">Prisijungti prie naujo viešosios interneto prieigos taško?</translation>
@@ -4008,6 +4059,7 @@
 <translation id="727952162645687754">Atsisiuntimo klaida</translation>
 <translation id="7279701417129455881">Valdyti slapukų blokavimą...</translation>
 <translation id="7280041992884344566">„Chrome“ ieškant kenkėjiškos programinės įrangos įvyko klaida</translation>
+<translation id="7280649757394340890">Teksto į kalbą balso nustatymai</translation>
 <translation id="7280877790564589615">Prašoma leidimo</translation>
 <translation id="7282992757463864530">Informacinė juosta</translation>
 <translation id="7283041136720745563">„Google“ disko kvota nepakankamai didelė.</translation>
@@ -4030,6 +4082,7 @@
 <translation id="7309257895202129721">Rodyti &amp;valdiklius</translation>
 <translation id="7311079019872751559">Ne „smėlio dėžės“ papildinio prieiga</translation>
 <translation id="7311891583377621132">Truputį pajudinkite pirštą, kad būtų užfiksuota kita kontrolinio kodo dalis</translation>
+<translation id="7317680720589234980">Ekrano užrakto ir prisijungimo parinktys</translation>
 <translation id="7317938878466090505"><ph name="PROFILE_NAME" /> (esamas)</translation>
 <translation id="7321545336522791733">Serveris nepasiekiamas</translation>
 <translation id="7324297612904500502">Beta forumas</translation>
@@ -4159,6 +4212,9 @@
 <translation id="7507930499305566459">Būsenos atsakiklio sertifikatas</translation>
 <translation id="7508545000531937079">Skaidrių demonstracija</translation>
 <translation id="7513029293694390567">Automatiškai prisijungti prie svetainių naudojant išsaugotus prisijungimo duomenis. Kai funkcija išjungta, kaskart prisijungiant prie svetainės bus prašoma patvirtinti.</translation>
+<translation id="7515154058529101840"><ph name="BEGIN_PARAGRAPH1" />Padėkite programoms rasti vietovę. Naudodami „Google“ vietovės paslaugas padėkite patobulinti vietovės tikslumą programose. „Google“ gali periodiškai rinkti vietovės duomenis ir juos naudoti anonimiškai siekdama patobulinti vietovės tikslumą ir pagerinti paslaugas pagal vietovę.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />„Google“ vietovės paslauga naudoja įvairius šaltinius, pvz., „Wi-Fi“, mobiliojo ryšio tinklus ir jutiklius, kad padėtų nustatyti įrenginio vietovę. Ši paslauga aktyvi, kai įjungtas įrenginio vietovės nustatymas.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Galite išjungti vietovės nustatymą išjungdami pagrindinį vietovės nustatymą šiame įrenginyje. Vietovės nustatymuose taip pat galite išjungti „Wi‑Fi“, mobiliojo ryšio tinklų ir jutiklių naudojimą vietovei nustatyti.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7517569744831774757">Atkurti nustatymus į pirminius numatytuosius.</translation>
 <translation id="7517786267097410259">Sukurti slaptažodį –</translation>
 <translation id="7518150891539970662">„WebRTC“ žurnalai (<ph name="WEBRTC_LOG_COUNT" />)</translation>
@@ -4174,6 +4230,7 @@
 <translation id="7543104066686362383">Įgalinkite derinimo funkcijas šiame „<ph name="IDS_SHORT_PRODUCT_NAME" />“ įrenginyje</translation>
 <translation id="7544853251252956727">Maišyti</translation>
 <translation id="7545415673537747415">Naudodami <ph name="BEGIN_LINK" />„Google“ veiklos valdiklius<ph name="END_LINK" /> valdykite, kaip „Google“ turėtų naudoti jūsų naršymo istoriją, kad suasmenintų Paiešką, skelbimus ir kitas „Google“ paslaugas.</translation>
+<translation id="7545809182698428577">Įjungiamos čia nurodytus funkcijos. Naudojama naršyklės veikla, tam tikrų lankomų svetainių turinys ir kitos sąveikos naršyklėje funkcijoms suasmeninti.</translation>
 <translation id="7547317915858803630">Įspėjimas: „<ph name="PRODUCT_NAME" />“ nustatymai saugomi tinklo diske. Dėl to gali sulėtėti veikimas, atsirasti strigčių ar net būti prarasti duomenys.</translation>
 <translation id="7547483330017600937">Kurkite naudodami „<ph name="DEVICE_TYPE" />“. Galite sklandžiai ir saugiai paleisti mėgstamiausias savąsias programas ir komandų įrankius.
 
@@ -4209,6 +4266,7 @@
 <translation id="7589461650300748890">Oi, būkite atsargūs.</translation>
 <translation id="7589661784326793847">Luktelėkite sekundėlę</translation>
 <translation id="7591957897535945411">Šis puslapis buvo išverstas.</translation>
+<translation id="7595453277607160340">Kad galėtumėte naudoti „Android“ programas ir tinkamai veiktų „<ph name="DEVICE_TYPE" />“, prisijunkite iš naujo ir atnaujinkite sistemą.</translation>
 <translation id="7595547011743502844"><ph name="ERROR" /> (klaidos kodas: <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">Iš naujo paleisti kompiuterį</translation>
 <translation id="7600965453749440009">Niekada neversti <ph name="LANGUAGE" /></translation>
@@ -4373,6 +4431,7 @@
 <translation id="7851457902707056880">Prisijungti leidžiama tik naudojant savininko paskyrą. Įkelkite operacinę sistemą iš naujo ir prisijunkite naudodami savininko paskyrą. Įrenginio operacinė sistema bus automatiškai iš naujo įkelta po 30 sek.</translation>
 <translation id="7851716364080026749">Visada blokuoti prieigą prie fotoaparato ir mikrofono</translation>
 <translation id="7853747251428735">Daugiau įrank&amp;ių</translation>
+<translation id="7856006446339184955">Siųskite sistemos duomenis. Šiuo metu šis įrenginys automatiškai siunčia diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Šį <ph name="BEGIN_LINK1" />nustatymą<ph name="END_LINK1" /> 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_LINK2" />Sužinokite daugiau<ph name="END_LINK2" /></translation>
 <translation id="7857117644404132472">Pridėti išimtį</translation>
 <translation id="7857949311770343000">Ar tai naujo skirtuko puslapis, kurį tikėjotės išvysti?</translation>
 <translation id="786073089922909430">Paslauga: <ph name="ARC_PROCESS_NAME" /></translation>
@@ -4694,6 +4753,7 @@
 <translation id="8366396658833131068">Tinklo ryšys atkurtas. Pasirinkite kitą tinklą arba paspauskite toliau pateiktą mygtuką „Tęsti“, kad paleistumėte viešojo terminalo programą.</translation>
 <translation id="8366947248864804596">Jei jūsų telefonas yra netoliese ir atrakintas, tiesiog pasirinkite jį, kad atrakintumėte. Kitu atveju įveskite slaptažodį arba PIN kodą.</translation>
 <translation id="8368859634510605990">&amp;Atidaryti visas žymes</translation>
+<translation id="8369547389711988632">Įkėlimas sustabdytas</translation>
 <translation id="8371695176452482769">Kalbėti dabar</translation>
 <translation id="8372369524088641025">Netinkamas WEP raktas</translation>
 <translation id="8373553483208508744">Nutildyti skirtukų garsą</translation>
@@ -4735,6 +4795,7 @@
 <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>
+<translation id="8448729345478502352">Padidinkite arba sumažinkite elementus ekrane</translation>
 <translation id="8449008133205184768">Įklijuoti ir atitikti stilių</translation>
 <translation id="8449036207308062757">Tvarkyti saugyklą</translation>
 <translation id="8451512073679317615">Padėjėjas</translation>
@@ -4791,6 +4852,7 @@
 <translation id="8534656636775144800">Oi, kažkas nepavyko bandant prijungti prie domeno. Bandykite dar kartą.</translation>
 <translation id="8535005006684281994">„Netscape“ sertifikato atnaujinimo URL</translation>
 <translation id="8539727552378197395">Ne (HttpOnly)</translation>
+<translation id="8541166929715485291">Siųskite sistemos duomenis. Automatiškai siųskite diagnostikos ir įrenginio bei programų naudojimo duomenis į sistemą „Google“. Šį nustatymą priverstinai taiko savininkas. Savininkas gali pasirinkti siųsti šio įrenginio diagnostikos ir naudojimo duomenis į sistemą „Google“. Tai galite peržiūrėti <ph name="BEGIN_LINK1" />nustatymuose<ph name="END_LINK1" />. 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_LINK2" />Sužinokite daugiau<ph name="END_LINK2" /></translation>
 <translation id="8545107379349809705">Slėpti informaciją...</translation>
 <translation id="8545575359873600875">Apgailestaujame, nepavyko patvirtinti jūsų slaptažodžio. Galbūt šio prižiūrimo naudotojo valdytojas neseniai pakeitė slaptažodį. Jei taip, naujas slaptažodis bus pritaikytas, kai kitą kartą prisijungsite. Pabandykite naudoti seną slaptažodį.</translation>
 <translation id="8546186510985480118">Mažai vietos įrenginyje</translation>
@@ -4886,6 +4948,7 @@
 <translation id="8677212948402625567">Sutraukti viską...</translation>
 <translation id="8678648549315280022">Valdyti atsisiuntimo nustatymus...</translation>
 <translation id="8678933587484842200">Kaip norite paleisti šią programą?</translation>
+<translation id="8679788109894721265">Šis puslapis naudoja daugiau nei <ph name="MEGABYTES" /> MB</translation>
 <translation id="8680251145628383637">Prisijunkite, kad žymes, istoriją, slaptažodžius ir kitus nustatymus galėtumėte naudoti visuose įrenginiuose. Be to, būsite automatiškai prijungti prie „Google“ paslaugų.</translation>
 <translation id="8680536109547170164"><ph name="QUERY" />, atsakymas, <ph name="ANSWER" /></translation>
 <translation id="8686213429977032554">Šis Disko failas dar nebendrinamas</translation>
@@ -4899,6 +4962,7 @@
 <translation id="8698464937041809063">„Google“ piešinys</translation>
 <translation id="869884720829132584">Programų meniu</translation>
 <translation id="869891660844655955">Galiojimo data</translation>
+<translation id="870073306461175568">Tinklo failų bendrinimas</translation>
 <translation id="8700934097952626751">Spustelėkite, kad pradėtumėte paiešką balsu</translation>
 <translation id="8704521619148782536">Tai trunka ilgiau nei paprastai. Galite palaukti arba atšaukti ir vėliau bandyti dar kartą.</translation>
 <translation id="8705331520020532516">Serijos numeris</translation>
@@ -4913,6 +4977,7 @@
 <translation id="8714154114375107944">Palaikymo nutraukimas</translation>
 <translation id="871476437400413057">„Google“ išsaugotus slaptažodžius</translation>
 <translation id="8714838604780058252">Fono grafika</translation>
+<translation id="8715480913140015283">Fone veikiančiame skirtuke naudojamas jūsų fotoaparatas</translation>
 <translation id="8719653885894320876">Nepavyko atsisiųsti „<ph name="PLUGIN_NAME" />“</translation>
 <translation id="8723829621484579639">Inkognito režimo antriniai kadrai, skirti: <ph name="PARENT_SITE" /></translation>
 <translation id="8724859055372736596">&amp;Rodyti aplanke</translation>
@@ -5046,6 +5111,7 @@
 <translation id="8940081510938872932">Kompiuteriu atliekama per daug veiksmų šiuo metu. Vėliau bandykite dar kartą.</translation>
 <translation id="8941173171815156065">Anuliuoti leidimą „<ph name="PERMISSION" />“</translation>
 <translation id="8941882480823041320">Ankstesnis žodis</translation>
+<translation id="8943076760234179177">Failo bendrinimo URL</translation>
 <translation id="894360074127026135">„Netscape“ tarptautinė sąranka</translation>
 <translation id="8944099748578356325">Greičiau naudos akumuliatoriaus energiją (šiuo metu <ph name="BATTERY_PERCENTAGE" /> %)</translation>
 <translation id="8944964446326379280">„<ph name="APP_NAME" />“ bendrina langą su <ph name="TAB_NAME" />.</translation>
@@ -5194,6 +5260,7 @@
 <translation id="9157697743260533322">Nepavyko nustatyti automatinių naujinių visiems naudotojams (išankstinio paleidimo klaida: <ph name="ERROR_NUMBER" />)</translation>
 <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="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>
@@ -5217,6 +5284,7 @@
 <translation id="9214695392875603905">Keksinis pyragaitis</translation>
 <translation id="9215293857209265904">Pridėtas „<ph name="EXTENSION_NAME" />“</translation>
 <translation id="9215934040295798075">Nustatyti ekrano foną</translation>
+<translation id="9218027443531385788">Kad galėtumėte atsisiųsti ir naudoti „Android“ programas, pirma turite įdiegti šį būtiną naujinį. Kol „<ph name="DEVICE_TYPE" />“ atnaujinamas, jo naudoti negalima. Užbaigus diegimo procesą „<ph name="DEVICE_TYPE" />“ bus paleistas iš naujo.</translation>
 <translation id="9218430445555521422">Nustatyti kaip numatytąją</translation>
 <translation id="9219103736887031265">Vaizdai</translation>
 <translation id="9220525904950070496">Pašalinti paskyrą</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index b62e0ed9..475a2f7 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -70,6 +70,7 @@
 <translation id="1108164192735968833">SMS Connect</translation>
 <translation id="1108600514891325577">&amp;Apturēt</translation>
 <translation id="1110155001042129815">Uzgaidiet</translation>
+<translation id="1112420131909513020">Fona cilne izmanto Bluetooth savienojumu.</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">Dimants</translation>
 <translation id="1114335938027186412">Jūsu datorā ir ietverta uzticamas platformas moduļa (Trusted Platform Module — TPM) drošības ierīce, kas tiek izmantota, lai operētājsistēmā Chrome OS ieviestu daudz svarīgu drošības funkciju. Lai uzzinātu vairāk, apmeklējiet Chromebook palīdzības centru: https://support.google.com/chromebook/?p=tpm.</translation>
@@ -153,6 +154,7 @@
     <ph name="BR" />
     Nākamajā ekrānā, lūdzu, nosūtiet atsauksmes, lai mēs varētu novērst problēmu.</translation>
 <translation id="121783623783282548">Paroles neatbilst.</translation>
+<translation id="1218860753635451122">Noklikšķinot uz pogas “Piekrītu”, jūs piekrītat iepriekš aprakstītajam procesam attiecībā uz šiem Google pakalpojumiem.</translation>
 <translation id="122082903575839559">Sertifikāta paraksta algoritms</translation>
 <translation id="1221024147024329929">PKCS #1 MD2 ar RSA šifrējumu</translation>
 <translation id="1221825588892235038">Tikai atlase</translation>
@@ -192,6 +194,7 @@
 <translation id="1285320974508926690">Nekad netulkot šo vietni</translation>
 <translation id="1285484354230578868">Saglabāt datus jūsu Google diska kontā</translation>
 <translation id="1288037062697528143">Nakts režīms tiks automātiski ieslēgts saulrietā.</translation>
+<translation id="1288300545283011870">Runas rekvizīti</translation>
 <translation id="1293177648337752319">Rādīt vietni</translation>
 <translation id="1293509594570842875">Nevarēja izveidot jaunu uzraudzīto lietotāju. Lūdzu, pārbaudiet tīkla savienojumu un mēģiniet vēlreiz.</translation>
 <translation id="1293556467332435079">Faili</translation>
@@ -418,6 +421,7 @@
 <translation id="1624026626836496796">Šis process notiks tikai vienu reizi, un jūsu akreditācijas dati netiks saglabāti.</translation>
 <translation id="1627276047960621195">Failu deskriptori</translation>
 <translation id="1627408615528139100">Jau lejupielādēts</translation>
+<translation id="1632551555529177478">KĻŪDA: neizdevās palaist Concierge klientu</translation>
 <translation id="1632803087685957583">Varat pielāgot tastatūras atkārtošanas ātrumu, vārdu paredzēšanu un citus iestatījumus.</translation>
 <translation id="1635033183663317347">Instalēja aizbildnis.</translation>
 <translation id="1637224376458524414">Iegūstiet šo grāmatzīmi savā iPhone tālrunī</translation>
@@ -516,6 +520,7 @@
 <translation id="177336675152937177">Mitinātas lietotnes dati</translation>
 <translation id="1774349594977710164">Jūsu tālrunis var atbloķēt arī citas jūsu ierīces (<ph name="DEVICE_TYPE" />), jo tās ir automātiski sinhronizētas.</translation>
 <translation id="1774833706453699074">Saglabāt atvērtās lapas kā grāmatzīmes...</translation>
+<translation id="1775381402323441512">Video informācija</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177694132944350798">Jūsu dati tika šifrēti, izmantojot jūsu Google paroli, no šāda datuma: <ph name="TIME" />. Ievadiet paroli, lai sāktu sinhronizāciju.</translation>
 <translation id="1779652936965200207">Ievadiet šo ieejas atslēgu ierīcē <ph name="DEVICE_NAME" />:</translation>
@@ -535,6 +540,7 @@
 <translation id="180035236176489073">Lai piekļūtu šiem failiem, jums ir jābūt tiešsaistē.</translation>
 <translation id="1802687198411089702">Lapa nereaģē. Varat uzgaidīt vai iziet no lapas.</translation>
 <translation id="1802931390041703523">Spraudnis Flash šajā lapā tika bloķēts</translation>
+<translation id="1805738995123446102">Fona cilne izmanto jūsu ierīces mikrofonu.</translation>
 <translation id="1805822111539868586">Pārbaudīt skatījumus</translation>
 <translation id="1807938677607439181">Visi faili</translation>
 <translation id="1809734401532861917">Pievienot manas grāmatzīmes, vēsturi, paroles un citus iestatījumus kontam <ph name="USER_EMAIL_ADDRESS" /></translation>
@@ -557,6 +563,7 @@
 <translation id="1829192082282182671">Tālināt</translation>
 <translation id="1830550083491357902">Nav pierakstījies</translation>
 <translation id="1832511806131704864">Tālruņa iestatījumu izmaiņas atjauninātas</translation>
+<translation id="1834503245783133039">Nesekmīga lejupielāde: <ph name="FILE_NAME" /></translation>
 <translation id="1838374766361614909">Notīrīt meklēšanas vaicājumu</translation>
 <translation id="1838709767668011582">Google vietne</translation>
 <translation id="1839704667838141620">Mainīt, kā tiek kopīgots šis fails</translation>
@@ -671,6 +678,7 @@
 <translation id="2040460856718599782">Diemžēl, mēģinot jūs autentificēt, radās problēma. Lūdzu, vēlreiz pārbaudiet savus akreditācijas datus un mēģiniet vēlreiz pierakstīties.</translation>
 <translation id="2043818754674261542">Attālums, kurā tālrunis var atbloķēt šo ierīci (<ph name="DEVICE_TYPE" />)</translation>
 <translation id="204497730941176055">Microsoft sertifikāta veidnes nosaukums</translation>
+<translation id="2045117674524495717">Īsinājumtaustiņu palīgs</translation>
 <translation id="2045969484888636535">Turpināt bloķēt sīkfailus</translation>
 <translation id="204622017488417136">Ierīcē tiks atjaunota iepriekš instalētā Chrome versija. Visi lietotāju konti un ierīcē glabātie dati tiks noņemti. Šo darbību nevar atsaukt.</translation>
 <translation id="2048182445208425546">Piekļūt jūsu tīkla datplūsmai</translation>
@@ -692,6 +700,7 @@
 <translation id="2079053412993822885">Ja dzēsīsiet kādu no saviem sertifikātiem, vairs nevarēsiet to izmantot sevis identificēšanai.</translation>
 <translation id="2079545284768500474">Atsaukt</translation>
 <translation id="2080070583977670716">Vairāk iestatījumu</translation>
+<translation id="2084108471225856927">Ierīces iestatījumi</translation>
 <translation id="2085470240340828803">Fails ar nosaukumu “<ph name="FILENAME" />” jau pastāv. Kā vēlaties rīkoties?</translation>
 <translation id="2087822576218954668">Drukāšana: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">Droša pārlūkošana ar Google Chrome</translation>
@@ -805,6 +814,7 @@
 <translation id="2239921694246509981">Pievienot uzraudzītu personu</translation>
 <translation id="2241053333139545397">Lasīt un mainīt jūsu datus vairākās vietnēs</translation>
 <translation id="2242687258748107519">Faila informācija</translation>
+<translation id="2243194103992005307">Lai noņemtu lietotnes, pārejiet uz sadaļu Iestatījumi &gt; Lietotnes vai Lietojumprogrammu pārvaldnieks. Pēc tam pieskarieties lietotnei, kuru vēlaties atinstalēt (iespējams, būs jāvelk pa labi vai pa kreisi, lai atrastu lietotni). Pēc tam pieskarieties vienumam Atinstalēt vai Atspējot.</translation>
 <translation id="2245240762616536227">Kontrolējiet, kā jūsu pārlūkošanas vēsture tiek izmantota Meklēšanas, reklāmu un citu Google pakalpojumu personalizēšanai.</translation>
 <translation id="2249605167705922988">piem., 1-5, 8, 11-13</translation>
 <translation id="2251218783371366160">Atvēršana, izmantojot sistēmas skatītāju</translation>
@@ -823,6 +833,7 @@
 <translation id="2270627217422354837">apmainīties datiem ar jebkuru ierīci šādos domēnos: <ph name="DOMAINS" /></translation>
 <translation id="2271088077909873520">Pārvaldiet sinhronizētos datus <ph name="BEGIN_LINK" />Google informācijas panelī<ph name="END_LINK" />.</translation>
 <translation id="2272570998639520080">Martini glāze</translation>
+<translation id="2275685295206198038">Lietotnes <ph name="APP_NAME" /> instalēšana ir pabeigta.</translation>
 <translation id="2276503375879033601">Pievienot vairāk lietotņu</translation>
 <translation id="2277255602909579701">Visi sīkfaili un vietņu dati</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{Nokopēts 1 vienums}zero{Nokopēti # vienumi}one{Nokopēts # vienums}other{Nokopēti # vienumi}}</translation>
@@ -862,6 +873,7 @@
 <translation id="2335122562899522968">Šī lapa iestatīja sīkfailus.</translation>
 <translation id="2336228925368920074">Saglabāt visas cilnes kā grāmatzīmes...</translation>
 <translation id="2336381494582898602">Powerwash</translation>
+<translation id="2338776671779155318">KĻŪDA: neizdevās izveidot diska attēlu.</translation>
 <translation id="2339120501444485379">Ievadiet jaunu nosaukumu</translation>
 <translation id="2339641773402824483">Atjauninājumu meklēšana...</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> vēlas savienot pārī</translation>
@@ -881,6 +893,7 @@
 <translation id="2359808026110333948">Turpināt</translation>
 <translation id="236141728043665931">Vienmēr bloķēt piekļuvi mikrofonam</translation>
 <translation id="2365507699358342471">Šī vietne var skatīt starpliktuvē kopēto tekstu un attēlus.</translation>
+<translation id="2367199180085172140">Pievienot failu kopīgošanu</translation>
 <translation id="2367972762794486313">Rādīt lietotnes</translation>
 <translation id="2371076942591664043">Atvērt, kad esat beidzis</translation>
 <translation id="2377319039870049694">Pāriet uz saraksta skatījumu</translation>
@@ -1060,6 +1073,7 @@
 <translation id="264810637653812429">Netika atrasta neviena saderīga ierīce.</translation>
 <translation id="2648831393319960979">Notiek ierīces savienošana ar jūsu kontu — tas var ilgt kādu laiku...</translation>
 <translation id="2649045351178520408">Base64 kodēts ASCII, sertifikātu virkne</translation>
+<translation id="2651353619134567122">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. Jebkurā brīdī varat to mainīt ierīces <ph name="BEGIN_LINK1" />iestatījumos<ph name="END_LINK1" />. Ja esat papildus ieslēdzis opciju “Darbības tīmeklī un lietotnēs”, šī informācija tiks saglabāta jūsu kontā, lai jūs to varētu pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK2" />Uzziniet vairāk.<ph name="END_LINK2" /></translation>
 <translation id="2653033005692233957">Meklēšana neizdevās</translation>
 <translation id="2653266418988778031">Ja dzēsīsiet sertifikāta izdevējiestādes (SI) sertifikātu, pārlūkprogramma vairs nevarēs uzticēties nevienam šīs SI izsniegtajam sertifikātam.</translation>
 <translation id="2653659639078652383">Iesniegt</translation>
@@ -1301,6 +1315,7 @@
 <translation id="2986010903908656993">Šajā lapā ir bloķēta MIDI ierīču pilnīga pārvaldība.</translation>
 <translation id="2989474696604907455">nav pievienota</translation>
 <translation id="2989786307324390836">DER kodēts binārais fails, viens sertifikāts</translation>
+<translation id="2993165626813508977">KĻŪDA: neizdevās palaist Termina VM konteineru.</translation>
 <translation id="2993517869960930405">Informācija par lietotni</translation>
 <translation id="2994669386200004489">Nevarēja dublēt failu <ph name="FILE_NAME" />.</translation>
 <translation id="299483336428448530">Instalēja kāds no vecākiem.</translation>
@@ -1353,6 +1368,7 @@
 <translation id="3045447014237878114">Šajā vietnē tika automātiski lejupielādēti vairāki faili</translation>
 <translation id="304567287000691532">Ekrāna kopīgošana</translation>
 <translation id="3046910703532196514">Tīmekļa lapa, pabeigta</translation>
+<translation id="304747341537320566">Runas programmas</translation>
 <translation id="304826556400666995">Ieslēgt ciļņu skaņu</translation>
 <translation id="3053013834507634016">Sertifikāta atslēgas lietošana</translation>
 <translation id="3057861065630527966">Dublēt fotoattēlus un videoklipus</translation>
@@ -1361,6 +1377,7 @@
 <translation id="3064410671692449875">Nepietiek datu</translation>
 <translation id="3065041951436100775">Atsauksme par cilnes darbības pārtraukšanu.</translation>
 <translation id="3066642396596108483">Sinhronizējiet grāmatzīmes, paroles un vēsturi visās savās ierīcēs.</translation>
+<translation id="3067198179881736288">Vai instalēt lietotni?</translation>
 <translation id="3067198360141518313">Izpildīt šo spraudni</translation>
 <translation id="3071624960923923138">Varat noklikšķināt šeit, lai atvērtu jaunu cilni.</translation>
 <translation id="3074037959626057712">Jūs esat pierakstījies un ieslēdzis sinhronizēšanu</translation>
@@ -1406,11 +1423,13 @@
 <translation id="3130528281680948470">Ierīce tiks atiestatīta, un visi lietotāju konti un ierīcē glabātie dati tiks noņemti. Šo darbību nevar atsaukt.</translation>
 <translation id="313205617302240621">Vai aizmirsāt paroli?</translation>
 <translation id="3135204511829026971">Pagriezt ekrānu</translation>
+<translation id="313963229645891001">Notiek lejupielāde: <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Noklusējuma iemiesojums dzeltenā krāsā</translation>
 <translation id="3140353188828248647">Iezīmēt adreses joslu</translation>
 <translation id="3141318088920353606">Notiek klausīšanās…</translation>
 <translation id="3141917231319778873">Attiecīgais pieprasījums netiek atbalstīts šajā ierīcē: “<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3143515551205905069">Atcelt sinhronizāciju</translation>
+<translation id="3143695347784622594">Sūtīt sistēmas datus. Google serveriem automātiski tiek nosūtīti diagnostikas dati un dati par ierīces un lietotņu izmantošanu. Jebkurā brīdī varat to mainīt ierīces <ph name="BEGIN_LINK1" />iestatījumos<ph name="END_LINK1" />. Ja esat papildus ieslēdzis opciju “Darbības tīmeklī un lietotnēs”, šī informācija tiks saglabāta jūsu kontā, lai jūs to varētu pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK2" />Uzziniet vairāk.<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">GATAVS</translation>
 <translation id="3144647712221361880">Atvērt saiti kā</translation>
 <translation id="3149510190863420837">Chrome lietotnes</translation>
@@ -1449,6 +1468,7 @@
 <translation id="3206175707080061730">Fails ar nosaukumu $1 jau eksistē. Vai vēlaties to aizstāt?</translation>
 <translation id="3208703785962634733">Neapstiprināts</translation>
 <translation id="3213187967168344806">Nevar pievienot printeri. Restartējiet datoru un mēģiniet vēlreiz.</translation>
+<translation id="3217843140356091325">Vai izveidot saīsni?</translation>
 <translation id="321799795901478485">Zip arhivētājs</translation>
 <translation id="3220586366024592812"><ph name="CLOUD_PRINT_NAME" /> savienotāja process ir avarējis. Vai restartēt?</translation>
 <translation id="3221634914176615296">Pārlūkojiet ierīces saturu lietotnē Faili.</translation>
@@ -1531,6 +1551,7 @@
 <translation id="3326821416087822643">Notiek faila “<ph name="FILE_NAME" />” tilpsaspiešana...</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informācija par lietotni</translation>
+<translation id="3335337277364016868">Ieraksta izveides gads</translation>
 <translation id="3335947283844343239">Vēlreiz atvērt aizvērto cilni</translation>
 <translation id="3340978935015468852">Iestatījumi</translation>
 <translation id="3341703758641437857">Atļaut piekļuvi faila vietrāžiem URL</translation>
@@ -1592,6 +1613,7 @@
 <translation id="3435738964857648380">Drošība</translation>
 <translation id="3435896845095436175">Iespējot</translation>
 <translation id="3436038974659740746">Pielāgot pareizrakstību</translation>
+<translation id="3437801641691368414">Izveides laiks</translation>
 <translation id="3438633801274389918">Nindzja</translation>
 <translation id="3439153939049640737">Vienmēr ļaut vietnei <ph name="HOST" /> piekļūt mikrofonam</translation>
 <translation id="3439970425423980614">Notiek PDF priekšskatījuma atvēršana</translation>
@@ -1635,6 +1657,7 @@
 <translation id="3487007233252413104">anonīma funkcija</translation>
 <translation id="348780365869651045">AppCache pilda darbību...</translation>
 <translation id="3488065109653206955">Daļēji aktivizēts</translation>
+<translation id="348999362308956431">Lejupielāde pabeigta: <ph name="FILE_NAME" /></translation>
 <translation id="3492788708641132712">Sinhronizācija nedarbojas. Mēģiniet pierakstīties vēlreiz.</translation>
 <translation id="3493881266323043047">Derīgums</translation>
 <translation id="3494769164076977169">Jautāt, ja vietne mēģina automātiski lejupielādēt failus pēc pirmā faila (ieteicams)</translation>
@@ -1724,6 +1747,7 @@
 <translation id="3627320433825461852">Atlikusi mazāk nekā 1 minūte</translation>
 <translation id="3627588569887975815">Atvērt saiti inkognito logā</translation>
 <translation id="3627671146180677314">Netscape sertifikāta atjaunošanas laiks</translation>
+<translation id="3627879631695760395">Instalēt lietotni <ph name="APP" />...</translation>
 <translation id="3630995161997703415">Lai varētu izmantot šo vietni jebkurā laikā, pievienojiet to savam plauktam.</translation>
 <translation id="3635030235490426869">1. cilne</translation>
 <translation id="3636096452488277381">Sveicināti, <ph name="USER_GIVEN_NAME" />!</translation>
@@ -1736,6 +1760,7 @@
 <translation id="3646789916214779970">Atiestatīt uz noklusējuma motīvu</translation>
 <translation id="3648348069317717750">Konstatēta ierīce <ph name="USB_DEVICE_NAME" /></translation>
 <translation id="3649138363871392317">Fotoattēls tika uzņemts.</translation>
+<translation id="3650952250015018111">Atļaujiet lietotnei “<ph name="APP_NAME" />” piekļūt šādai ierīcei:</translation>
 <translation id="3651488188562686558">tiks atvienots Wi-Fi.</translation>
 <translation id="3652817283076144888">Inicializēšana</translation>
 <translation id="3653999333232393305">Arī turpmāk ļaut vietnei <ph name="HOST" /> piekļūt mikrofonam</translation>
@@ -1848,6 +1873,7 @@
 <translation id="381202950560906753">Pievienot citu</translation>
 <translation id="3812525830114410218">Nederīgs sertifikāts</translation>
 <translation id="3813296892522778813">Ja nevarat atrast meklēto saturu, pārejiet uz <ph name="BEGIN_LINK_CHROMIUM" />Google Chrome palīdzību<ph name="END_LINK_CHROMIUM" /></translation>
+<translation id="3817579325494460411">Nav norādīts</translation>
 <translation id="3819007103695653773">Atļaut pašpiegādes ziņojumus fonā no visām vietnēm</translation>
 <translation id="3819752733757735746">Slēdžu piekļuve (kontrolējiet datoru ar vienu vai diviem slēdžiem)</translation>
 <translation id="3819800052061700452">&amp;Pilnekrāna režīms</translation>
@@ -1941,6 +1967,7 @@
 <translation id="394984172568887996">Importēts no IE</translation>
 <translation id="3950820424414687140">Pierakstīties</translation>
 <translation id="3954354850384043518">Notiek lejupielāde</translation>
+<translation id="3954469006674843813"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (<ph name="REFRESH_RATE" /> herci)</translation>
 <translation id="3955193568934677022">Atļaut vietnēm atskaņot aizsargātu saturu (ieteicams)</translation>
 <translation id="3956702100721821638">Nevarēja sasniegt pakalpojumu Google Play</translation>
 <translation id="3958088479270651626">Grāmatzīmju un iestatījumu importēšana</translation>
@@ -1961,6 +1988,7 @@
 <translation id="3979748722126423326">Iespējot <ph name="NETWORKDEVICE" /></translation>
 <translation id="3981760180856053153">Ievadīts nederīgs saglabāšanas tips.</translation>
 <translation id="3983586614702900908">ierīces, ko piedāvā nezināms ražotājs</translation>
+<translation id="3985261842049607969">Dublēt Google diskā. Ērti atjaunojiet datus vai nomainiet ierīci jebkurā brīdī. Dublējumā ir ietverti arī lietotņu dati. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">Datu lietojums ir samazināts.</translation>
 <translation id="3987938432087324095">Diemžēl nav saprotams.</translation>
 <translation id="3988996860813292272">Laika joslas atlasīšana</translation>
@@ -1986,6 +2014,7 @@
 <translation id="4033471457476425443">Pievienot jaunu mapi</translation>
 <translation id="4034042927394659004">Samazināt taustiņu spilgtumu</translation>
 <translation id="4035758313003622889">Uzdevumu pārvaldnieks</translation>
+<translation id="4036758022112812315">Izceliet saturu, ko vēlaties dzirdēt, pēc tam nospiediet meklēšanas taustiņu un taustiņu S. Vai nospiediet un turiet meklēšanas taustiņu, pēc tam noklikšķiniet vai velciet, lai atlasītu saturu.</translation>
 <translation id="4037084878352560732">Zirgs</translation>
 <translation id="4037889604535939429">Personas informācijas rediģēšana</translation>
 <translation id="4042264909745389898">Google Chrome OS noteikumi</translation>
@@ -2018,6 +2047,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="4087470595660267445">Instalējiet lietotnes un spēles no pakalpojuma Google Play savā Chromebook datorā. &lt;a target="_blank" href="<ph name="URL" />"&gt;Uzziniet vairāk&lt;/a&gt;.</translation>
 <translation id="4088095054444612037">Pieņemt grupai</translation>
+<translation id="4089235344645910861">Iestatījumi saglabāti. Sākta sinhronizācija.</translation>
 <translation id="4090103403438682346">Iespējot verificētu piekļuvi</translation>
 <translation id="4090535558450035482">(Šis paplašinājums tiek pārvaldīts, un to nevar noņemt.)</translation>
 <translation id="4091434297613116013">papīra lapas</translation>
@@ -2028,6 +2058,7 @@
 <translation id="4096824249111507322">Notiek drošības moduļa sagatavošana. Lūdzu, uzgaidiet (tas var ilgt dažas minūtes)...</translation>
 <translation id="4099060993766194518">Vai atjaunot noklusējuma meklētājprogrammu?</translation>
 <translation id="4100733287846229632">Ierīces diskā gandrīz nav vietas</translation>
+<translation id="4103091233824664032">Lai konfigurētu ekrāna bloķēšanu un pierakstīšanos, ievadiet savu paroli.</translation>
 <translation id="4104163789986725820">E&amp;ksportēt...</translation>
 <translation id="4105563239298244027">Izmantojot pakalpojumu Google disks, iegūsiet 1 TB lielu bezmaksas krātuvi</translation>
 <translation id="4107048419833779140">Identificēt un atvienot atmiņas ierīces</translation>
@@ -2090,11 +2121,13 @@
 <translation id="4235200303672858594">Viss ekrāns</translation>
 <translation id="4235813040357936597">Pievienot kontu šim lietotājam: <ph name="PROFILE_NAME" /></translation>
 <translation id="4235965441080806197">Atcelt pierakstīšanos</translation>
+<translation id="4239107879884489787">KĻŪDA: neizdevās ielādēt Termina komponentu.</translation>
 <translation id="4242533952199664413">Atvērt iestatījumus</translation>
 <translation id="4242577469625748426">Neizdevās ierīcē instalēt politikas iestatījumus: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4244238649050961491">Atrast citas skārienekrāna pildspalvas lietotnes</translation>
 <translation id="424546999567421758">Konstatēts apjomīgs diska lietojums</translation>
 <translation id="424726838611654458">Vienmēr atvērt programmā Adobe Reader</translation>
+<translation id="4247901771970415646">Nevar sinhronizēt ar lietotāju <ph name="USERNAME" /></translation>
 <translation id="4249248555939881673">Tiek gaidīta savienojuma izveide ar tīklu...</translation>
 <translation id="4249373718504745892">Šīs lapas piekļuve jūsu kamerai un mikrofonam ir bloķēta.</translation>
 <translation id="424963718355121712">Lietotnēm ir jābūt no tā paša saimniekdatora, kuru tās ietekmē.</translation>
@@ -2115,6 +2148,7 @@
 <translation id="4271396100647220620">Nav atbilstību</translation>
 <translation id="4275830172053184480">Ierīces restartēšana</translation>
 <translation id="4278390842282768270">Atļauts</translation>
+<translation id="4280864916190672950">Apturēt ielādi</translation>
 <translation id="4281844954008187215">Google pakalpojumu noteikumi</translation>
 <translation id="4282196459431406533">Smart Lock ir ieslēgta</translation>
 <translation id="4284105660453474798">Vai tiešām vēlaties dzēst $1?</translation>
@@ -2131,6 +2165,7 @@
 <translation id="4305227814872083840">ilga (2 s)</translation>
 <translation id="4306119971288449206">Instalētajām lietotnēm ir jābūt ar šāda veida saturu: <ph name="CONTENT_TYPE" />.</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> KB (<ph name="NUM_KILOBYTES_LIVE" /> KB tiešsaistē)</translation>
+<translation id="4309915981827077375">Vispārīga informācija</translation>
 <translation id="4310139701823742692">Nepareizs faila formāts. Pārbaudiet PPD failu un mēģiniet vēlreiz.</translation>
 <translation id="431076611119798497">&amp;Informācija</translation>
 <translation id="4312866146174492540">Bloķēt (pēc noklusējuma)</translation>
@@ -2179,11 +2214,13 @@
 <translation id="4409697491990005945">Malas</translation>
 <translation id="4411578466613447185">Koda parakstītājs</translation>
 <translation id="4412698727486357573">Palīdzības centrs</translation>
+<translation id="44141919652824029">Vai atļaut lietotnei “<ph name="APP_NAME" />” iegūt pievienoto USB ierīču sarakstu?</translation>
 <translation id="4414232939543644979">Jauns &amp;inkognito režīma logs</translation>
 <translation id="4415748029120993980">SECG eliptiska līkne secp384r1 (jeb NIST P-384)</translation>
 <translation id="4419409365248380979">Vienmēr var <ph name="HOST" /> iestatīt sīkfailus</translation>
 <translation id="4421932782753506458">Minka</translation>
 <translation id="4422347585044846479">Rediģēt šīs lapas grāmatzīmes</translation>
+<translation id="4423104065312875417">Instalēt papildu runas programmas</translation>
 <translation id="4423376891418188461">Atjaunot iestatījumus</translation>
 <translation id="4423482519432579560">&amp;Pareizrakstības pārbaudītājs</translation>
 <translation id="442397852638519243"><ph name="USER_NAME" />, jūsu administrators pieprasa paroles maiņu.</translation>
@@ -2271,6 +2308,7 @@
 <translation id="4565377596337484307">Slēpt paroli</translation>
 <translation id="4567772783389002344">Pievienot vārdu</translation>
 <translation id="4568213207643490790">Diemžēl Google kontus nav atļauts izmantot šajā ierīcē.</translation>
+<translation id="4568854179928172494">Izmaiņu veikšanas laiks</translation>
 <translation id="4569747168316751899">Dīkstāvē</translation>
 <translation id="4572659312570518089">Veidojot savienojumu ar ierīci <ph name="DEVICE_NAME" />, autentifikācija tika atcelta.</translation>
 <translation id="4572815280350369984"><ph name="FILE_TYPE" /> fails</translation>
@@ -2314,6 +2352,7 @@
 <translation id="4640525840053037973">Pierakstīšanās jūsu Google kontā</translation>
 <translation id="4641539339823703554">Chrome nevarēja iestatīt sistēmas laiku. Ludzu, pārbaudiet tālāk norādīto laiku un labojiet to, ja nepieciešams.</translation>
 <translation id="4643612240819915418">Atvērt vide&amp;o jaunā cilnē</translation>
+<translation id="4644818355646995778">Notiek lejupielāde: <ph name="PERCENT_REMAINING" /></translation>
 <translation id="4645676300727003670">&amp;Paturēt</translation>
 <translation id="4647090755847581616">&amp;Aizvērt cilni</translation>
 <translation id="4647697156028544508">Ievadiet PIN ierīcei <ph name="DEVICE_NAME" />:</translation>
@@ -2470,6 +2509,11 @@
 <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>
+<translation id="4883898390143004266">Ļaut lietotnēm noteikt atrašanās vietu. Izmantojiet Google atrašanās vietu pakalpojumus, lai lietotnēs uzlabotu atrašanās vietas noteikšanu. Google periodiski var apkopot atrašanās vietas datus un izmantot šos datus anonīmā veidā, lai uzlabotu atrašanās vietas precizitāti un pakalpojumus pēc atrašanās vietas. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
+<translation id="4884740091792292473"><ph name="BEGIN_PARAGRAPH1" />Dublējiet Google diskā. Ērti atjaunojiet datus vai nomainiet ierīci jebkurā brīdī. Dublējumā ir ietverti arī lietotņu dati.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Lietotņu dati var būt jebkādi lietotņu saglabātie dati (atkarībā no izstrādātāja iestatījumiem), tostarp potenciāli sensitīvi dati, piemēram, kontaktpersonas, ziņojumi un fotoattēli.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Dublētie dati netiek ieskaitīti jūsu Diska krātuves kvotā.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH4" />Šo pakalpojumu varat izslēgt sadaļā Iestatījumi.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="4884987973312178454">6x</translation>
 <translation id="4885705234041587624">MSCHAPv2</translation>
 <translation id="4887424188275796356">Atvēršana, izmantojot sistēmas skatītāju</translation>
@@ -2696,6 +2740,7 @@
 <translation id="5250372599208556903"><ph name="SEARCH_ENGINE_NAME" /> izmanto jūsu atrašanās vietu, lai piedāvātu vietējo saturu. Varat to mainīt šeit: <ph name="SETTINGS_LINK" />.</translation>
 <translation id="5252456968953390977">Viesabonēšana</translation>
 <translation id="5252653240322147470">PIN kodā ir jābūt mazāk par <ph name="MAXIMUM" /> cipariem.</translation>
+<translation id="5253070652067921974">Autors:</translation>
 <translation id="5254368820972107711">Rādīt noņemamos failus</translation>
 <translation id="52550593576409946">Kioska lietojumprogrammu nevarēja palaist.</translation>
 <translation id="5255315797444241226">Ievadītā ieejas frāze ir nepareiza.</translation>
@@ -2718,6 +2763,7 @@
 <translation id="5275973617553375938">No Google diska atkoptie faili</translation>
 <translation id="527605719918376753">Izslēgt cilnes skaņu</translation>
 <translation id="527605982717517565">Vienmēr atļaut izmantot JavaScript vietnē <ph name="HOST" /></translation>
+<translation id="5280426389926346830">Vai izveidot saīsni?</translation>
 <translation id="5282733140964383898">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. Piemēram, dažas vietnes var atbildēt uz šo pieprasījumu un rādīt reklāmas, neņemot vērā informāciju par citām jūsu apmeklētajām vietnēm. Daudzās vietnēs joprojām tiks apkopoti un izmantoti jūsu pārlūkošanas dati, piemēram, lai vietnēs uzlabotu drošību, nodrošinātu saturu, pakalpojumus, reklāmas un ieteikumus, kā arī veidotu pārskatu statistiku. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation>
 <translation id="5283677936944177147">Diemžēl sistēmai neizdevās noteikt ierīces modeli un sērijas numuru.</translation>
 <translation id="5284445933715251131">Turpināt lejupielādi</translation>
@@ -2750,6 +2796,7 @@
 <translation id="532360961509278431">Nevar atvērt $1: $2</translation>
 <translation id="5324780743567488672">Automātiski iestatīt laika joslu, izmantojot atrašanās vietu</translation>
 <translation id="5327248766486351172">Nosaukums</translation>
+<translation id="532776649628038357">Piekrītu</translation>
 <translation id="532943162177641444">Lai iestatītu mobilo tīklāju, ko izmantot šajā ierīcē, pieskarieties paziņojumam savā tālrunī <ph name="PHONE_NAME" />.</translation>
 <translation id="5329858601952122676">Dzēst</translation>
 <translation id="5330145655348521461">Šie faili tika atvērti citā darbvirsmā. Lai skatītu šo darbvirsmu, izmantojiet profilu <ph name="USER_NAME" /> (<ph name="MAIL_ADDRESS" />).</translation>
@@ -2772,6 +2819,7 @@
 <translation id="5353252989841766347">Paroļu eksportēšana no pārlūka Chrome</translation>
 <translation id="5355097969896547230">Atrast vēlreiz</translation>
 <translation id="5355926466126177564">Paplašinājums “<ph name="EXTENSION_NAME" />” mainīja iestatījumu, kura lapa tiek parādīta, kad veicat meklēšanu, izmantojot universālo lodziņu.</translation>
+<translation id="5358764674931277">Kadri sekundē</translation>
 <translation id="5360150013186312835">Rādīšana rīkjoslā</translation>
 <translation id="5362741141255528695">Atlasiet privātās atslēgas failu.</translation>
 <translation id="5363109466694494651">Powerwash un atjaunošana</translation>
@@ -2808,6 +2856,7 @@
 <translation id="5414566801737831689">Lasīt jūsu apmeklēto vietņu ikonas</translation>
 <translation id="5417312524372586921">Pārlūka motīvi</translation>
 <translation id="5419294236999569767">Sistēmas laiks</translation>
+<translation id="5420438158931847627">Regulē teksta un attēla asumu</translation>
 <translation id="5422221874247253874">Piekļuves punkts</translation>
 <translation id="5422781158178868512">Diemžēl jūsu ārējo atmiņas ierīci nevarēja atpazīt.</translation>
 <translation id="5423849171846380976">Aktivizēts</translation>
@@ -2863,6 +2912,7 @@
 <translation id="5487521232677179737">Notīrīt datus</translation>
 <translation id="5488093641312826914">Vienums “<ph name="COPIED_ITEM_NAME" />” ir nokopēts</translation>
 <translation id="5488468185303821006">Atļaut inkognito režīmā</translation>
+<translation id="5491110079163012109">Sūtīt sistēmas datus. Google serveriem tiek automātiski sūtīti diagnostikas dati un dati par ierīces un lietotņu izmantošanu. Šo iestatījumu ir noteicis īpašnieks. Īpašnieks var izvēlēties nosūtīt šīs ierīces diagnostikas un lietojuma datus Google serveriem. Šo informāciju varat skatīt iestatījumu sadaļā. Ja esat papildus ieslēdzis opciju “Darbības tīmeklī un lietotnēs”, šī informācija tiks saglabāta jūsu kontā, lai jūs to varētu pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ekrāns ieslēgts</translation>
 <translation id="5494362494988149300">Atvērt, ka&amp;d lejupielāde pabeigta</translation>
 <translation id="5494920125229734069">Atlasīt visu</translation>
@@ -2923,6 +2973,7 @@
 <translation id="5568069709869097550">Nevarat pieteikties</translation>
 <translation id="5568144734023334204">Android krātuve</translation>
 <translation id="5569544776448152862">Notiek reģistrēšanās sistēmā <ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" />...</translation>
+<translation id="5572572070321843880">Kļūda: neizdevās palaist Termina VM.</translation>
 <translation id="5575473780076478375">Inkognito paplašinājums: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">Ierīces atiestatīšana neietekmēs jūsu Google kontus un ar tiem sinhronizētos datus, taču tiks dzēsti visi faili, kuri ierīcē ir saglabāti lokāli.</translation>
 <translation id="5578059481725149024">Automātiska pierakstīšanās</translation>
@@ -2991,6 +3042,9 @@
 <translation id="5678550637669481956">Tika piešķirta lasīšanas un rakstīšanas piekļuve krātuvei <ph name="VOLUME_NAME" />.</translation>
 <translation id="5678955352098267522">Lasīt jūsu datus vietnē <ph name="WEBSITE_1" /></translation>
 <translation id="5684661240348539843">Līdzekļu identifikators</translation>
+<translation id="5686799162999241776"><ph name="BEGIN_BOLD" />Nevar pārtraukt savienojumu ar arhīvu vai virtuālo disku<ph name="END_BOLD" />
+   <ph name="LINE_BREAKS" />
+   Aizveriet visus arhīvā vai virtuālajā diskā atvērtos failus un mēģiniet vēlreiz.</translation>
 <translation id="5687326903064479980">Laika josla</translation>
 <translation id="5689516760719285838">Atrašanās vieta</translation>
 <translation id="56907980372820799">Saistīt datus</translation>
@@ -2999,6 +3053,8 @@
 <translation id="5694501201003948907">Notiek $1 vienumu tilpsaspiešana...</translation>
 <translation id="5696143504434933566">Ziņot par paplašinājuma “<ph name="EXTENSION_NAME" />” pārkāpumu</translation>
 <translation id="5699533844376998780">Paplašinājums <ph name="EXTENSION_NAME" /> ir pievienots.</translation>
+<translation id="5700087501958648444">Audio informācija</translation>
+<translation id="570043786759263127">Google Play lietotnes un pakalpojumi</translation>
 <translation id="5700836101007545240">Administrators ir atspējojis savienojuma pievienošanu.</translation>
 <translation id="5701381305118179107">Centrēt</translation>
 <translation id="5702898740348134351">R&amp;ediģēt meklētājprogrammas...</translation>
@@ -3023,6 +3079,7 @@
 <translation id="5739458112391494395">Ļoti liels</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> un vēl <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="5741245087700236983"><ph name="PROFILE_NAME" />: atlasiet, lai rediģētu</translation>
+<translation id="574209121243317957">Tonis</translation>
 <translation id="5746169159649715125">Saglabāt kā PDF failu</translation>
 <translation id="5747552184818312860">Termiņš</translation>
 <translation id="5747785204778348146">Izstrādātāju — nav stabila</translation>
@@ -3182,6 +3239,7 @@
 <translation id="5991049340509704927">Palielināt</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Lai nodrošinātu iespēju turpmāk pārlūkot tīmekli, palūdziet administratoram noņemt šo lietojumprogrammu.}zero{Lai nodrošinātu iespēju turpmāk pārlūkot tīmekli, palūdziet administratoram noņemt šīs lietojumprogrammas.}one{Lai nodrošinātu iespēju turpmāk pārlūkot tīmekli, palūdziet administratoram noņemt šīs lietojumprogrammas.}other{Lai nodrošinātu iespēju turpmāk pārlūkot tīmekli, palūdziet administratoram noņemt šīs lietojumprogrammas.}}</translation>
 <translation id="5993332328670040093">Jūsu datu lietojums vairs netiks mērīts.</translation>
+<translation id="6002458620803359783">Vēlamās balsis</translation>
 <translation id="600424552813877586">Nederīga lietojumprogramma.</translation>
 <translation id="6005695835120147974">Multivides maršrutētājs</translation>
 <translation id="6006484371116297560">Klasiskais motīvs</translation>
@@ -3198,6 +3256,7 @@
 <translation id="602251597322198729">No šīs vietnes mēģina lejupielādēt vairākus failus. Vai atļaut?</translation>
 <translation id="6022526133015258832">Atvērt pilnekrāna režīmu</translation>
 <translation id="6025215716629925253">Steka izsekošana</translation>
+<translation id="6026047032548434446">Vai instalēt lietotni?</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> — pievienota USB ierīce</translation>
 <translation id="6032912588568283682">Failu sistēma</translation>
 <translation id="6034662038931255275">OS atjaunināta veiksmīgi</translation>
@@ -3283,6 +3342,7 @@
 <translation id="6151771661215463137">Fails jau pastāv jūsu lejupielāžu mapē.</translation>
 <translation id="615436196126345398">Protokols</translation>
 <translation id="6154697846084421647">Pašreiz pierakstījies</translation>
+<translation id="6155141482566063812">Fona cilne kopīgo jūsu ekrānu.</translation>
 <translation id="6156323911414505561">Rādīt grāmatzīmju joslu</translation>
 <translation id="6156863943908443225">Skriptu kešatmiņa</translation>
 <translation id="6156960295318603523">Valodas iestatījumi</translation>
@@ -3301,6 +3361,7 @@
 <translation id="6181431612547969857">Lejupielāde ir bloķēta.</translation>
 <translation id="6185132558746749656">Ierīces atrašanās vieta</translation>
 <translation id="6185696379715117369">Augšup</translation>
+<translation id="6189273858858366896">Izveidojiet vai pārvaldiet tīkla failu kopīgošanu.</translation>
 <translation id="6189412234224385711">Atvērt ar paplašinājumu <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloķēt trešo pušu sīkfailus</translation>
 <translation id="6196854373336333322">Paplašinājums “<ph name="EXTENSION_NAME" />” pārvalda jūsu starpniekservera iestatījumus. Tas nozīmē, ka tas var mainīt, pārtraukt vai izsekot visas jūsu darbības tiešsaistē. Ja neesat pārliecināts, kāpēc notika šīs izmaiņas, visticamāk, jūs tās nevēlaties.</translation>
@@ -3523,6 +3584,7 @@
 <translation id="6528513914570774834">Atļaut citiem lietotājiem šajā ierīcē izmantot šo tīklu</translation>
 <translation id="652948702951888897">Chrome vēsture</translation>
 <translation id="653019979737152879">Notiek faila <ph name="FILE_NAME" /> sinhronizēšana...</translation>
+<translation id="6530681427077572136">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. Jebkurā brīdī varat to mainīt ierīces iestatījumos. 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="6531282281159901044">Paturēt bīstamo failu</translation>
 <translation id="6534583978616527129">Savienojuma inicializēšana</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />Piezīme<ph name="END_BOLD" />. Iespējojiet tikai tad, ja esat pārliecināts par savu rīcību vai kāds jums lūdzis šādi rīkoties, jo datu apkopošana var mazināt veiktspēju.</translation>
@@ -3549,6 +3611,7 @@
 <translation id="656398493051028875">Notiek faila “<ph name="FILENAME" />” dzēšana...</translation>
 <translation id="6567688344210276845">Nevarēja ielādēt lapas darbības ikonu “<ph name="ICON" />”.</translation>
 <translation id="657402800789773160">&amp;Atkārtoti ielādēt šo lapu</translation>
+<translation id="6577284282025554716">Lejupielāde atcelta: <ph name="FILE_NAME" /></translation>
 <translation id="6578664922716508575">Šifrēt sinhronizētās paroles, izmantojot savu Google lietotājvārdu un paroli</translation>
 <translation id="6580151766480067746">ARC versija</translation>
 <translation id="6581162200855843583">Google diska saite</translation>
@@ -3574,6 +3637,7 @@
 <translation id="6607831829715835317">Vairā&amp;k rīku</translation>
 <translation id="6612358246767739896">Aizsargāts saturs</translation>
 <translation id="6613452264606394692">Saglabājiet šo lapu kā grāmatzīmi, lai vēlāk to vieglāk atrastu</translation>
+<translation id="6614893213975402384">Instalēt atjauninājumus un lietotnes. Turpinot jūs piekrītat, ka šī ierīce var automātiski lejupielādēt un instalēt atjauninājumus un lietotnes, ko nodrošina Google, jūsu mobilo sakaru operators un ierīces ražotājs. Var tikt izmantoti mobilie dati. Dažās lietotnēs var tikt piedāvāti pirkumi. Jebkurā brīdī varat noņemt šīs lietotnes. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
 <translation id="6615455863669487791">Rādīt man</translation>
 <translation id="661719348160586794">Jūsu saglabātās paroles parādīsies šeit.</translation>
 <translation id="6618097958368085618">Tik un tā paturēt</translation>
@@ -3589,6 +3653,7 @@
 <translation id="6628328486509726751">Augšupielādēts: <ph name="WEBRTC_LOG_UPLOAD_TIME" /></translation>
 <translation id="6629841649550503054">Visi faili ir dublēti <ph name="BEGIN_LINK" />Google diskā<ph name="END_LINK" />.</translation>
 <translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> vēlas pastāvīgu piekļuvi sertifikātam, lai varētu veikt autentificēšanu jūsu vārdā.</translation>
+<translation id="6635956300022133031">Atlasiet un pielāgojiet balsis teksta pārvēršanai runā</translation>
 <translation id="6639554308659482635">SQLite atmiņa</translation>
 <translation id="6641138807883536517">Pēc nejaušības principa ģenerētā drošības moduļa parole nav pieejama. Tā nereti notiek pēc funkcijas Powerwash izmantošanas.</translation>
 <translation id="6643016212128521049">Notīrīt</translation>
@@ -3596,6 +3661,7 @@
 <translation id="6644846457769259194">Notiek ierīces atjaunināšana (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="6647228709620733774">Netscape sertifikāta izdevējiestādes atsaukšanas URL</translation>
 <translation id="6647838571840953560">Pašreizējā versija: <ph name="CHANNEL_NAME" /></translation>
+<translation id="6648911618876616409">Svarīgs atjauninājums ir pieejams instalēšanai. Pierakstieties, lai sāktu.</translation>
 <translation id="6649018507441623493">Uzgaidiet…</translation>
 <translation id="6649563841575838401">Arhīva formāts netiek atbalstīts, vai fails ir bojāts.</translation>
 <translation id="665061930738760572">Atvērt &amp;jaunā logā</translation>
@@ -3615,6 +3681,7 @@
 <translation id="6678717876183468697">Vaicājuma URL</translation>
 <translation id="6680028776254050810">Pārslēgt lietotājus</translation>
 <translation id="6680442031740878064">Pieejamā vieta: <ph name="AVAILABLE_SPACE" /></translation>
+<translation id="6680650203439190394">Ātrums</translation>
 <translation id="6681668084120808868">Uzņemt fotoattēlu</translation>
 <translation id="6681964764822470072">Lietotne <ph name="APP_NAME" /> tiks atinstalēta.</translation>
 <translation id="668599234725812620">Atvērt pakalpojumu Google Play</translation>
@@ -3631,6 +3698,7 @@
 <translation id="6702639462873609204">&amp;Rediģēt...</translation>
 <translation id="6706210727756204531">Tvērums</translation>
 <translation id="6707389671160270963">SSL klienta sertifikāts</translation>
+<translation id="6708029444764748914">Ievadiet savu PIN atkārtoti, lai to izmantotu, pierakstoties savā ierīcē.</translation>
 <translation id="6708242697268981054">Avots:</translation>
 <translation id="6709357832553498500">Izveidot savienojumu, izmantojot paplašinājumu <ph name="EXTENSIONNAME" /></translation>
 <translation id="6710213216561001401">Iepriekšējais</translation>
@@ -3761,6 +3829,7 @@
 <translation id="6922128026973287222">Ietaupiet datu lietojumu un veiciet pārlūkošanu ātrāk, izmantojot Google datu lietojuma samazinātāju. Noklikšķiniet, lai uzzinātu vairāk.</translation>
 <translation id="6923132443355966645">Ritināt/klikšķināt</translation>
 <translation id="6929555043669117778">Turpināt bloķēt uznirstošos logus</translation>
+<translation id="6929835486583850209">Instalējot lietotni <ph name="APP_NAME" />, radās kļūda...</translation>
 <translation id="6930242544192836755">Ilgums</translation>
 <translation id="6934241953272494177">Notiek multivides ierīces skenēšana...
     <ph name="LINE_BREAK1" />
@@ -3865,6 +3934,7 @@
 <translation id="7077829361966535409">Pierakstīšanās lapu neizdevās ielādēt, izmantojot pašreizējos starpniekservera iestatījumus. <ph name="GAIA_RELOAD_LINK_START" />Mēģiniet pierakstīties vēlreiz<ph name="GAIA_RELOAD_LINK_END" /> vai izmantojiet citus <ph name="PROXY_SETTINGS_LINK_START" />starpniekservera iestatījumus<ph name="PROXY_SETTINGS_LINK_END" />.</translation>
 <translation id="7078120482318506217">Visi tīkli</translation>
 <translation id="708060913198414444">Kopēt audio adresi</translation>
+<translation id="7081952801286122383">Iespējots inkognito režīms</translation>
 <translation id="708278670402572152">Atvienojiet, lai iespējotu skenēšanu</translation>
 <translation id="7084192839369222683">Palaist tikai svarīgu saturu</translation>
 <translation id="7085389578340536476">Vai atļaut pārlūkam Chrome ierakstīt audio?</translation>
@@ -3932,6 +4002,9 @@
 <translation id="7191454237977785534">Saglabāt failu kā</translation>
 <translation id="7193374945610105795">Vietnei <ph name="ORIGIN" /> nav saglabāta neviena parole</translation>
 <translation id="7196835305346730603">Meklē tuvumā esošos Chromebox datorus...</translation>
+<translation id="7197160646667308890"><ph name="BEGIN_PARAGRAPH1" />Šī ir vispārīga informācija par jūsu ierīci un tās lietošanu (piemēram, par akumulatora uzlādes līmeni, lietotņu izmantošanu un tīkla savienojamību). Šie dati tiks izmantoti, lai uzlabotu Google produktus un pakalpojumus ikvienam. Noteikta ievāktā informācija palīdzēs arī partneriem, piemēram, Android izstrādātājiem, uzlabot savas lietotnes un produktus.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Izslēdzot šo funkciju, netiek ietekmēta ierīces spēja nosūtīt informāciju, kas nepieciešama būtiskiem pakalpojumiem, piemēram, sistēmas atjauninājumiem un drošībai.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Šo funkciju varat kontrolēt sadaļā Iestatījumi &gt; Google. Izvēlnē atlasiet vienumu Lietojums un diagnostika.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7199158086730159431">Saņemt p&amp;alīdzību</translation>
 <translation id="720110658997053098">Pastāvīgi turēt ierīcei ieslēgtu kioska režīmu</translation>
 <translation id="7201118060536064622">Vienums “<ph name="DELETED_ITEM_NAME" />” ir izdzēsts.</translation>
@@ -3950,9 +4023,11 @@
 <translation id="7223775956298141902">Diemžēl neviens paplašinājums nav instalēts :(</translation>
 <translation id="7225179976675429563">Nav norādīts tīkla veids</translation>
 <translation id="7228479291753472782">Mainiet iestatījumus, kas norāda, vai vietnes var izmantot tādas funkcijas kā ģeolokāciju, mikrofonu, kameru u. c.</translation>
+<translation id="7228523857728654909">Ekrāna bloķēšana un pierakstīšanās</translation>
 <translation id="7229570126336867161">Nepieciešams EVDO</translation>
 <translation id="7230787553283372882">Pielāgojiet teksta lielumu.</translation>
 <translation id="7232750842195536390">Pārdēvēšana neizdevās</translation>
+<translation id="7233309214676155451">Sinhronizējiet un personalizējiet pārlūku Chrome visās jūsu ierīcēs</translation>
 <translation id="7238585580608191973">SHA-256 pirkstu nospiedums</translation>
 <translation id="7240120331469437312">Sertifikāta subjekta cits nosaukums</translation>
 <translation id="7240339475467890413">Vai izveidot savienojumu ar jaunu tīklāju?</translation>
@@ -3983,6 +4058,7 @@
 <translation id="727952162645687754">Lejupielādes kļūda</translation>
 <translation id="7279701417129455881">Pārvaldīt sīkfailu bloķēšanas iestatījumus...</translation>
 <translation id="7280041992884344566">Kamēr pārlūks Chrome meklēja kaitīgu programmatūru, radās kļūda.</translation>
+<translation id="7280649757394340890">Balss iestatījumi teksta pārvēršanai runā</translation>
 <translation id="7280877790564589615">Atļaujas pieprasījums</translation>
 <translation id="7282992757463864530">Informācijas josla</translation>
 <translation id="7283041136720745563">Jūsu Google diska kvota nav pietiekami liela.</translation>
@@ -3998,12 +4074,14 @@
 <translation id="7297443947353982503">Lietotājvārds/parole nav pareiza vai arī EAP autentifikācija neizdevās</translation>
 <translation id="729761647156315797">Valodas un tastatūras izvēlēšanās</translation>
 <translation id="7299337219131431707">Iespējot viesa režīmu</translation>
+<translation id="730289542559375723">{NUM_APPLICATIONS,plural, =1{Tālāk norādītā lietojumprogramma, iespējams, izraisa pārlūka Chrome nepareizu darbību.}zero{Tālāk norādītās lietojumprogrammas, iespējams, izraisa pārlūka Chrome nepareizu darbību.}one{Tālāk norādītās lietojumprogrammas, iespējams, izraisa pārlūka Chrome nepareizu darbību.}other{Tālāk norādītās lietojumprogrammas, iespējams, izraisa pārlūka Chrome nepareizu darbību.}}</translation>
 <translation id="7303900363563182677">Šajā vietnē ir bloķēta starpliktuvē kopētā teksta un attēlu skatīšana.</translation>
 <translation id="730515362922783851">apmainīties datiem ar jebkuru ierīci lokālajā tīklā vai internetā</translation>
 <translation id="7308002049209013926">Izmantojiet palaišanas programmu, lai ātri piekļūtu lietotnēm un darbībām. Lai tām piekļūtu, izmantojot tastatūru, nospiediet taustiņu kombināciju Alt + Shift + L.</translation>
 <translation id="7309257895202129721">Rādīt &amp;vadīklas</translation>
 <translation id="7311079019872751559">Piekļuve, izmantojot spraudni, kas nav ievietots smilškastē</translation>
 <translation id="7311891583377621132">Mazliet pakustiniet, lai uzņemtu citu pirksta nospieduma daļu</translation>
+<translation id="7317680720589234980">Ekrāna bloķēšanas un pierakstīšanās opcijas</translation>
 <translation id="7317938878466090505"><ph name="PROFILE_NAME" /> (pašreizējais)</translation>
 <translation id="7321545336522791733">Serveris nav sasniedzams</translation>
 <translation id="7324297612904500502">Beta versijas forums</translation>
@@ -4133,6 +4211,9 @@
 <translation id="7507930499305566459">Statusa atbildētāja sertifikāts</translation>
 <translation id="7508545000531937079">Slaidrāde</translation>
 <translation id="7513029293694390567">Automātiski pierakstieties vietnēs, izmantojot saglabātos akreditācijas datus. Ja funkcija ir atspējota, apstiprināšana būs jāveic ikreiz, kad pierakstīsieties vietnē.</translation>
+<translation id="7515154058529101840"><ph name="BEGIN_PARAGRAPH1" />Ļaujiet lietotnēm noteikt atrašanās vietu. Izmantojiet Google atrašanās vietu pakalpojumus, lai lietotnēs uzlabotu atrašanās vietas noteikšanu. Google periodiski var apkopot atrašanās vietas datus un izmantot šos datus anonīmā veidā, lai uzlabotu atrašanās vietas precizitāti un pakalpojumus pēc atrašanās vietas.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />Google atrašanās vietu pakalpojumos tiek izmantoti tādi avoti kā Wi-Fi, mobilais tīkls un sensori, lai palīdzētu noteikt jūsu ierīces atrašanās vietu. Šis pakalpojums ir aktīvs, ja ierīces atrašanās vietas iestatījums ir ieslēgts.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />Varat izslēgt atrašanās vietas noteikšanu, savā ierīcē izslēdzot galveno atrašanās vietas noteikšanas iestatījumu. Atrašanās vietas iestatījumos varat arī izslēgt Wi-Fi, mobilo tīklu un sensoru izmantošanu atrašanās vietas noteikšanai.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7517569744831774757">Atjaunot iestatījumus uz sākotnējiem noklusējuma iestatījumiem</translation>
 <translation id="7517786267097410259">Paroles izveide —</translation>
 <translation id="7518150891539970662">WebRTC žurnāli (<ph name="WEBRTC_LOG_COUNT" />)</translation>
@@ -4148,6 +4229,7 @@
 <translation id="7543104066686362383">Iespējot atkļūdošanas funkcijas šajā <ph name="IDS_SHORT_PRODUCT_NAME" /> ierīcē</translation>
 <translation id="7544853251252956727">Sajaukt</translation>
 <translation id="7545415673537747415">Lapā <ph name="BEGIN_LINK" />Google aktivitāšu vadīklas<ph name="END_LINK" /> varat kontrolēt to, kā Google izmanto jūsu pārlūkošanas vēsturi, lai personalizētu Meklēšanu, reklāmas un citus Google pakalpojumus.</translation>
+<translation id="7545809182698428577">Ieslēdz šeit norādītās funkcijas. Personalizēšanai tiek izmantotas jūsu darbības pārlūkā, saturs dažās jūsu apmeklētajās vietnēs, kā arī citas pārlūkošanas mijiedarbības.</translation>
 <translation id="7547317915858803630">Brīdinājums: <ph name="PRODUCT_NAME" /> iestatījumi ir saglabāti tīkla diskā. Tādējādi var tikt palēnināta darbība, notikt avārijas vai tikt zaudēti dati.</translation>
 <translation id="7547483330017600937">Izstrādājiet savā <ph name="DEVICE_TYPE" />. Jūs varat droši un nevainojami izmantot savas iecienītākās iebūvētās lietotnes un komandrindas rīkus. 
 
@@ -4183,6 +4265,7 @@
 <translation id="7589461650300748890">Uzmanieties!</translation>
 <translation id="7589661784326793847">Mirkli uzgaidiet!</translation>
 <translation id="7591957897535945411">Šī lapa ir pārtulkota.</translation>
+<translation id="7595453277607160340">Lai izmantotu Android lietotnes un nodrošinātu pienācīgu ierīces <ph name="DEVICE_TYPE" /> darbību, pierakstieties atkārtoti un veiciet atjaunināšanu.</translation>
 <translation id="7595547011743502844"><ph name="ERROR" /> (kļūdas kods: <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">Restartēt datoru</translation>
 <translation id="7600965453749440009">Nekad netulkot saturu, kas rakstīts <ph name="LANGUAGE" /> valodā</translation>
@@ -4247,6 +4330,7 @@
 <translation id="7707922173985738739">Izmantot mobilos datus</translation>
 <translation id="7709152031285164251">Lejupielāde neizdevās. <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;Apraide...</translation>
+<translation id="7711920809702896782">Attēla informācija</translation>
 <translation id="7714307061282548371">Domēna <ph name="DOMAIN" /> sīkfaili ir atļauti.</translation>
 <translation id="7714464543167945231">Sertifikāts</translation>
 <translation id="7716781361494605745">Netscape sertifikāta izdevējiestādes politikas URL</translation>
@@ -4345,6 +4429,7 @@
 <translation id="7851457902707056880">Drīkst pierakstīties tikai īpašnieka kontā. Lūdzu, atsāknējiet ierīci un pierakstieties īpašnieka kontā. Ierīce tiks automātiski atsāknēta pēc 30 sekundēm.</translation>
 <translation id="7851716364080026749">Vienmēr bloķēt piekļuvi kamerai un mikrofonam</translation>
 <translation id="7853747251428735">Vairāk rī&amp;ku</translation>
+<translation id="7856006446339184955">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 <ph name="BEGIN_LINK1" />iestatījumu<ph name="END_LINK1" /> 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 to varētu pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK2" />Uzziniet vairāk.<ph name="END_LINK2" /></translation>
 <translation id="7857117644404132472">Pievienot izņēmumu</translation>
 <translation id="7857949311770343000">Vai šī ir jaunas cilnes lapa, ko gaidījāt?</translation>
 <translation id="786073089922909430">Pakalpojums: <ph name="ARC_PROCESS_NAME" /></translation>
@@ -4363,6 +4448,7 @@
 <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>
 <translation id="7889966925761734854">Meklēšana</translation>
 <translation id="7892100671754994880">Nākamais lietotājs</translation>
 <translation id="7893008570150657497">Piekļūt fotoattēliem, mūzikai un citam multivides saturam no sava datora</translation>
@@ -4466,6 +4552,7 @@
 <translation id="8026334261755873520">Notīrīt pārlūkošanas datus</translation>
 <translation id="8028060951694135607">Microsoft atslēgas atkopšana</translation>
 <translation id="8028134359912645720">Lai redzētu šo modifikatoru īsinājumtaustiņus, turiet nospiestus taustiņus Control, Alt un Shift vai palaišanas programmas taustiņu.</translation>
+<translation id="8028803902702117856">Notiek lejupielāde: <ph name="FILE_NAME" />, <ph name="SIZE" /></translation>
 <translation id="8028993641010258682">Izmērs</translation>
 <translation id="8030656706657716245">Pievienot printeri</translation>
 <translation id="8032244173881942855">Nevar apraidīt cilni.</translation>
@@ -4665,6 +4752,7 @@
 <translation id="8366396658833131068">Tīkla savienojums ir atjaunots. Lūdzu, atlasiet citu tīklu vai nospiediet tālāk esošo pogu “Turpināt”, lai palaistu savu kioska lietotni.</translation>
 <translation id="8366947248864804596">Ja tālrunis ir atbloķēts un atrodas tuvumā, atlasiet atbloķēšanu. Pretējā gadījumā ievadiet paroli vai PIN.</translation>
 <translation id="8368859634510605990">&amp;Atvērt visas grāmatzīmes</translation>
+<translation id="8369547389711988632">Ielāde apturēta</translation>
 <translation id="8371695176452482769">Runājiet tūlīt</translation>
 <translation id="8372369524088641025">Neatbilstoša WEP atslēga</translation>
 <translation id="8373553483208508744">Izslēgt ciļņu skaņu</translation>
@@ -4706,6 +4794,7 @@
 <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>
+<translation id="8448729345478502352">Palieliniet vai samaziniet ekrānā redzamos vienumus.</translation>
 <translation id="8449008133205184768">Ielīmēt un pielāgot stilam</translation>
 <translation id="8449036207308062757">Pārvaldīt krātuvi</translation>
 <translation id="8451512073679317615">asistents</translation>
@@ -4720,6 +4809,7 @@
 <translation id="84613761564611563">Tika pieprasīta tīkla konfigurēšanas lietotāja saskarne. Lūdzu, uzgaidiet...</translation>
 <translation id="8461914792118322307">Starpniekserveris</translation>
 <translation id="8463215747450521436">Pārzinis, iespējams, ir dzēsis vai atspējojis šo uzraudzīto lietotāju. Lūdzu, sazinieties ar pārzini, ja vēlaties turpināt pierakstīties kā šis lietotājs.</translation>
+<translation id="846374874681391779">Lejupielādes josla</translation>
 <translation id="8463955938112983119">Spraudnis <ph name="PLUGIN_NAME" /> ir atspējots.</translation>
 <translation id="8464132254133862871">Šis lietotāja konts pakalpojumam nav atbilstošs.</translation>
 <translation id="8465252176946159372">Nav derīgs</translation>
@@ -4735,6 +4825,7 @@
 <translation id="8477384620836102176">&amp;Vispārīgi</translation>
 <translation id="8480082892550707549">Pat ja esat iepriekš lejupielādējis failus no šīs vietnes, iespējams, vietne ir kļuvusi nedroša uz laiku (uzlauzta). Mēģiniet lejupielādēt failu vēlāk.</translation>
 <translation id="8480869669560681089">Nezināma ierīce no: <ph name="VENDOR_NAME" /></translation>
+<translation id="8481187309597259238">USB ierīces atļaujas apstiprināšana</translation>
 <translation id="8483248364096924578">IP adrese</translation>
 <translation id="8487678622945914333">Tuvināt</translation>
 <translation id="8487693399751278191">Importēt grāmatzīmes tūlīt...</translation>
@@ -4760,6 +4851,7 @@
 <translation id="8534656636775144800">Diemžēl, mēģinot saistīt domēnu, radās problēma. Lūdzu, mēģiniet vēlreiz.</translation>
 <translation id="8535005006684281994">Netscape sertifikāta atjaunošanas URL</translation>
 <translation id="8539727552378197395">Nē (HttpOnly)</translation>
+<translation id="8541166929715485291">Sūtīt sistēmas datus. Google serveriem tiek automātiski sūtīti diagnostikas dati un dati par ierīces un lietotņu izmantošanu. Šo iestatījumu ir noteicis īpašnieks. Īpašnieks var izvēlēties nosūtīt šīs ierīces diagnostikas un lietojuma datus Google serveriem. Šo informāciju varat skatīt <ph name="BEGIN_LINK1" />iestatījumu<ph name="END_LINK1" /> sadaļā. Ja esat papildus ieslēdzis opciju “Darbības tīmeklī un lietotnēs”, šī informācija tiks saglabāta jūsu kontā, lai jūs to varētu pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK2" />Uzziniet vairāk.<ph name="END_LINK2" /></translation>
 <translation id="8545107379349809705">Slēpt informāciju...</translation>
 <translation id="8545575359873600875">Diemžēl jūsu paroli nevarēja verificēt. Iespējams, šī uzraudzītā lietotāja pārzinis nesen ir mainījis paroli. Šādā gadījumā jaunā parole tiks lietota nākamajā pierakstīšanās reizē. Mēģiniet lietot iepriekšējo paroli.</translation>
 <translation id="8546186510985480118">Ierīcē ir maz vietas</translation>
@@ -4855,6 +4947,7 @@
 <translation id="8677212948402625567">Sakļaut visu...</translation>
 <translation id="8678648549315280022">Pārvaldīt lejupielādes iestatījumus...</translation>
 <translation id="8678933587484842200">Kā vēlaties palaist šo lietojumprogrammu?</translation>
+<translation id="8679788109894721265">Šī lapa izmanto vairāk nekā <ph name="MEGABYTES" /> MB</translation>
 <translation id="8680251145628383637">Pierakstieties, lai lietotu savas grāmatzīmes, vēsturi, paroles un citus iestatījumus visās savās ierīcēs. Turklāt jūs tiksiet automātiski pierakstīts savos Google pakalpojumos.</translation>
 <translation id="8680536109547170164"><ph name="QUERY" />, atbilde, <ph name="ANSWER" /></translation>
 <translation id="8686213429977032554">Šis Diska fails vēl nav kopīgots</translation>
@@ -4868,6 +4961,7 @@
 <translation id="8698464937041809063">Google zīmējums</translation>
 <translation id="869884720829132584">Lietojumprogrammu izvēlne</translation>
 <translation id="869891660844655955">Derīguma termiņš</translation>
+<translation id="870073306461175568">Tīkla failu kopīgošana</translation>
 <translation id="8700934097952626751">Noklikšķiniet, lai sāktu meklēšanu ar balsi.</translation>
 <translation id="8704521619148782536">Tas aizņem daudz vairāk laika nekā parasti. Varat turpināt gaidīt vai atcelt darbību un mēģināt vēlreiz.</translation>
 <translation id="8705331520020532516">Sērijas numurs</translation>
@@ -4882,6 +4976,7 @@
 <translation id="8714154114375107944">Atbalsta perioda beigas</translation>
 <translation id="871476437400413057">Google saglabātajām parolēm</translation>
 <translation id="8714838604780058252">Fona grafikas</translation>
+<translation id="8715480913140015283">Fona cilne izmanto ierīces kameru.</translation>
 <translation id="8719653885894320876">Spraudni <ph name="PLUGIN_NAME" /> neizdevās lejupielādēt</translation>
 <translation id="8723829621484579639">Inkognito apkašrāmji vietnei <ph name="PARENT_SITE" /></translation>
 <translation id="8724859055372736596">Rādīt ma&amp;pē</translation>
@@ -5015,6 +5110,7 @@
 <translation id="8940081510938872932">Šobrīd jūsu dators izpilda pārāk daudz darbību. Vēlāk mēģiniet vēlreiz.</translation>
 <translation id="8941173171815156065">Atsaukt atļauju “<ph name="PERMISSION" />”</translation>
 <translation id="8941882480823041320">Iepriekšējais vārds</translation>
+<translation id="8943076760234179177">Failu kopīgošanas URL</translation>
 <translation id="894360074127026135">Netscape starptautiskā palielināšana</translation>
 <translation id="8944099748578356325">tiks ātrāk iztērēta akumulatora jauda (pašlaik: <ph name="BATTERY_PERCENTAGE" />%);</translation>
 <translation id="8944964446326379280">Lietotne <ph name="APP_NAME" /> koplieto logu ar cilni <ph name="TAB_NAME" />.</translation>
@@ -5116,6 +5212,7 @@
 <translation id="9094033019050270033">Atjaunināt paroli</translation>
 <translation id="9094982973264386462">Noņemt</translation>
 <translation id="9095253524804455615">Noņemt</translation>
+<translation id="9099674669267916096">Lappušu skaits</translation>
 <translation id="9100765901046053179">Papildu iestatījumi</translation>
 <translation id="9101691533782776290">Palaist lietotni</translation>
 <translation id="9102610709270966160">Iespējot paplašinājumu</translation>
@@ -5162,6 +5259,7 @@
 <translation id="9157697743260533322">Neizdevās iestatīt automātiskos atjauninājumus visiem lietotājiem (pirmslidojuma palaišanas kļūda: <ph name="ERROR_NUMBER" />).</translation>
 <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="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>
@@ -5185,6 +5283,7 @@
 <translation id="9214695392875603905">Glazūrkēkss</translation>
 <translation id="9215293857209265904">Ir pievienots paplašinājums <ph name="EXTENSION_NAME" /></translation>
 <translation id="9215934040295798075">Iestatīt fona tapeti</translation>
+<translation id="9218027443531385788">Lai lejupielādētu un izmantotu Android lietotnes, vispirms instalējiet nepieciešamo atjauninājumu. Kamēr ierīce <ph name="DEVICE_TYPE" /> tiek atjaunināta, to nevar izmantot. Pēc instalēšanas pabeigšanas ierīce <ph name="DEVICE_TYPE" /> tiks restartēta.</translation>
 <translation id="9218430445555521422">Iestatīt kā noklusējumu</translation>
 <translation id="9219103736887031265">Attēli</translation>
 <translation id="9220525904950070496">Konta noņemšana</translation>
@@ -5205,6 +5304,7 @@
 <translation id="939736085109172342">Jauna mape</translation>
 <translation id="942532530371314860">Lietotne <ph name="APP_NAME" /> koplieto Chrome cilni un audio.</translation>
 <translation id="942954117721265519">Šajā katalogā nav neviena attēla.</translation>
+<translation id="943972244133411984">Pārveidoja</translation>
 <translation id="945522503751344254">Sūtīt atsauksmes</translation>
 <translation id="952992212772159698">Neaktivizēts</translation>
 <translation id="957960681186851048">Šī vietne mēģināja automātiski lejupielādēt vairākus failus</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index fbb57ef..0cb25dd 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -70,6 +70,7 @@
 <translation id="1108164192735968833">SMS കണക്‌റ്റ്</translation>
 <translation id="1108600514891325577">&amp;നിറുത്തുക</translation>
 <translation id="1110155001042129815">കാത്തിരിക്കുക</translation>
+<translation id="1112420131909513020">പശ്ചാത്തല ടാബ് bluetooth ഉപയോഗിക്കുന്നു</translation>
 <translation id="1114102982691049955"><ph name="PRINTER_MANUFACTURER" /> <ph name="PRINTER_MODEL" /> (USB)</translation>
 <translation id="1114202307280046356">ഡയമണ്ട്</translation>
 <translation id="1114335938027186412">നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ Chrome OS-ലെ നിരവധി നിർണ്ണായകമായ സുരക്ഷാ ഫീച്ചറുകൾ നടപ്പിലാക്കാൻ ഉപയോഗിക്കുന്ന സുരക്ഷാ ഉപകരണമായ പരിചിത പ്ലാറ്റ്‌ഫോം മൊഡ്യൂൾ (TPM) അടങ്ങിയിരിക്കുന്നു. കൂടുതലറിയാൻ Chromebook സഹായകേന്ദ്രം സന്ദർശിക്കുക: https://support.google.com/chromebook/?p=tpm</translation>
@@ -153,6 +154,7 @@
     <ph name="BR" />
     അടുത്ത സ്‌ക്രീനിൽ, ഫീഡ്‌ബാക്ക് അയച്ച് പ്രശ്‌നം പരിഹരിക്കാൻ ഞങ്ങളെ സഹായിക്കുക.</translation>
 <translation id="121783623783282548">പാസ്‌വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല.</translation>
+<translation id="1218860753635451122">"ഞാൻ സമ്മതിക്കുന്നു" ബട്ടൺ ക്ലിക്ക് ചെയ്യുക വഴി, ഈ Google സേവനങ്ങൾക്കായി മുകളിൽ വിവരിച്ചിട്ടുള്ള പ്രോസസ്സിംഗിന് നിങ്ങൾ സമ്മതിക്കുകയാണ്.</translation>
 <translation id="122082903575839559">സര്‍‌ട്ടിഫിക്കറ്റ് സിഗ്‌നേച്ചര്‍‌ അല്‍‌ഗോരിതം</translation>
 <translation id="1221024147024329929">RSA എന്‍‌ക്രിപ്‌ഷനോടുകൂടിയ PKCS #1 MD2</translation>
 <translation id="1221825588892235038">തിരഞ്ഞെടുത്തവ മാത്രം</translation>
@@ -192,6 +194,7 @@
 <translation id="1285320974508926690">ഈ സൈറ്റ് ഒരിക്കലും വിവര്‍‌ത്തനം ചെയ്യരുത്</translation>
 <translation id="1285484354230578868">നിങ്ങളുടെ Google ഡ്രൈവ് അക്കൗണ്ടിൽ ഡാറ്റ സംഭരിക്കുക</translation>
 <translation id="1288037062697528143">സൂര്യാസ്തമയ സമയത്ത് നൈറ്റ് ലൈറ്റ് സ്വമേധയാ ഓണാകും</translation>
+<translation id="1288300545283011870">സംഭാഷണ പ്രോപ്പർട്ടികൾ</translation>
 <translation id="1293177648337752319">സൈറ്റ് അൺമ്യൂട്ട് ചെയ്യുക</translation>
 <translation id="1293509594570842875">സൂപ്പർവൈസുചെയ്‌ത പുതിയ ഉപയോക്താവിനെ സൃഷ്‌ടിക്കാനായില്ല. നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷൻ പരിശോധിച്ച്, പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="1293556467332435079">ഫയലുകള്‍</translation>
@@ -416,6 +419,7 @@
 <translation id="1624026626836496796">ഇത് ഒരിക്കൽ മാത്രം സംഭവിക്കുന്നു, നിങ്ങളുടെ ക്രെഡൻഷ്യലുകൾ സംഭരിക്കില്ല.</translation>
 <translation id="1627276047960621195">ഫയൽ ഡിസ്‌ക്രിപറ്ററുകൾ</translation>
 <translation id="1627408615528139100">നേരത്തേതന്നെ ഡൗൺലോഡുചെയ്‌തിട്ടുണ്ട്</translation>
+<translation id="1632551555529177478">പിശക്: Concierge ക്ലയിന്റ് ആരംഭിക്കുന്നത് പരാജയപ്പെട്ടു.</translation>
 <translation id="1632803087685957583">കീബോർഡ് ആവർത്തന നിരക്കും പദത്തിന്റെ പ്രവചനവും മറ്റും ക്രമീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു</translation>
 <translation id="1635033183663317347">നിങ്ങളുടെ സൂക്ഷിപ്പുകാരൻ ഇൻസ്റ്റാൾ ചെയ്‌തു.</translation>
 <translation id="1637224376458524414">നിങ്ങളുടെ iPhone-ൽ ഈ ബുക്ക്‌മാർക്ക് ലഭ്യമാക്കുക</translation>
@@ -533,6 +537,7 @@
 <translation id="180035236176489073">ഈ ഫയലുകൾ ആക്‌സസ്സുചെയ്യുന്നതിന് നിങ്ങൾ ഓൺലൈനിലായിരിക്കണം.</translation>
 <translation id="1802687198411089702">പേജ് പ്രതികരിക്കുന്നില്ല. പ്രതികരണത്തിനായി കാത്തിരിക്കുകയോ പുറത്ത് കടക്കുകയോ ചെയ്യാം.</translation>
 <translation id="1802931390041703523">ഈ പേജില്‍‌ ഫ്ലാഷ് ബ്ലോക്ക് ചെയ്‌‌തിരിക്കുന്നു</translation>
+<translation id="1805738995123446102">പശ്ചാത്തല ടാബ് നിങ്ങളുടെ മൈക്രോഫോൺ ഉപയോഗിക്കുന്നു</translation>
 <translation id="1805822111539868586">കാഴ്‌ചകൾ പരിശോധിക്കുക</translation>
 <translation id="1807938677607439181">എല്ലാ ഫയലുകളും</translation>
 <translation id="1809734401532861917"><ph name="USER_EMAIL_ADDRESS" /> ഇമെയിലിൽ എന്റെ ബുക്ക്‌മാർക്കുകളും ചരിത്രവും പാസ്‌വേഡുകളും മറ്റ് ക്രമീകരണവും ചേർക്കുക</translation>
@@ -669,6 +674,7 @@
 <translation id="2040460856718599782">ക്ഷമിക്കണം! നിങ്ങളെ പ്രാമാണീകരിക്കാന്‍ ശ്രമിക്കുമ്പോൾ എന്തോ കുഴപ്പം സംഭവിച്ചു. നിങ്ങളുടെ സൈൻ ഇൻ ക്രെഡൻഷ്യലുകൾ രണ്ടുതവണ പരിശോധിച്ചതിനുശേഷം വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="2043818754674261542">ഈ <ph name="DEVICE_TYPE" /> അൺലോക്കുചെയ്യാൻ ഫോണിനാവശ്യമായ ദൂരം</translation>
 <translation id="204497730941176055">Microsoft സര്‍‌ട്ടിഫിക്കറ്റ് ടെംപ്ലേറ്റ് നാമം</translation>
+<translation id="2045117674524495717">കീബോർഡ് കുറുക്കുവഴി സഹായി</translation>
 <translation id="2045969484888636535">കുക്കികളെ തടയുന്നത് തുടരുക</translation>
 <translation id="204622017488417136">നിങ്ങളുടെ ഉപകരണം Chrome-ന്റെ മുമ്പ് ഇൻസ്‌റ്റാളുചെയ്‌ത പതിപ്പിലേക്ക് മടങ്ങും. എല്ലാ ഉപയോക്തൃ അക്കൗണ്ടുകളും പ്രാദേശിക ഡാറ്റയും നീക്കംചെയ്യും. ഇത് പഴയപടിയാക്കാനാകില്ല.</translation>
 <translation id="2048182445208425546">നിങ്ങളുടെ നെറ്റ്‌വർക്ക് ട്രാഫിക്ക് ആക്‌സസ്സുചെയ്യുക</translation>
@@ -803,6 +809,7 @@
 <translation id="2239921694246509981">സൂപ്പർവൈസുചെയ്‌ത വ്യക്തിയെ ചേർക്കുക</translation>
 <translation id="2241053333139545397">നിരവധി വെബ്‌സൈറ്റുകളിലെ നിങ്ങളുടെ ഡാറ്റ വായിക്കുക, മാറ്റുക</translation>
 <translation id="2242687258748107519">ഫയൽ വിവരം</translation>
+<translation id="2243194103992005307">ആപ്പുകൾ നീക്കംചെയ്യാൻ, ക്രമീകരണം &gt; ആപ്പുകൾ അല്ലെങ്കിൽ ആപ്പ് മാനേജർ എന്നതിലേക്ക് പോവുക. തുടർന്ന്, അൺ ഇൻസ്‌റ്റാൾ ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ആപ്പിൽ ടാപ്പ് ചെയ്യുക (ആപ്പ് കണ്ടെത്താൻ വലത്തോട്ടോ ഇടത്തോട്ടോ സ്വൈപ്പ് ചെയ്യേണ്ടതായി വന്നേക്കാം), തുടർന്ന് അൺ ഇൻസ്‌റ്റാൾ ചെയ്യുക എന്നതിലോ പ്രവർത്തനരഹിതമാക്കുക എന്നതിലോ ടാപ്പ് ചെയ്യുക.</translation>
 <translation id="2245240762616536227">നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രത്തെ തിരയലും പരസ്യങ്ങളും മറ്റ് Google സേവനങ്ങളും വ്യക്തിപരമാക്കുന്ന വിധം നിയന്ത്രിക്കുക</translation>
 <translation id="2249605167705922988">ഉദാ. 1-5, 8, 11-13</translation>
 <translation id="2251218783371366160">സിസ്റ്റം വ്യൂവർ ഉപയോഗിച്ച് തുറക്കുക</translation>
@@ -821,6 +828,7 @@
 <translation id="2270627217422354837">ഇനി പറയുന്ന ഡൊമെയ്‌നുകളിലുള്ള ഏത് ഉപകരണം ഉപയോഗിച്ചും ഡാറ്റ എക്‌സ്‌ചേഞ്ച് ചെയ്യുക: <ph name="DOMAINS" /></translation>
 <translation id="2271088077909873520"><ph name="BEGIN_LINK" />Google ഡാഷ്‌ബോർഡിൽ<ph name="END_LINK" /> നിങ്ങളുടെ സമന്വയിപ്പിച്ച വിവരങ്ങൾ മാനേജുചെയ്യുക.</translation>
 <translation id="2272570998639520080">മാർട്ടിനി ഗ്ലാസ്</translation>
+<translation id="2275685295206198038"><ph name="APP_NAME" /> ഇൻസ്റ്റാൾ ചെയ്യുന്നത് പൂർത്തിയായി.</translation>
 <translation id="2276503375879033601">കൂടുതൽ അപ്ലിക്കേഷനുകൾ ചേർക്കുക</translation>
 <translation id="2277255602909579701">എല്ലാ കുക്കികളും സൈറ്റ് വിവരങ്ങളും</translation>
 <translation id="2277769717710009150">{COUNT,plural, =1{ഒരു ഇനം പകർത്തി}other{# ഇനങ്ങൾ പകർത്തി}}</translation>
@@ -860,6 +868,7 @@
 <translation id="2335122562899522968">ഈ പേജ് കുക്കികളെ സജ്ജമാക്കുന്നു.</translation>
 <translation id="2336228925368920074">എല്ലാ ടാബുകളും ബുക്ക്‌മാര്‍‌ക്ക് ചെയ്യുക...</translation>
 <translation id="2336381494582898602">പവർവാഷ്</translation>
+<translation id="2338776671779155318">പിശക്: ഡിസ്‌ക്ക് ചിത്രം സൃഷ്ടിക്കുന്നത് പരാജയപ്പെട്ടു.</translation>
 <translation id="2339120501444485379">പുതിയ പേര് നൽകുക</translation>
 <translation id="2339641773402824483">അപ്ഡേറ്റുകള്‍ക്കായി പരിശോധിക്കുന്നു...</translation>
 <translation id="2340263603246777781"><ph name="ORIGIN" /> ജോടിയാക്കാൻ താൽപ്പര്യപ്പെടുന്നു</translation>
@@ -879,6 +888,7 @@
 <translation id="2359808026110333948">തുടരൂ</translation>
 <translation id="236141728043665931">എല്ലായ്‌പ്പോഴും മൈക്രോഫോൺ ആക്‌സസ്സ് തടയുക</translation>
 <translation id="2365507699358342471">ക്ലിപ്പ്‌ബോർഡിലേക്ക് പകർത്തിയിട്ടുള്ള ടെക്‌സ്‌റ്റും ചിത്രങ്ങളും ഈ സൈറ്റിന് കാണാനാകും.</translation>
+<translation id="2367199180085172140">ഫയൽ പങ്കിടൽ ചേർക്കുക</translation>
 <translation id="2367972762794486313">അപ്ലിക്കേഷനുകൾ കാണിക്കുക</translation>
 <translation id="2371076942591664043">ചെയ്തുകഴിയുമ്പോള്‍ &amp;തുറക്കുക</translation>
 <translation id="2377319039870049694">ലിസ്റ്റ് കാഴ്‌ചയിലേക്ക് മാറുക</translation>
@@ -1058,6 +1068,7 @@
 <translation id="264810637653812429">അനുയോജ്യമായ ഉപകരണങ്ങളൊന്നും കണ്ടെത്തിയില്ല.</translation>
 <translation id="2648831393319960979">നിങ്ങളുടെ അക്കൗണ്ടിൽ ഉപകരണം ചേർക്കുന്നു - ഇതിന് അൽപ്പസമയമെടുത്തേക്കാം...</translation>
 <translation id="2649045351178520408">Base64-എന്‍‌കോഡുചെയ്‌ത ASCII, സര്‍‌ട്ടിഫിക്കറ്റ് ചെയിന്‍‌</translation>
+<translation id="2651353619134567122">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. ഈ ഉപകരണം നിലവിൽ Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുന്നു. നിങ്ങളുടെ ഉപകരണത്തിന്റെ <ph name="BEGIN_LINK1" />ക്രമീകരണത്തിൽ<ph name="END_LINK1" /> എപ്പോൾ വേണമെങ്കിലും ഇത് മാറ്റാനാകും. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK2" />കൂടുതലറിയുക<ph name="END_LINK2" /></translation>
 <translation id="2653033005692233957">തിരയൽ പരാജയപ്പെട്ടു</translation>
 <translation id="2653266418988778031">നിങ്ങളൊരു സര്‍ട്ടിഫിക്കേഷന്‍ അതോറിറ്റി (CA) ഇല്ലാതാക്കുകയാണെങ്കില്‍, നിങ്ങളുടെ ബ്രൌസര്‍ ഇനിമുതല്‍ ആ CA നല്‍കുന്ന സാക്‍ഷ്യപത്രങ്ങളെയൊന്നും വിശ്വസിക്കില്ല.</translation>
 <translation id="2653659639078652383">സമര്‍പ്പിക്കൂ</translation>
@@ -1298,6 +1309,7 @@
 <translation id="2986010903908656993">MIDI ഉപകരണങ്ങളുടെ പൂർണ്ണ നിയന്ത്രണത്തിലാകുന്നതിൽ നിന്ന് ഈ പേജ് തടഞ്ഞിരിക്കുന്നു.</translation>
 <translation id="2989474696604907455">അറ്റാച്ചുചെയ്‌തില്ല</translation>
 <translation id="2989786307324390836">DER-എന്‍‌കോഡുചെയ്‌ത ബൈനറി, ഒറ്റ സര്‍‌ട്ടിഫിക്കറ്റ്</translation>
+<translation id="2993165626813508977">പിശക്: Termina VM-ന്റെ ഉള്ളിലെ കണ്ടെയിനർ ആരംഭിക്കുന്നത് പരാജയപ്പെട്ടു.</translation>
 <translation id="2993517869960930405">അപ്ലിക്കേഷൻ വിവരം</translation>
 <translation id="2994669386200004489"><ph name="FILE_NAME" /> ബാക്കപ്പ് ചെയ്യാനായില്ല</translation>
 <translation id="299483336428448530">നിങ്ങളുടെ രക്ഷകർത്താവ് ഇൻസ്റ്റാൾ ചെയ്‌തു.</translation>
@@ -1350,6 +1362,7 @@
 <translation id="3045447014237878114">ഈ സൈറ്റ് ഒന്നിലധികം ഫയലുകൾ സ്വമേധയാ ഡൗൺലോഡ് ചെയ്‌തു</translation>
 <translation id="304567287000691532">സ്‌ക്രീൻ പങ്കിടൽ</translation>
 <translation id="3046910703532196514">വെബ്‌പേജ്, പൂർണ്ണമായും</translation>
+<translation id="304747341537320566">സ്പീച്ച് എഞ്ചിനുകൾ</translation>
 <translation id="304826556400666995">ടാബുകൾ അൺമ്യൂട്ട് ചെയ്യുക</translation>
 <translation id="3053013834507634016">സര്‍‌ട്ടിഫിക്കറ്റ് കീ ഉപയോഗം</translation>
 <translation id="3057861065630527966">നിങ്ങളുടെ ഫോട്ടോകളും വീഡിയോകളും ബാക്കപ്പുചെയ്യുക</translation>
@@ -1358,6 +1371,7 @@
 <translation id="3064410671692449875">ഡാറ്റ അപര്യാപ്‌തമാണ്</translation>
 <translation id="3065041951436100775">ടാബ് പ്രവർത്തനരഹിതമായതിനെക്കുറിച്ചുള്ള ഫീഡ്‌ബാക്ക്.</translation>
 <translation id="3066642396596108483">നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങളിലും ബുക്ക്മാർക്കുകൾ, പാസ്‌വേഡുകൾ, ചരിത്രം എന്നിവ സമന്വയിപ്പിക്കുക</translation>
+<translation id="3067198179881736288">ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യണോ?</translation>
 <translation id="3067198360141518313">ഈ പ്ലഗിന്‍ പ്രവര്‍ത്തിപ്പിക്കുക</translation>
 <translation id="3071624960923923138">ഒരു പുതിയ ടാബ് തുറക്കാൻ നിങ്ങൾക്ക് ഇവിടെ ക്ലിക്കുചെയ്യാം</translation>
 <translation id="3074037959626057712">നിങ്ങൾ സൈൻ ഇൻ ചെയ്‌ത്, സമന്വയിപ്പിക്കൽ ഓണാക്കി</translation>
@@ -1407,6 +1421,7 @@
 <translation id="3140353188828248647">വിലാസ ബാര്‍ ഫോക്കസ് ചെയ്യുക</translation>
 <translation id="3141318088920353606">കേൾക്കുന്നു...</translation>
 <translation id="3141917231319778873">ഇനി പറയുന്നതിൽ നൽകിയിരിക്കുന്ന അഭ്യർത്ഥന പിന്തുണയ്‌ക്കുന്നില്ല: "<ph name="DEVICE_NAME" />".</translation>
+<translation id="3143695347784622594">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുക. നിങ്ങളുടെ ഉപകരണത്തിന്റെ <ph name="BEGIN_LINK1" />ക്രമീകരണത്തിൽ<ph name="END_LINK1" /> എപ്പോൾ വേണമെങ്കിലും ഇത് മാറ്റാനാകും. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK2" />കൂടുതലറിയുക<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">പൂർത്തിയായി</translation>
 <translation id="3144647712221361880">ലിങ്ക് ഇനിപ്പറയുന്നതായി തുറക്കുക</translation>
 <translation id="3149510190863420837">Chrome അപ്ലിക്കേഷനുകൾ</translation>
@@ -1445,6 +1460,7 @@
 <translation id="3206175707080061730">"$1" എന്ന നാമത്തോട് കൂടിയ ഒരു ഫയൽ ഇതിനകം തന്നെ ഉണ്ട്. ഇത് മാറ്റി മറ്റൊന്നുവയ്ക്കണമെന്ന് നിങ്ങൾ ആഗ്രഹമുണ്ടോ?</translation>
 <translation id="3208703785962634733">സ്ഥിരീകരികരിക്കാത്തത്</translation>
 <translation id="3213187967168344806">പ്രിന്‍റർ ചേർക്കാനാവുന്നില്ല. കമ്പ്യൂട്ടർ പുനരാരംഭിച്ച് വീണ്ടും ശ്രമിക്കുക.</translation>
+<translation id="3217843140356091325">കുറുക്കുവഴി സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="321799795901478485">Zip Archiver</translation>
 <translation id="3220586366024592812"><ph name="CLOUD_PRINT_NAME" /> കണക്റ്റര്‍ പ്രോസസ്സ് ക്രാഷുചെയ്തു. പുനരാരംഭിക്കണോ?</translation>
 <translation id="3221634914176615296">ഫയലുകളുടെ അപ്ലിക്കേഷനിൽ ഉപകരണത്തിന്റെ ഉള്ളടക്കം പര്യവേക്ഷണം ചെയ്യുക.</translation>
@@ -1720,6 +1736,7 @@
 <translation id="3627320433825461852">1 മിനിറ്റിൽ താഴെ ശേഷിക്കുന്നു</translation>
 <translation id="3627588569887975815">അദൃ&amp;ശ്യ വിന്‍ഡോയിലെ ലിങ്ക് തുറക്കുക</translation>
 <translation id="3627671146180677314">നെറ്റ്‌സ്‌കേപ്പ് സര്‍‌ട്ടിഫിക്കറ്റ് പുതുക്കല്‍‌ സമയം</translation>
+<translation id="3627879631695760395"><ph name="APP" /> ഇൻസ്‌റ്റാൾ ചെയ്യുക...</translation>
 <translation id="3630995161997703415">എപ്പോൾ വേണമെങ്കിലും ഉപയോഗിക്കാൻ ഈ സൈറ്റിനെ നിങ്ങളുടെ ഷെൽഫിൽ ചേർക്കുക</translation>
 <translation id="3635030235490426869">ടാബ് 1</translation>
 <translation id="3636096452488277381">ഹലോ, <ph name="USER_GIVEN_NAME" />.</translation>
@@ -1956,6 +1973,7 @@
 <translation id="3979748722126423326"><ph name="NETWORKDEVICE" /> പ്രാപ്‌തമാക്കുക </translation>
 <translation id="3981760180856053153">അസാധുവായ സംരക്ഷിക്കല്‍ തരം നല്‍കി.</translation>
 <translation id="3983586614702900908">അജ്ഞാത വെണ്ടറിൽ നിന്നുള്ള ഉപകരണങ്ങൾ</translation>
+<translation id="3985261842049607969">Google ഡ്രൈവിലേക്ക് ബാക്കപ്പ് ചെയ്യുക. എളുപ്പത്തിൽ നിങ്ങളുടെ ഡാറ്റ പുനസ്ഥാപിക്കുക അല്ലെങ്കിൽ ഏതുസമയത്തും ഉപകരണം മാറുക. നിങ്ങളുടെ ബാക്കപ്പിൽ ആപ്പ് ഡാറ്റയും ഉൾപ്പെടുന്നു. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="3987348946546879621">ഡാറ്റ ലാഭിച്ചു</translation>
 <translation id="3987938432087324095">ക്ഷമിക്കണം, അത് മനസ്സിലായില്ല.</translation>
 <translation id="3988996860813292272">സമയ മേഖല തിരഞ്ഞെടുക്കുക</translation>
@@ -1981,6 +1999,7 @@
 <translation id="4033471457476425443">പുതിയ ഫോൾഡർ ചേർക്കുക</translation>
 <translation id="4034042927394659004">കീ തെളിച്ചം കുറയ്‌ക്കുക</translation>
 <translation id="4035758313003622889">&amp;ടാസ്ക് മാനേജര്‍</translation>
+<translation id="4036758022112812315">നിങ്ങൾ കേൾക്കാൻ ആഗ്രഹിക്കുന്നത് ഹൈലൈറ്റ് ചെയ്യുക, തുടർന്ന് തിരയുക + S അമർത്തുക. അല്ലെങ്കിൽ, തിരയൽ അമർത്തിപ്പിടിക്കുക, തുടർന്ന് ഉള്ളടക്കം തിരഞ്ഞെടുക്കാൻ ക്ലിക്ക് ചെയ്യുകയോ വലിച്ചിടുകയോ ചെയ്യുക.</translation>
 <translation id="4037084878352560732">കുതിര</translation>
 <translation id="4037889604535939429">വ്യക്തിയെ എഡിറ്റുചെയ്യുക</translation>
 <translation id="4042264909745389898">Google Chrome OS നിബന്ധനകൾ</translation>
@@ -2023,6 +2042,7 @@
 <translation id="4096824249111507322">സുരക്ഷിത മൊഡ്യൂൾ തയ്യാറാക്കുന്നു, കാക്കുക (ഇതിന് ഒരൽപ്പ സമയമെടുത്തേക്കാം)...</translation>
 <translation id="4099060993766194518">ഡിഫോൾട്ട് തിരയൽ എഞ്ചിൻ പുനഃസ്ഥാപിക്കണോ?</translation>
 <translation id="4100733287846229632">ഉപകരണത്തിൽ ഇടം വളരെ കുറവാണ്</translation>
+<translation id="4103091233824664032">സ്‌ക്രീൻ ലോക്കും സൈൻ-ഇന്നും കോൺഫിഗർ ചെയ്യാൻ നിങ്ങളുടെ പാസ്‌വേഡ് നൽകുക</translation>
 <translation id="4104163789986725820">കയ&amp;റ്റുമതി ചെയ്യുക...</translation>
 <translation id="4105563239298244027">Google ഡ്രൈവിൽ 1 TB  സൗജന്യമായി നേടുക</translation>
 <translation id="4107048419833779140">സ്‌റ്റോറേജ് ​​ഉപകരണം തിരിച്ചറിഞ്ഞ് ഒഴിവാക്കുക</translation>
@@ -2085,6 +2105,7 @@
 <translation id="4235200303672858594">പൂർണ്ണ സ്‌ക്രീൻ</translation>
 <translation id="4235813040357936597"><ph name="PROFILE_NAME" /> എന്നയാൾക്കായി അക്കൗണ്ട് ചേർക്കുക</translation>
 <translation id="4235965441080806197">സൈൻ ഇൻ റദ്ദാക്കുക</translation>
+<translation id="4239107879884489787">പിശക്: Termina കോമ്പോണന്റ് ലോഡ് ചെയ്യുന്നത് പരാജയപ്പെട്ടു.</translation>
 <translation id="4242533952199664413">ക്രമീകരണം തുറക്കുക</translation>
 <translation id="4242577469625748426">ഉപകരണത്തിൽ നയ ക്രമീകരണങ്ങൾ ഇൻസ്റ്റാളുചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു: <ph name="VALIDATION_ERROR" />.</translation>
 <translation id="4244238649050961491">കൂടുതൽ സ്‌റ്റൈലസ് ആപ്പുകൾ കാണുക</translation>
@@ -2110,6 +2131,7 @@
 <translation id="4271396100647220620">ഒന്നും യോജിക്കുന്നില്ല</translation>
 <translation id="4275830172053184480">നിങ്ങളുടെ ഉപകരണം പുനരാരംഭിക്കുക</translation>
 <translation id="4278390842282768270">അനുവദനീയം</translation>
+<translation id="4280864916190672950">ലോഡ് ചെയ്യുന്നത് നിർത്തുക</translation>
 <translation id="4281844954008187215">സേവന നിബന്ധനകൾ</translation>
 <translation id="4282196459431406533">Smart Lock ഓണാണ്</translation>
 <translation id="4284105660453474798">"$1" ഇല്ലാതാക്കാൻ നിങ്ങൾ താൽപ്പര്യപ്പെടുന്നുവെന്ന് തീർച്ചയാണോ?</translation>
@@ -2179,6 +2201,7 @@
 <translation id="4419409365248380979">കുക്കികളെ സജ്ജീകരിക്കാന്‍ <ph name="HOST" />-നെ എപ്പോഴും അനുവദിക്കുക</translation>
 <translation id="4421932782753506458">ഫ്ലഫി</translation>
 <translation id="4422347585044846479">ഈ പേജിനാ‍യി ബുക്മാര്‍ക്ക് എഡിറ്റ് ചെയ്യുക</translation>
+<translation id="4423104065312875417">അധിക സ്പീച്ച് എഞ്ചിൻ ഇൻസ്റ്റാൾ ചെയ്യുക</translation>
 <translation id="4423376891418188461">ക്രമീകരണം പുനഃസ്ഥാപിക്കുക</translation>
 <translation id="4423482519432579560">&amp;അക്ഷരത്തെറ്റ് പരിശോധന</translation>
 <translation id="442397852638519243"><ph name="USER_NAME" />, അഡ്‌മിനിസ്‌ട്രേറ്റർ നിങ്ങളുടെ പാസ്‌വേഡ് മാറ്റാൻ ആവശ്യപ്പെടുന്നു.</translation>
@@ -2465,6 +2488,11 @@
 <translation id="4883178195103750615">HTML ഫയലിലേക്ക് ബുക്ക്മാർക്കുകൾ കയറ്റുമതി ചെയ്യുക...</translation>
 <translation id="4883436287898674711">എല്ലാ <ph name="WEBSITE_1" /> സൈറ്റുകളും</translation>
 <translation id="48838266408104654">&amp;ടാസ്‌ക് മാനേജര്‍</translation>
+<translation id="4883898390143004266">ലൊക്കേഷൻ കണ്ടെത്താൻ ആപ്പുകളെ സഹായിക്കുക. ആപ്പുകൾക്കായി ലൊക്കേഷൻ മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നതിന് Google-ന്റെ ലൊക്കേഷൻ സേവനം ഉപയോഗിക്കുക. Google, നിശ്ചിത കാലയളവുകളിൽ ലൊക്കേഷൻ ഡാറ്റ ശേഖരിക്കുകയും, ലൊക്കേഷൻ കൃത്യതയും ലൊക്കേഷൻ അധിഷ്ഠിത സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ, വ്യക്തിവിവരങ്ങൾ എടുത്ത് നീക്കിക്കൊണ്ട് ഈ ഡാറ്റ ഉപയോഗിക്കുകയും ചെയ്തേക്കാം. <ph name="BEGIN_LINK1" />കൂടുതൽ അറിയുക<ph name="END_LINK1" /></translation>
+<translation id="4884740091792292473"><ph name="BEGIN_PARAGRAPH1" />Google ഡ്രൈവിലേക്ക് ബാക്കപ്പ് ചെയ്യുക. എളുപ്പത്തിൽ നിങ്ങളുടെ ഡാറ്റ പുനസ്ഥാപിക്കുക അല്ലെങ്കിൽ ഏതുസമയത്തും ഉപകരണം മാറുക. നിങ്ങളുടെ ബാക്കപ്പിൽ ആപ്പ് ഡാറ്റയും ഉൾപ്പെടുന്നു.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />ആപ്പ് വിവരങ്ങൾ എന്നത് കോൺടാക്റ്റുകൾ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ എന്നിവ പോലുള്ള രഹസ്യസ്വഭാവമുള്ളതാകാൻ സാധ്യതയുള്ള വിവരങ്ങൾ ഉൾപ്പെടെ ആപ്പ് സംരക്ഷിച്ചിട്ടുള്ള ഏതൊരു വിവരവും (ഡെവലപ്പർ ക്രമീകരണം അടിസ്ഥാനമാക്കി) ആകാം.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />ബാക്കപ്പ് ഡാറ്റയും നിങ്ങളുടെ ഡ്രൈവ് സ്റ്റോറേജ് ക്വാട്ടയും വെവ്വേറെയായിരിക്കും.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH4" />ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് ഈ സേവനം ഓഫാക്കാവുന്നതാണ്.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="4884987973312178454">6x</translation>
 <translation id="4885705234041587624">MSCHAPv2</translation>
 <translation id="4887424188275796356">സിസ്റ്റം വ്യൂവർ ഉപയോഗിച്ച് തുറക്കുക</translation>
@@ -2713,6 +2741,7 @@
 <translation id="5275973617553375938">Google ഡ്രൈവിൽ നിന്നും ഫയലുകൾ വീണ്ടെടുത്തു</translation>
 <translation id="527605719918376753">ടാബ് മ്യൂട്ടുചെയ്യുക</translation>
 <translation id="527605982717517565"><ph name="HOST" /> ല്‍‌ എല്ലായ്‌പ്പോഴുംJavaScript അനുവദിക്കുക </translation>
+<translation id="5280426389926346830">കുറുക്കുവഴി സൃഷ്‌ടിക്കണോ?</translation>
 <translation id="5282733140964383898">നിങ്ങളുടെ ബ്രൗസിംഗ് ട്രാഫിക്കിൽ ഒരു അഭ്യർത്ഥന ഉൾപ്പെടുത്തുമെന്നാണ് "ട്രാക്ക് ചെയ്യരുത്" പ്രവർത്തനക്ഷമമാക്കുന്നതിലൂടെ അർത്ഥമാക്കുന്നത്. ഒരു വെബ്‌സൈറ്റ്, അഭ്യർത്ഥനയിന്മേൽ പ്രതികരിക്കുന്നോ എന്നതിനേയും അഭ്യർത്ഥന വ്യാഖ്യാനിക്കുന്നതെങ്ങനെ എന്നതിനേയും ആശ്രയിച്ചുള്ളതായിരിക്കും ഏതൊരു ഇഫക്റ്റും. ഉദാഹരണത്തിന്, ചില വെബ്‌സൈറ്റുകൾ, നിങ്ങൾ സന്ദർശിച്ച മറ്റ് വെബ്‌സൈറ്റുകളെ അടിസ്ഥാനമാക്കിയുള്ളതല്ലാത്ത പരസ്യങ്ങൾ കാണിച്ച് ഈ അഭ്യർത്ഥനയോട് പ്രതികരിച്ചേക്കാം. നിരവധി വെബ്‌സൈറ്റുകൾ തുടർന്നും നിങ്ങളുടെ ബ്രൗസിംഗ് ഡാറ്റ ശേഖരിക്കുകയും ഉപയോഗിക്കുകയും ചെയ്യും - ഉദാഹരണത്തിന് സുരക്ഷ മെച്ചപ്പെടുത്തുന്നതിനും അവരുടെ വെബ്‌സൈറ്റുകളിൽ ഉള്ളടക്കവും സേവനങ്ങളും പരസ്യങ്ങളും നൽകുന്നതിനും റിപ്പോർട്ടിംഗ് സ്ഥിതിവിവരക്കണക്കുകൾ സൃഷ്‌ടിക്കുന്നതിനും. <ph name="BEGIN_LINK" />കൂടുതലറിയുക<ph name="END_LINK" /></translation>
 <translation id="5283677936944177147">ക്ഷമിക്കണം! സിസ്റ്റത്തിന് ഉപകരണ മോഡലോ സീരിയൽ നമ്പറോ കണ്ടെത്താനായില്ല.</translation>
 <translation id="5284445933715251131">ഡൗൺലോഡ് ചെയ്യുന്നത് തുടരുക</translation>
@@ -2745,6 +2774,7 @@
 <translation id="532360961509278431">"$1": $2 തുറക്കാൻ കഴിഞ്ഞില്ല</translation>
 <translation id="5324780743567488672">നിങ്ങളുടെ ലൊക്കേഷൻ ഉപയോഗിച്ച് സമയ മേഖല സ്വയമേവ സജ്ജമാക്കുക</translation>
 <translation id="5327248766486351172">പേര്</translation>
+<translation id="532776649628038357">ഞാൻ സമ്മതിക്കുന്നു</translation>
 <translation id="532943162177641444">ഈ ഉപകരണത്തിന് ഉപയോഗിക്കാൻ കഴിയുന്ന മൊബൈൽ ഹോട്ട്‌സ്പോട്ട് സജ്ജമാക്കുന്നതിന് നിങ്ങളുടെ <ph name="PHONE_NAME" /> ഫോണിലെ അറിയിപ്പിൽ ടാപ്പുചെയ്യുക.</translation>
 <translation id="5329858601952122676">&amp;ഇല്ലാതാക്കൂ</translation>
 <translation id="5330145655348521461">ഈ ഫയലുകൾ മറ്റൊരു ഡെസ്‌ക്‌ടോപ്പിലാണ് തുറന്നിരിക്കുന്നത്. അത് കാണാൻ <ph name="USER_NAME" /> (<ph name="MAIL_ADDRESS" />) എന്നതിലേക്ക് നീക്കുക.</translation>
@@ -2857,6 +2887,7 @@
 <translation id="5487521232677179737">ഡാറ്റ മായ്‌ക്കുക</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' പകർത്തി</translation>
 <translation id="5488468185303821006">ആള്‍‌മാറാട്ടത്തില്‍‌ അനുവദിക്കുക</translation>
+<translation id="5491110079163012109">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുക. ഉടമയാണ് ഈ ക്രമീകരണം നടപ്പാക്കിയിട്ടുള്ളത്. ഈ ഉപകരണത്തിന്റെ ഡയഗ്നോസ്റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും Google-ലേക്ക് അയയ്‌ക്കാൻ ഉടമ തിരഞ്ഞെടുത്തേക്കാം. ക്രമീകരണത്തിൽ നിങ്ങൾക്കിത് കാണാവുന്നതാണ്. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">സ്‌ക്രീൻ ഓണാണ്</translation>
 <translation id="5494362494988149300">&amp;പൂര്‍ത്തിയാക്കുമ്പോള്‍ തുറക്കുക</translation>
 <translation id="5494920125229734069">എല്ലാം തിരഞ്ഞെടുക്കുക</translation>
@@ -2917,6 +2948,7 @@
 <translation id="5568069709869097550">പ്രവേശിക്കാന്‍ കഴിയില്ല</translation>
 <translation id="5568144734023334204">Android സ്‌റ്റോറേജ്</translation>
 <translation id="5569544776448152862"><ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" /> എന്നതിൽ എൻറോൾ ചെയ്യുന്നു...</translation>
+<translation id="5572572070321843880">പിശക്: Termina VM ആരംഭിക്കുന്നത് പരാജയപ്പെട്ടു.</translation>
 <translation id="5575473780076478375">ആള്‍മാറാട്ട വിപുലീകരണം: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">നിങ്ങളുടെ ഉപകരണം വീണ്ടും സജ്ജമാക്കുന്നത് Google അക്കൗണ്ടുകളെയോ ഈ അക്കൗണ്ടുകളിൽ സമന്വയിപ്പിച്ചിരിക്കുന്ന മറ്റേതെങ്കിലും ഡാറ്റയെയോ ബാധിക്കില്ല. എന്നിരുന്നാലും, നിങ്ങളുടെ ഉപകരണത്തിൽ പ്രാദേശികമായി സംരക്ഷിച്ച എല്ലാ ഫയലുകളും ഇല്ലാതാക്കും.</translation>
 <translation id="5578059481725149024">സ്വയമേവയുള്ള സൈൻ ഇൻ ചെയ്യൽ</translation>
@@ -2993,6 +3025,7 @@
 <translation id="5694501201003948907">$1 ഇനങ്ങൾ zip ചെയ്യുന്നു...</translation>
 <translation id="5696143504434933566">"<ph name="EXTENSION_NAME" />" എന്നതിൽ നിന്നുള്ള ‌ദുരുപയോഗം റിപ്പോർട്ട് ചെയ്യുക</translation>
 <translation id="5699533844376998780">വിപുലീകരണം "<ph name="EXTENSION_NAME" />" ചേർത്തു.</translation>
+<translation id="570043786759263127">Google Play ആപ്പുകളും സേവനങ്ങളും</translation>
 <translation id="5700836101007545240">നിങ്ങളുടെ അഡ്‌മിനിസ്‌ട്രേറ്റർ ‘കണക്ഷൻ ചേർക്കൽ‘ പ്രവർത്തനരഹിതമാക്കി</translation>
 <translation id="5701381305118179107">മധ്യഭാഗം</translation>
 <translation id="5702898740348134351">&amp;തിരയല്‍‌ എഞ്ചിനുകള്‍‌ എഡിറ്റുചെയ്യുക...</translation>
@@ -3017,6 +3050,7 @@
 <translation id="5739458112391494395">വളരെ വലുത്</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> എന്നിവയും മറ്റ് <ph name="NUM_ADDITIONAL_LANGUAGES" /> ഭാഷകളും</translation>
 <translation id="5741245087700236983"><ph name="PROFILE_NAME" />: എഡിറ്റുചെയ്യാൻ തിരഞ്ഞെടുക്കുക</translation>
+<translation id="574209121243317957">പിച്ച്</translation>
 <translation id="5746169159649715125">PDF ആയി സംരക്ഷിക്കുക</translation>
 <translation id="5747552184818312860">കാലഹരണപ്പെടുന്നു</translation>
 <translation id="5747785204778348146">ഡെവലപ്പർ - അസ്ഥിരം</translation>
@@ -3176,6 +3210,7 @@
 <translation id="5991049340509704927">മാഗ്‌നിഫൈ ചെയ്യുക</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{നിങ്ങൾക്ക് വെബ് ബ്രൗസ് ചെയ്യുന്നത് തുടരാനാകുമെന്ന് ഉറപ്പാക്കാൻ, ഈ അപ്ലിക്കേഷൻ നീക്കം ചെയ്യാൻ അഡ്‌മിനിസ്ട്രേറ്ററോട് ആവശ്യപ്പെടുക.}other{നിങ്ങൾക്ക് വെബ് ബ്രൗസ് ചെയ്യുന്നത് തുടരാനാകുമെന്ന് ഉറപ്പാക്കാൻ, ഈ അപ്ലിക്കേഷനുകൾ നീക്കം ചെയ്യാൻ അഡ്‌മിനിസ്ട്രേറ്ററോട് ആവശ്യപ്പെടുക.}}</translation>
 <translation id="5993332328670040093">നിങ്ങളുടെ ഡാറ്റ ഉപയോഗം ഇനി കണക്കാക്കുന്നതല്ല.</translation>
+<translation id="6002458620803359783">തിരഞ്ഞെടുത്ത ശബ്ദങ്ങൾ</translation>
 <translation id="600424552813877586">അപ്ലിക്കേഷൻ അസാധുവാണ്.</translation>
 <translation id="6005695835120147974">മീഡിയ റൂട്ടർ</translation>
 <translation id="6006484371116297560">ക്ലാസിക്</translation>
@@ -3192,6 +3227,7 @@
 <translation id="602251597322198729">ഈ സൈറ്റ് ബഹുവിധ ഫയലുകള്‍ ഡൗൺലോഡ് ചെയ്യാന്‍ ശ്രമിച്ചു. നിങ്ങള്‍ക്കിത് അനുവദിക്കണോ?</translation>
 <translation id="6022526133015258832">പൂര്‍ണ്ണ സ്‌ക്രീനില്‍ തുറക്കുക</translation>
 <translation id="6025215716629925253">സ്റ്റാക്ക് ട്രെയ്സ്</translation>
+<translation id="6026047032548434446">ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യണോ?</translation>
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ഉപകരണം കണക്‌റ്റുചെയ്‌തു</translation>
 <translation id="6032912588568283682">ഫയല്‍ സിസ്റ്റം</translation>
 <translation id="6034662038931255275">OS അപ്‌ഡേറ്റ് വിജയകരം</translation>
@@ -3277,6 +3313,7 @@
 <translation id="6151771661215463137">നിങ്ങളുടെ ഡൗൺലോഡ് ഫോൾഡറിൽ ഇതിനകം തന്നെ ഫയൽ നിലവിലുണ്ട്.</translation>
 <translation id="615436196126345398">പ്രോട്ടോക്കോൾ</translation>
 <translation id="6154697846084421647">നിലവില്‍ പ്രവേശിച്ചു</translation>
+<translation id="6155141482566063812">പശ്ചാത്തല ടാബ് നിങ്ങളുടെ സ്ക്രീൻ പങ്കിടുന്നു</translation>
 <translation id="6156323911414505561">ബുക്ക്മാർക്ക് ബാർ കാണിക്കുക</translation>
 <translation id="6156863943908443225">സ്ക്രിപ്റ്റ് കാഷേ</translation>
 <translation id="6156960295318603523">ഭാഷാ ക്രമീകരണം</translation>
@@ -3295,6 +3332,7 @@
 <translation id="6181431612547969857">ഡൗൺലോഡ് തടഞ്ഞു</translation>
 <translation id="6185132558746749656">ഉപകരണ ലൊക്കേഷൻ</translation>
 <translation id="6185696379715117369">Page up</translation>
+<translation id="6189273858858366896">നെറ്റ്‌വർക്ക് ഫയൽ പങ്കിടലുകൾ സജ്ജീകരിക്കുക അല്ലെങ്കിൽ നിയന്ത്രിക്കുക.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ഉപയോഗിച്ച് തുറക്കുക</translation>
 <translation id="6196640612572343990">മൂന്നാം കക്ഷി കുക്കികള്‍ ബ്ലോക്കുചെയ്യുക</translation>
 <translation id="6196854373336333322">ഈ "<ph name="EXTENSION_NAME" />" വിപുലീകരണം നിങ്ങളുടെ പ്രോക്‌സി ക്രമീകരണത്തെ നിയന്ത്രിക്കുന്നുണ്ട്, എന്നുവെച്ചാൽ നിങ്ങൾ ഓൺലൈനിൽ ചെയ്യുന്ന എല്ലാ പ്രവർത്തിയിലും മാറ്റം വരുത്താനും തകർക്കാനും രഹസ്യങ്ങൾ ചോർത്താനും കഴിയും. എന്തുകൊണ്ട് ഈ മാറ്റം സംഭവിച്ചത് എന്നതിനെക്കുറിച്ച് നിങ്ങൾക്കുറപ്പില്ലെങ്കിൽ, അത് നിങ്ങൾക്ക് ആവശ്യമില്ലാത്ത കാര്യമായിരിക്കാം.</translation>
@@ -3518,6 +3556,7 @@
 <translation id="6528513914570774834">ഈ നെറ്റ്‌വർക്ക് ഉപയോഗിക്കാൻ ഉപകരണത്തിലെ മറ്റ് ഉപയോക്താക്കളെ അനുവദിക്കുക</translation>
 <translation id="652948702951888897">Chrome ചരിത്രം</translation>
 <translation id="653019979737152879"><ph name="FILE_NAME" /> എന്നത് സമന്വയിപ്പിക്കുന്നു...</translation>
+<translation id="6530681427077572136">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. ഈ ഉപകരണം നിലവിൽ Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുന്നു. നിങ്ങളുടെ ഉപകരണ ക്രമീകരണത്തിൽ എപ്പോൾ വേണമെങ്കിലും ഇത് മാറ്റാനാകും. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="6531282281159901044">അപകടകരമായ ഫയൽ സൂക്ഷിക്കുക</translation>
 <translation id="6534583978616527129">കണക്ഷൻ ആരംഭിക്കുക</translation>
 <translation id="654039047105555694"><ph name="BEGIN_BOLD" />ശ്രദ്ധിക്കുക:<ph name="END_BOLD" /> ഡാറ്റയുടെ ശേഖരം പ്രകടനത്തെ കുറയ്‌ക്കുമെന്നതിനാൽ, ചെയ്യുന്നതെന്താണെന്ന് നിങ്ങൾക്ക് അറിയാമെങ്കിലോ അങ്ങനെ ചെയ്യാൻ നിങ്ങൾ ആവശ്യപ്പെട്ടാലോ മാത്രമേ പ്രവർത്തനക്ഷമമാക്കൂ.</translation>
@@ -3568,6 +3607,7 @@
 <translation id="6607831829715835317">കൂടുതൽ ഉപക&amp;രണങ്ങൾ</translation>
 <translation id="6612358246767739896">പരിരക്ഷിത ഉള്ളടക്കം</translation>
 <translation id="6613452264606394692">ഈ പേജ് ബുക്ക്‌മാർക്ക് ചെയ്താൽ വേഗത്തിൽ ഇവിടെ മടങ്ങിയെത്താൻ കഴിയും</translation>
+<translation id="6614893213975402384">അപ്‌ഡേറ്റുകളും ആപ്പുകളും ഇൻസ്റ്റാൾ ചെയ്യുക. തുടരുന്നതിലൂടെ, ഈ ഉപകരണം Google-ൽ നിന്നും നിങ്ങളുടെ കാരിയറിൽ നിന്നും ഉപകരണ നിർമ്മാതാവിൽ നിന്നും, ഒരുപക്ഷേ സെല്ലുലാർ ഡാറ്റ ഉപയോഗിച്ച്, അപ്‌ഡേറ്റുകളും ആപ്പുകളും സ്വമേധയാ ഡൗൺലോഡ് ചെയ്‌ത് ഇൻസ്‌റ്റാൾ ചെയ്യുന്നത് നിങ്ങൾ അംഗീകരിക്കുന്നു. ഈ ആപ്പുകളിൽ ചിലത് 'ആപ്പ് വഴി വാങ്ങൽ' സൗഅകര്യം നൽകിയേക്കാം. ഏതുസമയത്തും ഈ ആപ്പുകൾ നിങ്ങൾക്ക് നീക്കം ചെയ്യാവുന്നതാണ്. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="6615455863669487791">എന്നെ കാണിക്കുക</translation>
 <translation id="661719348160586794">നിങ്ങളുടെ സംരക്ഷിച്ച പാസ്‌വേഡ് ഇവിടെ ദൃശ്യമാകും.</translation>
 <translation id="6618097958368085618">എന്തായാലും സൂക്ഷിക്കുക</translation>
@@ -3583,6 +3623,7 @@
 <translation id="6628328486509726751"><ph name="WEBRTC_LOG_UPLOAD_TIME" /> അപ്‌ലോഡുചെ‌യ്തു</translation>
 <translation id="6629841649550503054">എല്ലാം <ph name="BEGIN_LINK" />Google ഡ്രൈവിലേക്ക്<ph name="END_LINK" /> ബാക്കപ്പുചെയ്‌തു!</translation>
 <translation id="6630752851777525409">നിങ്ങൾക്കായി പ്രാമാണീകരിക്കുന്നതിന് <ph name="EXTENSION_NAME" /> ഒരു സർട്ടിഫിക്കറ്റിലേക്ക് സ്ഥിര ആക്‌സസ്സ് ആവശ്യപ്പെടുന്നു.</translation>
+<translation id="6635956300022133031">ടെക്‌സ്റ്റ് ടു സ്‌പീച്ച് ശബ്ദങ്ങൾ തിരഞ്ഞെടുത്ത് ഇഷ്ടാനുസൃതമാക്കുക</translation>
 <translation id="6639554308659482635">SQLite മെമ്മറി</translation>
 <translation id="6641138807883536517">ക്രമരഹിതമായി ജനറേറ്റുചെയ്ത സുരക്ഷിത മൊഡ്യൂൾ പാസ്‍വേഡ് ലഭ്യമല്ല. 'പവർവാഷി'ന് ശേഷം ഇങ്ങനെ സംഭവിക്കുന്നത് സ്വാഭാവികമാണ്.</translation>
 <translation id="6643016212128521049">മായ്‌ക്കുക</translation>
@@ -3590,6 +3631,7 @@
 <translation id="6644846457769259194">നിങ്ങളുടെ ഉപകരണം അപ്‌ഡേറ്റുചെയ്യുന്നു, (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="6647228709620733774">നെറ്റ്സ്കേപ്പ് സര്‍ട്ടിഫിക്കേഷന്‍ അതോറിറ്റി അസാധുവാക്കല്‍ URL</translation>
 <translation id="6647838571840953560">നിലവിൽ <ph name="CHANNEL_NAME" /> ചാനലിലാണ്</translation>
+<translation id="6648911618876616409">ഒരു സുപ്രധാന അപ്ഡേറ്റ് ഇൻസ്റ്റാൾ ചെയ്യാൻ തയ്യാറാണ്. ആരംഭിക്കാൻ സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="6649018507441623493">ഒരു നിമിഷം മാത്രം…</translation>
 <translation id="6649563841575838401">ആർക്കൈവ് ഫോർമാറ്റിന് പിന്തുണയില്ല അല്ലെങ്കിൽ ഫയൽ തകർന്നിരിക്കുന്നു.</translation>
 <translation id="665061930738760572">&amp;പുതിയ വിൻഡോയിൽ തുറക്കുക</translation>
@@ -3609,6 +3651,7 @@
 <translation id="6678717876183468697">ചോദ്യ URL</translation>
 <translation id="6680028776254050810">ഉപയോക്താക്കളെ സ്വിച്ചുചെയ്യുക</translation>
 <translation id="6680442031740878064">ലഭ്യമായ ഇടം: <ph name="AVAILABLE_SPACE" /></translation>
+<translation id="6680650203439190394">റേറ്റ് ചെയ്യുക</translation>
 <translation id="6681668084120808868">ഫോട്ടോ എടുക്കുക</translation>
 <translation id="6681964764822470072">"<ph name="APP_NAME" />" അൺഇൻസ്‌റ്റാൾ ചെയ്യുന്നതാണ്.</translation>
 <translation id="668599234725812620">Google Play തുറക്കുക</translation>
@@ -3625,6 +3668,7 @@
 <translation id="6702639462873609204">&amp;എഡിറ്റുചെയ്യുക...</translation>
 <translation id="6706210727756204531">വ്യാപ്‌തി</translation>
 <translation id="6707389671160270963">SSL ക്ലയന്‍റ് സര്‍‌ട്ടിഫിക്കറ്റ്</translation>
+<translation id="6708029444764748914">നിങ്ങളുടെ ഉപകരണത്തിലേക്ക് സൈൻ ഇൻ ചെയ്യാൻ പിൻ ഉപയോഗിക്കുന്നതിന് അത് വീണ്ടും നൽകുക.</translation>
 <translation id="6708242697268981054">ഉത്ഭവം:</translation>
 <translation id="6709357832553498500"><ph name="EXTENSIONNAME" /> ഉപയോഗിച്ച് കണക്റ്റുചെയ്യുക</translation>
 <translation id="6710213216561001401">കഴിഞ്ഞ</translation>
@@ -3754,6 +3798,7 @@
 <translation id="6922128026973287222">Google ഡാറ്റ സേവർ ഉപയോഗിച്ച് വിവരം സംരക്ഷിച്ച് വേഗത്തിൽ ബ്രൗസുചെയ്യുക. കൂടുതലറിയാൻ ക്ലിക്കുചെയ്യുക.</translation>
 <translation id="6923132443355966645">സ്ക്രോൾ ചെയ്യുക / ക്ലിക്ക് ചെയ്യുക</translation>
 <translation id="6929555043669117778">പോപ്പ്-അപ്പുകള്‍‌ തടയുന്നത് തുടരുക</translation>
+<translation id="6929835486583850209"><ph name="APP_NAME" /> ഇൻസ്റ്റാൾ ചെയ്യുന്നതിൽ പിശക്...</translation>
 <translation id="6930242544192836755">സമയ ദൈർഘ്യം</translation>
 <translation id="6934241953272494177">നിങ്ങളുടെ മീഡിയ ഉപകരണം സ്‌കാൻ ചെയ്യുന്നു...
     <ph name="LINE_BREAK1" />
@@ -3857,6 +3902,7 @@
 <translation id="7077829361966535409">നിലവിലെ പ്രോക്‌സി ക്രമീകരണങ്ങൾ ഉപയോഗിച്ച് ലോഡുചെയ്യുന്നതിൽ സൈൻ-ഇൻ പേജ് പരാജയപ്പെട്ടു. <ph name="GAIA_RELOAD_LINK_START" />വീണ്ടും സൈൻ ഇൻ ചെയ്യാൻ ശ്രമിക്കുക<ph name="GAIA_RELOAD_LINK_END" />, അല്ലെങ്കിൽ മറ്റ് <ph name="PROXY_SETTINGS_LINK_START" />പ്രോക്‌സി ക്രമീകരണങ്ങൾ<ph name="PROXY_SETTINGS_LINK_END" /> ഉപയോഗിക്കുക.</translation>
 <translation id="7078120482318506217">എല്ലാ നെറ്റ്‌വർക്കുകളും</translation>
 <translation id="708060913198414444">ഓഡിയോ വിലാസം പകർത്തുക</translation>
+<translation id="7081952801286122383">നിങ്ങൾ അദൃശ്യ മോഡിലാണ്</translation>
 <translation id="708278670402572152">സ്‌കാനിംഗ് പ്രവർത്തനക്ഷമമാക്കാൻ വിച്ഛേദിക്കുക</translation>
 <translation id="7084192839369222683">പ്രധാനപ്പെട്ട ഉള്ളടക്കം മാത്രം റൺ ചെയ്യുക</translation>
 <translation id="7085389578340536476">ഓഡിയോ റെക്കോർഡ് ചെയ്യാൻ Chrome-നെ അനുവദിക്കണോ?</translation>
@@ -3924,6 +3970,9 @@
 <translation id="7191454237977785534">ഇതായി ഫയൽ സംരക്ഷിക്കുക</translation>
 <translation id="7193374945610105795"><ph name="ORIGIN" />-നായി പാസ്‌വേഡുകളൊന്നും സംരക്ഷിച്ചിട്ടില്ല</translation>
 <translation id="7196835305346730603">വിളിപ്പാടരികെയുള്ള Chromeboxes തിരയുന്നു...</translation>
+<translation id="7197160646667308890"><ph name="BEGIN_PARAGRAPH1" />നിങ്ങളുടെ ഉപകരണത്തെയും നിങ്ങളത് ഉപയോഗിക്കുന്ന രീതിയെയും കുറിച്ചുള്ള പൊതുവായ വിവരങ്ങളാണിത് (ബാറ്ററി ലെവൽ, ആപ്പ് ഉപയോഗം, നെറ്റ്‌വർക്ക് കണക്‌റ്റിവിറ്റി എന്നിവ പോലെയുള്ള വിവരങ്ങൾ). എല്ലാവർക്കുമായി Google-ന്റെ ഉൽപ്പന്നങ്ങളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഈ ഡാറ്റ ഉപയോഗിക്കപ്പെടും. Android ഡെവലപ്പർമാർ പോലുള്ള പങ്കാളികൾക്ക് അവരുടെ ആപ്പുകളും ഉൽപ്പന്നങ്ങളും മികച്ചതാക്കുന്നതിനും, സമാഹരിച്ച ചില വിവരങ്ങൾ, സഹായിക്കും.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />ഈ ഫീച്ചർ ഓഫാക്കുന്നത്, സിസ്റ്റം അപ്‌ഡേറ്റുകളും സുരക്ഷയും പോലുള്ള അത്യാവശ്യ സേവനങ്ങൾക്ക് ആവശ്യമായ വിവരങ്ങൾ അയയ്‌ക്കുന്നതിനുള്ള ഉപകരണത്തിന്റെ കഴിവിനെ ബാധിക്കുകയില്ല.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />നിങ്ങൾക്ക്, ക്രമീകരണം &gt; Google എന്നതിൽ നിന്ന് ഈ ഫീച്ചർ നിയന്ത്രിക്കാവുന്നതാണ്. മെനുവിൽ നിന്ന് ഉപയോഗവും ഡയഗ്നോസ്റ്റിക്‌സും തിരഞ്ഞെടുക്കുക.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7199158086730159431">സ&amp;ഹായം നേടുക</translation>
 <translation id="720110658997053098">ഈ ഉപകരണം ശാശ്വതമായി കിയോസ്ക് മോഡിൽ നിലനിർത്തുക</translation>
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ഇല്ലാതാക്കി</translation>
@@ -3942,9 +3991,11 @@
 <translation id="7223775956298141902">അയ്യോ... നിങ്ങൾക്ക് വിപുലീകരണങ്ങൾ ഒന്നുമില്ല :-(</translation>
 <translation id="7225179976675429563">നെറ്റ്‌വർക്ക് തരം നഷ്‌ടമായി</translation>
 <translation id="7228479291753472782">വെബ്‌സൈറ്റിന് ജിയോലൊക്കേഷൻ, മൈക്രോഫോൺ, ക്യാമറ എന്നിവ പോലുള്ള ഫീച്ചറുകൾ ഉപയോഗിക്കാൻ കഴിയുമോ എന്ന് വ്യക്തമാക്കുന്ന ക്രമീകരണം കൈകാര്യം ചെയ്യുക.</translation>
+<translation id="7228523857728654909">സ്‌ക്രീൻ ലോക്കും സൈൻ-ഇന്നും</translation>
 <translation id="7229570126336867161">EVDO ആവശ്യമുണ്ട്</translation>
 <translation id="7230787553283372882">നിങ്ങളുടെ ടെക്‌സ്‌‌റ്റ് വലുപ്പം ഇഷ്‌ടാനുസൃതമാക്കുക</translation>
 <translation id="7232750842195536390">പേരുമാറ്റൽ പരാജയപ്പെട്ടു</translation>
+<translation id="7233309214676155451">നിങ്ങളുടെ ഉപകരണത്തിലുടനീളം Chrome സമന്വയിപ്പിച്ച് വ്യക്തിപരമാക്കുക</translation>
 <translation id="7238585580608191973">SHA-256 ഫിംഗര്‍പ്രിന്‍റ്</translation>
 <translation id="7240120331469437312">സര്‍‌ട്ടിഫിക്കറ്റ് വിഷയേതര നാമം</translation>
 <translation id="7240339475467890413">പുതിയ ഹോട്ട്‌സ്പോട്ടിലേക്ക് കണക്റ്റുചെയ്യണോ?</translation>
@@ -3975,6 +4026,7 @@
 <translation id="727952162645687754">ഡൗൺലോഡ് പിശക്</translation>
 <translation id="7279701417129455881">കുക്കി തടയുന്നത് മാനേജുചെയ്യുക...</translation>
 <translation id="7280041992884344566">Chrome ദോഷകരമായ സോഫ്റ്റ്‌വെയർ തിരയുന്നതിനിടെ ഒരു പിശക് സംഭവിച്ചു</translation>
+<translation id="7280649757394340890">ടെക്സ്റ്റ് ടു സ്പീച്ച് ശബ്‌ദ ക്രമീകരണം</translation>
 <translation id="7280877790564589615">അനുമതി അഭ്യർത്ഥിച്ചു</translation>
 <translation id="7282992757463864530">വിവരബാര്‍</translation>
 <translation id="7283041136720745563">നിങ്ങളുടെ Google ഡ്രൈവ് ക്വോട്ടയ്ക്ക് ആവശ്യമായ വലിപ്പമില്ല.</translation>
@@ -3996,6 +4048,7 @@
 <translation id="7309257895202129721">&amp;നിയന്ത്രണങ്ങള്‍‌ കാണിക്കുക</translation>
 <translation id="7311079019872751559">അൺസാൻഡ്‌ബോക്‌സ് ചെയ്‌ത പ്ലഗിൻ ആക്‌സസ്സ്</translation>
 <translation id="7311891583377621132">ഫിംഗർപ്രിന്റിന്റെ മറ്റൊരു ഭാഗം ക്യാപ്‌ചർ ചെയ്യാൻ ‌ചെറുതായി നീക്കുക</translation>
+<translation id="7317680720589234980">സ്‌ക്രീൻ ലോക്ക്, സൈൻ-ഇൻ ഓപ്‌ഷനുകൾ</translation>
 <translation id="7317938878466090505"><ph name="PROFILE_NAME" /> (നിലവിൽ)</translation>
 <translation id="7321545336522791733">സെർവർ ലഭ്യമല്ല</translation>
 <translation id="7324297612904500502">ബീറ്റ ഫോറം</translation>
@@ -4125,6 +4178,9 @@
 <translation id="7507930499305566459">സ്റ്റാറ്റസ് റെസ്‌പോണ്ടര്‍‌ സര്‍‌ട്ടിഫിക്കറ്റ്</translation>
 <translation id="7508545000531937079">സ്ലൈഡ്‌ഷോ</translation>
 <translation id="7513029293694390567">സംരക്ഷിച്ച ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് വെബ്‌സൈറ്റുകളിലേക്ക് സ്വയം സൈൻ ഇൻ ചെയ്യുക. പ്രവർത്തനരഹിതമാണെങ്കിൽ, ഒരു വെബ്‌സൈറ്റിലേക്ക് സൈൻ ഇൻ ചെയ്യുന്നതിന് മുമ്പ് ഓരോ തവണയും നിങ്ങളോട് സ്ഥിരീകരിക്കാൻ ആവശ്യപ്പെടും.</translation>
+<translation id="7515154058529101840"><ph name="BEGIN_PARAGRAPH1" />ലൊക്കേഷൻ കണ്ടെത്താൻ ആപ്പുകളെ സഹായിക്കുക. ആപ്പുകൾക്കായി ലൊക്കേഷൻ മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നതിന് Google-ന്റെ ലൊക്കേഷൻ സേവനം ഉപയോഗിക്കുക. Google, നിശ്ചിത കാലയളവുകളിൽ ലൊക്കേഷൻ ഡാറ്റ ശേഖരിക്കുകയും, ലൊക്കേഷൻ കൃത്യതയും ലൊക്കേഷൻ അധിഷ്ഠിത സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ, വ്യക്തിവിവരങ്ങൾ എടുത്ത് നീക്കിക്കൊണ്ട് ഈ ഡാറ്റ ഉപയോഗിക്കുകയും ചെയ്തേക്കാം.<ph name="END_PARAGRAPH1" />
+    <ph name="BEGIN_PARAGRAPH2" />നിങ്ങളുടെ ഉപകരണത്തിന്റെ ലൊക്കേഷൻ അനുമാനിക്കാൻ വൈഫൈയും മൊബൈൽ നെറ്റ്‌വർക്കുകളും സെൻസറുകളും പോലുള്ള ഉറവിടങ്ങളെ Google-ന്റെ ലൊക്കേഷൻ സേവനം ഉപയോഗിക്കുന്നു. ഉപകരണത്തിന്റെ ലൊക്കേഷൻ ക്രമീകരണം ഓണായിരിക്കുമ്പോൾ ഈ സേവനം സജീവമാകും.<ph name="END_PARAGRAPH2" />
+    <ph name="BEGIN_PARAGRAPH3" />ഈ ഉപകരണത്തിലെ പ്രധാന ലൊക്കേഷൻ ക്രമീകരണം ഓഫാക്കുക വഴി നിങ്ങൾക്ക് ലൊക്കേഷൻ ഓഫാക്കാവുന്നതാണ്. കൂടാതെ ലൊക്കേഷൻ ക്രമീകരണത്തിൽ, ലൊക്കേഷന് വേണ്ടിയുള്ള വൈഫൈ, മൊബൈൽ നെറ്റ്‌വർക്കുകൾ, സെൻസറുകൾ എന്നിവയുടെ ഉപയോഗവും ഓഫാക്കാനാവും.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="7517569744831774757">ക്രമീകരണങ്ങളെ അവയുടെ യഥാർത്ഥ സ്ഥിര ക്രമീകരണങ്ങളിലേക്ക് പുനഃസ്ഥാപിക്കുക.</translation>
 <translation id="7517786267097410259">ഒരു പാസ്‌വേഡ് സൃഷ്‌ടിക്കുക -</translation>
 <translation id="7518150891539970662">WebRTC ലോഗുകൾ (<ph name="WEBRTC_LOG_COUNT" />)</translation>
@@ -4140,6 +4196,7 @@
 <translation id="7543104066686362383">ഈ <ph name="IDS_SHORT_PRODUCT_NAME" />  ഉപകരണത്തിലെ ഡീബഗ്ഗുചെയ്യൽ ഫീച്ചറുകൾ പ്രവർത്തനക്ഷമമാക്കുന്നു</translation>
 <translation id="7544853251252956727">ഷഫിൾ ചെയ്യുക</translation>
 <translation id="7545415673537747415"><ph name="BEGIN_LINK" />Google ആക്‌റ്റിവിറ്റി നിയന്ത്രണങ്ങളിൽ<ph name="END_LINK" /> നിന്ന് തിരയലും പരസ്യങ്ങളും മറ്റ് Google സേവനങ്ങളും വ്യക്തിപരമാക്കാൻ, നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രം Google ഉപയോഗിക്കുന്ന രീതി നിയന്ത്രിക്കുക.</translation>
+<translation id="7545809182698428577">ഇവിടെ ലിസ്റ്റ് ചെയ്‌തിട്ടുള്ള ഫീച്ചറുകൾ ഓണാക്കുക. വ്യക്തിപരമാക്കലിനായി, നിങ്ങളുടെ ബ്രൗസർ ആക്‌റ്റിവിറ്റിയും നിങ്ങൾ സന്ദർശിക്കുന്ന സൈറ്റുകളിലെ ഉള്ളടക്കവും മറ്റ് ബ്രൗസർ ഇന്റരാക്ഷനുകളും ഉപയോഗിക്കുന്നു.</translation>
 <translation id="7547317915858803630">മുന്നറിയിപ്പ്: നിങ്ങളുടെ <ph name="PRODUCT_NAME" /> ക്രമീകരണങ്ങൾ ഒരു നെറ്റ്‌വർക്ക് ഡ്രൈവിൽ സംഭരിച്ചിരിക്കുന്നു. ഇതിന്റെ ഫലം മന്ദഗതിയിലുള്ള പ്രവർത്തനങ്ങൾ, ക്രാഷുകൾ അല്ലെങ്കിൽ ഡാറ്റ നഷ്‌ടപ്പെടുന്നത് പോലുമാകാം.</translation>
 <translation id="7547483330017600937">നിങ്ങളുടെ <ph name="DEVICE_TYPE" />-ൽ വികസിപ്പിച്ചെടുക്കുക. നിങ്ങൾക്ക് പ്രിയപ്പെട്ട നേറ്റീവ് ആപ്പുകൾ, കമാൻഡ്-ലൈൻ ടൂളുകൾ എന്നിവ പരിധികളില്ലാതെയും സുരക്ഷിതവുമായും റൺ ചെയ്യാനാവും.
 
@@ -4175,6 +4232,7 @@
 <translation id="7589461650300748890">ശ്രദ്ധിക്കൂ.</translation>
 <translation id="7589661784326793847">ഒരു നിമിഷം കാത്തിരിക്കുക</translation>
 <translation id="7591957897535945411">ഈ പേജ് വിവർത്തനം ചെയ്‌തു.</translation>
+<translation id="7595453277607160340">Android ആപ്പുകൾ ഉപയോഗിക്കാനും <ph name="DEVICE_TYPE" /> ഉപകരണത്തെ ശരിയായി പ്രവർത്തിക്കുന്ന നിലയിൽ നിലനിർത്താനും, വീണ്ടും സൈൻ ഇൻ ചെയ്‌തശേഷം അപ്‌ഡേറ്റ് ചെയ്യുക.</translation>
 <translation id="7595547011743502844"><ph name="ERROR" /> (പിശക് കോഡ് <ph name="ERROR_CODE" />).</translation>
 <translation id="7598466960084663009">കമ്പ്യൂട്ടർ റീസ്‌റ്റാർട്ടുചെയ്യുക</translation>
 <translation id="7600965453749440009"><ph name="LANGUAGE" /> ഒരിക്കലും വിവര്‍‌ത്തനം ചെയ്യരുത്</translation>
@@ -4337,6 +4395,7 @@
 <translation id="7851457902707056880">സൈൻ ഇൻ ചെയ്യുന്നത് ഉടമയുടെ അക്കൗണ്ടിനുമാത്രമായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. റീബൂട്ട് ചെയ്‌തതിനുശേഷം ഉടമയുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക. 30 സെക്കൻഡിനുള്ളിൽ മെഷീൻ സ്വയമേവ റീബൂട്ട് ചെയ്യും.</translation>
 <translation id="7851716364080026749">ക്യാമറ, മൈക്രോഫോൺ എന്നിവയുടെ ആക്‌സസ്സ് എല്ലായ്പ്പോഴും തടയുക</translation>
 <translation id="7853747251428735">കൂടുതൽ ഉപകരണങ്ങൾ</translation>
+<translation id="7856006446339184955">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. ഈ ഉപകരണം നിലവിൽ Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുന്നു. ഉടമയാണ് ഈ <ph name="BEGIN_LINK1" />ക്രമീകരണം<ph name="END_LINK1" /> നടപ്പാക്കിയിട്ടുള്ളത്. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK2" />കൂടുതലറിയുക<ph name="END_LINK2" /></translation>
 <translation id="7857117644404132472">ഒഴിവാക്കൽ ചേർക്കുക</translation>
 <translation id="7857949311770343000">നിങ്ങൾ ഉദ്ദേശിച്ച പുതിയ ടാബ് പേജ് ഇതാണോ?</translation>
 <translation id="786073089922909430">സേവനം: <ph name="ARC_PROCESS_NAME" /></translation>
@@ -4656,6 +4715,7 @@
 <translation id="8366396658833131068">നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്റ്റിവിറ്റി പുനഃസ്‌ഥാപിച്ചു. നിങ്ങളുടെ കിയോസ്‌ക് അപ്ലിക്കേഷൻ സമാരംഭിക്കാൻ മറ്റൊരു നെറ്റ്‌വർക്ക് തിരഞ്ഞെടുക്കുകയോ ചുവടെയുള്ള 'തുടരുക' ബട്ടൺ അമർത്തുകയോ ചെയ്യുക.</translation>
 <translation id="8366947248864804596">നിങ്ങളുടെ ഫോൺ അൺലോക്കുചെയ്ത നിലയിൽ സമീപത്തുള്ളപ്പോൾ, അൺലോക്ക് തിരഞ്ഞെടുക്കുക. അല്ലെങ്കിൽ നിങ്ങളുടെ പാസ്‌വേഡോ പിന്നോ നൽകുക.</translation>
 <translation id="8368859634510605990">എല്ലാ ബുക്ക്‍മാര്‍ക്കുകളും &amp;തുറക്കുക</translation>
+<translation id="8369547389711988632">ലോഡ് ചെയ്യുന്നത് നിലച്ചു</translation>
 <translation id="8371695176452482769">ഇപ്പോള്‍ സംസാരിക്കുക</translation>
 <translation id="8372369524088641025">മോശം WEP കീ</translation>
 <translation id="8373553483208508744">ടാബുകൾ മ്യൂട്ടുചെയ്യുക</translation>
@@ -4697,6 +4757,7 @@
 <translation id="8439506636278576865">പേജുകൾ ഈ ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്യാനുള്ള ഓഫർ</translation>
 <translation id="8446884382197647889">കൂടുതലറിയുക</translation>
 <translation id="8447409163267621480">ഒന്നുകിൽ Ctrl അല്ലെങ്കിൽ, Alt ഉൾപ്പെടുത്തുക</translation>
+<translation id="8448729345478502352">സ്ക്രീനിലെ ഇനങ്ങൾ കൂടുതൽ ചെറുതോ വലുതോ ആക്കുക</translation>
 <translation id="8449008133205184768">ശൈലി ഒട്ടിക്കുകയും പൊരുത്തപ്പെടുത്തുകയും ചെയ്യുക</translation>
 <translation id="8449036207308062757">സ്റ്റോറേജ് മാനേജുചെയ്യുക</translation>
 <translation id="8451512073679317615">അസിസ്‌റ്റന്‍റ്</translation>
@@ -4751,6 +4812,7 @@
 <translation id="8534656636775144800">ക്ഷമിക്കണം! ഡൊമെയ്‌നിൽ ചേരാൻ ശ്രമിക്കുമ്പോൾ എന്തോ കുഴപ്പമുണ്ടായി. വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="8535005006684281994">നെറ്റ്‌സ്‌കേപ്പ് സര്‍‌ട്ടിഫിക്കറ്റ് പുതുക്കല്‍‌URL</translation>
 <translation id="8539727552378197395">ഇല്ല (Httpമാത്രം)</translation>
+<translation id="8541166929715485291">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുക. ഉടമയാണ് ഈ ക്രമീകരണം നടപ്പാക്കിയിട്ടുള്ളത്. ഈ ഉപകരണത്തിന്റെ ഡയഗ്നോസ്റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും Google-ലേക്ക് അയയ്‌ക്കാൻ ഉടമ തിരഞ്ഞെടുത്തേക്കാം. <ph name="BEGIN_LINK1" />ക്രമീകരണത്തിൽ<ph name="END_LINK1" /> നിങ്ങൾക്കിത് കാണാവുന്നതാണ്. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK2" />കൂടുതലറിയുക<ph name="END_LINK2" /></translation>
 <translation id="8545107379349809705">വിവരങ്ങൾ മറയ്‌ക്കുക...</translation>
 <translation id="8545575359873600875">ക്ഷമിക്കണം, നിങ്ങളുടെ പാസ്‌വേഡ് പരിശോധിച്ചുറപ്പിക്കാനായില്ല. ഈ സൂപ്പർവൈസുചെയ്‌ത ഉപയോക്താവിന്റെ മാനേജർ അടുത്തിടെ പാസ്‌വേഡ് മാറ്റിയിരിക്കാം. അങ്ങനെയാണെങ്കിൽ അടുത്ത തവണ നിങ്ങൾ സൈൻ ഇൻ ചെയ്യുമ്പോൾ പുതിയ പാസ്‌വേഡ് ബാധകമാകും. നിങ്ങളുടെ പഴയ പാസ്‌വേഡ് ഉപയോഗിക്കുന്നത് പരീക്ഷിച്ചുനോക്കൂ.</translation>
 <translation id="8546186510985480118">ഉപകരണത്തിൽ ഇടം കുറവാണ്</translation>
@@ -4846,6 +4908,7 @@
 <translation id="8677212948402625567">എല്ലാം സങ്കോചിപ്പിക്കുക...</translation>
 <translation id="8678648549315280022">ഡൗൺലോഡ് ക്രമീകരണങ്ങൾ നിയന്ത്രിക്കുക...</translation>
 <translation id="8678933587484842200">ഈ ആപ്പ് എങ്ങനെ ആരംഭിക്കാനാണ് നിങ്ങൾ ആഗ്രഹിക്കുന്നത്?</translation>
+<translation id="8679788109894721265">ഈ പേജ് <ph name="MEGABYTES" />MB-യിലും കൂടുതൽ ഉപയോഗിക്കുന്നു</translation>
 <translation id="8680251145628383637">നിങ്ങളുടെ എല്ലാ ഉപകരണങ്ങളിലും ബുക്ക്‌മാർക്കുകൾ, ചരിത്രം, പാസ്‌വേഡുകൾ, മറ്റ് ക്രമീകരണം എന്നിവ ലഭിക്കാൻ സൈൻ ഇൻ ചെയ്യുക. നിങ്ങളുടെ Google സേവനങ്ങളിലേക്ക് സ്വയമേവ നിങ്ങൾ സൈൻ ഇൻ ആകുന്നതുമാണ്.</translation>
 <translation id="8680536109547170164"><ph name="QUERY" />, ഉത്തരം, <ph name="ANSWER" /></translation>
 <translation id="8686213429977032554">ഈ ഡ്രൈവ് ഫയൽ ഇതുവരെ പങ്കിട്ടില്ല</translation>
@@ -4859,6 +4922,7 @@
 <translation id="8698464937041809063">Google ഡ്രോയിംഗ്</translation>
 <translation id="869884720829132584">അപ്ലിക്കേഷനുക‌ള്‍‌ മെനു</translation>
 <translation id="869891660844655955">കാലഹരണപ്പെടല്‍‌ തീയതി</translation>
+<translation id="870073306461175568">നെറ്റ്‌വർക്ക് ഫയൽ പങ്കിടലുകൾ</translation>
 <translation id="8700934097952626751">ശബ്ദ തിരയൽ ആരംഭിക്കുന്നതിന് ക്ലിക്കുചെയ്യുക</translation>
 <translation id="8704521619148782536">ഇത് സാധാരണയിലും കൂടുതൽ സമയമെടുക്കുന്നു. നിങ്ങൾക്ക് കാത്തിരിക്കാം, അല്ലെങ്കിൽ റദ്ദാക്കി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="8705331520020532516">സീരിയല്‍‌ നമ്പര്‍‌</translation>
@@ -4873,6 +4937,7 @@
 <translation id="8714154114375107944">ഇനി പിന്തുണയ്ക്കില്ല</translation>
 <translation id="871476437400413057">Google സംരക്ഷിത പാസ്‌വേഡുകൾ</translation>
 <translation id="8714838604780058252">പശ്ചാത്തല ഗ്രാഫിക്സ്</translation>
+<translation id="8715480913140015283">പശ്ചാത്തല ടാബ് നിങ്ങളുടെ ക്യാമറ ഉപയോഗിക്കുന്നു</translation>
 <translation id="8719653885894320876"><ph name="PLUGIN_NAME" /> ഡൗൺലോഡ് ചെയ്യാനായില്ല</translation>
 <translation id="8723829621484579639">ഇനിപ്പറയുന്നതിന്റെ ഇൻകോഗ്‌നിറ്റോ ഉപഫ്രെയിമുകൾ: <ph name="PARENT_SITE" /></translation>
 <translation id="8724859055372736596">&amp;ഫോള്‍ഡറില്‍ കാണിക്കുക</translation>
@@ -5005,6 +5070,7 @@
 <translation id="8940081510938872932">നിങ്ങളുടെ കമ്പ്യൂട്ടർ ഇപ്പോൾ വളരെയധികം കാര്യങ്ങൾ ചെയ്യുന്നു.  പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="8941173171815156065">'<ph name="PERMISSION" />' എന്ന അനുമതി റദ്ദാക്കുക</translation>
 <translation id="8941882480823041320">മുമ്പത്തെ വാക്ക്</translation>
+<translation id="8943076760234179177">ഫയൽ പങ്കിടൽ Url</translation>
 <translation id="894360074127026135">നെറ്റ്‌സ്‌കേപ്പ് അന്തര്‍‌ദ്ദേശീയ സ്റ്റെപ്പ്-അപ്പ്</translation>
 <translation id="8944099748578356325">കൂടുതൽ വേഗത്തിൽ ബാറ്ററി ഉപയോഗിക്കുക (നിലവിൽ <ph name="BATTERY_PERCENTAGE" />%)</translation>
 <translation id="8944964446326379280"><ph name="APP_NAME" />, <ph name="TAB_NAME" /> എന്നതുമായി ഒരു വിൻഡോ പങ്കിടുന്നു.</translation>
@@ -5151,6 +5217,7 @@
 <translation id="9157697743260533322">എല്ലാ ഉപയോക്താക്കൾക്കുമായി സ്വയമേയുള്ള അപ്‌ഡേറ്റുകൾ സജ്ജമാക്കാനായില്ല (പ്രീഫ്ലൈറ്റ് സമാരംഭിക്കൽ പിശക്: <ph name="ERROR_NUMBER" />)</translation>
 <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="9169496697824289689">കീബോർഡ് കുറുക്കുവഴികൾ കാണുക</translation>
 <translation id="9170397650136757332">നിങ്ങളുടെ വിരലടയാളത്തിന്റെ വ്യത്യസ്‌ത ഭാഗങ്ങളെല്ലാം ക്യാപ്‌ചർ ചെയ്യാൻ വിരൽ പതുക്കെ നീക്കുക</translation>
 <translation id="9170848237812810038">‍&amp;പൂര്‍വാവസ്ഥയിലാക്കുക</translation>
@@ -5173,6 +5240,7 @@
 <translation id="9214695392875603905">കപ്പ്‌കേക്ക്</translation>
 <translation id="9215293857209265904">"<ph name="EXTENSION_NAME" />" ചേർത്തു</translation>
 <translation id="9215934040295798075">വാൾപേപ്പർ സജ്ജമാക്കുക</translation>
+<translation id="9218027443531385788">Android ആപ്പുകൾ ഡൗൺലോഡ് ചെയ്‌ത് ഉപയോഗിക്കാൻ ആദ്യം നിങ്ങൾ ഈ ആവശ്യമായ അപ്‌ഡേറ്റ് ഇൻസ്‌റ്റാൾ ചെയ്യേണ്ടതുണ്ട്. അപ്‌ഡേറ്റ് നടക്കുമ്പോൾ നിങ്ങൾക്ക് <ph name="DEVICE_TYPE" /> ഉപകരണം ഉപയോഗിക്കാനാവില്ല. ഇൻസ്‌റ്റാൾ ചെയ്യൽ പൂർത്തിയായ ശേഷം നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> പുനരാരംഭിക്കും.</translation>
 <translation id="9218430445555521422">സ്ഥിരസ്ഥിതിയാക്കുക</translation>
 <translation id="9219103736887031265">ചിത്രങ്ങൾ‌</translation>
 <translation id="9220525904950070496">അക്കൗണ്ട് നീക്കംചെയ്യൽ</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index c6a491a9..8ca1563 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -521,6 +521,7 @@
 <translation id="177336675152937177">Dados de aplicações alojadas</translation>
 <translation id="1774349594977710164">O seu telemóvel também desbloqueia os seus outros <ph name="DEVICE_TYPE" />, uma vez que são sincronizados automaticamente.</translation>
 <translation id="1774833706453699074">Adicionar as páginas abertas aos marcadores...</translation>
+<translation id="1775381402323441512">Informações do vídeo</translation>
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="177694132944350798">Os seus dados foram encriptados com a sua palavra-passe do Google a <ph name="TIME" />. Aceda para iniciar a sincronização.</translation>
 <translation id="1779652936965200207">Introduza esta chave de acesso no "<ph name="DEVICE_NAME" />":</translation>
@@ -563,6 +564,7 @@
 <translation id="1829192082282182671">Re&amp;duzir</translation>
 <translation id="1830550083491357902">Não tem sessão iniciada</translation>
 <translation id="1832511806131704864">Alteração de telemóvel atualizada</translation>
+<translation id="1834503245783133039">Transferência sem êxito: <ph name="FILE_NAME" /></translation>
 <translation id="1838374766361614909">Limpar pesquisa</translation>
 <translation id="1838709767668011582">Site Google</translation>
 <translation id="1839704667838141620">Alterar a forma como este ficheiro é partilhado</translation>
@@ -699,6 +701,7 @@
 <translation id="2079053412993822885">Se eliminar um dos seus próprios certificados, deixará de poder utilizá-lo para se identificar.</translation>
 <translation id="2079545284768500474">Anular</translation>
 <translation id="2080070583977670716">Mais definições</translation>
+<translation id="2084108471225856927">Definições do dispositivo</translation>
 <translation id="2085470240340828803">Já existe um ficheiro com o nome "<ph name="FILENAME" />". O que pretende fazer?</translation>
 <translation id="2087822576218954668">Imprimir: <ph name="PRINT_NAME" /></translation>
 <translation id="2089566709556890888">Navegue em segurança com o Google Chrome</translation>
@@ -1422,6 +1425,7 @@
 <translation id="3130528281680948470">O dispositivo é reposto e todos os dados locais e as contas de utilizador são removidos. Não é possível anular esta ação.</translation>
 <translation id="313205617302240621">Esqueceu-se da palavra-passe?</translation>
 <translation id="3135204511829026971">Rodar ecrã</translation>
+<translation id="313963229645891001">A transferir… <ph name="STATUS" /></translation>
 <translation id="3139925690611372679">Avatar amarelo predefinido</translation>
 <translation id="3140353188828248647">Focar barra de endereço</translation>
 <translation id="3141318088920353606">A ouvir…</translation>
@@ -1549,6 +1553,7 @@
 <translation id="3326821416087822643">A criar zip de <ph name="FILE_NAME" />...</translation>
 <translation id="3331321258768829690">(<ph name="UTCOFFSET" />) <ph name="LONGTZNAME" /> (<ph name="EXEMPLARCITY" />)</translation>
 <translation id="3331974543021145906">Informações da aplicação</translation>
+<translation id="3335337277364016868">Ano de gravação</translation>
 <translation id="3335947283844343239">Reabrir separador fechado</translation>
 <translation id="3340978935015468852">definições</translation>
 <translation id="3341703758641437857">Permitir acesso a URLs de ficheiro</translation>
@@ -1610,6 +1615,7 @@
 <translation id="3435738964857648380">Segurança</translation>
 <translation id="3435896845095436175">Ativar</translation>
 <translation id="3436038974659740746">Ortografia personalizada</translation>
+<translation id="3437801641691368414">Hora de criação</translation>
 <translation id="3438633801274389918">Ninja</translation>
 <translation id="3439153939049640737">Permitir sempre que <ph name="HOST" /> aceda ao seu microfone</translation>
 <translation id="3439970425423980614">A abrir PDF na Pré-visualização</translation>
@@ -1653,6 +1659,7 @@
 <translation id="3487007233252413104">função anónima</translation>
 <translation id="348780365869651045">A aguardar pela AppCache...</translation>
 <translation id="3488065109653206955">Parcialmente activado</translation>
+<translation id="348999362308956431">Transferência concluída: <ph name="FILE_NAME" /></translation>
 <translation id="3492788708641132712">A sincronização não está a funcionar. Tente iniciar sessão novamente.</translation>
 <translation id="3493881266323043047">Validade</translation>
 <translation id="3494769164076977169">Perguntar sempre que um site tentar transferir ficheiros automaticamente após o primeiro ficheiro (recomendado)</translation>
@@ -1755,6 +1762,7 @@
 <translation id="3646789916214779970">Repor o tema predefinido</translation>
 <translation id="3648348069317717750"><ph name="USB_DEVICE_NAME" /> detetado</translation>
 <translation id="3649138363871392317">Foi capturada uma foto</translation>
+<translation id="3650952250015018111">Permitir que o "<ph name="APP_NAME" />" tenha acesso:</translation>
 <translation id="3651488188562686558">Desligar-se da rede Wi-Fi</translation>
 <translation id="3652817283076144888">A inicializar</translation>
 <translation id="3653999333232393305">Continuar a permitir que <ph name="HOST" /> aceda ao seu microfone</translation>
@@ -1867,6 +1875,7 @@
 <translation id="381202950560906753">Adicionar outra</translation>
 <translation id="3812525830114410218">Certificado incorreto</translation>
 <translation id="3813296892522778813">Aceda à <ph name="BEGIN_LINK_CHROMIUM" />ajuda do Google Chrome<ph name="END_LINK_CHROMIUM" /> se não conseguir encontrar aquilo que procura.</translation>
+<translation id="3817579325494460411">Não fornecido</translation>
 <translation id="3819007103695653773">Permite que todos os sites enviem mensagens push em segundo plano</translation>
 <translation id="3819752733757735746">Acesso por comutador (controlar o computador com apenas um ou dois comutadores)</translation>
 <translation id="3819800052061700452">&amp;Ecrã inteiro</translation>
@@ -1960,6 +1969,7 @@
 <translation id="394984172568887996">Importado do IE</translation>
 <translation id="3950820424414687140">Iniciar sessão</translation>
 <translation id="3954354850384043518">Em curso</translation>
+<translation id="3954469006674843813"><ph name="WIDTH" /> x <ph name="HEIGHT" /> (<ph name="REFRESH_RATE" /> Hertz)</translation>
 <translation id="3955193568934677022">Permitir que os sites reproduzam conteúdo protegido (recomendado)</translation>
 <translation id="3956702100721821638">Não foi possível aceder ao Google Play.</translation>
 <translation id="3958088479270651626">Importar marcadores e definições</translation>
@@ -2039,6 +2049,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="4087470595660267445">Instale aplicações e jogos do Google Play no Chromebook. &lt;a target="_blank" href="<ph name="URL" />"&gt;Saiba mais&lt;/a&gt;</translation>
 <translation id="4088095054444612037">Aceitar para o grupo</translation>
+<translation id="4089235344645910861">Definições guardadas. A sincronização foi iniciada.</translation>
 <translation id="4090103403438682346">Ativar acesso confirmado</translation>
 <translation id="4090535558450035482">(Esta extensão é gerida e não é possível removê-la.)</translation>
 <translation id="4091434297613116013">folhas de papel</translation>
@@ -2118,6 +2129,7 @@
 <translation id="4244238649050961491">Encontrar mais aplicações para a caneta stylus</translation>
 <translation id="424546999567421758">Detetada elevada utilização do disco</translation>
 <translation id="424726838611654458">Sempre aberto no Adobe Reader</translation>
+<translation id="4247901771970415646">Não é possível sincronizar com <ph name="USERNAME" /></translation>
 <translation id="4249248555939881673">A aguardar ligação à rede...</translation>
 <translation id="4249373718504745892">Esta página foi impedida de aceder à sua câmara e microfone.</translation>
 <translation id="424963718355121712">As aplicações têm de ser publicadas a partir do anfitrião que afetam.</translation>
@@ -2155,6 +2167,7 @@
 <translation id="4305227814872083840">longo (2 seg)</translation>
 <translation id="4306119971288449206">As aplicações têm de ser publicadas com o tipo de conteúdo "<ph name="CONTENT_TYPE" />".</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> K (<ph name="NUM_KILOBYTES_LIVE" /> K em directo)</translation>
+<translation id="4309915981827077375">Informação geral</translation>
 <translation id="4310139701823742692">O ficheiro tem o formato errado. Verifique o ficheiro PPD e tente novamente.</translation>
 <translation id="431076611119798497">&amp;Detalhes</translation>
 <translation id="4312866146174492540">Bloquear (predefinição)</translation>
@@ -2203,6 +2216,7 @@
 <translation id="4409697491990005945">Margens</translation>
 <translation id="4411578466613447185">Signatário do código</translation>
 <translation id="4412698727486357573">Centro de Ajuda</translation>
+<translation id="44141919652824029">Pretende permitir que o "<ph name="APP_NAME" />" obtenha a lista dos seus dispositivos USB associados?</translation>
 <translation id="4414232939543644979">Nova Janela de Navegação Anón&amp;ima</translation>
 <translation id="4415748029120993980">SECG de curva elíptica secp384r1 (também denominada NIST P-384)</translation>
 <translation id="4419409365248380979">Permitir sempre que <ph name="HOST" /> instale cookies</translation>
@@ -2296,6 +2310,7 @@
 <translation id="4565377596337484307">Ocultar palavra-passe</translation>
 <translation id="4567772783389002344">Adicionar palavra</translation>
 <translation id="4568213207643490790">Lamentamos, mas as Contas Google não são permitidas neste dispositivo.</translation>
+<translation id="4568854179928172494">Hora da modificação</translation>
 <translation id="4569747168316751899">Quanto estiver inativo</translation>
 <translation id="4572659312570518089">A autenticação foi cancelada ao ligar a "<ph name="DEVICE_NAME" />".</translation>
 <translation id="4572815280350369984">Ficheiro <ph name="FILE_TYPE" /></translation>
@@ -2339,6 +2354,7 @@
 <translation id="4640525840053037973">Iniciar sessão com a Conta Google</translation>
 <translation id="4641539339823703554">Não foi possível ao Chrome definir a hora do sistema. Verifique as horas abaixo e corrija se necessário.</translation>
 <translation id="4643612240819915418">Abrir víde&amp;o num novo separador</translation>
+<translation id="4644818355646995778">A transferir… <ph name="PERCENT_REMAINING" /></translation>
 <translation id="4645676300727003670">&amp;Manter</translation>
 <translation id="4647090755847581616">Fe&amp;char Separador</translation>
 <translation id="4647697156028544508">Introduza o PIN para "<ph name="DEVICE_NAME" />":</translation>
@@ -2726,6 +2742,7 @@
 <translation id="5250372599208556903">O <ph name="SEARCH_ENGINE_NAME" /> utiliza a sua localização para lhe fornecer conteúdo local. Pode alterar esta opção em <ph name="SETTINGS_LINK" />.</translation>
 <translation id="5252456968953390977">Roaming</translation>
 <translation id="5252653240322147470">O PIN deve ter menos de <ph name="MAXIMUM" /> dígitos</translation>
+<translation id="5253070652067921974">Criado por</translation>
 <translation id="5254368820972107711">Mostrar ficheiros a remover</translation>
 <translation id="52550593576409946">Não foi possível iniciar a aplicação de quiosque.</translation>
 <translation id="5255315797444241226">A frase de acesso introduzida está incorrecta.</translation>
@@ -2804,6 +2821,7 @@
 <translation id="5353252989841766347">Exportar palavras-passe do Chrome</translation>
 <translation id="5355097969896547230">Localizar novamente</translation>
 <translation id="5355926466126177564">A extensão "<ph name="EXTENSION_NAME" />" alterou a página apresentada quando pesquisa a partir da caixa geral.</translation>
+<translation id="5358764674931277">Velocidade de fotogramas</translation>
 <translation id="5360150013186312835">Mostrar na Barra de ferramentas</translation>
 <translation id="5362741141255528695">Selecionar ficheiro de chave privada.</translation>
 <translation id="5363109466694494651">Powerwash e reverter</translation>
@@ -2840,6 +2858,7 @@
 <translation id="5414566801737831689">Ler os ícones dos Sites que visita</translation>
 <translation id="5417312524372586921">Temas do navegador</translation>
 <translation id="5419294236999569767">Hora do sistema</translation>
+<translation id="5420438158931847627">Determina a nitidez do texto e das imagens.</translation>
 <translation id="5422221874247253874">Ponto de acesso</translation>
 <translation id="5422781158178868512">Lamentamos, não foi possível reconhecer o aparelho de armazenamento externo.</translation>
 <translation id="5423849171846380976">Activado</translation>
@@ -3026,6 +3045,9 @@
 <translation id="5678550637669481956">Autorização para ler e escrever em <ph name="VOLUME_NAME" /> concedidas.</translation>
 <translation id="5678955352098267522">Ler os seus dados em <ph name="WEBSITE_1" /></translation>
 <translation id="5684661240348539843">Identificador de recursos</translation>
+<translation id="5686799162999241776"><ph name="BEGIN_BOLD" />Não é possível desassociar de um arquivo ou disco virtual<ph name="END_BOLD" />
+   <ph name="LINE_BREAKS" />
+   Feche todos os ficheiros do arquivo ou disco virtual e tente novamente.</translation>
 <translation id="5687326903064479980">Fuso horário</translation>
 <translation id="5689516760719285838">Local</translation>
 <translation id="56907980372820799">Associar dados</translation>
@@ -3034,6 +3056,7 @@
 <translation id="5694501201003948907">A criar zip de $1 itens...</translation>
 <translation id="5696143504434933566">Denunciar abuso de "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="5699533844376998780">A extensão "<ph name="EXTENSION_NAME" />" foi adicionada.</translation>
+<translation id="5700087501958648444">Informações do áudio</translation>
 <translation id="570043786759263127">Aplicações e serviços do Google Play</translation>
 <translation id="5700836101007545240">A opção Adicionar ligação foi desativada pelo gestor</translation>
 <translation id="5701381305118179107">Centrar</translation>
@@ -3591,6 +3614,7 @@
 <translation id="656398493051028875">A eliminar "<ph name="FILENAME" />"...</translation>
 <translation id="6567688344210276845">Não foi possível carregar o ícone "<ph name="ICON" />" para a ação da página.</translation>
 <translation id="657402800789773160">&amp;Recarregar esta página</translation>
+<translation id="6577284282025554716">Transferência cancelada: <ph name="FILE_NAME" /></translation>
 <translation id="6578664922716508575">Encriptar as palavras-passe sincronizadas com o seu nome de utilizador e palavra-passe Google</translation>
 <translation id="6580151766480067746">Versão do ARC</translation>
 <translation id="6581162200855843583">Link do Google Drive</translation>
@@ -4053,6 +4077,7 @@
 <translation id="7297443947353982503">Nome de utilizador ou palavra-passe incorreto ou falha na autenticação EAP</translation>
 <translation id="729761647156315797">Escolher o idioma e o teclado</translation>
 <translation id="7299337219131431707">Ativar Navegação como convidado</translation>
+<translation id="730289542559375723">{NUM_APPLICATIONS,plural, =1{Esta aplicação não conseguiu impedir o funcionamento correto do Chrome.}other{Estas aplicações não conseguiram impedir o funcionamento correto do Chrome.}}</translation>
 <translation id="7303900363563182677">Este site foi impedido de ver o texto e as imagens copiados para a área de transferência.</translation>
 <translation id="730515362922783851">Trocar dados com qualquer dispositivo na rede local ou na Internet</translation>
 <translation id="7308002049209013926">Utilize o Iniciador para aceder rapidamente a novas aplicações e atividades. Para chegar aqui através do teclado, prima Alt + Shift + L.</translation>
@@ -4308,6 +4333,7 @@
 <translation id="7707922173985738739">Utilizar dados móveis</translation>
 <translation id="7709152031285164251">Falha - <ph name="INTERRUPT_REASON" /></translation>
 <translation id="7710568461918838723">&amp;Transmitir…</translation>
+<translation id="7711920809702896782">Informações da imagem</translation>
 <translation id="7714307061282548371">Cookies de <ph name="DOMAIN" /> permitidos.</translation>
 <translation id="7714464543167945231">Certificado</translation>
 <translation id="7716781361494605745">URL da política da autoridade de certificação Netscape</translation>
@@ -4426,6 +4452,7 @@
 <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>
 <translation id="7889966925761734854">Procurar</translation>
 <translation id="7892100671754994880">Utilizador seguinte</translation>
 <translation id="7893008570150657497">Aceder a fotos, música e outros elementos multimédia a partir do seu computador</translation>
@@ -4529,6 +4556,7 @@
 <translation id="8026334261755873520">Limpar dados de navegação</translation>
 <translation id="8028060951694135607">Recuperação de chaves da Microsoft</translation>
 <translation id="8028134359912645720">Prima sem soltar Control, Alt, Shift ou a tecla do iniciador para ver os atalhos de teclado desses modificadores.</translation>
+<translation id="8028803902702117856">A transferir <ph name="SIZE" />… <ph name="FILE_NAME" /></translation>
 <translation id="8028993641010258682">Tamanho</translation>
 <translation id="8030656706657716245">Adicionar impressora</translation>
 <translation id="8032244173881942855">Não é possível transmitir o separador.</translation>
@@ -4784,6 +4812,7 @@
 <translation id="84613761564611563">IU de configuração da rede solicitada. Por favor, aguarde...</translation>
 <translation id="8461914792118322307">Proxy</translation>
 <translation id="8463215747450521436">É possível que este utilizador supervisionado tenha sido eliminado ou desativado pelo gestor. Contacte o gestor se pretender continuar a iniciar sessão com este utilizador.</translation>
+<translation id="846374874681391779">Barra de transferências</translation>
 <translation id="8463955938112983119"><ph name="PLUGIN_NAME" /> desativado.</translation>
 <translation id="8464132254133862871">Esta conta de utilizador não é elegível para o serviço.</translation>
 <translation id="8465252176946159372">Não é válido</translation>
@@ -4799,6 +4828,7 @@
 <translation id="8477384620836102176">&amp;Geral</translation>
 <translation id="8480082892550707549">Mesmo que tenha transferido ficheiros deste site antes, este pode ser temporariamente inseguro (pode ter sido pirateado). Experimente transferir este ficheiro mais tarde.</translation>
 <translation id="8480869669560681089">Dispositivo desconhecido de <ph name="VENDOR_NAME" /></translation>
+<translation id="8481187309597259238">Confirmar autorização USB</translation>
 <translation id="8483248364096924578">Endereço IP</translation>
 <translation id="8487678622945914333">Ampliar</translation>
 <translation id="8487693399751278191">Importar marcadores agora...</translation>
@@ -5185,6 +5215,7 @@
 <translation id="9094033019050270033">Atualizar a palavra-passe</translation>
 <translation id="9094982973264386462">Remover</translation>
 <translation id="9095253524804455615">Remover</translation>
+<translation id="9099674669267916096">Contagem de páginas</translation>
 <translation id="9100765901046053179">Definições avançadas</translation>
 <translation id="9101691533782776290">Iniciar aplicação</translation>
 <translation id="9102610709270966160">Ativar extensão</translation>
@@ -5276,6 +5307,7 @@
 <translation id="939736085109172342">Nova pasta</translation>
 <translation id="942532530371314860"><ph name="APP_NAME" /> está a partilhar um separador do Chrome e o áudio.</translation>
 <translation id="942954117721265519">Não existem imagens neste diretório.</translation>
+<translation id="943972244133411984">Modificado por</translation>
 <translation id="945522503751344254">Enviar comentários</translation>
 <translation id="952992212772159698">Não activado</translation>
 <translation id="957960681186851048">Este site tentou transferir vários ficheiros automaticamente</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index e1d2c82..d420701 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -1075,6 +1075,7 @@
 <translation id="2653266418988778031">Ukifuta cheti cha Mamlaka ya Uthibitishaji (CA), kivinjari chako hakitaamini tena cheti chochote kitakachotolewa na CA hiyo.</translation>
 <translation id="2653659639078652383">Wasilisha</translation>
 <translation id="265390580714150011">Thamani ya Uga</translation>
+<translation id="2654166010170466751">Ruhusu tovuti zisakinishe vidhibiti vya malipo</translation>
 <translation id="2655386581175833247">Cheti cha mtumiaji:</translation>
 <translation id="2660779039299703961">Tukio</translation>
 <translation id="266079277508604648">Imeshindwa kuunganisha kwenye printa. Hakikisha kuwa printa imewashwa na imeunganishwa kwenye Chromebook yako kwa kutumia Wi-Fi au USB.</translation>
@@ -1424,6 +1425,7 @@
 <translation id="3140353188828248647">Lenga upau anwani</translation>
 <translation id="3141318088920353606">Inasikiliza...</translation>
 <translation id="3141917231319778873">Ombi hili maalum halitumiki kwenye: "<ph name="DEVICE_NAME" />".</translation>
+<translation id="3143515551205905069">Ghairi usawazishaji</translation>
 <translation id="3143695347784622594">Tuma data ya mfumo. Tuma kiotomatiki data ya uchanganuzi na matumizi ya programu na kifaa kwa Google. Unaweza kubadilisha hali hii wakati wowote katika <ph name="BEGIN_LINK1" />mipangilio<ph name="END_LINK1" /> ya kifaa chako. Ukiwasha Historia ya Shughuli kwenye Wavuti na Programu, maelezo haya yatahifadhiwa katika akaunti yako ili uweze kuyadhibiti katika Shughuli Zangu. <ph name="BEGIN_LINK2" />Pata maelezo zaidi<ph name="END_LINK2" /></translation>
 <translation id="3144126448740580210">IMEKAMILIKA</translation>
 <translation id="3144647712221361880">Fungua kiungo ukitumia</translation>
@@ -2800,6 +2802,7 @@
 <translation id="5337771866151525739">Imesakinishwa na mhusika mwingine.</translation>
 <translation id="5338503421962489998">Hifadhi ya ndani</translation>
 <translation id="5340217413897845242">Kipengee cha kabati cha 6</translation>
+<translation id="5340638867532133571">Ruhusu tovuti zisakinishe vidhibiti vya malipo (inapendekezwa)</translation>
 <translation id="5341793073192892252">Vidakuzi vifuatavyo vilizuiwa (vidakuzi vyote vya washirika wengine vinazuiwa)</translation>
 <translation id="5341980496415249280">Tafadhali subiri, inapakia...</translation>
 <translation id="5342091991439452114">Lazima PIN iwe na angalau tarakimu <ph name="MINIMUM" /></translation>
@@ -3616,6 +3619,7 @@
 <translation id="6596745167571172521">Zima Herufi Kubwa</translation>
 <translation id="6596816719288285829">Anwani ya IP</translation>
 <translation id="6597017209724497268">Sampuli</translation>
+<translation id="659934686219830168">Itaanza kusawazisha utakapofunga ukurasa huu</translation>
 <translation id="6602353599068390226">hamishia dirisha kwenye skrini nyingine</translation>
 <translation id="6602956230557165253">Tumia vitufe vya mshale wa kushoto na kulia kutalii.</translation>
 <translation id="660380282187945520">F9</translation>
@@ -3767,6 +3771,7 @@
 <translation id="6829250331733125857">Pata usaidizi wa <ph name="DEVICE_TYPE" /> yako.</translation>
 <translation id="6829270497922309893">Jisajili katika shirika lako</translation>
 <translation id="682971198310367122">Sera ya faragha ya Google</translation>
+<translation id="6829772336900667075">Fungua <ph name="APP_NAME" /></translation>
 <translation id="6831043979455480757">Tafsiri</translation>
 <translation id="683373380308365518">Badilisha ili utumie kivinjari mahiri na salama</translation>
 <translation id="6835762382653651563">Tafadhali unganisha kwenye Intaneti ili usasishe <ph name="DEVICE_TYPE" /> yako.</translation>
@@ -3828,6 +3833,7 @@
 <translation id="6945221475159498467">Chagua</translation>
 <translation id="694592694773692225">Uelekezaji kwingine kwenye ukurasa huu umezuiwa.</translation>
 <translation id="6949306908218145636">Alamisha Kurasa Zilizowazi...</translation>
+<translation id="6951153907720526401">Vidhibiti vya Malipo</translation>
 <translation id="6955446738988643816">Kagua Dirisha Ibukizi</translation>
 <translation id="6957231940976260713">Jina la huduma</translation>
 <translation id="696203921837389374">Washa inasawazisha kwenye data ya kifaa cha mkononi</translation>
@@ -4272,6 +4278,7 @@
 <translation id="7629827748548208700">Kichupo: <ph name="TAB_NAME" /></translation>
 <translation id="7631887513477658702">Fungua Faili za Aina Hii Kil&amp;a Wakati</translation>
 <translation id="7632948528260659758">Programu zifuatazo za kioski zimeshindwa kusasisha:</translation>
+<translation id="763632859238619983">Usiruhusu tovuti zozote zisakinishe vidhibiti vya malipo</translation>
 <translation id="7639178625568735185">Nimepata!</translation>
 <translation id="764017888128728"><ph name="PASSWORD_MANAGER_BRAND" /> hukuwezesha kuingia katika tovuti zinazofaa kiotomatiki kwa manenosiri uliyohifadhi.</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (mmiliki)</translation>
@@ -5229,6 +5236,7 @@
 <translation id="9137013805542155359">Onyesha asili</translation>
 <translation id="9137916601698928395">Fungua kiungo ukitumia <ph name="USER" /></translation>
 <translation id="9138978632494473300">Ongeza njia za mkato kwenye sehemu zifuatazo:</translation>
+<translation id="9140067245205650184">Unatumia kitia alama cha kipengele kisichoruhusiwa: <ph name="BAD_FLAG" />. Uthabiti na usalama utaathirika.</translation>
 <translation id="9147392381910171771">&amp;Chaguo</translation>
 <translation id="9148058034647219655">Ondoka</translation>
 <translation id="9148116311817999634">Kwa usalama wako, weka mbinu ya kufungua skrini</translation>
@@ -5246,6 +5254,7 @@
 <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="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>
 <translation id="9170848237812810038">&amp;Tendua</translation>
 <translation id="9170884462774788842">Programu nyingine kwenye kompyuta yako iliongeza mandhari ambayo yanaweza kubadilisha jinsi Chrome inavyofanya kazi.</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 8fb9ade..4384b992 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -4314,7 +4314,7 @@
 <translation id="7701040980221191251">எதுவுமில்லை</translation>
 <translation id="7701869757853594372">USER ஹேண்டில்ஸ்</translation>
 <translation id="7702907602086592255">டொமைன்</translation>
-<translation id="7704305437604973648">காரியம்</translation>
+<translation id="7704305437604973648">பணி</translation>
 <translation id="7704521324619958564">Play ஸ்டோரைத் திற</translation>
 <translation id="7705276765467986571">புக்மார்க் மாதிரியை ஏற்ற முடியவில்லை.</translation>
 <translation id="7705524343798198388">VPN</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index adb79f73..33687f9 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -2014,7 +2014,7 @@
 <translation id="4033471457476425443">Додати нову папку</translation>
 <translation id="4034042927394659004">Зменшити яскравість клавіатури</translation>
 <translation id="4035758313003622889">&amp;Диспетчер завдань</translation>
-<translation id="4036758022112812315">Щоб озвучити текст, виділіть потрібний фрагмент й натисніть "Пошук" + S. Або утримуйте клавішу "Пошук", а потім натисніть чи потягніть рамку, щоб вибрати вміст.</translation>
+<translation id="4036758022112812315">Щоб озвучити текст, виділіть потрібний фрагмент і натисніть "Пошук" + S. Або утримуйте клавішу "Пошук", а потім натисніть чи потягніть рамку, щоб вибрати вміст.</translation>
 <translation id="4037084878352560732">Кінь</translation>
 <translation id="4037889604535939429">Змінити користувача</translation>
 <translation id="4042264909745389898">Умови ОС Google Chrome</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index e262eab..c017681 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -1343,6 +1343,7 @@
 <translation id="3016641847947582299">元件已更新</translation>
 <translation id="3016780570757425217">存取您的位置資訊</translation>
 <translation id="302014277942214887">請輸入應用程式 ID 或線上應用程式網址。</translation>
+<translation id="3020183492814296499">快速鍵</translation>
 <translation id="3020990233660977256">序號:<ph name="SERIAL_NUMBER" /></translation>
 <translation id="3021678814754966447">檢視頁框原始碼(&amp;V)</translation>
 <translation id="3022978424994383087">無法辨識語音內容。</translation>
diff --git a/chrome/browser/android/vr/vr_gl_thread.cc b/chrome/browser/android/vr/vr_gl_thread.cc
index 05b065c6..31cff04 100644
--- a/chrome/browser/android/vr/vr_gl_thread.cc
+++ b/chrome/browser/android/vr/vr_gl_thread.cc
@@ -449,6 +449,13 @@
                                 weak_browser_ui_, open));
 }
 
+void VrGLThread::SetOverlayTextureEmpty(bool empty) {
+  DCHECK(OnMainThread());
+  task_runner()->PostTask(
+      FROM_HERE, base::BindOnce(&BrowserUiInterface::SetOverlayTextureEmpty,
+                                weak_browser_ui_, empty));
+}
+
 void VrGLThread::ShowSoftInput(bool show) {
   DCHECK(OnMainThread());
   task_runner()->PostTask(FROM_HERE,
diff --git a/chrome/browser/android/vr/vr_gl_thread.h b/chrome/browser/android/vr/vr_gl_thread.h
index 80ed82e..e8ecdeb 100644
--- a/chrome/browser/android/vr/vr_gl_thread.h
+++ b/chrome/browser/android/vr/vr_gl_thread.h
@@ -118,6 +118,7 @@
                       const base::Version& component_version) override;
   void OnAssetsUnavailable() override;
   void SetIncognitoTabsOpen(bool open) override;
+  void SetOverlayTextureEmpty(bool empty) override;
   void ShowSoftInput(bool show) override;
   void UpdateWebInputIndices(int selection_start,
                              int selection_end,
diff --git a/chrome/browser/android/vr/vr_shell.cc b/chrome/browser/android/vr/vr_shell.cc
index bbfac53..1261261 100644
--- a/chrome/browser/android/vr/vr_shell.cc
+++ b/chrome/browser/android/vr/vr_shell.cc
@@ -737,6 +737,12 @@
                                            gl_thread_->GetVrShellGl()));
 }
 
+void VrShell::OnOverlayTextureEmptyChanged(JNIEnv* env,
+                                           const JavaParamRef<jobject>& object,
+                                           jboolean empty) {
+  ui_->SetOverlayTextureEmpty(empty);
+}
+
 void VrShell::ContentWebContentsDestroyed() {
   web_contents_ = nullptr;
 }
diff --git a/chrome/browser/android/vr/vr_shell.h b/chrome/browser/android/vr/vr_shell.h
index 9165a5c..ed50cb9 100644
--- a/chrome/browser/android/vr/vr_shell.h
+++ b/chrome/browser/android/vr/vr_shell.h
@@ -162,6 +162,10 @@
                              int composition_end);
   void ResumeContentRendering(JNIEnv* env,
                               const base::android::JavaParamRef<jobject>& obj);
+  void OnOverlayTextureEmptyChanged(
+      JNIEnv* env,
+      const base::android::JavaParamRef<jobject>& obj,
+      jboolean empty);
 
   void ContentWebContentsDestroyed();
 
diff --git a/chrome/browser/apps/app_shim/extension_app_shim_handler_mac_unittest.cc b/chrome/browser/apps/app_shim/extension_app_shim_handler_mac_unittest.cc
index 11438851..94f48b0 100644
--- a/chrome/browser/apps/app_shim/extension_app_shim_handler_mac_unittest.cc
+++ b/chrome/browser/apps/app_shim/extension_app_shim_handler_mac_unittest.cc
@@ -14,6 +14,7 @@
 #include "content/public/browser/notification_service.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "extensions/common/extension.h"
+#include "extensions/common/extension_builder.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -156,19 +157,16 @@
         host_bb_(profile_path_b_, kTestAppIdB, handler_.get()),
         host_aa_duplicate_(profile_path_a_, kTestAppIdA, handler_.get()) {
     base::FilePath extension_path("/fake/path");
-    base::DictionaryValue manifest;
-    manifest.SetString("name", "Fake Name");
-    manifest.SetString("version", "1");
-    std::string error;
-    extension_a_ = Extension::Create(
-        extension_path, extensions::Manifest::INTERNAL, manifest,
-        Extension::NO_FLAGS, kTestAppIdA, &error);
-    EXPECT_TRUE(extension_a_.get()) << error;
-
-    extension_b_ = Extension::Create(
-        extension_path, extensions::Manifest::INTERNAL, manifest,
-        Extension::NO_FLAGS, kTestAppIdB, &error);
-    EXPECT_TRUE(extension_b_.get()) << error;
+    extension_a_ = extensions::ExtensionBuilder("Fake Name")
+                       .SetLocation(extensions::Manifest::INTERNAL)
+                       .SetPath(extension_path)
+                       .SetID(kTestAppIdA)
+                       .Build();
+    extension_b_ = extensions::ExtensionBuilder("Fake Name")
+                       .SetLocation(extensions::Manifest::INTERNAL)
+                       .SetPath(extension_path)
+                       .SetID(kTestAppIdB)
+                       .Build();
 
     EXPECT_CALL(*delegate_, ProfileExistsForPath(profile_path_a_))
         .WillRepeatedly(Return(true));
diff --git a/chrome/browser/autocomplete/shortcuts_provider_extension_unittest.cc b/chrome/browser/autocomplete/shortcuts_provider_extension_unittest.cc
index a1a5a19d..8b10825 100644
--- a/chrome/browser/autocomplete/shortcuts_provider_extension_unittest.cc
+++ b/chrome/browser/autocomplete/shortcuts_provider_extension_unittest.cc
@@ -98,11 +98,7 @@
 
   // Claim the extension has been unloaded.
   scoped_refptr<const extensions::Extension> extension =
-      extensions::ExtensionBuilder()
-          .SetManifest(extensions::DictionaryBuilder()
-                           .Set("name", "Echo")
-                           .Set("version", "1.0")
-                           .Build())
+      extensions::ExtensionBuilder("Echo")
           .SetID("cedabbhfglmiikkmdgcpjdkocfcmbkee")
           .Build();
   extensions::ExtensionRegistry::Get(&profile_)->TriggerOnUnloaded(
diff --git a/chrome/browser/chrome_main_browsertest.cc b/chrome/browser/chrome_main_browsertest.cc
index bb1d192..e644e67 100644
--- a/chrome/browser/chrome_main_browsertest.cc
+++ b/chrome/browser/chrome_main_browsertest.cc
@@ -99,11 +99,7 @@
 
   // Close the first window.
   Profile* profile = browser()->profile();
-  content::WindowedNotificationObserver observer(
-        chrome::NOTIFICATION_BROWSER_CLOSED,
-        content::NotificationService::AllSources());
-  chrome::CloseWindow(browser());
-  observer.Wait();
+  CloseBrowserSynchronously(browser());
 
   // There should only be the incognito window open now.
   ASSERT_EQ(1u, chrome::GetTotalBrowserCount());
diff --git a/chrome/browser/chrome_service_worker_browsertest.cc b/chrome/browser/chrome_service_worker_browsertest.cc
index 5de8bc1..0ec1028c 100644
--- a/chrome/browser/chrome_service_worker_browsertest.cc
+++ b/chrome/browser/chrome_service_worker_browsertest.cc
@@ -15,7 +15,6 @@
 #include "base/test/histogram_tester.h"
 #include "base/threading/thread_restrictions.h"
 #include "build/build_config.h"
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
 #include "chrome/browser/profiles/profile.h"
@@ -152,10 +151,7 @@
   ui_test_utils::NavigateToURL(incognito,
                                embedded_test_server()->GetURL("/test.html"));
 
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED, content::Source<Browser>(incognito));
-  incognito->window()->Close();
-  observer.Wait();
+  CloseBrowserSynchronously(incognito);
 
   // Test passes if we don't crash.
 }
diff --git a/chrome/browser/chromeos/power/ml/adaptive_screen_brightness_manager.cc b/chrome/browser/chromeos/power/ml/adaptive_screen_brightness_manager.cc
index 6cb682198..952ff0b 100644
--- a/chrome/browser/chromeos/power/ml/adaptive_screen_brightness_manager.cc
+++ b/chrome/browser/chromeos/power/ml/adaptive_screen_brightness_manager.cc
@@ -37,7 +37,6 @@
 #include "services/metrics/public/cpp/ukm_source_id.h"
 #include "services/viz/public/interfaces/compositing/video_detector_observer.mojom.h"
 #include "ui/aura/env.h"
-#include "ui/aura/window.h"
 #include "ui/base/user_activity/user_activity_detector.h"
 
 namespace chromeos {
@@ -69,8 +68,7 @@
        browser_iterator != browser_list->end_last_active();
        ++browser_iterator) {
     browser = *browser_iterator;
-    if (browser->profile()->IsOffTheRecord() ||
-        !browser->window()->GetNativeWindow()->IsVisible())
+    if (browser->profile()->IsOffTheRecord() || !browser->window()->IsVisible())
       continue;
 
     if (browser->window()->IsActive())
diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc
index 90add5b..2d24aa2 100644
--- a/chrome/browser/download/download_browsertest.cc
+++ b/chrome/browser/download/download_browsertest.cc
@@ -2053,11 +2053,7 @@
 
   DownloadAndWait(browser(), download_url);
 
-  content::WindowedNotificationObserver signal(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::Source<Browser>(browser()));
-  chrome::CloseWindow(browser());
-  signal.Wait();
+  CloseBrowserSynchronously(browser());
 }
 
 // Test to make sure the 'download' attribute in anchor tag is respected.
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
index 72c1bc7..eac82c4 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/developer_private/extension_info_generator.h"
 
+#include <memory>
 #include <string>
 #include <utility>
 
@@ -11,12 +12,12 @@
 #include "base/json/json_file_value_serializer.h"
 #include "base/json/json_writer.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
 #include "chrome/browser/extensions/api/developer_private/inspectable_views_finder.h"
+#include "chrome/browser/extensions/chrome_test_extension_loader.h"
 #include "chrome/browser/extensions/error_console/error_console.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_service_test_base.h"
@@ -146,19 +147,12 @@
   std::unique_ptr<developer::ExtensionInfo> CreateExtensionInfoFromPath(
       const base::FilePath& extension_path,
       Manifest::Location location) {
-    std::string error;
-
-    base::FilePath manifest_path = extension_path.Append(kManifestFilename);
-    std::unique_ptr<base::DictionaryValue> extension_data =
-        DeserializeJSONTestData(manifest_path, &error);
-    EXPECT_EQ(std::string(), error);
-
-    scoped_refptr<Extension> extension(Extension::Create(
-        extension_path, location, *extension_data, Extension::REQUIRE_KEY,
-        &error));
+    ChromeTestExtensionLoader loader(browser_context());
+    loader.set_location(location);
+    loader.set_creation_flags(Extension::REQUIRE_KEY);
+    scoped_refptr<const Extension> extension =
+        loader.LoadExtension(extension_path);
     CHECK(extension.get());
-    service()->AddExtension(extension.get());
-    EXPECT_EQ(std::string(), error);
 
     return GenerateExtensionInfo(extension->id());
   }
@@ -245,21 +239,21 @@
   service()->AddExtension(extension.get());
   ErrorConsole* error_console = ErrorConsole::Get(profile());
   const GURL kContextUrl("http://example.com");
-  error_console->ReportError(base::WrapUnique(new RuntimeError(
+  error_console->ReportError(std::make_unique<RuntimeError>(
       extension->id(), false, base::UTF8ToUTF16("source"),
       base::UTF8ToUTF16("message"),
       StackTrace(1, StackFrame(1, 1, base::UTF8ToUTF16("source"),
                                base::UTF8ToUTF16("function"))),
-      kContextUrl, logging::LOG_ERROR, 1, 1)));
-  error_console->ReportError(base::WrapUnique(
-      new ManifestError(extension->id(), base::UTF8ToUTF16("message"),
-                        base::UTF8ToUTF16("key"), base::string16())));
-  error_console->ReportError(base::WrapUnique(new RuntimeError(
+      kContextUrl, logging::LOG_ERROR, 1, 1));
+  error_console->ReportError(std::make_unique<ManifestError>(
+      extension->id(), base::UTF8ToUTF16("message"), base::UTF8ToUTF16("key"),
+      base::string16()));
+  error_console->ReportError(std::make_unique<RuntimeError>(
       extension->id(), false, base::UTF8ToUTF16("source"),
       base::UTF8ToUTF16("message"),
       StackTrace(1, StackFrame(1, 1, base::UTF8ToUTF16("source"),
                                base::UTF8ToUTF16("function"))),
-      kContextUrl, logging::LOG_VERBOSE, 1, 1)));
+      kContextUrl, logging::LOG_VERBOSE, 1, 1));
 
   // It's not feasible to validate every field here, because that would be
   // a duplication of the logic in the method itself. Instead, test a handful
@@ -481,9 +475,9 @@
 // Tests that blacklisted extensions are returned by the ExtensionInfoGenerator.
 TEST_F(ExtensionInfoGeneratorUnitTest, Blacklisted) {
   const scoped_refptr<const Extension> extension1 = CreateExtension(
-      "test1", base::WrapUnique(new base::ListValue()), Manifest::INTERNAL);
+      "test1", std::make_unique<base::ListValue>(), Manifest::INTERNAL);
   const scoped_refptr<const Extension> extension2 = CreateExtension(
-      "test2", base::WrapUnique(new base::ListValue()), Manifest::INTERNAL);
+      "test2", std::make_unique<base::ListValue>(), Manifest::INTERNAL);
 
   std::string id1 = extension1->id();
   std::string id2 = extension2->id();
diff --git a/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc b/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
index 9efde56..f105732 100644
--- a/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
+++ b/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
@@ -234,10 +234,7 @@
   for (const base::WeakPtr<SpellcheckHunspellDictionary> dictionary :
        GetHunspellDictionaries()) {
     if (dictionary && dictionary->GetLanguage() == language) {
-      auto* request_context_getter =
-          content::BrowserContext::GetDefaultStoragePartition(context_)
-              ->GetURLRequestContext();
-      dictionary->RetryDownloadDictionary(request_context_getter);
+      dictionary->RetryDownloadDictionary(context_);
       return;
     }
   }
diff --git a/chrome/browser/extensions/api/management/management_apitest.cc b/chrome/browser/extensions/api/management/management_apitest.cc
index 978aaf3..3a914ec3 100644
--- a/chrome/browser/extensions/api/management/management_apitest.cc
+++ b/chrome/browser/extensions/api/management/management_apitest.cc
@@ -5,7 +5,6 @@
 #include <map>
 
 #include "build/build_config.h"
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/extensions/extension_apitest.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_util.h"
@@ -18,7 +17,6 @@
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/extensions/extension_constants.h"
-#include "content/public/test/test_utils.h"
 #include "extensions/browser/api/management/management_api.h"
 #include "extensions/browser/extension_dialog_auto_confirm.h"
 #include "extensions/browser/extension_system.h"
@@ -224,12 +222,7 @@
   ASSERT_TRUE(app_browser->is_app());
 
   // Close the app panel.
-  content::WindowedNotificationObserver signal(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::Source<Browser>(app_browser));
-
-  chrome::CloseWindow(app_browser);
-  signal.Wait();
+  CloseBrowserSynchronously(app_browser);
 
   // Unload the extension.
   UninstallExtension(app_id);
diff --git a/chrome/browser/metrics/subprocess_metrics_provider_unittest.cc b/chrome/browser/metrics/subprocess_metrics_provider_unittest.cc
index c792dcb..6b6e4d2 100644
--- a/chrome/browser/metrics/subprocess_metrics_provider_unittest.cc
+++ b/chrome/browser/metrics/subprocess_metrics_provider_unittest.cc
@@ -45,9 +45,6 @@
  protected:
   SubprocessMetricsProviderTest()
       : thread_bundle_(content::TestBrowserThreadBundle::DEFAULT) {
-    // Get this first so it isn't created inside a persistent allocator.
-    base::PersistentHistogramAllocator::GetCreateHistogramResultHistogram();
-
     // MergeHistogramDeltas needs to be called beause it uses a histogram
     // macro which caches a pointer to a histogram. If not done before setting
     // a persistent global allocator, then it would point into memory that
diff --git a/chrome/browser/notifications/notification_interactive_uitest.cc b/chrome/browser/notifications/notification_interactive_uitest.cc
index 60685ccb..77953689 100644
--- a/chrome/browser/notifications/notification_interactive_uitest.cc
+++ b/chrome/browser/notifications/notification_interactive_uitest.cc
@@ -16,7 +16,6 @@
 #include "base/time/clock.h"
 #include "build/build_config.h"
 #include "chrome/browser/browser_process.h"
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/notifications/notification_interactive_uitest_support.h"
 #include "chrome/browser/notifications/notification_test_util.h"
@@ -36,7 +35,6 @@
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/test/browser_test_utils.h"
-#include "content/public/test/test_utils.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/window_open_disposition.h"
@@ -373,14 +371,14 @@
   Browser* incognito = CreateIncognitoBrowser();
   ui_test_utils::NavigateToURL(incognito, GetTestPageURL());
   ASSERT_TRUE(RequestAndDenyPermission(incognito));
-  CloseBrowserWindow(incognito);
+  CloseBrowserSynchronously(incognito);
 
   incognito = CreateIncognitoBrowser();
   ui_test_utils::NavigateToURL(incognito, GetTestPageURL());
   ASSERT_TRUE(RequestAndAcceptPermission(incognito));
   CreateSimpleNotification(incognito, true);
   ASSERT_EQ(1, GetNotificationCount());
-  CloseBrowserWindow(incognito);
+  CloseBrowserSynchronously(incognito);
 
   incognito = CreateIncognitoBrowser();
   ui_test_utils::NavigateToURL(incognito, GetTestPageURL());
diff --git a/chrome/browser/notifications/notification_interactive_uitest_support.cc b/chrome/browser/notifications/notification_interactive_uitest_support.cc
index ecdc4bcf..e857714 100644
--- a/chrome/browser/notifications/notification_interactive_uitest_support.cc
+++ b/chrome/browser/notifications/notification_interactive_uitest_support.cc
@@ -5,7 +5,6 @@
 #include "chrome/browser/notifications/notification_interactive_uitest_support.h"
 
 #include "base/run_loop.h"
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
 #include "chrome/browser/notifications/desktop_notification_profile_util.h"
 #include "chrome/browser/permissions/permission_request_manager.h"
@@ -138,13 +137,6 @@
   return message_center::MessageCenter::Get()->GetPopupNotifications().size();
 }
 
-void NotificationsTest::CloseBrowserWindow(Browser* browser) {
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED, content::Source<Browser>(browser));
-  browser->window()->Close();
-  observer.Wait();
-}
-
 void NotificationsTest::CrashTab(Browser* browser, int index) {
   content::CrashTab(browser->tab_strip_model()->GetWebContentsAt(index));
 }
diff --git a/chrome/browser/notifications/notification_system_observer_unittest.cc b/chrome/browser/notifications/notification_system_observer_unittest.cc
index 4715aeff..126efd39 100644
--- a/chrome/browser/notifications/notification_system_observer_unittest.cc
+++ b/chrome/browser/notifications/notification_system_observer_unittest.cc
@@ -19,13 +19,7 @@
 namespace {
 scoped_refptr<const extensions::Extension> CreateGoodExtension(
     const std::string& name) {
-  return extensions::ExtensionBuilder()
-      .SetManifest(extensions::DictionaryBuilder()
-                       .Set("name", name)
-                       .Set("version", "1.0")
-                       .Build())
-      .SetID(crx_file::id_util::GenerateId(name))
-      .Build();
+  return extensions::ExtensionBuilder(name).Build();
 }
 }  // namespace
 
diff --git a/chrome/browser/offline_pages/offline_page_tab_helper.cc b/chrome/browser/offline_pages/offline_page_tab_helper.cc
index eab415de..2e3f958 100644
--- a/chrome/browser/offline_pages/offline_page_tab_helper.cc
+++ b/chrome/browser/offline_pages/offline_page_tab_helper.cc
@@ -175,8 +175,10 @@
   GURL navigated_url = navigation_handle->GetURL();
 
   content::WebContents* web_contents = navigation_handle->GetWebContents();
-  if (web_contents->GetContentsMimeType() != "multipart/related")
+  if (web_contents->GetContentsMimeType() != "multipart/related" &&
+      web_contents->GetContentsMimeType() != "message/rfc822") {
     return;
+  }
 
   if (SchemeIsForUntrustedOfflinePages(navigated_url)) {
     // If a MHTML archive is being loaded for file: or content: URL, and we did
diff --git a/chrome/browser/offline_pages/offline_page_tab_helper_unittest.cc b/chrome/browser/offline_pages/offline_page_tab_helper_unittest.cc
index 8b345fb3..fb6757c 100644
--- a/chrome/browser/offline_pages/offline_page_tab_helper_unittest.cc
+++ b/chrome/browser/offline_pages/offline_page_tab_helper_unittest.cc
@@ -239,7 +239,8 @@
 }
 
 #if defined(OS_ANDROID)
-TEST_F(OfflinePageTabHelperTest, UntrustedOfflinePageForContentUrl) {
+TEST_F(OfflinePageTabHelperTest,
+       UntrustedOfflinePageForContentUrlWithMultipartRelatedType) {
   CreateNavigationSimulator(kTestContentUrl);
   navigation_simulator()->Start();
   navigation_simulator()->SetContentsMimeType("multipart/related");
@@ -251,6 +252,20 @@
   EXPECT_EQ(OfflinePageHeader::Reason::NONE,
             tab_helper()->offline_header().reason);
 }
+
+TEST_F(OfflinePageTabHelperTest,
+       UntrustedOfflinePageForContentUrlWithMessageRfc822Type) {
+  CreateNavigationSimulator(kTestContentUrl);
+  navigation_simulator()->Start();
+  navigation_simulator()->SetContentsMimeType("message/rfc822");
+  navigation_simulator()->Commit();
+
+  ASSERT_NE(nullptr, tab_helper()->offline_page());
+  EXPECT_EQ(OfflinePageTrustedState::UNTRUSTED, tab_helper()->trusted_state());
+  EXPECT_FALSE(tab_helper()->IsShowingTrustedOfflinePage());
+  EXPECT_EQ(OfflinePageHeader::Reason::NONE,
+            tab_helper()->offline_header().reason);
+}
 #endif
 
 TEST_F(OfflinePageTabHelperTest, TestNotifyIsMhtmlPage) {
diff --git a/chrome/browser/profiles/profile_window_browsertest.cc b/chrome/browser/profiles/profile_window_browsertest.cc
index 2adcf61..c1a3b7d74 100644
--- a/chrome/browser/profiles/profile_window_browsertest.cc
+++ b/chrome/browser/profiles/profile_window_browsertest.cc
@@ -117,7 +117,6 @@
   ~ProfileWindowBrowserTest() override {}
 
   Browser* OpenGuestBrowser();
-  void CloseBrowser(Browser* browser);
 
  private:
   DISALLOW_COPY_AND_ASSIGN(ProfileWindowBrowserTest);
@@ -154,14 +153,6 @@
   return browser;
 }
 
-void ProfileWindowBrowserTest::CloseBrowser(Browser* browser) {
-  content::WindowedNotificationObserver window_close_observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::Source<Browser>(browser));
-  browser->window()->Close();
-  window_close_observer.Wait();
-}
-
 IN_PROC_BROWSER_TEST_F(ProfileWindowBrowserTest, OpenGuestBrowser) {
   EXPECT_TRUE(OpenGuestBrowser());
 }
@@ -205,7 +196,7 @@
   cookie = content::GetCookies(guest_profile, url);
   EXPECT_EQ("cookie1", cookie);
 
-  CloseBrowser(guest_browser);
+  CloseBrowserSynchronously(guest_browser);
 
   // Closing the browser has removed the cookie.
   cookie = content::GetCookies(guest_profile, url);
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_es.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_es.xtb
index df16fde..f052a24 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_es.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_es.xtb
@@ -370,6 +370,7 @@
 <translation id="4176463684765177261">Inhabilitado</translation>
 <translation id="4188530942454211480">Frase anterior</translation>
 <translation id="4191918948604314587">Un botón</translation>
+<translation id="419265409837491189">Ir a la columna anterior</translation>
 <translation id="4202186506458631436">Se desplaza a la derecha</translation>
 <translation id="4206289001967551965">Dentro de la tabla</translation>
 <translation id="4209770650650780359">Pulsa la flecha hacia arriba o hacia abajo para utilizar la función Autocompletar.</translation>
@@ -420,6 +421,7 @@
 <translation id="4660783501463101648">Versión clásica de ChromeVox eliminada. Se ha quitado la combinación de teclas para volver a la versión anterior.</translation>
 <translation id="4661075872484491155">tree</translation>
 <translation id="4668929960204016307">,</translation>
+<translation id="4677535310137735442">Ir a la columna siguiente</translation>
 <translation id="4688873778442829762">grd</translation>
 <translation id="4693675773662933727">Punto de referencia anterior</translation>
 <translation id="4696413482802371445">No hay ningún título de nivel 5 posterior.</translation>
@@ -435,6 +437,7 @@
 <translation id="4826415162591436065">Avanza</translation>
 <translation id="4826604887384865800">Siguiente salto</translation>
 <translation id="4827410568042294688">no seleccionado</translation>
+<translation id="4839925464551908214">Ir a la fila anterior</translation>
 <translation id="4842108708071771135">No hay ninguna etiqueta "blockquote" posterior.</translation>
 <translation id="4844625982113518938">Pulsa cualquier tecla para oír su nombre. Si quieres salir del modo de aprendizaje, pulsa Ctrl+W.</translation>
 <translation id="4846428657345567687">Te damos la bienvenida a ChromeVox.</translation>
@@ -789,6 +792,7 @@
 <translation id="8186185314313222077">activar pantalla completa</translation>
 <translation id="8199231515320852133">Indica los encabezados de la celda actual</translation>
 <translation id="820417203470636242">Celda vacía.</translation>
+<translation id="820469951249669083">Ir a la fila siguiente</translation>
 <translation id="8215202828671303819">Selección múltiple</translation>
 <translation id="826991282343985864">f$1c$2</translation>
 <translation id="8276439074553447000">Salta al elemento enfocable anterior</translation>
diff --git a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sw.xtb b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sw.xtb
index 2dc6429..7f3a6aa 100644
--- a/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sw.xtb
+++ b/chrome/browser/resources/chromeos/chromevox/strings/chromevox_strings_sw.xtb
@@ -369,6 +369,7 @@
 <translation id="4176463684765177261">Kimelemazwa</translation>
 <translation id="4188530942454211480">Sentensi Iliyotangulia</translation>
 <translation id="4191918948604314587">Kitufe</translation>
+<translation id="419265409837491189">Nenda kwenye safu wima iliyotangulia</translation>
 <translation id="4202186506458631436">Sogeza kulia</translation>
 <translation id="4206289001967551965">Ndani ya jedwali</translation>
 <translation id="4209770650650780359">Bonyeza kishale cha juu au cha chini ili ukamilishe kiotomatiki.</translation>
@@ -419,6 +420,7 @@
 <translation id="4660783501463101648">Kibodi ya kawaida imeondolewa. Kipengele cha kugeuza kibodi ili kurudi kwenye kibodi ya Kawaida ya ChromeVox kimeondolewa.</translation>
 <translation id="4661075872484491155">mti</translation>
 <translation id="4668929960204016307">,</translation>
+<translation id="4677535310137735442">Nenda kwenye safu wima inayofuata</translation>
 <translation id="4688873778442829762">gridi</translation>
 <translation id="4693675773662933727">Kivutio kilichotangulia</translation>
 <translation id="4696413482802371445">Hakuna kichwa cha ngazi ya 5 inayofuata.</translation>
@@ -434,6 +436,7 @@
 <translation id="4826415162591436065">Nenda mbele</translation>
 <translation id="4826604887384865800">Kuruka kunakofuata</translation>
 <translation id="4827410568042294688">yameondolewa uteuzi</translation>
+<translation id="4839925464551908214">Nenda kwenye safu mlalo iliyotangulia</translation>
 <translation id="4842108708071771135">Hakuna nukuu la msingi linalofuata.</translation>
 <translation id="4844625982113518938">Bonyeza kitufe chochote ufahamu jina lake. Ctrl+W kutafunga hali ya kujifunza.</translation>
 <translation id="4846428657345567687">Karibu kwenye ChromeVox!</translation>
@@ -788,6 +791,7 @@
 <translation id="8186185314313222077">geuza skrini nzima</translation>
 <translation id="8199231515320852133">Tangaza vichwa vya kisanduku cha sasa</translation>
 <translation id="820417203470636242">Kisanduku kitupu.</translation>
+<translation id="820469951249669083">Nenda kwenye safu mlalo inayofuata</translation>
 <translation id="8215202828671303819">Chaguo nyingi</translation>
 <translation id="826991282343985864">r$1c$2</translation>
 <translation id="8276439074553447000">Ruka hadi kipengee kinachoweza kulengwa kilichotangulia</translation>
diff --git a/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc b/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
index 5c76b355..a3e5b394 100644
--- a/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
+++ b/chrome/browser/sessions/persistent_tab_restore_service_browsertest.cc
@@ -8,19 +8,14 @@
 
 #include "components/sessions/core/persistent_tab_restore_service.h"
 
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/sessions/tab_restore_service_factory.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/test/base/in_process_browser_test.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/notification_types.h"
-#include "content/public/test/test_utils.h"
-#include "testing/gtest/include/gtest/gtest.h"
 
-typedef sessions::TabRestoreService::Window Window;
+using Window = sessions::TabRestoreService::Window;
 
-typedef InProcessBrowserTest PersistentTabRestoreServiceBrowserTest;
+using PersistentTabRestoreServiceBrowserTest = InProcessBrowserTest;
 
 IN_PROC_BROWSER_TEST_F(PersistentTabRestoreServiceBrowserTest, RestoreApp) {
   Profile* profile = browser()->profile();
@@ -29,11 +24,7 @@
   const char* app_name = "TestApp";
 
   Browser* app_browser = CreateBrowserForApp(app_name, profile);
-  app_browser->window()->Close();
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::Source<Browser>(app_browser));
-  observer.Wait();
+  CloseBrowserSynchronously(app_browser);
 
   // One entry should be created.
   ASSERT_EQ(1U, trs->entries().size());
diff --git a/chrome/browser/sessions/tab_restore_browsertest.cc b/chrome/browser/sessions/tab_restore_browsertest.cc
index 8319032..db9d913 100644
--- a/chrome/browser/sessions/tab_restore_browsertest.cc
+++ b/chrome/browser/sessions/tab_restore_browsertest.cc
@@ -357,11 +357,7 @@
   EXPECT_EQ(2u, active_browser_list_->size());
 
   // Close the first browser.
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::NotificationService::AllSources());
-  chrome::CloseWindow(browser());
-  observer.Wait();
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(1u, active_browser_list_->size());
 
   // Restore the first window. The expected_tabstrip_index (second argument)
@@ -449,11 +445,7 @@
   EXPECT_EQ(bounds, bounds2);
 
   // Close the first window.
-  content::WindowedNotificationObserver close_window_observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::NotificationService::AllSources());
-  chrome::CloseWindow(browser());
-  close_window_observer.Wait();
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(1u, active_browser_list_->size());
 
   // Check that the TabRestoreService has the contents of the closed window and
@@ -502,11 +494,7 @@
   EXPECT_EQ(2u, active_browser_list_->size());
 
   // Close the window.
-  content::WindowedNotificationObserver close_window_observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::NotificationService::AllSources());
-  chrome::CloseWindow(browser());
-  close_window_observer.Wait();
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(1u, active_browser_list_->size());
 
   // Check that the TabRestoreService has the contents of the closed window.
@@ -681,11 +669,7 @@
       ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
 
   // Close the window.
-  content::WindowedNotificationObserver close_window_observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::NotificationService::AllSources());
-  chrome::CloseWindow(browser());
-  close_window_observer.Wait();
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(window_count - 1, active_browser_list_->size());
 
   // Restore the window.
@@ -822,11 +806,7 @@
   AddSomeTabs(browser(), 3);
   // 1st tab is about:blank added by InProcessBrowserTest.
   EXPECT_EQ(4, browser()->tab_strip_model()->count());
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::NotificationService::AllSources());
-  chrome::CloseWindow(browser());
-  observer.Wait();
+  CloseBrowserSynchronously(browser());
 
   SessionRestoreTestHelper helper;
   // Restore browser (this is what Cmd-Shift-T does on Mac).
@@ -851,11 +831,7 @@
   const int tabs_count = 4;
   AddSomeTabs(browser2, tabs_count - browser2->tab_strip_model()->count());
   EXPECT_EQ(tabs_count, browser2->tab_strip_model()->count());
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::NotificationService::AllSources());
-  chrome::CloseWindow(browser2);
-  observer.Wait();
+  CloseBrowserSynchronously(browser2);
 
   // Limit the number of restored tabs that are loaded.
   TabLoader::SetMaxLoadedTabCountForTest(2);
diff --git a/chrome/browser/spellchecker/spellcheck_custom_dictionary_unittest.cc b/chrome/browser/spellchecker/spellcheck_custom_dictionary_unittest.cc
index b60ebfd..c557238 100644
--- a/chrome/browser/spellchecker/spellcheck_custom_dictionary_unittest.cc
+++ b/chrome/browser/spellchecker/spellcheck_custom_dictionary_unittest.cc
@@ -31,7 +31,10 @@
 #include "components/sync/protocol/sync.pb.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "content/public/test/test_utils.h"
-#include "net/url_request/test_url_fetcher_factory.h"
+#include "net/test/embedded_test_server/default_handlers.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "net/test/embedded_test_server/http_request.h"
+#include "net/test/embedded_test_server/http_response.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -62,6 +65,10 @@
 }
 
 class SpellcheckCustomDictionaryTest : public testing::Test {
+ public:
+  SpellcheckCustomDictionaryTest()
+      : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {}
+
  protected:
   void SetUp() override {
     // Use SetTestingFactoryAndUse to force creation and initialization.
@@ -110,7 +117,6 @@
   content::TestBrowserThreadBundle thread_bundle_;
 
   TestingProfile profile_;
-  net::TestURLFetcherFactory fetcher_factory_;
 };
 
 // An implementation of SyncErrorFactory that does not upload the error message
@@ -471,6 +477,24 @@
 }
 
 TEST_F(SpellcheckCustomDictionaryTest, SyncBeforeLoadDoesNotDuplicateWords) {
+  // Test triggers network requests since it indirectly instantiates
+  // SpellcheckHunspellDictionary's.
+  // Install a mock server to avoid sending random network request to
+  // localhost.
+  net::EmbeddedTestServer embedded_test_server;
+  embedded_test_server.RegisterRequestHandler(
+      base::BindRepeating([](const net::test_server::HttpRequest& request) {
+        // Mock implementation to hang the request.
+        std::unique_ptr<net::test_server::HttpResponse> response;
+        return response;
+      }));
+  net::test_server::RegisterDefaultHandlers(&embedded_test_server);
+  ASSERT_TRUE(embedded_test_server.Start());
+
+  // Forcibly set a hanging URL.
+  GURL url = embedded_test_server.GetURL("/hang");
+  SpellcheckHunspellDictionary::SetDownloadURLForTesting(url);
+
   SpellcheckCustomDictionary* custom_dictionary =
       SpellcheckServiceFactory::GetForContext(&profile_)->GetCustomDictionary();
 
diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
index 84b9c3b..aeb5838a 100644
--- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
+++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
@@ -9,6 +9,7 @@
 #include <utility>
 
 #include "base/files/file_util.h"
+#include "base/lazy_instance.h"
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/path_service.h"
@@ -24,12 +25,14 @@
 #include "components/spellcheck/browser/spellcheck_platform.h"
 #include "components/spellcheck/common/spellcheck_common.h"
 #include "components/spellcheck/spellcheck_buildflags.h"
+#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/storage_partition.h"
 #include "net/base/load_flags.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/simple_url_loader.h"
 #include "url/gurl.h"
 
 #if !defined(OS_ANDROID)
@@ -41,6 +44,9 @@
 
 namespace {
 
+base::LazyInstance<GURL>::Leaky g_download_url_for_testing =
+    LAZY_INSTANCE_INITIALIZER;
+
 // Close the file.
 void CloseDictionary(base::File file) {
   base::AssertBlockingAllowed();
@@ -99,13 +105,13 @@
 
 SpellcheckHunspellDictionary::SpellcheckHunspellDictionary(
     const std::string& language,
-    net::URLRequestContextGetter* request_context_getter,
+    content::BrowserContext* browser_context,
     SpellcheckService* spellcheck_service)
     : task_runner_(
           base::CreateSequencedTaskRunnerWithTraits({base::MayBlock()})),
       language_(language),
       use_browser_spellchecker_(false),
-      request_context_getter_(request_context_getter),
+      browser_context_(browser_context),
 #if !defined(OS_ANDROID)
       spellcheck_service_(spellcheck_service),
 #endif
@@ -151,13 +157,13 @@
 }
 
 void SpellcheckHunspellDictionary::RetryDownloadDictionary(
-      net::URLRequestContextGetter* request_context_getter) {
+    content::BrowserContext* browser_context) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   if (dictionary_file_.file.IsValid()) {
     NOTREACHED();
     return;
   }
-  request_context_getter_ = request_context_getter;
+  browser_context_ = browser_context;
   DownloadDictionary(GetDictionaryURL());
 }
 
@@ -195,23 +201,27 @@
   return download_status_ == DOWNLOAD_FAILED;
 }
 
-void SpellcheckHunspellDictionary::OnURLFetchComplete(
-    const net::URLFetcher* source) {
-  DCHECK(source);
+void SpellcheckHunspellDictionary::OnSimpleLoaderComplete(
+    std::unique_ptr<std::string> data) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  std::unique_ptr<net::URLFetcher> fetcher_destructor(fetcher_.release());
 
-  if ((source->GetResponseCode() / 100) != 2) {
+  bool is_success = simple_loader_->NetError() == net::OK;
+  int response_code = -1;
+  if (simple_loader_->ResponseInfo() && simple_loader_->ResponseInfo()->headers)
+    response_code = simple_loader_->ResponseInfo()->headers->response_code();
+
+  if (!is_success || ((response_code / 100) != 2)) {
     // Initialize will not try to download the file a second time.
     InformListenersOfDownloadFailure();
     return;
   }
 
+  // We don't need the loader anymore.
+  simple_loader_.reset();
+
   // Basic sanity check on the dictionary. There's a small chance of 200 status
   // code for a body that represents some form of failure.
-  std::unique_ptr<std::string> data(new std::string);
-  source->GetResponseAsString(data.get());
-  if (data->size() < 4 || data->compare(0, 4, "BDic") != 0) {
+  if (!data || data->size() < 4 || data->compare(0, 4, "BDic") != 0) {
     InformListenersOfDownloadFailure();
     return;
   }
@@ -236,12 +246,19 @@
                      weak_ptr_factory_.GetWeakPtr()));
 }
 
+void SpellcheckHunspellDictionary::SetDownloadURLForTesting(const GURL url) {
+  g_download_url_for_testing.Get() = url;
+}
+
 GURL SpellcheckHunspellDictionary::GetDictionaryURL() {
+  if (g_download_url_for_testing.Get() != GURL())
+    return g_download_url_for_testing.Get();
+
+  std::string bdict_file = dictionary_file_.path.BaseName().MaybeAsASCII();
+  DCHECK(!bdict_file.empty());
+
   static const char kDownloadServerUrl[] =
       "https://redirector.gvt1.com/edgedl/chrome/dict/";
-  std::string bdict_file = dictionary_file_.path.BaseName().MaybeAsASCII();
-
-  DCHECK(!bdict_file.empty());
 
   return GURL(std::string(kDownloadServerUrl) +
               base::ToLowerASCII(bdict_file));
@@ -249,7 +266,7 @@
 
 void SpellcheckHunspellDictionary::DownloadDictionary(GURL url) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  DCHECK(request_context_getter_);
+  DCHECK(browser_context_);
 
   download_status_ = DOWNLOAD_IN_PROGRESS;
   for (Observer& observer : observers_)
@@ -278,16 +295,23 @@
             "Not implemented, considered not useful."
         })");
 
-  fetcher_ = net::URLFetcher::Create(url, net::URLFetcher::GET, this,
-                                     traffic_annotation);
-  data_use_measurement::DataUseUserData::AttachToFetcher(
-      fetcher_.get(), data_use_measurement::DataUseUserData::SPELL_CHECKER);
-  fetcher_->SetRequestContext(request_context_getter_);
-  fetcher_->SetLoadFlags(
-      net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES);
-  fetcher_->Start();
+  auto resource_request = std::make_unique<network::ResourceRequest>();
+  resource_request->url = url;
+  resource_request->load_flags =
+      net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
+  simple_loader_ = network::SimpleURLLoader::Create(std::move(resource_request),
+                                                    traffic_annotation);
+  network::mojom::URLLoaderFactory* loader_factory =
+      content::BrowserContext::GetDefaultStoragePartition(browser_context_)
+          ->GetURLLoaderFactoryForBrowserProcess()
+          .get();
+  simple_loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
+      loader_factory,
+      base::BindOnce(&SpellcheckHunspellDictionary::OnSimpleLoaderComplete,
+                     base::Unretained(this)));
+
   // Attempt downloading the dictionary only once.
-  request_context_getter_ = NULL;
+  browser_context_ = NULL;
 }
 
 #if !defined(OS_ANDROID)
@@ -373,11 +397,11 @@
     // TODO(rouslan): Remove this test-only case.
     if (spellcheck_service_->SignalStatusEvent(
           SpellcheckService::BDICT_CORRUPTED)) {
-      request_context_getter_ = NULL;
+      browser_context_ = NULL;
     }
 
-    if (request_context_getter_) {
-      // Download from the UI thread to check that |request_context_getter_| is
+    if (browser_context_) {
+      // Download from the UI thread to check that |browser_context_| is
       // still valid.
       DownloadDictionary(GetDictionaryURL());
       return;
diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
index 020284e..6a36c25 100644
--- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
+++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
@@ -17,20 +17,18 @@
 #include "base/sequenced_task_runner.h"
 #include "build/build_config.h"
 #include "components/spellcheck/browser/spellcheck_dictionary.h"
-#include "net/url_request/url_fetcher_delegate.h"
+#include "services/network/public/cpp/simple_url_loader.h"
 
 class GURL;
 class SpellcheckService;
 
-namespace net {
-class URLFetcher;
-class URLRequestContextGetter;
-}  // namespace net
+namespace content {
+class BrowserContext;
+}  // namespace content
 
 // Defines the browser-side hunspell dictionary and provides access to it.
 class SpellcheckHunspellDictionary
     : public SpellcheckDictionary,
-      public net::URLFetcherDelegate,
       public base::SupportsWeakPtr<SpellcheckHunspellDictionary> {
  public:
   // Interface to implement for observers of the Hunspell dictionary.
@@ -53,18 +51,16 @@
         const std::string& language) = 0;
   };
 
-  SpellcheckHunspellDictionary(
-      const std::string& language,
-      net::URLRequestContextGetter* request_context_getter,
-      SpellcheckService* spellcheck_service);
+  SpellcheckHunspellDictionary(const std::string& language,
+                               content::BrowserContext* browser_context,
+                               SpellcheckService* spellcheck_service);
   ~SpellcheckHunspellDictionary() override;
 
   // SpellcheckDictionary implementation:
   void Load() override;
 
   // Retry downloading |dictionary_file_|.
-  void RetryDownloadDictionary(
-      net::URLRequestContextGetter* request_context_getter);
+  void RetryDownloadDictionary(content::BrowserContext* context);
 
   // Returns true if the dictionary is ready to use.
   virtual bool IsReady() const;
@@ -85,6 +81,9 @@
   // Whether dictionary download failed.
   bool IsDownloadFailure();
 
+  // Tests use this method to set a custom URL for downloading dictionaries.
+  static void SetDownloadURLForTesting(const GURL url);
+
  private:
   // Dictionary download status.
   enum DownloadStatus {
@@ -113,9 +112,7 @@
     DISALLOW_COPY_AND_ASSIGN(DictionaryFile);
   };
 
-  // net::URLFetcherDelegate implementation. Called when dictionary download
-  // finishes.
-  void OnURLFetchComplete(const net::URLFetcher* source) override;
+  void OnSimpleLoaderComplete(std::unique_ptr<std::string> response_body);
 
   // Determine the correct url to download the dictionary.
   GURL GetDictionaryURL();
@@ -158,10 +155,10 @@
 
   // Used for downloading the dictionary file. SpellcheckHunspellDictionary does
   // not hold a reference, and it is only valid to use it on the UI thread.
-  net::URLRequestContextGetter* request_context_getter_;
+  content::BrowserContext* browser_context_;
 
   // Used for downloading the dictionary file.
-  std::unique_ptr<net::URLFetcher> fetcher_;
+  std::unique_ptr<network::SimpleURLLoader> simple_loader_;
 
 #if !defined(OS_ANDROID)
   SpellcheckService* const spellcheck_service_;
diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
index d0a6473..d66d4faf 100644
--- a/chrome/browser/spellchecker/spellcheck_service.cc
+++ b/chrome/browser/spellchecker/spellcheck_service.cc
@@ -240,11 +240,8 @@
 
   for (const auto& dictionary : dictionaries) {
     hunspell_dictionaries_.push_back(
-        std::make_unique<SpellcheckHunspellDictionary>(
-            dictionary,
-            content::BrowserContext::GetDefaultStoragePartition(context_)
-                ->GetURLRequestContext(),
-            this));
+        std::make_unique<SpellcheckHunspellDictionary>(dictionary, context_,
+                                                       this));
     hunspell_dictionaries_.back()->AddObserver(this);
     hunspell_dictionaries_.back()->Load();
   }
diff --git a/chrome/browser/ui/android/toolbar/toolbar_model_android.cc b/chrome/browser/ui/android/toolbar/toolbar_model_android.cc
index 06cdf6e..533aba6 100644
--- a/chrome/browser/ui/android/toolbar/toolbar_model_android.cc
+++ b/chrome/browser/ui/android/toolbar/toolbar_model_android.cc
@@ -13,11 +13,15 @@
 #include "jni/ToolbarModel_jni.h"
 
 using base::android::JavaParamRef;
+using base::android::JavaRef;
 using base::android::ScopedJavaLocalRef;
 
-ToolbarModelAndroid::ToolbarModelAndroid(JNIEnv* env, jobject jdelegate)
-    : toolbar_model_(new ToolbarModelImpl(this, content::kMaxURLDisplayChars)),
-      weak_java_delegate_(env, jdelegate) {}
+ToolbarModelAndroid::ToolbarModelAndroid(JNIEnv* env,
+                                         const JavaRef<jobject>& obj)
+    : toolbar_model_(
+          std::make_unique<ToolbarModelImpl>(this,
+                                             content::kMaxURLDisplayChars)),
+      java_object_(obj) {}
 
 ToolbarModelAndroid::~ToolbarModelAndroid() {
 }
@@ -43,18 +47,12 @@
 
 content::WebContents* ToolbarModelAndroid::GetActiveWebContents() const {
   JNIEnv* env = base::android::AttachCurrentThread();
-  ScopedJavaLocalRef<jobject> jdelegate = weak_java_delegate_.get(env);
-  if (!jdelegate.obj())
-    return NULL;
   ScopedJavaLocalRef<jobject> jweb_contents =
-      Java_ToolbarModelDelegate_getActiveWebContents(env, jdelegate);
+      Java_ToolbarModel_getActiveWebContents(env, java_object_);
   return content::WebContents::FromJavaWebContents(jweb_contents);
 }
 
 // static
-jlong JNI_ToolbarModel_Init(JNIEnv* env,
-                            const JavaParamRef<jobject>& obj,
-                            const JavaParamRef<jobject>& delegate) {
-  ToolbarModelAndroid* toolbar_model = new ToolbarModelAndroid(env, delegate);
-  return reinterpret_cast<intptr_t>(toolbar_model);
+jlong JNI_ToolbarModel_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
+  return reinterpret_cast<intptr_t>(new ToolbarModelAndroid(env, obj));
 }
diff --git a/chrome/browser/ui/android/toolbar/toolbar_model_android.h b/chrome/browser/ui/android/toolbar/toolbar_model_android.h
index d5eaaf8..f36a996e 100644
--- a/chrome/browser/ui/android/toolbar/toolbar_model_android.h
+++ b/chrome/browser/ui/android/toolbar/toolbar_model_android.h
@@ -8,7 +8,6 @@
 #include <memory>
 
 #include "base/android/jni_android.h"
-#include "base/android/jni_weak_ref.h"
 #include "base/android/scoped_java_ref.h"
 #include "base/macros.h"
 #include "chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.h"
@@ -21,7 +20,7 @@
 // Owns a ToolbarModel and provides a way for Java to interact with it.
 class ToolbarModelAndroid : public ChromeToolbarModelDelegate {
  public:
-  explicit ToolbarModelAndroid(JNIEnv* env, jobject jdelegate);
+  ToolbarModelAndroid(JNIEnv* env, const base::android::JavaRef<jobject>& obj);
   ~ToolbarModelAndroid() override;
 
   void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj);
@@ -37,7 +36,7 @@
 
  private:
   std::unique_ptr<ToolbarModel> toolbar_model_;
-  JavaObjectWeakGlobalRef weak_java_delegate_;
+  base::android::ScopedJavaGlobalRef<jobject> java_object_;
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(ToolbarModelAndroid);
 };
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
index a073dfb..3c2d0b97 100644
--- a/chrome/browser/ui/browser_browsertest.cc
+++ b/chrome/browser/ui/browser_browsertest.cc
@@ -2049,11 +2049,7 @@
   // running.
   Profile* profile = browser()->profile();
   EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
-  content::WindowedNotificationObserver observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::Source<Browser>(browser()));
-  chrome::CloseWindow(browser());
-  observer.Wait();
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(0u, chrome::GetTotalBrowserCount());
 
   ui_test_utils::BrowserAddedObserver browser_added_observer;
diff --git a/chrome/browser/ui/browser_tabrestore_browsertest.cc b/chrome/browser/ui/browser_tabrestore_browsertest.cc
index c591eac..2a72fa14 100644
--- a/chrome/browser/ui/browser_tabrestore_browsertest.cc
+++ b/chrome/browser/ui/browser_tabrestore_browsertest.cc
@@ -55,14 +55,6 @@
       ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
 }
 
-void CloseBrowser(Browser* browser) {
-  content::WindowedNotificationObserver close_observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED,
-      content::Source<Browser>(browser));
-  chrome::CloseWindow(browser);
-  close_observer.Wait();
-}
-
 IN_PROC_BROWSER_TEST_F(BrowserTabRestoreTest, RecentTabsMenuTabDisposition) {
   // Create tabs.
   CreateTestTabs(browser());
@@ -76,7 +68,7 @@
   EXPECT_EQ(2u, active_browser_list->size());
 
   // Close the first browser.
-  CloseBrowser(browser());
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(1u, active_browser_list->size());
 
   // Restore tabs using the browser's recent tabs menu.
@@ -127,7 +119,7 @@
   EXPECT_EQ(2u, active_browser_list->size());
 
   // Close the first browser.
-  CloseBrowser(browser());
+  CloseBrowserSynchronously(browser());
   EXPECT_EQ(1u, active_browser_list->size());
 
   // Check the browser has a delegated restore service.
diff --git a/chrome/browser/ui/cocoa/download/md_download_item_view.mm b/chrome/browser/ui/cocoa/download/md_download_item_view.mm
index 7c3a2add..cda59f6 100644
--- a/chrome/browser/ui/cocoa/download/md_download_item_view.mm
+++ b/chrome/browser/ui/cocoa/download/md_download_item_view.mm
@@ -648,24 +648,36 @@
                                                        downloadPath_.value())]]
       autorelease];
   draggingItem.imageComponentsProvider = ^{
-    NSDraggingImageComponent* imageComponent =
-        [[[NSDraggingImageComponent alloc]
-            initWithKey:NSDraggingImageComponentIconKey] autorelease];
-    NSImage* image = imageView_.image;
-    imageComponent.contents = image;
-    imageComponent.frame = imageRect;
-    NSDraggingImageComponent* labelComponent =
-        [[[NSDraggingImageComponent alloc]
-            initWithKey:NSDraggingImageComponentLabelKey] autorelease];
+    // If either component is zero sized (which shouldn't generally happen, but
+    // apparently can… maybe a missing icon or empty string title?), omit it,
+    // else the dragging session will create layers with NaN components and
+    // crash.
+    auto* components = [NSMutableArray<NSDraggingImageComponent*> array];
+    if (imageRect.size.width != 0 && imageRect.size.height != 0) {
+      NSDraggingImageComponent* imageComponent =
+          [[[NSDraggingImageComponent alloc]
+              initWithKey:NSDraggingImageComponentIconKey] autorelease];
+      NSImage* image = imageView_.image;
+      imageComponent.contents = image;
+      imageComponent.frame = imageRect;
+      [components addObject:imageComponent];
+    }
+    if (labelRect.size.width != 0 && labelRect.size.height != 0) {
+      NSDraggingImageComponent* labelComponent =
+          [[[NSDraggingImageComponent alloc]
+              initWithKey:NSDraggingImageComponentLabelKey] autorelease];
 
-    labelComponent.contents = [NSImage imageWithSize:labelRect.size
-                                             flipped:NO
-                                      drawingHandler:^(NSRect rect) {
-                                        [filename drawAtPoint:NSZeroPoint];
-                                        return YES;
-                                      }];
-    labelComponent.frame = labelRect;
-    return @[ imageComponent, labelComponent ];
+      labelComponent.contents = [NSImage imageWithSize:labelRect.size
+                                               flipped:NO
+                                        drawingHandler:^(NSRect rect) {
+                                          [filename drawAtPoint:NSZeroPoint];
+                                          return YES;
+                                        }];
+      labelComponent.frame = labelRect;
+      [components addObject:labelComponent];
+    }
+
+    return components;
   };
   [self beginDraggingSessionWithItems:@[ draggingItem ]
                                 event:event
diff --git a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm b/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
index 5f26298d..fce159b2 100644
--- a/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
+++ b/chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac.mm
@@ -222,7 +222,7 @@
 bool RenderViewContextMenuMac::IsCommandIdEnabled(int command_id) const {
   switch (command_id) {
     case IDC_CONTENT_CONTEXT_EMOJI:
-      return true;
+      return params_.is_editable;
 
     case IDC_CONTENT_CONTEXT_LOOK_UP:
       return true;
@@ -346,7 +346,10 @@
     menu_model_.InsertSeparatorAt(index++, ui::NORMAL_SEPARATOR);
   }
 
-  if (base::FeatureList::IsEnabled(features::kEnableEmojiContextMenu)) {
+  // The Emoji menu item is available for editable text fields, unless the
+  // selected text is a misspelling.
+  if (params_.is_editable && params_.misspelled_word.empty() &&
+      base::FeatureList::IsEnabled(features::kEnableEmojiContextMenu)) {
     // The "Emoji" item is available near the top of the context menu, after
     // any "Look Up" of selected text.
     menu_model_.InsertItemWithStringIdAt(index++, IDC_CONTENT_CONTEXT_EMOJI,
diff --git a/chrome/browser/ui/toolbar/browser_actions_bar_browsertest.cc b/chrome/browser/ui/toolbar/browser_actions_bar_browsertest.cc
index fb51e99a..e8348b9 100644
--- a/chrome/browser/ui/toolbar/browser_actions_bar_browsertest.cc
+++ b/chrome/browser/ui/toolbar/browser_actions_bar_browsertest.cc
@@ -10,7 +10,6 @@
 #include "base/bind_helpers.h"
 #include "base/macros.h"
 #include "base/run_loop.h"
-#include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
 #include "chrome/browser/extensions/extension_action.h"
 #include "chrome/browser/extensions/extension_action_manager.h"
@@ -632,10 +631,7 @@
   base::RunLoop().RunUntilIdle();
   EXPECT_FALSE(second_browser->profile()->IsOffTheRecord());
 
-  content::WindowedNotificationObserver window_close_observer(
-      chrome::NOTIFICATION_BROWSER_CLOSED, content::Source<Browser>(browser()));
-  browser()->window()->Close();
-  window_close_observer.Wait();
+  CloseBrowserSynchronously(browser());
 
   std::vector<ToolbarActionViewController*> actions =
       second_browser->window()->GetToolbarActionsBar()->GetActions();
diff --git a/chrome/browser/unload_browsertest.cc b/chrome/browser/unload_browsertest.cc
index 7bdb11db0..c6c393f 100644
--- a/chrome/browser/unload_browsertest.cc
+++ b/chrome/browser/unload_browsertest.cc
@@ -183,11 +183,7 @@
   void LoadUrlAndQuitBrowser(const char* html_content,
                              const char* expected_title) {
     NavigateToDataURL(html_content, expected_title);
-    content::WindowedNotificationObserver window_observer(
-        chrome::NOTIFICATION_BROWSER_CLOSED,
-        content::NotificationService::AllSources());
-    chrome::CloseWindow(browser());
-    window_observer.Wait();
+    CloseBrowserSynchronously(browser());
   }
 
   // If |accept| is true, simulates user clicking OK, otherwise simulates
diff --git a/chrome/browser/vr/browser_ui_interface.h b/chrome/browser/vr/browser_ui_interface.h
index decfd09b..e5ecee45 100644
--- a/chrome/browser/vr/browser_ui_interface.h
+++ b/chrome/browser/vr/browser_ui_interface.h
@@ -46,6 +46,7 @@
                               const base::Version& component_version) = 0;
   virtual void OnAssetsUnavailable() = 0;
   virtual void SetIncognitoTabsOpen(bool open) = 0;
+  virtual void SetOverlayTextureEmpty(bool empty) = 0;
 
   // Web contents text input related.
   virtual void ShowSoftInput(bool show) = 0;
diff --git a/chrome/browser/vr/elements/content_element.cc b/chrome/browser/vr/elements/content_element.cc
index a09842a9..66823738 100644
--- a/chrome/browser/vr/elements/content_element.cc
+++ b/chrome/browser/vr/elements/content_element.cc
@@ -48,11 +48,11 @@
 void ContentElement::Render(UiElementRenderer* renderer,
                             const CameraModel& model) const {
   gfx::RectF copy_rect(0, 0, 1, 1);
-  if (texture_id_ || overlay_texture_id_) {
+  if (texture_id_ || (overlay_texture_non_empty_ && overlay_texture_id_)) {
     renderer->DrawTexturedQuad(
-        texture_id_, overlay_texture_id_, texture_location_,
-        model.view_proj_matrix * world_space_transform(), copy_rect,
-        computed_opacity(), size(), corner_radius());
+        texture_id_, overlay_texture_non_empty_ ? overlay_texture_id_ : 0,
+        texture_location_, model.view_proj_matrix * world_space_transform(),
+        copy_rect, computed_opacity(), size(), corner_radius());
   }
 }
 
@@ -145,6 +145,10 @@
   overlay_texture_location_ = location;
 }
 
+void ContentElement::SetOverlayTextureEmpty(bool empty) {
+  overlay_texture_non_empty_ = !empty;
+}
+
 void ContentElement::SetProjectionMatrix(const gfx::Transform& matrix) {
   projection_matrix_ = matrix;
 }
@@ -173,8 +177,7 @@
     text_input_delegate_->UpdateInput(info.current);
 }
 
-bool ContentElement::OnBeginFrame(const base::TimeTicks& time,
-                                  const gfx::Transform& head_pose) {
+bool ContentElement::OnBeginFrame(const gfx::Transform& head_pose) {
   // TODO(mthiesse): This projection matrix is always going to be a frame
   // behind when computing the content size. We'll need to address this somehow
   // when we allow content resizing, or we could end up triggering an extra
diff --git a/chrome/browser/vr/elements/content_element.h b/chrome/browser/vr/elements/content_element.h
index 81bdb11..5ed7937 100644
--- a/chrome/browser/vr/elements/content_element.h
+++ b/chrome/browser/vr/elements/content_element.h
@@ -34,8 +34,7 @@
                       const gfx::PointF& position) override;
   void OnScrollEnd(std::unique_ptr<blink::WebGestureEvent> gesture,
                    const gfx::PointF& position) override;
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
 
   void Render(UiElementRenderer* renderer,
               const CameraModel& model) const final;
@@ -50,6 +49,7 @@
   void SetTextureLocation(UiElementRenderer::TextureLocation location);
   void SetOverlayTextureId(unsigned int texture_id);
   void SetOverlayTextureLocation(UiElementRenderer::TextureLocation location);
+  void SetOverlayTextureEmpty(bool empty);
   void SetProjectionMatrix(const gfx::Transform& matrix);
   void SetTextInputDelegate(TextInputDelegate* text_input_delegate);
   void SetDelegate(ContentInputDelegate* delegate);
@@ -62,6 +62,7 @@
   UiElementRenderer::TextureLocation texture_location_ =
       UiElementRenderer::kTextureLocationExternal;
   unsigned int overlay_texture_id_ = 0;
+  bool overlay_texture_non_empty_ = false;
   UiElementRenderer::TextureLocation overlay_texture_location_ =
       UiElementRenderer::kTextureLocationExternal;
   gfx::SizeF last_content_screen_bounds_;
diff --git a/chrome/browser/vr/elements/keyboard.cc b/chrome/browser/vr/elements/keyboard.cc
index b517871..b96573b 100644
--- a/chrome/browser/vr/elements/keyboard.cc
+++ b/chrome/browser/vr/elements/keyboard.cc
@@ -97,15 +97,14 @@
   delegate_->OnButtonUp(position);
 }
 
-bool Keyboard::OnBeginFrame(const base::TimeTicks& time,
-                            const gfx::Transform& head_pose) {
+bool Keyboard::OnBeginFrame(const gfx::Transform& head_pose) {
   if (!delegate_)
     return false;
 
   delegate_->OnBeginFrame();
   // We return false here because any visible changes to the keyboard, such as
   // hover effects and showing/hiding of the keyboard will be drawn by the
-  // controller's dirtyness, so it's safe to assume not visual changes here.
+  // controller's dirtyness, so it's safe to assume no visual changes here.
   return false;
 }
 
diff --git a/chrome/browser/vr/elements/keyboard.h b/chrome/browser/vr/elements/keyboard.h
index 3148dca..02c2745 100644
--- a/chrome/browser/vr/elements/keyboard.h
+++ b/chrome/browser/vr/elements/keyboard.h
@@ -44,8 +44,7 @@
   };
 
  private:
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
   void OnUpdatedWorldSpaceTransform() override;
   void Render(UiElementRenderer* renderer,
               const CameraModel& camera_model) const final;
diff --git a/chrome/browser/vr/elements/repositioner.cc b/chrome/browser/vr/elements/repositioner.cc
index ce02e45..64d7cc9b 100644
--- a/chrome/browser/vr/elements/repositioner.cc
+++ b/chrome/browser/vr/elements/repositioner.cc
@@ -126,8 +126,7 @@
   }
 }
 
-bool Repositioner::OnBeginFrame(const base::TimeTicks& time,
-                                const gfx::Transform& head_pose) {
+bool Repositioner::OnBeginFrame(const gfx::Transform& head_pose) {
   if (enabled_) {
     UpdateTransform(head_pose);
     return true;
diff --git a/chrome/browser/vr/elements/repositioner.h b/chrome/browser/vr/elements/repositioner.h
index fbe32a01..129a24f3 100644
--- a/chrome/browser/vr/elements/repositioner.h
+++ b/chrome/browser/vr/elements/repositioner.h
@@ -44,8 +44,7 @@
   gfx::Transform LocalTransform() const override;
   gfx::Transform GetTargetLocalTransform() const override;
   void UpdateTransform(const gfx::Transform& head_pose);
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
 #ifndef NDEBUG
   void DumpGeometry(std::ostringstream* os) const override;
 #endif
diff --git a/chrome/browser/vr/elements/resizer.cc b/chrome/browser/vr/elements/resizer.cc
index 0b01a1d..a2ddfdd2 100644
--- a/chrome/browser/vr/elements/resizer.cc
+++ b/chrome/browser/vr/elements/resizer.cc
@@ -70,8 +70,7 @@
   set_world_space_transform_dirty();
 }
 
-bool Resizer::OnBeginFrame(const base::TimeTicks& time,
-                           const gfx::Transform& head_pose) {
+bool Resizer::OnBeginFrame(const gfx::Transform& head_pose) {
   if (enabled_) {
     UpdateTransform(head_pose);
     return true;
diff --git a/chrome/browser/vr/elements/resizer.h b/chrome/browser/vr/elements/resizer.h
index b8d2aa8..493f90d 100644
--- a/chrome/browser/vr/elements/resizer.h
+++ b/chrome/browser/vr/elements/resizer.h
@@ -40,8 +40,7 @@
   gfx::Transform LocalTransform() const override;
   gfx::Transform GetTargetLocalTransform() const override;
   void UpdateTransform(const gfx::Transform& head_pose);
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
 
   bool enabled_ = false;
 
diff --git a/chrome/browser/vr/elements/scaled_depth_adjuster.cc b/chrome/browser/vr/elements/scaled_depth_adjuster.cc
index 81dc920..8811fc6 100644
--- a/chrome/browser/vr/elements/scaled_depth_adjuster.cc
+++ b/chrome/browser/vr/elements/scaled_depth_adjuster.cc
@@ -20,8 +20,7 @@
   return transform_;
 }
 
-bool ScaledDepthAdjuster::OnBeginFrame(const base::TimeTicks& time,
-                                       const gfx::Transform& head_pose) {
+bool ScaledDepthAdjuster::OnBeginFrame(const gfx::Transform& head_pose) {
   // NB: we compute our local transform only once in the first call to
   // OnBeginFrame that occurs after this element's construction. This permits
   // ScaledDepthAdjuster elements to be added to subtrees that are later added
diff --git a/chrome/browser/vr/elements/scaled_depth_adjuster.h b/chrome/browser/vr/elements/scaled_depth_adjuster.h
index 7ff40f6..2805262 100644
--- a/chrome/browser/vr/elements/scaled_depth_adjuster.h
+++ b/chrome/browser/vr/elements/scaled_depth_adjuster.h
@@ -25,8 +25,7 @@
  private:
   gfx::Transform LocalTransform() const override;
   gfx::Transform GetTargetLocalTransform() const override;
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
   void OnSetType() override;
 
 #ifndef NDEBUG
diff --git a/chrome/browser/vr/elements/text_input.cc b/chrome/browser/vr/elements/text_input.cc
index 8c8beaa..af7a6bc 100644
--- a/chrome/browser/vr/elements/text_input.cc
+++ b/chrome/browser/vr/elements/text_input.cc
@@ -154,9 +154,8 @@
   hint_element_->SetVisible(info.current.text.empty());
 }
 
-bool TextInput::OnBeginFrame(const base::TimeTicks& time,
-                             const gfx::Transform& head_pose) {
-  return SetCursorBlinkState(time);
+bool TextInput::OnBeginFrame(const gfx::Transform& head_pose) {
+  return SetCursorBlinkState(last_frame_time());
 }
 
 void TextInput::OnSetSize(const gfx::SizeF& size) {
diff --git a/chrome/browser/vr/elements/text_input.h b/chrome/browser/vr/elements/text_input.h
index cf0dabe..679a835d 100644
--- a/chrome/browser/vr/elements/text_input.h
+++ b/chrome/browser/vr/elements/text_input.h
@@ -52,8 +52,7 @@
     input_commit_callback_ = callback;
   }
 
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) final;
+  bool OnBeginFrame(const gfx::Transform& head_pose) final;
   void OnSetSize(const gfx::SizeF& size) final;
   void OnSetName() final;
 
diff --git a/chrome/browser/vr/elements/transient_element.cc b/chrome/browser/vr/elements/transient_element.cc
index d544f20..3a27a96 100644
--- a/chrome/browser/vr/elements/transient_element.cc
+++ b/chrome/browser/vr/elements/transient_element.cc
@@ -50,8 +50,7 @@
 
 SimpleTransientElement::~SimpleTransientElement() {}
 
-bool SimpleTransientElement::OnBeginFrame(const base::TimeTicks& time,
-                                          const gfx::Transform& head_pose) {
+bool SimpleTransientElement::OnBeginFrame(const gfx::Transform& head_pose) {
   // Do nothing if we're not going to be visible.
   if (GetTargetOpacity() != opacity_when_visible())
     return false;
@@ -61,7 +60,7 @@
   if (set_visible_time_.is_null() && opacity() > 0.0f)
     set_visible_time_ = last_frame_time();
 
-  base::TimeDelta duration = time - set_visible_time_;
+  base::TimeDelta duration = last_frame_time() - set_visible_time_;
 
   if (!set_visible_time_.is_null() && duration >= timeout_) {
     super::SetVisible(false);
@@ -85,7 +84,6 @@
 ShowUntilSignalTransientElement::~ShowUntilSignalTransientElement() {}
 
 bool ShowUntilSignalTransientElement::OnBeginFrame(
-    const base::TimeTicks& time,
     const gfx::Transform& head_pose) {
   // Do nothing if we're not going to be visible.
   if (GetTargetOpacity() != opacity_when_visible())
@@ -98,7 +96,7 @@
 
   bool set_invisible = false;
 
-  base::TimeDelta duration = time - set_visible_time_;
+  base::TimeDelta duration = last_frame_time() - set_visible_time_;
   if (!set_visible_time_.is_null() && !min_duration_callback_called_ &&
       duration >= min_duration_) {
     min_duration_callback_.Run();
diff --git a/chrome/browser/vr/elements/transient_element.h b/chrome/browser/vr/elements/transient_element.h
index 932e633..f8c6384 100644
--- a/chrome/browser/vr/elements/transient_element.h
+++ b/chrome/browser/vr/elements/transient_element.h
@@ -45,8 +45,7 @@
   ~SimpleTransientElement() override;
 
  private:
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
 
   typedef TransientElement super;
 
@@ -83,8 +82,7 @@
   void Reset() override;
 
  private:
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
 
   typedef TransientElement super;
 
diff --git a/chrome/browser/vr/elements/transient_element_unittest.cc b/chrome/browser/vr/elements/transient_element_unittest.cc
index fdbca0a..33792ad 100644
--- a/chrome/browser/vr/elements/transient_element_unittest.cc
+++ b/chrome/browser/vr/elements/transient_element_unittest.cc
@@ -15,6 +15,15 @@
 
 namespace vr {
 
+namespace {
+
+bool DoBeginFrame(UiElement* element, int time_milliseconds) {
+  element->set_last_frame_time(MsToTicks(time_milliseconds));
+  return element->DoBeginFrame(kStartHeadPose);
+}
+
+}  // namespace
+
 TEST(SimpleTransientElementTest, Visibility) {
   SimpleTransientElement element(base::TimeDelta::FromSeconds(2));
   element.SetOpacity(0.0f);
@@ -29,30 +38,30 @@
 
   // Enable, and ensure that the element transiently disappears.
   element.SetVisible(true);
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(0), kStartHeadPose));
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(10), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 0));
+  EXPECT_FALSE(DoBeginFrame(&element, 10));
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
-  EXPECT_TRUE(element.DoBeginFrame(MsToTicks(2010), kStartHeadPose));
+  EXPECT_TRUE(DoBeginFrame(&element, 2010));
   EXPECT_EQ(0.0f, element.opacity());
 
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(2020), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 2020));
   // Enable, and ensure that the element transiently disappears using
   // SetVisibleImmediately.
   element.SetVisibleImmediately(true);
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(2020), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 2020));
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
-  EXPECT_TRUE(element.DoBeginFrame(MsToTicks(4020), kStartHeadPose));
+  EXPECT_TRUE(DoBeginFrame(&element, 4020));
   EXPECT_EQ(0.0f, element.opacity());
 
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(4030), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 4030));
   element.SetTransitionedProperties({OPACITY});
   element.SetVisible(true);
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(4030), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 4030));
   EXPECT_NE(element.opacity_when_visible(), element.opacity());
   element.SetVisibleImmediately(true);
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(4030), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 4030));
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
-  EXPECT_TRUE(element.DoBeginFrame(MsToTicks(6060), kStartHeadPose));
+  EXPECT_TRUE(DoBeginFrame(&element, 6060));
   EXPECT_EQ(0.0f, element.GetTargetOpacity());
 }
 
@@ -65,25 +74,25 @@
   // Enable, and ensure that the element is visible.
   element.SetVisible(true);
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(0), kStartHeadPose));
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(1000), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 0));
+  EXPECT_FALSE(DoBeginFrame(&element, 1000));
 
   // Refresh visibility, and ensure that the element still transiently
   // disappears, but at a later time.
   element.RefreshVisible();
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(1000), kStartHeadPose));
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(2000), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 1000));
+  EXPECT_FALSE(DoBeginFrame(&element, 2000));
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
-  EXPECT_TRUE(element.DoBeginFrame(MsToTicks(3000), kStartHeadPose));
+  EXPECT_TRUE(DoBeginFrame(&element, 3000));
   EXPECT_EQ(0.0f, element.opacity());
 
   // Refresh visibility, and ensure that disabling hides the element.
   element.SetVisible(true);
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(3000), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 3000));
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
   element.RefreshVisible();
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(3000), kStartHeadPose));
-  EXPECT_FALSE(element.DoBeginFrame(MsToTicks(4000), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element, 3000));
+  EXPECT_FALSE(DoBeginFrame(&element, 4000));
   EXPECT_EQ(element.opacity_when_visible(), element.opacity());
   element.SetVisible(false);
   EXPECT_EQ(0.0f, element.opacity());
@@ -176,16 +185,16 @@
 
     // Make element visible.
     element().SetVisible(true);
-    EXPECT_FALSE(element().DoBeginFrame(MsToTicks(10), kStartHeadPose));
+    EXPECT_FALSE(DoBeginFrame(&element(), 10));
     EXPECT_EQ(element().opacity_when_visible(), element().opacity());
 
     // Signal, element should still be visible since time < min duration.
     element().Signal(true);
-    EXPECT_FALSE(element().DoBeginFrame(MsToTicks(200), kStartHeadPose));
+    EXPECT_FALSE(DoBeginFrame(&element(), 200));
     EXPECT_EQ(element().opacity_when_visible(), element().opacity());
 
     // Element hides and callback triggered.
-    EXPECT_TRUE(element().DoBeginFrame(MsToTicks(2010), kStartHeadPose));
+    EXPECT_TRUE(DoBeginFrame(&element(), 2010));
     EXPECT_EQ(0.0f, element().opacity());
     EXPECT_TRUE(min_duration_callback_triggered());
     EXPECT_TRUE(hide_callback_triggered());
@@ -214,18 +223,18 @@
 
   // Make element visible.
   element().SetVisible(true);
-  EXPECT_FALSE(element().DoBeginFrame(MsToTicks(10), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element(), 10));
   EXPECT_EQ(element().opacity_when_visible(), element().opacity());
 
   // Element should be visible since we haven't signalled.
-  EXPECT_FALSE(element().DoBeginFrame(MsToTicks(2010), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element(), 2010));
   EXPECT_TRUE(min_duration_callback_triggered());
   EXPECT_FALSE(hide_callback_triggered());
   ResetCallbackTriggered();
   EXPECT_EQ(element().opacity_when_visible(), element().opacity());
 
   // Element hides and callback triggered.
-  EXPECT_TRUE(element().DoBeginFrame(MsToTicks(6010), kStartHeadPose));
+  EXPECT_TRUE(DoBeginFrame(&element(), 6010));
   EXPECT_EQ(0.0f, element().opacity());
   EXPECT_FALSE(min_duration_callback_triggered());
   EXPECT_TRUE(hide_callback_triggered());
@@ -238,17 +247,17 @@
   // Enable, and ensure that the element is visible.
   element().SetVisible(true);
   EXPECT_EQ(element().opacity_when_visible(), element().opacity());
-  EXPECT_FALSE(element().DoBeginFrame(MsToTicks(0), kStartHeadPose));
-  EXPECT_FALSE(element().DoBeginFrame(MsToTicks(1000), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element(), 0));
+  EXPECT_FALSE(DoBeginFrame(&element(), 1000));
   element().Signal(true);
 
   // Refresh visibility, and ensure that the element still transiently
   // disappears, but at a later time.
   element().RefreshVisible();
-  EXPECT_FALSE(element().DoBeginFrame(MsToTicks(1000), kStartHeadPose));
-  EXPECT_FALSE(element().DoBeginFrame(MsToTicks(2500), kStartHeadPose));
+  EXPECT_FALSE(DoBeginFrame(&element(), 1000));
+  EXPECT_FALSE(DoBeginFrame(&element(), 2500));
   EXPECT_EQ(element().opacity_when_visible(), element().opacity());
-  EXPECT_TRUE(element().DoBeginFrame(MsToTicks(3000), kStartHeadPose));
+  EXPECT_TRUE(DoBeginFrame(&element(), 3000));
   EXPECT_EQ(0.0f, element().opacity());
   EXPECT_EQ(TransientElementHideReason::kSignal, hide_reason());
 }
diff --git a/chrome/browser/vr/elements/ui_element.cc b/chrome/browser/vr/elements/ui_element.cc
index 4a88362..a59fa7c 100644
--- a/chrome/browser/vr/elements/ui_element.cc
+++ b/chrome/browser/vr/elements/ui_element.cc
@@ -240,8 +240,7 @@
   NOTREACHED();
 }
 
-bool UiElement::DoBeginFrame(const base::TimeTicks& time,
-                             const gfx::Transform& head_pose) {
+bool UiElement::DoBeginFrame(const gfx::Transform& head_pose) {
   set_update_phase(UiElement::kDirty);
   // TODO(mthiesse): This is overly cautious. We may have keyframe_models but
   // not trigger any updates, so we should refine this logic and have
@@ -249,10 +248,9 @@
   // had no visual effect and dirtiness should be related to setting properties
   // that do indeed cause visual updates.
   bool keyframe_models_updated = animation_.keyframe_models().size() > 0;
-  animation_.Tick(time);
-  last_frame_time_ = time;
+  animation_.Tick(last_frame_time_);
   set_update_phase(kUpdatedAnimations);
-  bool begin_frame_updated = OnBeginFrame(time, head_pose);
+  bool begin_frame_updated = OnBeginFrame(head_pose);
   UpdateComputedOpacity();
   bool was_visible_at_any_point = IsVisible() || updated_visibility_this_frame_;
   bool dirty = (begin_frame_updated || keyframe_models_updated ||
@@ -262,14 +260,13 @@
   if (was_visible_at_any_point ||
       visibility_bindings_depend_on_child_visibility_) {
     for (auto& child : children_)
-      dirty |= child->DoBeginFrame(time, head_pose);
+      dirty |= child->DoBeginFrame(head_pose);
   }
 
   return dirty;
 }
 
-bool UiElement::OnBeginFrame(const base::TimeTicks& time,
-                             const gfx::Transform& head_pose) {
+bool UiElement::OnBeginFrame(const gfx::Transform& head_pose) {
   return false;
 }
 
@@ -557,20 +554,24 @@
   }
   *os << kReset;
 
-  if (!IsVisible()) {
+  if (phase_ < kUpdatedComputedOpacity || !IsVisible()) {
     *os << kBlue;
   }
 
   *os << DebugName() << kReset << " " << kCyan << DrawPhaseToString(draw_phase_)
       << " " << kReset;
 
-  if (size().width() != 0.0f || size().height() != 0.0f) {
-    *os << kRed << "[" << size().width() << ", " << size().height() << "] "
-        << kReset;
+  if (phase_ >= kUpdatedSize) {
+    if (size().width() != 0.0f || size().height() != 0.0f) {
+      *os << kRed << "[" << size().width() << ", " << size().height() << "] "
+          << kReset;
+    }
   }
 
-  *os << kGreen;
-  DumpGeometry(os);
+  if (phase_ >= kUpdatedWorldSpaceTransform) {
+    *os << kGreen;
+    DumpGeometry(os);
+  }
 
   counts.push_back(0u);
 
diff --git a/chrome/browser/vr/elements/ui_element.h b/chrome/browser/vr/elements/ui_element.h
index 8583ee6..a00864e9 100644
--- a/chrome/browser/vr/elements/ui_element.h
+++ b/chrome/browser/vr/elements/ui_element.h
@@ -137,6 +137,11 @@
   void SetDrawPhase(DrawPhase draw_phase);
   virtual void OnSetDrawPhase();
 
+  void UpdateBindings();
+
+  // Returns true if the element has been updated in any visible way.
+  bool DoBeginFrame(const gfx::Transform& head_pose);
+
   // Returns true if the element has changed size or position, or otherwise
   // warrants re-rendering the scene.
   virtual bool PrepareToDraw();
@@ -144,11 +149,6 @@
   // Returns true if the element updated its texture.
   virtual bool UpdateTexture();
 
-  // Returns true if the element has been updated in any visible way.
-  bool DoBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose);
-
-  // Indicates whether the element should be tested for cursor input.
   bool IsHitTestable() const;
 
   virtual void Render(UiElementRenderer* renderer,
@@ -362,8 +362,6 @@
     return bindings_;
   }
 
-  void UpdateBindings();
-
   void set_visibility_bindings_depend_on_child_visibility(bool value) {
     visibility_bindings_depend_on_child_visibility_ = value;
   }
@@ -479,11 +477,14 @@
   bool descendants_updated() const { return descendants_updated_; }
   void set_descendants_updated(bool updated) { descendants_updated_ = updated; }
 
+  base::TimeTicks last_frame_time() const { return last_frame_time_; }
+  void set_last_frame_time(const base::TimeTicks& time) {
+    last_frame_time_ = time;
+  }
+
  protected:
   Animation& animation() { return animation_; }
 
-  base::TimeTicks last_frame_time() const { return last_frame_time_; }
-
   virtual const Sounds& GetSounds() const;
 
   virtual bool ShouldUpdateWorldSpaceTransform(
@@ -499,8 +500,7 @@
   virtual void OnUpdatedWorldSpaceTransform();
 
   // Returns true if the element has been updated in any visible way.
-  virtual bool OnBeginFrame(const base::TimeTicks& time,
-                            const gfx::Transform& head_pose);
+  virtual bool OnBeginFrame(const gfx::Transform& head_pose);
 
   // If true, the element is either locally visible (independent of its
   // ancestors), or its animation will cause it to become locally visible.
@@ -582,8 +582,7 @@
 
   DrawPhase draw_phase_ = kPhaseNone;
 
-  // This is the time as of the last call to |Animate|. It is needed when
-  // reversing transitions.
+  // The time of the most recent frame.
   base::TimeTicks last_frame_time_;
 
   // This transform can be used by children to derive position of its parent.
diff --git a/chrome/browser/vr/elements/ui_element_name.cc b/chrome/browser/vr/elements/ui_element_name.cc
index 26cbaa15..7ba4ebd 100644
--- a/chrome/browser/vr/elements/ui_element_name.cc
+++ b/chrome/browser/vr/elements/ui_element_name.cc
@@ -55,6 +55,7 @@
     "kUrlBarOriginLayout",
     "kUrlBarOriginRegion",
     "kUrlBarUrlText",
+    "kUrlBarHintLayout",
     "kUrlBarHintText",
     "kUrlBarOverflowButton",
     "kOverflowMenuBackplane",
diff --git a/chrome/browser/vr/elements/ui_element_name.h b/chrome/browser/vr/elements/ui_element_name.h
index eff40db..790d16b 100644
--- a/chrome/browser/vr/elements/ui_element_name.h
+++ b/chrome/browser/vr/elements/ui_element_name.h
@@ -54,6 +54,7 @@
   kUrlBarOriginLayout,
   kUrlBarOriginRegion,
   kUrlBarUrlText,
+  kUrlBarHintLayout,
   kUrlBarHintText,
   kUrlBarOverflowButton,
   kOverflowMenuBackplane,
diff --git a/chrome/browser/vr/elements/viewport_aware_root.cc b/chrome/browser/vr/elements/viewport_aware_root.cc
index 8885d92..eaa062a 100644
--- a/chrome/browser/vr/elements/viewport_aware_root.cc
+++ b/chrome/browser/vr/elements/viewport_aware_root.cc
@@ -41,8 +41,7 @@
 
 ViewportAwareRoot::~ViewportAwareRoot() = default;
 
-bool ViewportAwareRoot::OnBeginFrame(const base::TimeTicks& time,
-                                     const gfx::Transform& head_pose) {
+bool ViewportAwareRoot::OnBeginFrame(const gfx::Transform& head_pose) {
   gfx::Vector3dF look_at = vr::GetForwardVector(head_pose);
   return AdjustRotationForHeadPose(look_at);
 }
diff --git a/chrome/browser/vr/elements/viewport_aware_root.h b/chrome/browser/vr/elements/viewport_aware_root.h
index 29cf0f3..923374f 100644
--- a/chrome/browser/vr/elements/viewport_aware_root.h
+++ b/chrome/browser/vr/elements/viewport_aware_root.h
@@ -30,8 +30,7 @@
   virtual bool AdjustRotationForHeadPose(const gfx::Vector3dF& look_at);
 
  private:
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override;
+  bool OnBeginFrame(const gfx::Transform& head_pose) override;
 
   float viewport_aware_total_rotation_ = 0.f;
   bool children_visible_ = false;
diff --git a/chrome/browser/vr/model/model.h b/chrome/browser/vr/model/model.h
index 67959b8..f876c4f 100644
--- a/chrome/browser/vr/model/model.h
+++ b/chrome/browser/vr/model/model.h
@@ -44,6 +44,7 @@
   gfx::Transform projection_matrix;
   unsigned int content_texture_id = 0;
   unsigned int content_overlay_texture_id = 0;
+  bool content_overlay_texture_non_empty = false;
   UiElementRenderer::TextureLocation content_location =
       UiElementRenderer::kTextureLocationLocal;
   UiElementRenderer::TextureLocation content_overlay_location =
diff --git a/chrome/browser/vr/model/toolbar_state.cc b/chrome/browser/vr/model/toolbar_state.cc
index 16f51c4d..dccae839 100644
--- a/chrome/browser/vr/model/toolbar_state.cc
+++ b/chrome/browser/vr/model/toolbar_state.cc
@@ -16,13 +16,11 @@
 ToolbarState::ToolbarState(const GURL& url,
                            security_state::SecurityLevel level,
                            const gfx::VectorIcon* icon,
-                           base::string16 verbose_text,
                            bool display_url,
                            bool offline)
     : gurl(url),
       security_level(level),
       vector_icon(icon),
-      secure_verbose_text(verbose_text),
       should_display_url(display_url),
       offline_page(offline) {}
 
@@ -32,7 +30,6 @@
   return (gurl == other.gurl && security_level == other.security_level &&
           vector_icon == other.vector_icon &&
           should_display_url == other.should_display_url &&
-          secure_verbose_text == other.secure_verbose_text &&
           offline_page == other.offline_page);
 }
 
diff --git a/chrome/browser/vr/model/toolbar_state.h b/chrome/browser/vr/model/toolbar_state.h
index eb9b69e6..1965cfb 100644
--- a/chrome/browser/vr/model/toolbar_state.h
+++ b/chrome/browser/vr/model/toolbar_state.h
@@ -21,7 +21,6 @@
   ToolbarState(const GURL& url,
                security_state::SecurityLevel level,
                const gfx::VectorIcon* icon,
-               base::string16 verbose_text,
                bool display_url,
                bool offline);
   ToolbarState(const ToolbarState& other);
@@ -32,7 +31,6 @@
   GURL gurl;
   security_state::SecurityLevel security_level;
   const gfx::VectorIcon* vector_icon;
-  base::string16 secure_verbose_text;
   bool should_display_url;
   bool offline_page;
 };
diff --git a/chrome/browser/vr/test/mock_browser_ui_interface.h b/chrome/browser/vr/test/mock_browser_ui_interface.h
index 45593fc..e7a7584 100644
--- a/chrome/browser/vr/test/mock_browser_ui_interface.h
+++ b/chrome/browser/vr/test/mock_browser_ui_interface.h
@@ -39,6 +39,7 @@
                       const base::Version& component_version) {}
   MOCK_METHOD0(OnAssetsUnavailable, void());
   MOCK_METHOD1(SetIncognitoTabsOpen, void(bool));
+  MOCK_METHOD1(SetOverlayTextureEmpty, void(bool));
 
   MOCK_METHOD1(ShowSoftInput, void(bool));
   MOCK_METHOD4(UpdateWebInputIndices, void(int, int, int, int));
diff --git a/chrome/browser/vr/testapp/vr_test_context.cc b/chrome/browser/vr/testapp/vr_test_context.cc
index e4e428f..27881352 100644
--- a/chrome/browser/vr/testapp/vr_test_context.cc
+++ b/chrome/browser/vr/testapp/vr_test_context.cc
@@ -494,7 +494,7 @@
 
 void VrTestContext::Navigate(GURL gurl, NavigationMethod method) {
   ToolbarState state(gurl, security_state::SecurityLevel::HTTP_SHOW_WARNING,
-                     &toolbar::kHttpIcon, base::string16(), true, false);
+                     &toolbar::kHttpIcon, true, false);
   ui_->SetToolbarState(state);
   page_load_start_ = base::TimeTicks::Now();
 }
@@ -627,50 +627,52 @@
   const std::vector<ToolbarState> states = {
       {GURL("http://domain.com"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("https://www.domain.com/path/segment/directory/file.html"),
-       security_state::SecurityLevel::SECURE, &toolbar::kHttpsValidIcon,
-       base::UTF8ToUTF16("Secure"), true, false},
+       security_state::SecurityLevel::SECURE, &toolbar::kHttpsValidIcon, true,
+       false},
       {GURL("https://www.domain.com/path/segment/directory/file.html"),
        security_state::SecurityLevel::DANGEROUS, &toolbar::kHttpsInvalidIcon,
-       base::UTF8ToUTF16("Dangerous"), true, false},
+       true, false},
       // Do not show URL
       {GURL(), security_state::SecurityLevel::HTTP_SHOW_WARNING,
-       &toolbar::kHttpIcon, base::string16(), false, false},
+       &toolbar::kHttpIcon, false, false},
+      {GURL(), security_state::SecurityLevel::SECURE, &toolbar::kHttpsValidIcon,
+       true, false},
       {GURL("file://very-very-very-long-file-hostname/path/path/path/path"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("file:///path/path/path/path/path/path/path/path/path"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       // Elision-related cases.
       {GURL("http://domaaaaaaaaaaain.com"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://domaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaain.com"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://domain.com/a/"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://domain.com/aaaaaaa/"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://domain.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://domaaaaaaaaaaaaaaaaain.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaa/"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://domaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaain.com/aaaaaaaaaa/"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://www.domain.com/path/segment/directory/file.html"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
       {GURL("http://subdomain.domain.com/"),
        security_state::SecurityLevel::HTTP_SHOW_WARNING, &toolbar::kHttpIcon,
-       base::string16(), true, false},
+       true, false},
   };
 
   static int state = 0;
diff --git a/chrome/browser/vr/toolbar_helper.cc b/chrome/browser/vr/toolbar_helper.cc
index 1e1f670e..612caaf 100644
--- a/chrome/browser/vr/toolbar_helper.cc
+++ b/chrome/browser/vr/toolbar_helper.cc
@@ -31,8 +31,8 @@
 void ToolbarHelper::Update() {
   ToolbarState state(
       toolbar_model_->GetURL(), toolbar_model_->GetSecurityLevel(true),
-      &toolbar_model_->GetVectorIcon(), toolbar_model_->GetSecureVerboseText(),
-      toolbar_model_->ShouldDisplayURL(), toolbar_model_->IsOfflinePage());
+      &toolbar_model_->GetVectorIcon(), toolbar_model_->ShouldDisplayURL(),
+      toolbar_model_->IsOfflinePage());
 
   if (current_state_ == state)
     return;
diff --git a/chrome/browser/vr/ui.cc b/chrome/browser/vr/ui.cc
index e903d69..d1dd4bc 100644
--- a/chrome/browser/vr/ui.cc
+++ b/chrome/browser/vr/ui.cc
@@ -459,6 +459,10 @@
   model_->incognito_tabs_open = open;
 }
 
+void Ui::SetOverlayTextureEmpty(bool empty) {
+  model_->content_overlay_texture_non_empty = !empty;
+}
+
 void Ui::ReinitializeForTest(const UiInitialState& ui_initial_state) {
   InitializeModel(ui_initial_state);
 }
diff --git a/chrome/browser/vr/ui.h b/chrome/browser/vr/ui.h
index ead70d8..ee8d0ce 100644
--- a/chrome/browser/vr/ui.h
+++ b/chrome/browser/vr/ui.h
@@ -97,6 +97,7 @@
                       const base::Version& component_version) override;
   void OnAssetsUnavailable() override;
   void SetIncognitoTabsOpen(bool open) override;
+  void SetOverlayTextureEmpty(bool empty) override;
 
   // TODO(ymalik): We expose this to stop sending VSync to the WebVR page until
   // the splash screen has been visible for its minimum duration. The visibility
diff --git a/chrome/browser/vr/ui_pixeltest.cc b/chrome/browser/vr/ui_pixeltest.cc
index 0c3cf5f..3cfa3d12 100644
--- a/chrome/browser/vr/ui_pixeltest.cc
+++ b/chrome/browser/vr/ui_pixeltest.cc
@@ -34,8 +34,7 @@
   ui_initial_state.web_vr_autopresentation_expected = false;
   MakeUi(ui_initial_state,
          ToolbarState(GURL("https://example.com"), security_state::SECURE,
-                      &toolbar::kHttpsValidIcon, base::UTF8ToUTF16("Secure"),
-                      true, false));
+                      &toolbar::kHttpsValidIcon, true, false));
 
   // Draw UI.
   DrawUi(gfx::Vector3dF(0.0f, 0.0f, -1.0f), gfx::Point3F(0.5f, -0.5f, 0.0f),
diff --git a/chrome/browser/vr/ui_scene.cc b/chrome/browser/vr/ui_scene.cc
index d1019bce..f319183 100644
--- a/chrome/browser/vr/ui_scene.cc
+++ b/chrome/browser/vr/ui_scene.cc
@@ -113,10 +113,10 @@
 
   auto& elements = GetAllElements();
 
-  // TODO(crbug.com/831191): Fix and reinstate this dirty initialization.
-  // for (auto* element : elements) {
-  //   element->set_update_phase(UiElement::kDirty);
-  // }
+  for (auto* element : elements) {
+    element->set_update_phase(UiElement::kDirty);
+    element->set_last_frame_time(current_time);
+  }
 
   {
     TRACE_EVENT0("gpu", "UiScene::OnBeginFrame.UpdateBindings");
@@ -130,7 +130,7 @@
 
     // Process all animations and pre-binding work. I.e., induce any
     // time-related "dirtiness" on the scene graph.
-    scene_dirty |= root_element_->DoBeginFrame(current_time, head_pose);
+    scene_dirty |= root_element_->DoBeginFrame(head_pose);
   }
 
   {
diff --git a/chrome/browser/vr/ui_scene_creator.cc b/chrome/browser/vr/ui_scene_creator.cc
index b9c9e7c..4624c55 100644
--- a/chrome/browser/vr/ui_scene_creator.cc
+++ b/chrome/browser/vr/ui_scene_creator.cc
@@ -1240,6 +1240,9 @@
       VR_BIND_FUNC(UiElementRenderer::TextureLocation, Model, model_,
                    model->content_overlay_location, ContentElement,
                    main_content.get(), SetOverlayTextureLocation));
+  main_content->AddBinding(VR_BIND_FUNC(
+      bool, Model, model_, !model->content_overlay_texture_non_empty,
+      ContentElement, main_content.get(), SetOverlayTextureEmpty));
   main_content->AddBinding(std::make_unique<Binding<EditedText>>(
       VR_BIND_LAMBDA([](EditedText* info) { return *info; },
                      base::Unretained(&model_->web_input_text_field_info)),
@@ -1874,6 +1877,7 @@
 
   auto reticle = std::make_unique<Reticle>(scene_, model_);
   reticle->SetDrawPhase(kPhaseForeground);
+  VR_BIND_VISIBILITY(reticle, model->reticle.target_point != gfx::Point3F());
 
   auto reposition_group = Create<UiElement>(kRepositionCursor, kPhaseNone);
   VR_BIND_VISIBILITY(reposition_group,
@@ -2057,10 +2061,19 @@
                         &ColorScheme::url_bar_button, &Button::SetButtonColors);
   scene_->AddUiElement(kUrlBarLayout, std::move(origin_region));
 
+  // This layout contains the page info icon and URL.
   auto origin_layout = Create<LinearLayout>(kUrlBarOriginLayout, kPhaseNone,
                                             LinearLayout::kRight);
+  VR_BIND_VISIBILITY(origin_layout, model->toolbar_state.should_display_url);
+
   scene_->AddUiElement(kUrlBarOriginRegion, std::move(origin_layout));
 
+  // This layout contains hint-text items, shown when there's no origin.
+  auto hint_layout =
+      Create<LinearLayout>(kUrlBarHintLayout, kPhaseNone, LinearLayout::kRight);
+  VR_BIND_VISIBILITY(hint_layout, !model->toolbar_state.should_display_url);
+  scene_->AddUiElement(kUrlBarOriginRegion, std::move(hint_layout));
+
   auto security_button_region =
       Create<Rect>(kUrlBarSecurityButtonRegion, kPhaseNone);
   security_button_region->SetType(kTypeSpacer);
@@ -2076,7 +2089,6 @@
   security_button->SetSize(kUrlBarButtonSizeDMM, kUrlBarButtonSizeDMM);
   security_button->set_corner_radius(kUrlBarItemCornerRadiusDMM);
   security_button->set_hover_offset(kUrlBarButtonHoverOffsetDMM);
-  VR_BIND_VISIBILITY(security_button, model->toolbar_state.should_display_url);
   VR_BIND_BUTTON_COLORS(model_, security_button.get(),
                         &ColorScheme::url_bar_button, &Button::SetButtonColors);
   security_button->AddBinding(std::make_unique<Binding<const gfx::VectorIcon*>>(
@@ -2113,7 +2125,6 @@
                           base::Unretained(browser_),
                           UiUnsupportedMode::kUnhandledCodePoint));
   url_text->SetFieldWidth(kUrlBarUrlWidthDMM);
-  VR_BIND_VISIBILITY(url_text, model->toolbar_state.should_display_url);
   url_text->AddBinding(VR_BIND_FUNC(GURL, Model, model_,
                                     model->toolbar_state.gurl, UrlText,
                                     url_text.get(), SetUrl));
@@ -2128,20 +2139,21 @@
   right_margin->SetSize(kUrlBarOriginRightMarginDMM, 0);
   scene_->AddUiElement(kUrlBarOriginLayout, std::move(right_margin));
 
+  auto hint_text_spacer = Create<Rect>(kNone, kPhaseNone);
+  hint_text_spacer->SetType(kTypeSpacer);
+  hint_text_spacer->SetSize(kUrlBarOriginContentOffsetDMM, kUrlBarHeightDMM);
+  scene_->AddUiElement(kUrlBarHintLayout, std::move(hint_text_spacer));
+
   auto hint_text =
       Create<Text>(kUrlBarHintText, kPhaseForeground, kUrlBarFontHeightDMM);
-  hint_text->set_contributes_to_parent_bounds(false);
-  hint_text->set_x_anchoring(LEFT);
-  hint_text->set_x_centering(LEFT);
-  hint_text->SetFieldWidth(kUrlBarUrlWidthDMM);
-  hint_text->SetTranslate(kUrlBarOriginContentOffsetDMM, 0, 0);
+  hint_text->SetFieldWidth(kUrlBarOriginRegionWidthDMM -
+                           kUrlBarOriginContentOffsetDMM);
   hint_text->SetLayoutMode(TextLayoutMode::kSingleLineFixedWidth);
   hint_text->SetAlignment(UiTexture::kTextAlignmentLeft);
   hint_text->SetText(l10n_util::GetStringUTF16(IDS_SEARCH_OR_TYPE_WEB_ADDRESS));
-  VR_BIND_VISIBILITY(hint_text, !model->toolbar_state.should_display_url);
   VR_BIND_COLOR(model_, hint_text.get(), &ColorScheme::url_bar_hint_text,
                 &Text::SetColor);
-  scene_->AddUiElement(kUrlBarOriginRegion, std::move(hint_text));
+  scene_->AddUiElement(kUrlBarHintLayout, std::move(hint_text));
 
   separator = Create<Rect>(kUrlBarSeparator, kPhaseForeground);
   separator->set_hit_testable(true);
diff --git a/chrome/browser/vr/ui_scene_unittest.cc b/chrome/browser/vr/ui_scene_unittest.cc
index 0368e3f..993f5b6 100644
--- a/chrome/browser/vr/ui_scene_unittest.cc
+++ b/chrome/browser/vr/ui_scene_unittest.cc
@@ -44,10 +44,7 @@
  public:
   ~AlwaysDirty() override {}
 
-  bool OnBeginFrame(const base::TimeTicks& time,
-                    const gfx::Transform& head_pose) override {
-    return true;
-  }
+  bool OnBeginFrame(const gfx::Transform& head_pose) override { return true; }
 };
 
 }  // namespace
diff --git a/chrome/browser/vr/ui_unittest.cc b/chrome/browser/vr/ui_unittest.cc
index f1e5f755..fd35c80 100644
--- a/chrome/browser/vr/ui_unittest.cc
+++ b/chrome/browser/vr/ui_unittest.cc
@@ -63,7 +63,6 @@
     kUrlBarUrlText,
     kUrlBarOverflowButton,
     kController,
-    kReticle,
     kLaser,
     kControllerTouchpadButton,
     kControllerAppButton,
@@ -81,7 +80,6 @@
     kFloor,
     kExitPrompt,
     kController,
-    kReticle,
     kLaser,
     kControllerTouchpadButton,
     kControllerAppButton,
@@ -516,7 +514,6 @@
   visible_in_fullscreen.insert(kControllerAppButton);
   visible_in_fullscreen.insert(kControllerHomeButton);
   visible_in_fullscreen.insert(kLaser);
-  visible_in_fullscreen.insert(kReticle);
   visible_in_fullscreen.insert(kContentFrame);
   visible_in_fullscreen.insert(kContentFrameHitPlane);
 
diff --git a/chrome/common/channel_info_win.cc b/chrome/common/channel_info_win.cc
index 61470614..ea9cce7 100644
--- a/chrome/common/channel_info_win.cc
+++ b/chrome/common/channel_info_win.cc
@@ -17,7 +17,7 @@
 #if defined(DCHECK_IS_CONFIGURABLE)
   // Adorn the channel when DCHECKs are baked into the build, as there will be
   // a performance hit. See https://crbug.com/812058 for details.
-  channel += " DCheck";
+  channel += L" DCheck";
 #endif
   return base::UTF16ToASCII(channel);
 #else
diff --git a/chrome/test/base/test_browser_window_aura.cc b/chrome/test/base/test_browser_window_aura.cc
index 8612548..212ea8b 100644
--- a/chrome/test/base/test_browser_window_aura.cc
+++ b/chrome/test/base/test_browser_window_aura.cc
@@ -48,6 +48,10 @@
   native_window_->Hide();
 }
 
+bool TestBrowserWindowAura::IsVisible() const {
+  return native_window_->IsVisible();
+}
+
 void TestBrowserWindowAura::Activate() {
   CHECK(native_window_->GetRootWindow())
       << "A TestBrowserWindowAura must have a root window to be activated.";
diff --git a/chrome/test/base/test_browser_window_aura.h b/chrome/test/base/test_browser_window_aura.h
index 150f8276..118577d 100644
--- a/chrome/test/base/test_browser_window_aura.h
+++ b/chrome/test/base/test_browser_window_aura.h
@@ -19,6 +19,7 @@
   gfx::NativeWindow GetNativeWindow() const override;
   void Show() override;
   void Hide() override;
+  bool IsVisible() const override;
   void Activate() override;
   bool IsActive() const override;
   gfx::Rect GetBounds() const override;
diff --git a/chrome/test/data/extensions/api_test/developer/generated_output/behllobkkfkfnphdnhnkndlbkcpglgmj.json b/chrome/test/data/extensions/api_test/developer/generated_output/behllobkkfkfnphdnhnkndlbkcpglgmj.json
index 2853199..3e1b825c 100644
--- a/chrome/test/data/extensions/api_test/developer/generated_output/behllobkkfkfnphdnhnkndlbkcpglgmj.json
+++ b/chrome/test/data/extensions/api_test/developer/generated_output/behllobkkfkfnphdnhnkndlbkcpglgmj.json
@@ -1,6 +1,6 @@
 {
    "dependentExtensions": [  ],
-   "description": "__MSG_chrome_extension_description__",
+   "description": "The first extension that I made.",
    "disableReasons": {
       "corruptInstall": false,
       "suspiciousInstall": false,
@@ -11,7 +11,7 @@
       "isEnabled": false
    },
    "fileAccess": {
-      "isActive": false,
+      "isActive": true,
       "isEnabled": true
    },
    "homePage": {
@@ -27,7 +27,7 @@
    "location": "UNPACKED",
    "manifestErrors": [  ],
    "mustRemainInstalled": false,
-   "name": "__MSG_chrome_extension_name__",
+   "name": "My extension 1",
    "offlineEnabled": false,
    "runOnAllUrls": {
       "isActive": true,
diff --git a/chrome/test/data/extensions/api_test/developer/generated_output/bjafgdebaacbbbecmhlhpofkepfkgcpa.json b/chrome/test/data/extensions/api_test/developer/generated_output/bjafgdebaacbbbecmhlhpofkepfkgcpa.json
index e9331c5..2487c18 100644
--- a/chrome/test/data/extensions/api_test/developer/generated_output/bjafgdebaacbbbecmhlhpofkepfkgcpa.json
+++ b/chrome/test/data/extensions/api_test/developer/generated_output/bjafgdebaacbbbecmhlhpofkepfkgcpa.json
@@ -11,7 +11,7 @@
       "isEnabled": false
    },
    "fileAccess": {
-      "isActive": false,
+      "isActive": true,
       "isEnabled": false
    },
    "homePage": {
diff --git a/chrome/test/data/extensions/api_test/developer/generated_output/hpiknbiabeeppbpihjehijgoemciehgk.json b/chrome/test/data/extensions/api_test/developer/generated_output/hpiknbiabeeppbpihjehijgoemciehgk.json
index 8661a5e..829765c 100644
--- a/chrome/test/data/extensions/api_test/developer/generated_output/hpiknbiabeeppbpihjehijgoemciehgk.json
+++ b/chrome/test/data/extensions/api_test/developer/generated_output/hpiknbiabeeppbpihjehijgoemciehgk.json
@@ -11,7 +11,7 @@
       "isEnabled": false
    },
    "fileAccess": {
-      "isActive": false,
+      "isActive": true,
       "isEnabled": false
    },
    "homePage": {
diff --git a/chromecast/graphics/cast_window_manager_aura.cc b/chromecast/graphics/cast_window_manager_aura.cc
index 7229783..b391bc6 100644
--- a/chromecast/graphics/cast_window_manager_aura.cc
+++ b/chromecast/graphics/cast_window_manager_aura.cc
@@ -100,8 +100,8 @@
   void DispatchEvent(ui::Event* event) override;
 
   // aura::WindowTreeHost implementation
-  void UpdateRootWindowSizeInPixels(
-      const gfx::Size& host_size_in_pixels) override;
+  gfx::Rect GetTransformedRootWindowBoundsInPixels(
+      const gfx::Size& size_in_pixels) const override;
 
  private:
   const bool enable_input_;
@@ -128,13 +128,12 @@
   WindowTreeHostPlatform::DispatchEvent(event);
 }
 
-void CastWindowTreeHost::UpdateRootWindowSizeInPixels(
-    const gfx::Size& host_size_in_pixels) {
-  aura::WindowTreeHost::UpdateRootWindowSizeInPixels(host_size_in_pixels);
-  gfx::Rect window_bounds = window()->bounds();
-  gfx::RectF new_bounds = gfx::RectF(window_bounds);
-  new_bounds.set_origin(gfx::PointF(0, 0));
-  window()->SetBounds(gfx::ToEnclosingRect(new_bounds));
+gfx::Rect CastWindowTreeHost::GetTransformedRootWindowBoundsInPixels(
+    const gfx::Size& host_size_in_pixels) const {
+  gfx::RectF new_bounds(WindowTreeHost::GetTransformedRootWindowBoundsInPixels(
+      host_size_in_pixels));
+  new_bounds.set_origin(gfx::PointF());
+  return gfx::ToEnclosingRect(new_bounds);
 }
 
 // A layout manager owned by the root window.
diff --git a/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java b/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java
index 50a8ca00..435cc48 100644
--- a/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java
+++ b/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java
@@ -127,6 +127,9 @@
         STABLE, // Reference time exists and is updated regularly.
         RESYNCING_AFTER_UNDERRUN, // The AudioTrack hit an underrun and we need to find a new
                                   // reference timestamp after the underrun point.
+        RESYNCING_AFTER_EXCESSIVE_TIMESTAMP_DRIFT, // We experienced excessive and consistent
+                                                   // jitters in the timestamps and we should find a
+                                                   // new reference timestamp.
     }
 
     ReferenceTimestampState mReferenceTimestampState;
@@ -652,6 +655,8 @@
                                 + elapsedNsec(mTimestampStabilityStartTimeNsec) / 1000000 + "ms]");
                 break;
 
+            case RESYNCING_AFTER_EXCESSIVE_TIMESTAMP_DRIFT:
+            // fall-through
             case RESYNCING_AFTER_UNDERRUN:
                 // Resyncing happens after we hit an underrun in the AudioTrack. This causes the
                 // Android Audio stack to insert additional samples, which increases the reference
@@ -672,7 +677,8 @@
                 mRefNanoTimeAtFramePos0 = newNanoTimeAtFramePos0;
                 mReferenceTimestampState = ReferenceTimestampState.STABLE;
                 Log.i(mTag,
-                        "New stable timestamp after underrun [" + mTimestampStabilityCounter + "/"
+                        "New stable timestamp after underrun or excessive drift ["
+                                + mTimestampStabilityCounter + "/"
                                 + elapsedNsec(mTimestampStabilityStartTimeNsec) / 1000000 + "ms]");
                 break;
 
@@ -690,8 +696,12 @@
                     if (timeSinceLastGoodTstamp <= MAX_TIME_IGNORING_TSTAMPS_NSECS) {
                         return; // Ignore this one.
                     }
-                    // We ignored jittery timestamps for too long, let this one pass.
+                    // We ignored jittery timestamps for too long, restart sync logic.
                     Log.i(mTag, "Too many jittery timestamps ignored!");
+                    mLastTimestampUpdateNsec = NO_TIMESTAMP;
+                    mTimestampStabilityCounter = 0;
+                    mReferenceTimestampState =
+                            ReferenceTimestampState.RESYNCING_AFTER_EXCESSIVE_TIMESTAMP_DRIFT;
                 }
                 // Low-pass filter: 0.10*New + 0.90*Ref. Do integer math with proper rounding.
                 mRefNanoTimeAtFramePos0 =
diff --git a/components/certificate_transparency/single_tree_tracker.cc b/components/certificate_transparency/single_tree_tracker.cc
index 6aa8f3e..68cc2ce 100644
--- a/components/certificate_transparency/single_tree_tracker.cc
+++ b/components/certificate_transparency/single_tree_tracker.cc
@@ -237,7 +237,9 @@
       &SingleTreeTracker::OnMemoryPressure, base::Unretained(this))));
 }
 
-SingleTreeTracker::~SingleTreeTracker() = default;
+SingleTreeTracker::~SingleTreeTracker() {
+  ResetPendingQueue();
+}
 
 void SingleTreeTracker::OnSCTVerified(base::StringPiece hostname,
                                       net::X509Certificate* cert,
@@ -356,7 +358,12 @@
 }
 
 void SingleTreeTracker::ResetPendingQueue() {
-  pending_entries_.clear();
+  // Move entries out of pending_entries_ prior to deleting them, in case any
+  // have inclusion checks in progress. Cancelling those checks would invoke the
+  // cancellation callback (ProcessPendingEntries()), which would attempt to
+  // access pending_entries_ while it was in the process of being deleted.
+  std::map<EntryToAudit, EntryAuditState, OrderByTimestamp> pending_entries;
+  pending_entries_.swap(pending_entries);
 }
 
 SingleTreeTracker::SCTInclusionStatus
diff --git a/components/certificate_transparency/single_tree_tracker_unittest.cc b/components/certificate_transparency/single_tree_tracker_unittest.cc
index 33a68dc..cc4dc9c 100644
--- a/components/certificate_transparency/single_tree_tracker_unittest.cc
+++ b/components/certificate_transparency/single_tree_tracker_unittest.cc
@@ -919,23 +919,59 @@
 // Test that entries are no longer pending after a network state
 // change.
 TEST_F(SingleTreeTrackerTest, DiscardsPendingEntriesAfterNetworkChange) {
-  CreateTreeTrackerWithDefaultDnsExpectation();
+  // Setup expectations for 2 SCTs to pass inclusion checking.
+  // However, the first should be cancelled half way through (when the network
+  // change occurs) and the second should be throttled (and then cancelled) so,
+  // by the end of test, neither should actually have passed the checks.
+  std::vector<std::string> audit_proof;
+  FillVectorWithValidAuditProofForTreeOfSize2(&audit_proof);
+
+  ASSERT_TRUE(mock_dns_.ExpectLeafIndexRequestAndResponse(
+      Base32LeafHash(chain_.get(), cert_sct_.get()) + ".hash." +
+          kDNSRequestSuffix,
+      0));
+  ASSERT_TRUE(mock_dns_.ExpectAuditProofRequestAndResponse(
+      std::string("0.0.2.tree.") + kDNSRequestSuffix, audit_proof.begin(),
+      audit_proof.begin() + 1));
+
+  scoped_refptr<SignedCertificateTimestamp> second_sct(GetSCT());
+  second_sct->timestamp -= base::TimeDelta::FromHours(1);
+
+  ASSERT_TRUE(mock_dns_.ExpectLeafIndexRequestAndResponse(
+      Base32LeafHash(chain_.get(), second_sct.get()) + ".hash." +
+          kDNSRequestSuffix,
+      1));
+  ASSERT_TRUE(mock_dns_.ExpectAuditProofRequestAndResponse(
+      std::string("0.1.2.tree.") + kDNSRequestSuffix, audit_proof.begin(),
+      audit_proof.begin() + 1));
+
+  CreateTreeTracker();
   AddCacheEntry(host_resolver_.GetHostCache(), kHostname,
                 net::HostCache::Entry::SOURCE_DNS, kZeroTTL);
 
-  tree_tracker_->OnSCTVerified(kHostname, chain_.get(), cert_sct_.get());
+  // Provide an STH to the tree_tracker_.
+  SignedTreeHead sth;
+  GetSignedTreeHeadForTreeOfSize2(&sth);
+  tree_tracker_->NewSTHObserved(sth);
 
-  EXPECT_EQ(
-      SingleTreeTracker::SCT_PENDING_NEWER_STH,
-      tree_tracker_->GetLogEntryInclusionStatus(chain_.get(), cert_sct_.get()));
+  tree_tracker_->OnSCTVerified(kHostname, chain_.get(), cert_sct_.get());
+  tree_tracker_->OnSCTVerified(kHostname, chain_.get(), second_sct.get());
+
+  for (auto sct : {cert_sct_, second_sct}) {
+    EXPECT_EQ(
+        SingleTreeTracker::SCT_PENDING_INCLUSION_CHECK,
+        tree_tracker_->GetLogEntryInclusionStatus(chain_.get(), sct.get()));
+  }
 
   net_change_notifier_->NotifyObserversOfNetworkChangeForTests(
       net::NetworkChangeNotifier::CONNECTION_UNKNOWN);
   base::RunLoop().RunUntilIdle();
 
-  EXPECT_EQ(
-      SingleTreeTracker::SCT_NOT_OBSERVED,
-      tree_tracker_->GetLogEntryInclusionStatus(chain_.get(), cert_sct_.get()));
+  for (auto sct : {cert_sct_, second_sct}) {
+    EXPECT_EQ(
+        SingleTreeTracker::SCT_NOT_OBSERVED,
+        tree_tracker_->GetLogEntryInclusionStatus(chain_.get(), sct.get()));
+  }
 }
 
 }  // namespace certificate_transparency
diff --git a/components/cronet/ios/Cronet.mm b/components/cronet/ios/Cronet.mm
index 224fea7..e7d40f8 100644
--- a/components/cronet/ios/Cronet.mm
+++ b/components/cronet/ios/Cronet.mm
@@ -488,8 +488,10 @@
 }
 
 // This is a private dummy method that prevents the linker from stripping out
-// the otherwise unreferenced methods from 'native/url_request.cc'.
-+ (void)preventStrippingNativeCronetUrlRequest {
+// the otherwise unreferenced modules from 'native'.
++ (void)preventStrippingNativeCronetModules {
+  Cronet_Buffer_Create();
+  Cronet_Engine_Create();
   Cronet_UrlRequest_Create();
 }
 
diff --git a/components/download/internal/common/download_stats.cc b/components/download/internal/common/download_stats.cc
index d55ac42..829b99ed 100644
--- a/components/download/internal/common/download_stats.cc
+++ b/components/download/internal/common/download_stats.cc
@@ -6,6 +6,7 @@
 
 #include <map>
 
+#include "base/callback.h"
 #include "base/files/file_path.h"
 #include "base/macros.h"
 #include "base/metrics/histogram_functions.h"
@@ -1069,6 +1070,32 @@
                             DOWNLOAD_CONNECTION_SECURITY_MAX);
 }
 
+void RecordDownloadContentTypeSecurity(
+    const GURL& download_url,
+    const std::vector<GURL>& url_chain,
+    const std::string& mime_type,
+    const base::RepeatingCallback<bool(const GURL&)>&
+        is_origin_secure_callback) {
+  bool is_final_download_secure = is_origin_secure_callback.Run(download_url);
+  bool is_redirect_chain_secure = true;
+  for (const auto& url : url_chain) {
+    if (!is_origin_secure_callback.Run(url)) {
+      is_redirect_chain_secure = false;
+      break;
+    }
+  }
+
+  DownloadContent download_content =
+      download::DownloadContentFromMimeType(mime_type, false);
+  if (is_final_download_secure && is_redirect_chain_secure) {
+    UMA_HISTOGRAM_ENUMERATION("Download.Start.ContentType.SecureChain",
+                              download_content, DownloadContent::MAX);
+  } else {
+    UMA_HISTOGRAM_ENUMERATION("Download.Start.ContentType.InsecureChain",
+                              download_content, DownloadContent::MAX);
+  }
+}
+
 void RecordDownloadSourcePageTransitionType(
     const base::Optional<ui::PageTransition>& page_transition) {
   if (!page_transition)
diff --git a/components/download/public/common/download_stats.h b/components/download/public/common/download_stats.h
index b9b1f62..251dfa8 100644
--- a/components/download/public/common/download_stats.h
+++ b/components/download/public/common/download_stats.h
@@ -13,6 +13,7 @@
 #include <string>
 #include <vector>
 
+#include "base/callback.h"
 #include "base/optional.h"
 #include "components/download/public/common/download_content.h"
 #include "components/download/public/common/download_danger_type.h"
@@ -372,6 +373,13 @@
     const GURL& download_url,
     const std::vector<GURL>& url_chain);
 
+COMPONENTS_DOWNLOAD_EXPORT void RecordDownloadContentTypeSecurity(
+    const GURL& download_url,
+    const std::vector<GURL>& url_chain,
+    const std::string& mime_type,
+    const base::RepeatingCallback<bool(const GURL&)>&
+        is_origin_secure_callback);
+
 COMPONENTS_DOWNLOAD_EXPORT void RecordDownloadSourcePageTransitionType(
     const base::Optional<ui::PageTransition>& transition);
 
diff --git a/components/metrics/file_metrics_provider.cc b/components/metrics/file_metrics_provider.cc
index b57d396e..8afc65e4 100644
--- a/components/metrics/file_metrics_provider.cc
+++ b/components/metrics/file_metrics_provider.cc
@@ -268,7 +268,6 @@
   // scanned.
   size_t total_size_kib = 0;  // Using KiB allows 4TiB even on 32-bit builds.
   size_t file_count = 0;
-  size_t delete_count = 0;
 
   base::Time now_time = base::Time::Now();
   if (!source->found_files) {
@@ -316,12 +315,8 @@
         // is not removed, it will continue to be ignored bacuse of the older
         // modification time.
         base::DeleteFile(found_file.path, /*recursive=*/false);
-        ++delete_count;
       }
     }
-
-    UMA_HISTOGRAM_COUNTS_100("UMA.FileMetricsProvider.DirectoryFiles",
-                             file_count);
   }
 
   // Filter files from the front until one is found for processing.
@@ -340,7 +335,6 @@
         now_time - found.info.GetLastModifiedTime() > source->max_age;
     if (too_many || too_big || too_old) {
       base::DeleteFile(found.path, /*recursive=*/false);
-      ++delete_count;
       --file_count;
       total_size_kib -= found.info.GetSize() >> 10;
       RecordAccessResult(too_many ? ACCESS_RESULT_TOO_MANY_FILES
@@ -361,9 +355,6 @@
       RecordAccessResult(result);
   }
 
-  UMA_HISTOGRAM_COUNTS_100("UMA.FileMetricsProvider.DeletedFiles",
-                           delete_count);
-
   return have_file;
 }
 
@@ -524,6 +515,7 @@
 // static
 void FileMetricsProvider::MergeHistogramDeltasFromSource(SourceInfo* source) {
   DCHECK(source->allocator);
+  SCOPED_UMA_HISTOGRAM_TIMER("UMA.FileMetricsProvider.SnapshotTime.File");
   base::PersistentHistogramAllocator::Iterator histogram_iter(
       source->allocator.get());
 
@@ -763,12 +755,6 @@
 bool FileMetricsProvider::HasPreviousSessionData() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  // Measure the total time spent checking all sources as well as the time
-  // per individual file. This method is called during startup and thus blocks
-  // the initial showing of the browser window so it's important to know the
-  // total delay.
-  SCOPED_UMA_HISTOGRAM_TIMER("UMA.FileMetricsProvider.InitialCheckTime.Total");
-
   // Check all sources for previous run to see if they need to be read.
   for (auto iter = sources_for_previous_run_.begin();
        iter != sources_for_previous_run_.end();) {
@@ -819,13 +805,6 @@
     base::HistogramSnapshotManager* snapshot_manager) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  // Measure the total time spent processing all sources as well as the time
-  // per individual file. This method is called during startup and thus blocks
-  // the initial showing of the browser window so it's important to know the
-  // total delay.
-  SCOPED_UMA_HISTOGRAM_TIMER(
-      "UMA.FileMetricsProvider.InitialSnapshotTime.Total");
-
   for (const std::unique_ptr<SourceInfo>& source : sources_for_previous_run_) {
     SCOPED_UMA_HISTOGRAM_TIMER(
         "UMA.FileMetricsProvider.InitialSnapshotTime.File");
@@ -846,13 +825,7 @@
 void FileMetricsProvider::MergeHistogramDeltas() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  // Measure the total time spent processing all sources as well as the time
-  // per individual file. This method is called on the UI thread so it's
-  // important to know how much total "jank" may be introduced.
-  SCOPED_UMA_HISTOGRAM_TIMER("UMA.FileMetricsProvider.SnapshotTime.Total");
-
   for (std::unique_ptr<SourceInfo>& source : sources_mapped_) {
-    SCOPED_UMA_HISTOGRAM_TIMER("UMA.FileMetricsProvider.SnapshotTime.File");
     MergeHistogramDeltasFromSource(source.get());
   }
 }
diff --git a/components/metrics/file_metrics_provider_unittest.cc b/components/metrics/file_metrics_provider_unittest.cc
index 350ce67..ca5ca9a 100644
--- a/components/metrics/file_metrics_provider_unittest.cc
+++ b/components/metrics/file_metrics_provider_unittest.cc
@@ -74,8 +74,6 @@
     EXPECT_TRUE(temp_dir_.CreateUniqueTempDir());
     FileMetricsProvider::RegisterPrefs(prefs_->registry(), kMetricsName);
     FileMetricsProvider::SetTaskRunnerForTesting(task_runner_);
-    // Get this first so it isn't created inside the persistent allocator.
-    base::GlobalHistogramAllocator::GetCreateHistogramResultHistogram();
   }
 
   ~FileMetricsProviderTest() override {
diff --git a/components/new_or_sad_tab_strings.grdp b/components/new_or_sad_tab_strings.grdp
index 6f334046..4771a59 100644
--- a/components/new_or_sad_tab_strings.grdp
+++ b/components/new_or_sad_tab_strings.grdp
@@ -4,6 +4,9 @@
       <message name="IDS_DEFAULT_TAB_TITLE" desc="The default title in a tab.">
         Untitled
       </message>
+      <message name="IDS_DOWNLOAD_TAB_TITLE" desc="The title for an empty Tab, which displays Download Manager.">
+        Download
+      </message>
 
       <!-- Sad Tab Strings -->
       <message name="IDS_SAD_TAB_TITLE" desc="The title of the sad tab page that is shown when a tab crashes. This is intended to be a humorous exclamation of dismay." formatter_data="android_java">
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb
index 61e322b..22fd496 100644
--- a/components/policy/resources/policy_templates_ar.xtb
+++ b/components/policy/resources/policy_templates_ar.xtb
@@ -34,6 +34,7 @@
 <translation id="1096105751829466145">مزود البحث الافتراضي</translation>
 <translation id="1099282607296956954">تفعيل "عزل المواقع" لكل موقع</translation>
 <translation id="1117535567637097036">‏لا يتم استخدام معالجات البروتوكول التي تم تعيينها عبر هذه السياسة عند معالجة أهداف Android.</translation>
+<translation id="1118093128235245168">‏السماح للمواقع بأن تطلب من المستخدم منح إمكانية الوصول إلى جهاز USB متصل</translation>
 <translation id="1128903365609589950">‏تهيئة الدليل الذي سيستخدمه <ph name="PRODUCT_NAME" /> لتخزين الملفات المُخزَّنة مؤقتًا في القرص.
 
       في حالة تعيين هذه السياسة، سوف يستخدم <ph name="PRODUCT_NAME" /> الدليل المُقدَّم بصرف النظر عن تحديد المستخدِم لعلامة '--disk-cache-dir' من عدمه. ولتجنُّب فقدان البيانات أو حدوث أخطاء غير متوقعة أخرى، ينبغي ألا يتم تعيين هذه السياسة على دليل الجذر لوحدة التخزين أو على دليل مستخدَم لأغراض أخرى، نظرًا لإدارة <ph name="PRODUCT_NAME" /> لمحتوياته.
@@ -71,6 +72,9 @@
     إذا لم يتم تعيين هذه السياسة، فستستغرق فترة التكرار الافتراضي 3 ساعات. وسيصبح الحد الأدنى
     من فترة التكرار المسموح بها 60 ثانية.</translation>
 <translation id="1204263402976895730">طابعات مؤسسة مُمَكّنة</translation>
+<translation id="1216758672198492382">‏تتيح لك هذه السياسة تحديد ما إذا كان يُسمح لمواقع الويب بالحصول على إمكانية الوصول إلى أجهزة USB المتصلة أم لا. ويمكن حظر إمكانية الوصول تمامًا، أو يمكن سؤال المستخدم في كل مرة يريد فيها موقع ويب الحصول على إمكانية الوصول إلى أجهزة USB المتصلة.
+
+          إذا تم ترك هذه السياسة بدون تعيين، سيتم استخدام القيمة "3"، ويمكن للمستخدم تغييرها.</translation>
 <translation id="1219695476179627719">‏تحدد ما إذا كان ينبغي للجهاز العودة إلى الإصدار السابق الذي تم تعيينه بواسطة <ph name="DEVICE_TARGET_VERSION_PREFIX_POLICY_NAME" /> أم لا إذا كان يشغّل بالفعل إصدارًا أحدث.
 
       يكون الوضع التلقائي هو "RollbackDisabled".</translation>
@@ -587,6 +591,12 @@
 <translation id="2801230735743888564">‏السماح للمستخدمين بتشغيل لعبة Dinosaur Easter Egg عندما يكون الجهاز بلا اتصال.
 
       إذا تم تعيين هذه السياسة على "False"، فلن يتمكن المستخدمون من تشغيل لعبة Dinosaur Easter Egg عندما يكون الجهاز بلا اتصال. وإذا تم تعيين هذا الإعداد على "True"، فسيتم السماح للمستخدمين بتشغيل لعبة Dinosaur. وإذا لم يتم تعيين هذه السياسة، فلن يتم السماح للمستخدمين بتشغيل لعبة Dinosaur Easter Egg في نظام تشغيل Chrome المُسجل، ولكن يتم السماح لهم بتشغيل هذه اللعبة في ظل ظروف أخرى.</translation>
+<translation id="2802085784857530815">‏تتيح لك هذه السياسة التحكُّم في إمكانية وصول المستخدمين إلى الطابعات غير التابعة للمؤسسة من عدمها
+
+      في حال تعيين السياسة على القيمة "True" أو عدم تعيينها على الإطلاق، سيتمكَّن المستخدمون من إضافة طابعاتهم الأصلية وتهيئتها واستخدامها في الطباعة.
+
+      في حال تعيين السياسة على القيمة "False"، لن يتمكَّن المستخدمون من إضافة طابعاتهم الأصلية وتهيئتها. ولن يتمكنوا أيضًا من الطباعة باستخدام أي طابعات أصلية تمت تهيئتها مسبقًا.
+      </translation>
 <translation id="2805707493867224476">السماح لجميع المواقع بعرض النوافذ المنبثقة</translation>
 <translation id="2808013382476173118">‏لتمكين استخدام خوادم STUN عند محاولة العملاء البعيدين إنشاء اتصال بهذا الجهاز.
 
@@ -739,6 +749,7 @@
           يجب تحديد قيمة السياسة بالمللي ثانية. يجب أن تكون القيم أقل من أو مساوية لمهلة إيقاف تشغيل الشاشة (في حالة تعيينها) ومهلة وضع الخمول.</translation>
 <translation id="3264793472749429012">ترميز مزود البحث الافتراضي</translation>
 <translation id="3273221114520206906">الإعدادات الافتراضية لجافا سكريبت</translation>
+<translation id="3284094172359247914">‏تتحكَّم هذه السياسة في استخدام واجهة برمجة تطبيقات WebUSB</translation>
 <translation id="3288595667065905535">قناة الإصدار</translation>
 <translation id="3292147213643666827">‏لتمكين <ph name="PRODUCT_NAME" /> من العمل كخادم وكيل بين <ph name="CLOUD_PRINT_NAME" /> والطابعات القديمة المتصلة بالجهاز.
 
@@ -820,6 +831,7 @@
           لا يتم الالتزام بهذه السياسة إلا في حال تمكين سياسة "DefaultSearchProviderEnabled".</translation>
 <translation id="350797926066071931">تمكين الترجمة</translation>
 <translation id="3512226956150568738">‏إذا كان طراز جهاز العميل قد دعّم ARC بالفعل قبل أن يُصبِح الترحيل إلى ext4 ضروريًا لتشغيل ARC وكانت سياسة ArcEnabled معينة على "true"، فسيعمل هذا الخيار عمل AskUser (القيمة 3). وفي جميع الحالات الأخرى (إذا كان طراز الجهاز لم يدعم ARC من قبل، أو إذا كانت سياسة ArcEnabled معينة على "false")، فستعادل هذه القيمة DisallowArc (القيمة 0).</translation>
+<translation id="3524204464536655762">‏عدم السماح لأي موقع بطلب الوصول إلى أجهزة USB من خلال واجهة برمجة تطبيقات WebUSB</translation>
 <translation id="3528000905991875314">تمكين صفحات الأخطاء البديلة</translation>
 <translation id="3547954654003013442">إعدادات الخادم الوكيل</translation>
 <translation id="3577251398714997599">إعداد الإعلانات للمواقع التي تتضمن إعلانات متداخلة</translation>
@@ -2493,6 +2505,15 @@
 <translation id="9112897538922695510">‏يسمح بتسجيل قائمة بمعالجات البروتوكولات. وهذا ليس إلا سياسة موصى بها. يجب تعيين |protocol| التابع للبرنامج لمخطط مثل: "mailto" وتعيين |url| التابع للبرنامج لنمط عنوان URL للتطبيق الذي يعالج المخطط. يمكن أن يتضمن النمط "%s"، والذي إن وجد يتم استبداله بعنوان URL الذي تمت معالجته.
 
           يتم دمج معالجات البروتوكولات المسجلة من قبل السياسة مع المعالجات المسجلة من قبل المستخدم، وكلاهما متاح للاستخدام. يمكن للمستخدم استبعاد معالجات البروتوكولات المثبتة من قبل السياسة عن طريق تثبيت معالج افتراضي جديد، ولكن لا يمكنه إزالة معالج بروتوكول مسجل من قبل السياسة.</translation>
+<translation id="9123211093995421438">تعيّن هذه السياسة الحد الأدنى لعدد إصدارات <ph name="PRODUCT_OS_NAME" /> المسموح بالعودة إليها في أي وقت، بدءًا من الإصدار الثابت.
+
+      تكون القيمة التلقائية معيّنة على "0" لأجهزة المستهلكين المسجّلة و"4" لأجهزة المؤسّسات المسجّلة (لعام واحد تقريبًا).
+
+      يَمنع تعيين هذه السياسة من تطبيق حماية عمليات العودة إلى هذا العدد من الإصدارات على الأقل.
+
+      قد يؤدّي تعيين قيمة أقل لهذه السياسة إلى منع الجهاز إطلاقَا من العودة إلى الإصدارات السابقة، حتى بعد إعادة تعيين قيمة أكبر للسياسة.
+
+      تعتمد إمكانية العودة الفعلية إلى الإصدارات السابقة على نموذج الجهاز ورموز تصحيح الثغرات الهامة.</translation>
 <translation id="913195841488580904">‏حظر الدخول إلى قائمة عناوين URL</translation>
 <translation id="9135033364005346124">تمكين الخادم الوكيل لـ <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="9136253551939494882">‏قائمة بيضاء تتحكم في أوضاع إلغاء القفل السريع التي يمكن للمستخدم تهيئتها واستخدامها لإلغاء قفل شاشة التأمين.
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb
index f668730..735b66f 100644
--- a/components/policy/resources/policy_templates_ca.xtb
+++ b/components/policy/resources/policy_templates_ca.xtb
@@ -2493,6 +2493,15 @@
 <translation id="9112897538922695510">Us permet registrar una llista de gestors de protocol. Això només pot ser una política recomanada. El |protocol| de la propietat s'ha de definir a l'esquema, com ara "mailto" i l'|url| de la propietat s'ha de definir al patró d'URL de l'aplicació que gestiona l'esquema. El patró pot incloure "%s" i, en cas que s'hi inclogui, se substituirà per l'URL gestionat.
 
           Els gestors de protocol registrats amb la política es combinen amb els que ha registrat l'usuari i tots dos es poden fer servir. L'usuari pot substituir els gestors de protocol que s'han instal·lat amb la política si instal·la un nou gestor de protocol predeterminat, però no pot suprimir un gestor de protocol que s'hagi registrat amb la política.</translation>
+<translation id="9123211093995421438">Especifica el nombre mínim de fites del sistema operatiu <ph name="PRODUCT_OS_NAME" /> que es permeten per a la reversió feta a partir de la versió estable en qualsevol moment.
+
+      El nombre predeterminat és 0 per a dispositius de consumidors i 4 (aproximadament mig any) per a dispositius inscrits per empreses.
+
+      Si s'estableix aquesta política, no es podrà aplicar la protecció de la reversió fins que no s'assoleixi aquest nombre de fites com a mínim.
+
+      Establir aquesta política en un valor més baix té un efecte permanent: pot ser que el dispositiu no pugui tornar a versions anteriors fins i tot després de restablir la política en un valor més alt.
+
+      Les possibilitats de reversió també poden dependre del tauler i de pedaços de vulnerabilitat importants.</translation>
 <translation id="913195841488580904">Bloqueja l'accés a una llista d'URL</translation>
 <translation id="9135033364005346124">Activa el servidor intermediari <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="9136253551939494882">Una llista blanca en què es controlen quins modes de desbloqueig ràpid pot configurar l'usuari per desbloquejar la pantalla de bloqueig.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index ad1acc65..2d92a6f 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -34,6 +34,7 @@
 <translation id="1096105751829466145">Proveedor de búsqueda predeterminado</translation>
 <translation id="1099282607296956954">Permite el aislamiento de todos los sitios</translation>
 <translation id="1117535567637097036">Los controladores de protocolo establecidos mediante esta política no se usan cuando se controlan intents en Android.</translation>
+<translation id="1118093128235245168">Permite que los sitios soliciten al usuario que otorgue acceso a un dispositivo USB conectado</translation>
 <translation id="1128903365609589950">Configura el directorio que <ph name="PRODUCT_NAME" /> usará para almacenar archivos en caché en el disco.
 
       Si estableces esta política, <ph name="PRODUCT_NAME" /> usará el directorio proporcionado más allá de que el usuario haya especificado la marca '--disk-cache-dir' o no. Para evitar la pérdida de datos u otros errores inesperados, no debes configurar un directorio con otro uso o el directorio raíz de un volumen en esta política, porque <ph name="PRODUCT_NAME" /> administra su contenido.
@@ -72,6 +73,9 @@
 
       Si esta política no se establece, la frecuencia predeterminada es de 3 horas. La frecuencia mínima permitida es de 60 segundos.</translation>
 <translation id="1204263402976895730">Impresoras empresariales habilitadas</translation>
+<translation id="1216758672198492382">Te permite establecer si los sitios web pueden acceder a dispositivos USB conectados. El acceso se puede bloquear por completo o se puede preguntar al usuario cada vez que un sitio web desea acceder a dispositivos USB conectados.
+
+          Si no se configura esta política, se usará el valor "3", y el usuario podrá cambiarlo.</translation>
 <translation id="1219695476179627719">Especifica si el dispositivo debe volver a la versión que se establece en <ph name="DEVICE_TARGET_VERSION_PREFIX_POLICY_NAME" />, si ya ejecuta una versión más reciente.
 
       El valor predeterminado es RollbackDisabled.</translation>
@@ -582,6 +586,12 @@
 <translation id="2801230735743888564">Permitir que los usuarios jueguen con el huevo de pascua del dinosaurio cuando el dispositivo se encuentra sin conexión
 
       Si esta política se configura en False, los usuarios no podrán jugar con el huevo de pascua del dinosaurio cuando el dispositivo se encuentre sin conexión. Si esta configuración se establece en True, los usuarios podrán jugar con el dinosaurio. Si esta política no se configura, los usuarios no podrán jugar con el huevo de pascua del dinosaurio en el Sistema operativo Chrome registrado, pero se les permitirá jugar en otras circunstancias.</translation>
+<translation id="2802085784857530815">Te permite controlar si los usuarios pueden acceder a impresoras no empresariales
+
+      Si la política se establece como verdadera o no se establece, los usuarios podrán agregar sus propias impresoras nativas, configurarlas y realizar impresiones con ellas.
+
+      Si se establece como falsa, los usuarios no podrán agregar sus propias impresoras nativas ni configurarlas. Tampoco podrán realizar impresiones con ninguna impresora nativa que se haya configurado anteriormente.
+      </translation>
 <translation id="2805707493867224476">Permitir que todos los sitios muestren ventanas emergentes.</translation>
 <translation id="2808013382476173118">Habilita el uso de servidores STUN cuando los clientes remotos intentan establecer una conexión con esta computadora.
 
@@ -738,6 +748,7 @@
           El valor de la política debe especificarse en milisegundos. Los valores se establecerán para que sean inferiores o equivalentes a la demora de pantalla apagada (si se configuró) y la demora de inactividad.</translation>
 <translation id="3264793472749429012">Codificación del proveedor de búsqueda predeterminado</translation>
 <translation id="3273221114520206906">Configuración de JavaScript predeterminada</translation>
+<translation id="3284094172359247914">Controla el uso de la API de WebUSB</translation>
 <translation id="3288595667065905535">Canal de versión</translation>
 <translation id="3292147213643666827">Permite que <ph name="PRODUCT_NAME" /> funcione como proxy entre <ph name="CLOUD_PRINT_NAME" /> e impresoras anteriores conectadas a la computadora.
       Si se habilita o no se configura esta opción, los usuarios pueden habilitar el proxy de Google Cloud Print si realizan la autenticación con su cuenta de Google.
@@ -821,6 +832,7 @@
           Esta política solo se respeta si se habilita la política "DefaultSearchProviderEnabled".</translation>
 <translation id="350797926066071931">Habilitar Traductor de Google</translation>
 <translation id="3512226956150568738">Si el modelo del dispositivo del cliente ya era compatible con ARC, la migración a ext4 era necesaria para ejecutar ARC y se establece la política ArcEnabled como verdadera, esta opción se comportará como AskUser (valor 3). En los demás casos (si el modelo del dispositivo no era compatible con ARC o se establece la política ArcEnabled como falsa), este valor es equivalente a DisallowArc (valor 0).</translation>
+<translation id="3524204464536655762">No permitir que ningún sitio solicite acceso a dispositivos USB a través de la API de WebUSB</translation>
 <translation id="3528000905991875314">Habilitar páginas de error alternativas</translation>
 <translation id="3547954654003013442">Configuración de proxy</translation>
 <translation id="3577251398714997599">Configuración de anuncios para sitios con anuncios intrusivos</translation>
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index a742451..51493d7 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -34,6 +34,7 @@
 <translation id="1096105751829466145">Proveedor de búsquedas predeterminadas</translation>
 <translation id="1099282607296956954">Habilitar el aislamiento de todos los sitios web</translation>
 <translation id="1117535567637097036">Los controladores de protocolo configurados a través de esta política no se utilizan al procesar los intents de Android.</translation>
+<translation id="1118093128235245168">Permitir que los sitios web pidan permiso al usuario para acceder a un dispositivo USB conectado</translation>
 <translation id="1128903365609589950">Configura el directorio que <ph name="PRODUCT_NAME" /> utilizará para guardar los archivos almacenados en la memoria caché en el disco.
 
       Si se establece esta política, <ph name="PRODUCT_NAME" /> utilizará el directorio proporcionado independientemente de que el usuario haya especificado el indicador "--disk-cache-dir". Para evitar la pérdida de datos u otros errores inesperados, esta política no debe establecerse en el directorio raíz del volumen o en un directorio utilizado para otros fines, ya que <ph name="PRODUCT_NAME" /> administra sus contenidos.
@@ -72,6 +73,9 @@
 
 Si no se establece ningún valor para esta política, la frecuencia predeterminada serán 3 horas. La frecuencia mínima permitida son 60 segundos.</translation>
 <translation id="1204263402976895730">Impresoras de empresa habilitadas</translation>
+<translation id="1216758672198492382">Permite establecer si los sitios web pueden acceder a los dispositivos USB conectados. El acceso se puede bloquear por completo, o se le puede preguntar al usuario cada vez que un sitio web quiera acceder a los dispositivos USB conectados.
+
+          Si no se le asigna ningún valor a esta política, se usará el "3" y el usuario podrá cambiarlo.</translation>
 <translation id="1219695476179627719">Especifica si el dispositivo debería volver a instalar la versión establecida por <ph name="DEVICE_TARGET_VERSION_PREFIX_POLICY_NAME" /> si utiliza una versión posterior.
 
       El valor predeterminado es RollbackDisabled.</translation>
@@ -316,6 +320,17 @@
 <translation id="2113068765175018713">Limitar tiempo de actividad de dispositivo mediante reinicio automático</translation>
 <translation id="2127599828444728326">Permitir notificaciones en estos sitios</translation>
 <translation id="2131902621292742709">Retraso de atenuado de pantalla cuando el dispositivo funciona con la batería</translation>
+<translation id="2132732175597591362">Controla la lista blanca de patrones de URL en los que la reproducción automática siempre estará habilitada.
+
+      Si la reproducción automática está habilitada, los vídeos se reproducirán automáticamente con audio en <ph name="PRODUCT_NAME" /> (sin el consentimiento del usuario).
+
+      Hay que formatear un patrón de URL según lo especificado en https://www.chromium.org/administrators/url-blacklist-filter-format.
+
+      Si se le asigna el valor "True" a la política AutoplayAllowed, esta política no tendrá ningún efecto.
+
+      Si se le asigna el valor "False" a la política AutoplayAllowed, los patrones de URL establecidos en esta política seguirán teniendo permiso para reproducirse.
+
+      Ten en cuenta que si <ph name="PRODUCT_NAME" /> se está ejecutando y esta política cambia, dichos cambios se aplicarán a las pestañas que se abran a partir de ese momento Por tanto, es posible que algunas pestañas aún conserven el comportamiento anterior.</translation>
 <translation id="2134437727173969994">Permitir que se bloquee la pantalla</translation>
 <translation id="2137064848866899664">Si se establece esta política, se girará cada pantalla a la
       orientación especificada cada vez que se reinicie el dispositivo y la primera vez que se conecte
@@ -599,6 +614,12 @@
 <translation id="2801230735743888564">Permite que los usuarios jueguen al juego del huevo de pascua de dinosaurio sin conexión.
 
       Si se asigna el valor False a esta política, los usuarios no podrán jugar al juego del huevo de pascua de dinosaurio sin conexión. Si se le asigna el valor True, los usuarios podrán jugar al juego del dinosaurio. Si no se establece esta política, los usuarios no podrán jugar a este juego en el dispositivo Chrome OS registrado, aunque podrán hacerlo en otras circunstancias.</translation>
+<translation id="2802085784857530815">Permite controlar si los usuarios pueden acceder a impresoras que no sean de empresa
+
+      Si se le asigna el valor "True" a esta política o no se configura, los usuarios podrán añadir y configurar sus propias impresoras nativas y usarlas para imprimir.
+
+      Si se le asigna el valor "False" a la política, los usuarios no podrán añadir ni configurar sus propias impresoras nativas ni usarlas para imprimir. Tampoco podrán imprimir con ninguna impresora nativa que hayan configurado previamente.
+      </translation>
 <translation id="2805707493867224476">Permitir que todos los sitios muestren ventanas emergentes</translation>
 <translation id="2808013382476173118">Habilita el uso de servidores STUN cuando los clientes remotos intentan establecer conexión con este ordenador.
 
@@ -758,6 +779,7 @@
           El valor de la política se debe especificar en milisegundos. Los valores están establecidos para ser inferiores o iguales al retraso de desconexión de pantalla (si está establecido) y al retraso de inactividad.</translation>
 <translation id="3264793472749429012">Codificaciones del proveedor de búsquedas predeterminadas</translation>
 <translation id="3273221114520206906">Configuración de JavaScript predeterminada</translation>
+<translation id="3284094172359247914">Controlar el uso de la API WebUSB</translation>
 <translation id="3288595667065905535">Canal de versiones</translation>
 <translation id="3292147213643666827">Permite que <ph name="PRODUCT_NAME" /> actúe como proxy entre <ph name="CLOUD_PRINT_NAME" /> y las impresoras anteriores conectadas al ordenador.
 
@@ -842,6 +864,7 @@
           Esta política solo se respeta si se habilita la política "DefaultSearchProviderEnabled".</translation>
 <translation id="350797926066071931">Habilitar el Traductor</translation>
 <translation id="3512226956150568738">Si el modelo de dispositivo del cliente ya admitía ARC antes de que fuera necesario realizar la migración a ext4 para ejecutar ese formato y si se ha asignado el valor "True" a la política ArcEnabled, esta opción se comportará como AskUser (valor 3). En el resto de los casos (si el modelo de dispositivo no admitía ARC antes o si se ha asignado el valor "False" a la política ArcEnabled), este valor es equivalente a DisallowArc (valor 0).</translation>
+<translation id="3524204464536655762">No permitir que los sitios web soliciten acceso a dispositivos USB a través de la API WebUSB</translation>
 <translation id="3528000905991875314">Habilitar páginas de error alternativas</translation>
 <translation id="3547954654003013442">Configuración de proxy</translation>
 <translation id="3577251398714997599">Configuración de anuncios de sitios web con anuncios invasivos</translation>
@@ -952,6 +975,9 @@
       Permite mostrar las extensiones que están instaladas de forma automática en una sesión de demostración para dispositivos que se encuentren en modo comercial. Estas extensiones se guardan en el dispositivo y se pueden instalar sin conexión una vez que se ha completado el proceso de instalación.
 
       Cada entrada de la lista contiene un diccionario, que debe incluir el ID de la extensión en el campo "extension-id" y una URL de actualización en el campo "update-url".</translation>
+<translation id="3873159954366380945">Permite definir cada cuánto tiempo muestra <ph name="PRODUCT_NAME" /> las notificaciones de reinicio para aplicar una actualización pendiente.
+
+      Puedes utilizar esta opción de la política para controlar el periodo (en milisegundos) en el que se informa al usuario de forma progresiva de que debe reiniciar <ph name="PRODUCT_NAME" /> (o de que debe reiniciar <ph name="PRODUCT_OS_NAME" />) para aplicar una actualización. En este periodo, el usuario recibe una notificación de forma periódica indicando que es necesario aplicar una actualización de acuerdo con el ajuste de la política <ph name="RELAUNCH_NOTIFICATION_POLICY_NAME" />. Si no se le asigna ningún valor, se utiliza el periodo predeterminado, que es de 345.600.000 milisegundos (cuatro días) para <ph name="PRODUCT_OS_NAME" /> y 604.800.000 milisegundos (una semana) para el resto de plataformas.</translation>
 <translation id="3877517141460819966">Modo de autenticación de dos factores integrado</translation>
 <translation id="388237772682176890">Esta política está obsoleta en M53 y se ha quitado de M54, ya que se ha retirado la compatibilidad con SPDY/3.1.
 
@@ -1302,6 +1328,14 @@
           Esta política solo se respeta si se habilita la política "DefaultSearchProviderEnabled".</translation>
 <translation id="489803897780524242">Parámetro que controla el emplazamiento de los términos de búsqueda para el proveedor de búsquedas predeterminado</translation>
 <translation id="4899708173828500852">Habilitar la Navegación Segura</translation>
+<translation id="4899802251198446659">Permite controlar si los vídeos se pueden reproducir automáticamente (sin el consentimiento de los usuarios) con contenido de audio en <ph name="PRODUCT_NAME" />.
+
+      Si se le asigna el valor "True" a esta política, <ph name="PRODUCT_NAME" /> podrá reproducir contenido multimedia automáticamente.
+      Si se le asigna el valor "False", <ph name="PRODUCT_NAME" /> no podrá reproducir contenido multimedia automáticamente. La política AutoplayWhitelist se puede usar para anular este valor en determinados patrones de URL.
+      De forma predeterminada, <ph name="PRODUCT_NAME" /> no puede reproducir contenido multimedia automáticamente. La política AutoplayWhitelist se puede usar para anular este valor en determinados patrones de URL.
+
+      Ten en cuenta que, si <ph name="PRODUCT_NAME" /> se está ejecutando y esta política cambia, solo se aplicará a las nuevas pestañas que abras. Por lo tanto, en algunas pestañas se seguirá el comportamiento anterior.
+      </translation>
 <translation id="4906194810004762807">Frecuencia de actualización de Device Policy</translation>
 <translation id="4917385247580444890">Buena</translation>
 <translation id="4923806312383904642">Permitir que WebDriver anule las políticas incompatibles</translation>
@@ -2623,6 +2657,15 @@
 <translation id="9112897538922695510">Te permite registrar una lista de controladores de protocolos. Solo puede tratarse de una política recomendada. La propiedad |protocol| se debe establecer según el esquema (por ejemplo, mailto), y la propiedad |url| se debe establecer según el patrón de URL de la aplicación que procesa el esquema. El patrón puede incluir un %s, que si está presente se sustituirá por la URL procesada.
 
 Los controladores de protocolos registrados por la política se combinan con los registrados por el usuario, y ambos pueden utilizarse. El usuario puede anular los controladores de protocolos instalados por la política. Para ello, debe instalar un nuevo controlador predeterminado, pero no puede eliminar un controlador de protocolo registrado por la política.</translation>
+<translation id="9123211093995421438">Especifica el número mínimo de restauraciones de eventos clave de <ph name="PRODUCT_OS_NAME" /> que se deberían permitir desde la versión estable en cualquier momento.
+
+      El valor predeterminado es 0 para dispositivos de consumo y 4 (aproximadamente medio año) para los dispositivos registrados por empresas.
+
+      Si se configura esta política, la protección de reversión no se aplicará al menos a ese número de eventos clave.
+
+      Si se asigna un valor inferior a esta política, el efecto será permanente: el dispositivo no podrá volver a instalar versiones anteriores aunque se le vuelva a asignar un valor superior a la política.
+
+      Las posibilidades reales de reversión también dependen de la placa base y de los parches de vulnerabilidad grave.</translation>
 <translation id="913195841488580904">Bloquear el acceso a una lista de URL</translation>
 <translation id="9135033364005346124">Habilitar el proxy de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="9136253551939494882">Una lista blanca que controla los modos de desbloqueo rápido que el usuario puede configurar para desbloquear la pantalla de bloqueo.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index 4469164..1466fbd 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -2528,6 +2528,15 @@
 <translation id="9112897538922695510">プロトコル ハンドラのリストを登録できます。これはあくまでも推奨のポリシーです。プロパティ |protocol| には「mailto」などのスキームを設定し、プロパティ |url| にはこのスキームを処理するアプリケーションの URL パターンを設定します。このパターンに「%s」を含めて、処理された URL に置き換えることもできます。
 
           ポリシーで登録されたプロトコル ハンドラは、ユーザーが登録したプロトコル ハンドラと統合され、両方とも使用可能になります。ユーザーは、新しいデフォルトのハンドラをインストールすることにより、ポリシーでインストールされたプロトコル ハンドラをオーバーライドできます。ただし、ポリシーで登録されたプロトコル ハンドラを削除することはできません。</translation>
+<translation id="9123211093995421438">Stable バージョンから随時ロールバックできる <ph name="PRODUCT_OS_NAME" /> のマイルストーンの最小数を指定します。
+
+      デフォルト値は、一般ユーザーの場合は 0、企業の登録済みデバイスの場合は 4(6 か月前後)となります。
+
+      このポリシーを設定すると、少なくとも指定されたマイルストーン数において、ロールバックに対する保護が適用されなくなります。
+
+      このポリシーの設定値を下げた場合は、永続的な影響が生じます。つまり、このポリシーをより大きな値に設定し直しても、デバイスを以前のバージョンに戻せなくなる可能性があります。
+
+      実際にロールバックが可能かどうかは、モデルや、重要な脆弱性の修正が適用されているかどうかによっても変わります。</translation>
 <translation id="913195841488580904">URL のリストへのアクセスをブロックする</translation>
 <translation id="9135033364005346124"><ph name="CLOUD_PRINT_NAME" /> プロキシを有効にする</translation>
 <translation id="9136253551939494882">ロックのクイック解除モードを管理するホワイトリストです。ユーザーは、このリストにあるモードをロック画面のロック解除用に設定して使用できます。
diff --git a/components/policy/resources/policy_templates_lt.xtb b/components/policy/resources/policy_templates_lt.xtb
index e35b6c53..1be8d02 100644
--- a/components/policy/resources/policy_templates_lt.xtb
+++ b/components/policy/resources/policy_templates_lt.xtb
@@ -34,6 +34,7 @@
 <translation id="1096105751829466145">Numatytasis paieškos teikėjas</translation>
 <translation id="1099282607296956954">Įgalinti visų svetainių atskyrimą</translation>
 <translation id="1117535567637097036">Protokolų doroklės, nustatytos pagal šią politiką, nenaudojamos apdorojant „Android“ tikslus.</translation>
+<translation id="1118093128235245168">Leisti svetainėms prašyti naudotojo suteikti galimybę pasiekti prijungtą USB įrenginį</translation>
 <translation id="1128903365609589950">Konfigūruojamas katalogas, kurį „<ph name="PRODUCT_NAME" />“ naudos, kad išsaugotų talpykloje saugomus failus diske.
 
       Jei nustatysite šią politiką, „<ph name="PRODUCT_NAME" />“ naudos pateiktą katalogą neatsižvelgiant į tai, ar naudotojas nurodė žymą „--disk-cache-dir“, ar ne. Kad neprarastumėte duomenų ir išvengtumėte kitų netikėtų klaidų, ši politika neturėtų būti nustatyta tomo šakniniame kataloge ar kitais tikslais naudojamame kataloge, nes „<ph name="PRODUCT_NAME" />“ tvarko savo turinį.
@@ -73,6 +74,9 @@
       Jei ši politika nenustatyta, numatytasis dažnis yra 3 val. Minimalus
       leistinas dažnis yra 60 sekundžių.</translation>
 <translation id="1204263402976895730">Įgalinti įmonės spausdintuvai</translation>
+<translation id="1216758672198492382">Galite nustatyti, ar svetainėms leidžiama pasiekti prijungtus USB įrenginius. Pasiekiamumą galima visiškai užblokuoti arba naudotojo gali būti klausiama kiekvieną kartą, kai svetainė nori pasiekti prijungtus USB įrenginius.
+
+          Jei ši politika nenustatyta, bus naudojama vertė „3“ ir naudotojas galės ją pakeisti.</translation>
 <translation id="1219695476179627719">Nurodoma, ar įrenginyje turėtų būti grąžinta pagal politiką „<ph name="DEVICE_TARGET_VERSION_PREFIX_POLICY_NAME" />“ nustatyta versija, jei jame jau paleista naujesnė versija.
 
       Numatytasis nustatymas yra „RollbackDisabled“.</translation>
@@ -615,6 +619,12 @@
 <translation id="2801230735743888564">Leidžiama naudotojams žaisti dinozaurų Velykų kiaušinių žaidimą, kai įrenginys neprijungtas prie interneto.
 
       Jei ši politika nustatyta į „False“, naudotojai negali žaisti dinozaurų Velykų kiaušinių žaidimo, kai įrenginys neprijungtas prie interneto. Jei šis nustatymas nustatytas į „True“, naudotojams leidžiama žaisti dinozaurų žaidimą. Jei ši politika nenustatyta, naudotojams neleidžiama žaisti dinozaurų Velykų kiaušinių žaidimo užregistruotoje „Chrome“ OS, bet leidžiama žaisti kitomis aplinkybėmis.</translation>
+<translation id="2802085784857530815">Leidžiama valdyti, ar naudotojai gali pasiekti ne įmonės spausdintuvus
+
+      Jei politika nustatyta į „True“ arba visai nenustatyta, naudotojai galės pridėti ir konfigūruoti savuosius spausdintuvus bei jais spausdinti.
+
+      Jei politika nustatyta į „False“, naudotojai negalės pridėti ir konfigūruoti savųjų spausdintuvų. Jie taip pat negalės spausdinti anksčiau sukonfigūruotais savaisiais spausdintuvais.
+      </translation>
 <translation id="2805707493867224476">Leisti visose svetainėse rodyti iššokančiuosius langus</translation>
 <translation id="2808013382476173118">Įgalinamas STUN serverių naudojimas, kai nuotolinės programos bando užmegzti ryšį su šiuo įrenginiu.
 
@@ -777,6 +787,7 @@
           Politikos vertė turėtų būti nurodyta milisekundėmis. Vertės sumažinamos, kad neviršytų ekrano išjungimo delsos laiko (jei jis nustatytas) ar neveikos delsos laiko arba būtų jam lygios.</translation>
 <translation id="3264793472749429012">Numatytojo paieškos teikėjo koduotės</translation>
 <translation id="3273221114520206906">Numatytasis „JavaScript“ nustatymas</translation>
+<translation id="3284094172359247914">„WebUSB“ API naudojimo valdymas</translation>
 <translation id="3288595667065905535">Išleidimo kanalas</translation>
 <translation id="3292147213643666827">„<ph name="PRODUCT_NAME" />“ įgalinamas veikti kaip įgaliotasis serveris, siejantis „<ph name="CLOUD_PRINT_NAME" />“ ir senesnius prie kompiuterio prijungtus spausdintuvus.
 
@@ -861,6 +872,7 @@
           Šios politikos laikomasi, tik jei įgalinta politika „DefaultSearchProviderEnabled“.</translation>
 <translation id="350797926066071931">Įgalinti vertimą</translation>
 <translation id="3512226956150568738">Jei kliento turimo modelio įrenginyje jau buvo palaikomas failų formatas ARC, kol dar perėjimas prie „ext4“ šifruotės nebuvo būtinas, kad būtų galima vykdyti ARC failus, ir jei politika „ArcEnabled“ nustatyta į „true“, ši parinktis veiks kaip „AskUser“ (3 vertė). Visais kitais atvejais (jei įrenginio modelyje nebuvo nepalaikomas failų formatas ARC arba jei politika „ArcEnabled“ nustatyta į „false“) ši vertė bus lygi „DisallowArc“ (0 vertė).</translation>
+<translation id="3524204464536655762">Neleisti jokiai svetainei pateikti užklausos pasiekti USB įrenginių naudojant „WebUSB“ API</translation>
 <translation id="3528000905991875314">Įgalinti kitus klaidų puslapius</translation>
 <translation id="3547954654003013442">Įgaliotojo serverio nustatymai</translation>
 <translation id="3577251398714997599">Skelbimų nustatymai svetainėms su nepageidaujamais skelbimais</translation>
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb
index ced68e2..376673b 100644
--- a/components/policy/resources/policy_templates_lv.xtb
+++ b/components/policy/resources/policy_templates_lv.xtb
@@ -34,6 +34,7 @@
 <translation id="1096105751829466145">Noklusējuma meklētājprogramma</translation>
 <translation id="1099282607296956954">Iespējot izolāciju visām vietnēm</translation>
 <translation id="1117535567637097036">Protokolu apdarinātāji, kas iestatīti, izmantojot šo politiku, netiek lietoti, kad tiek apstrādāti Android nolūki.</translation>
+<translation id="1118093128235245168">Atļaut vietnēm pieprasīt, lai lietotājs piešķirtu piekļuvi pievienotajai USB ierīcei</translation>
 <translation id="1128903365609589950">Konfigurē direktoriju, kuru <ph name="PRODUCT_NAME" /> izmantos kešatmiņā ievietoto failu glabāšanai diskā.
 
       Ja iestatīsiet šo politiku, <ph name="PRODUCT_NAME" /> izmantos nodrošināto direktoriju neatkarīgi no tā, vai lietotājs ir norādījis karodziņu “--disk-cache-dir”. Lai izvairītos no datu zuduma vai neparedzētām kļūdām, šai politikai nav jābūt iestatītai sējuma saknes direktorijā vai direktorijā, kas tiek izmantots citiem mērķiem, jo <ph name="PRODUCT_NAME" /> pārvalda tā saturu.
@@ -73,6 +74,9 @@
       Ja šai politikai nav iestatīta vērtība, tiek lietots noklusējuma biežums:
       3 stundas. Minimālais atļautais biežums ir 60 sekundes.</translation>
 <translation id="1204263402976895730">Iespējotie uzņēmuma printeri</translation>
+<translation id="1216758672198492382">Ļauj iestatīt, vai vietnēm ir atļauts iegūt piekļuvi pievienotajām USB ierīcēm. Piekļuvi var pilnībā bloķēt vai lietotājam var tikt parādīta uzvedne ar jautājumu katru reizi, kad vietne vēlas iegūt piekļuvi pievienotajām USB ierīcēm.
+
+          Ja šī politika nav iestatīta, tiks izmantota vērtība “3”, un lietotājs to varēs mainīt.</translation>
 <translation id="1219695476179627719">Šī politika norāda, vai jāveic ierīces atrite uz versiju, ko iestata <ph name="DEVICE_TARGET_VERSION_PREFIX_POLICY_NAME" />, ja ierīcē jau darbojas vēlāka versija.
 
       Noklusējuma vērtība ir RollbackDisabled.</translation>
@@ -616,6 +620,12 @@
 <translation id="2801230735743888564">Ļaujiet lietotājiem spēlēt dinozauru spēli, kad ierīce ir bezsaistē.
 
       Ja šai politikai ir iestatīta vērtība Nepatiesa, lietotāji nevarēs spēlēt dinozauru spēli, kad ierīce būs bezsaistē. Ja iestatījums ir Patiesa, lietotāji varēs spēlēt dinozauru spēli. Ja politika nav iestatīta, lietotāji nevarēs spēlēt dinozauru spēli reģistrētās Chrome OS ierīcēs, taču varēs spēlēt visos citos gadījumos.</translation>
+<translation id="2802085784857530815">Ļauj kontrolēt, vai lietotāji var piekļūt printeriem, kas nepieder uzņēmumam.
+
+      Ja politikai ir iestatīta vērtība “True” vai ja politikai vērtība nav iestatīta, lietotāji varēs pievienot, konfigurēt un drukāt, izmantojot savus vietējos printerus.
+
+      Ja politikai ir iestatīta vērtība “False”, lietotāji nevarēs pievienot un konfigurēt savus vietējos printerus. Tāpat lietotāji nevarēs drukāšanai izmantot iepriekš konfigurētos vietējos printerus.
+      </translation>
 <translation id="2805707493867224476">Atļaut visām vietnēm rādīt uznirstošos logus</translation>
 <translation id="2808013382476173118">Iespējo STUN serveru lietošanu, kad attālie klienti cenšas izveidot savienojumu ar ierīci.
 
@@ -778,6 +788,7 @@
           Politikas vērtību nedrīkst norādīt milisekundēs. Ir jānorāda vērtības, kas ir mazākas par aizkavi līdz ekrāna izslēgšanai (ja tāda ir iestatīta) un dīkstāvei vai kas ir vienādas ar to.</translation>
 <translation id="3264793472749429012">Noklusējuma meklētājprogrammas kodējumi</translation>
 <translation id="3273221114520206906">Noklusējuma JavaScript iestatījums</translation>
+<translation id="3284094172359247914">WebUSB API lietojuma pārvaldība</translation>
 <translation id="3288595667065905535">Izlaišanas versija</translation>
 <translation id="3292147213643666827">Ļauj <ph name="PRODUCT_NAME" /> darboties kā starpniekserverim starp <ph name="CLOUD_PRINT_NAME" /> un ierīcei pievienotiem mantotiem printeriem.
 
@@ -860,6 +871,7 @@
           Šī politika ir spēkā tikai tad, ja ir iespējota politika “DefaultSearchProviderEnabled”.</translation>
 <translation id="350797926066071931">Iespējo Tulkotāju</translation>
 <translation id="3512226956150568738">Ja klienta ierīces modelis jau atbalstīja ARC pirms migrācijas uz ext4, kas bija nepieciešama, lai izpildītu ARC, un ja politika ArcEnabled ir iestatīta kā “true”, šī opcija darbosies kā politikas AskUser vērtība (vērtība 3). Visos citos gadījumos (ja ierīces modelis iepriekš neatbalstīja ARC vai ja politika ArcEnabled ir iestatīta kā “false”), šī vērtība ir ekvivalenta politikas DisallowArc vērtībai (vērtība 0).</translation>
+<translation id="3524204464536655762">Neatļaut nevienai vietnei pieprasīt piekļuvi pievienotajām USB ierīcēm, izmantojot WebUSB API</translation>
 <translation id="3528000905991875314">Iespējo alternatīvas kļūdu lapas</translation>
 <translation id="3547954654003013442">Starpniekservera iestatījumi</translation>
 <translation id="3577251398714997599">Reklāmu iestatījumi vietnēm, kurās tiek rādītas traucējošas reklāmas</translation>
@@ -2651,6 +2663,15 @@
 <translation id="9112897538922695510">Ļauj reģistrēt protokolu apdarinātāju sarakstu. Šī var būt tikai ieteicama politika. Rekvizītā |protocol| ir jāiestata shēma, piemēram “mailto”, un rekvizītā |url| ir jāiestata tās lietojumprogrammas URL raksts, kura apstrādā shēmu. Parametrā var iekļaut “%s”, kas tiks aizstāts ar apstrādāto URL.
 
           Politikas reģistrētie protokolu apdarinātāji tiek apvienoti ar lietotāja reģistrētajiem, un tie visi ir pieejami lietošanai. Lietotājs var ignorēt politikas instalētos protokolu apdarinātājus, instalējot jaunu noklusējuma apdarinātāju, bet nevar noņemt politikas reģistrētu protokola apdarinātāju.</translation>
+<translation id="9123211093995421438">Norāda minimālo <ph name="PRODUCT_OS_NAME" /> versiju skaitu, cik atļauts atritināt no stabilās versijas.
+
+      Noklusējuma iestatījums ir “0” patērētāju ierīcēm un “4” (aptuveni seši mēneši) uzņēmumu reģistrētām ierīcēm.
+
+      Iestatot šo politiku, aizsardzība pret atriti nav spēkā vismaz šim versiju skaitam.
+
+      Politikai iestatot zemāku vērtību, ietekme ir pastāvīga: ierīcē NEVARĒS veikt atriti uz vecāku versiju, pat ja pēc tam politikā tiks atiestatīta augstāka vērtība.
+
+      Faktiskās atrites iespējas var būt atkarīgas no plates un kritiskas ievainojamības ielāpiem.</translation>
 <translation id="913195841488580904">Bloķēt piekļuvi vietrāžu URL sarakstam</translation>
 <translation id="9135033364005346124">Iespējo <ph name="CLOUD_PRINT_NAME" /> starpniekserveri</translation>
 <translation id="9136253551939494882">Baltais saraksts, ar kuru tiek kontrolēts, kurus ātrās atbloķēšanas režīmus lietotājs var konfigurēt un lietot, lai atbloķētu bloķēšanas ekrānu.
diff --git a/components/policy/resources/policy_templates_ml.xtb b/components/policy/resources/policy_templates_ml.xtb
index d3ab469..216a7dce 100644
--- a/components/policy/resources/policy_templates_ml.xtb
+++ b/components/policy/resources/policy_templates_ml.xtb
@@ -35,6 +35,7 @@
 <translation id="1096105751829466145">സ്ഥിരസ്ഥിതി തിരയൽ ദാതാവ്</translation>
 <translation id="1099282607296956954">എല്ലാ സൈറ്റിനും സൈറ്റ് ഐസലേഷൻ പ്രവർത്തനക്ഷമമാക്കുക</translation>
 <translation id="1117535567637097036">Android ഇന്റന്റുകൾ കൈകാര്യം ചെയ്യുമ്പോൾ, ഈ നയം വഴി സജ്ജമാക്കിയ പ്രോട്ടോക്കോൾ ഹാൻഡ്‌ലറുകൾ ഉപയോഗിക്കില്ല.</translation>
+<translation id="1118093128235245168">കണക്‌റ്റ് ചെയ്‌ത USB ഉപകരണത്തിലേക്ക് ഉപയോക്താവിനോട് ആക്‌സസ് അനുവദിക്കാനായി ആവശ്യപ്പെടാൻ സൈറ്റുകളെ അനുവദിക്കുക</translation>
 <translation id="1128903365609589950">ഡിസ്‌ക്കിൽ കാഷെ ചെയ്‌ത ഫയലുകൾ സൂക്ഷിക്കുന്നതിന്, <ph name="PRODUCT_NAME" /> ഉപയോഗിക്കുന്ന ഡയറക്‌ടറി കോൺ‌ഫിഗർ ചെയ്യുന്നു.
 
       നിങ്ങൾ ഈ നയം സജ്ജമാക്കിയാൽ, ഉപയോക്താവ് '--disk-cache-dir' ഫ്ലാഗ് വ്യക്തമാക്കിയോ ഇല്ലയോ എന്ന് പരിഗണിക്കാതെ തന്നെ നൽകിയിരിക്കുന്ന ഡയറക്‌ടറിയെ <ph name="PRODUCT_NAME" /> ഉപയോഗിക്കും. <ph name="PRODUCT_NAME" />, ഇതിന്റെ ഉള്ളടക്കങ്ങൾ മാനേജുചെയ്യുന്നതിനാൽ ഡാറ്റ നഷ്‌ടമാകുന്നതോ മറ്റ് അപ്രതീക്ഷിതമായ പിശകുകളോ ഒഴിവാക്കാൻ  ഈ നയം ഒരു വോളിയത്തിന്റെ റൂട്ട് ഡയറക്‌‌റ്ററിയിലേക്കോ മറ്റ് ആവശ്യങ്ങൾക്ക് ഉപയോഗിക്കുന്ന ഡയറക്‌റ്ററിയിലേക്കോ സജ്ജമാക്കരുത്.
@@ -74,6 +75,9 @@
 
       ഈ നയം സജ്ജമാക്കാതെ വിടുകയാണെങ്കിൽ, സ്ഥിര ഇടവേള 3 മണിക്കൂർ ആണ്. 60 സെക്കൻഡ് ആണ് അനുവദിച്ചിട്ടുള്ള കുറഞ്ഞ ഇടവേള.</translation>
 <translation id="1204263402976895730">എന്‍റർപ്രൈസ് പ്രിന്‍ററുകൾ പ്രവർത്തനക്ഷമമാക്കി</translation>
+<translation id="1216758672198492382">കണക്‌റ്റ് ചെയ്‌ത USB ഉപകരണങ്ങളിലേക്ക് വെബ്‌സൈറ്റുകൾക്ക് ആക്‌സസ് അനുവദിക്കണോ എന്ന് സജ്ജീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ആക്‌സസ് പൂർണ്ണമായും ബ്ലോക്ക് ചെയ്യാം, അല്ലെങ്കിൽ വെബ്‌സൈറ്റിന് കണക്‌റ്റ് ചെയ്‌ത USB ഉപകരണങ്ങളിലേക്ക് ആക്‌സസ് ആവശ്യമുള്ളപ്പോഴെല്ലാം ഉപയോക്താവിനോട് അക്കാര്യം ചോദിക്കാം.
+
+          ഈ നയം സജ്ജീകരിക്കാത്ത നിലയിലാണെങ്കിൽ, '3' ഉപയോഗിക്കും, ഉപയോക്താവിന് ഇത് മാറ്റാവുന്നതാണ്.</translation>
 <translation id="1219695476179627719">ഉപകരണം മുമ്പേ പുതിയ പതിപ്പ് റൺ ചെയ്യുന്നുണ്ടെങ്കിൽ <ph name="DEVICE_TARGET_VERSION_PREFIX_POLICY_NAME" />സജ്ജീകരിച്ച പതിപ്പിലേക്ക് തിരികെ പോകണോയെന്ന് വ്യക്തമാക്കുന്നു.
 
        RollbackDisabled ആണ് ഡിഫോൾട്ട്.</translation>
@@ -688,6 +692,12 @@
 <translation id="2801230735743888564">ഉപകരണം ഓഫ്‌ലൈനായിരിക്കുമ്പോൾ ദിനോസർ ഈസ്‌റ്റർ എഗ്ഗ് ഗെയിം പ്ലേ ചെയ്യുന്നതിന് ഉപയോക്താക്കളെ അനുവദിക്കുക.
 
       നയം False ആയി സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഉപകരണം ഓഫ്‌ലൈനായിരിക്കുമ്പോൾ ദിനോസർ ഈസ്‌റ്റർ എഗ്ഗ് ഗെയിം പ്ലേ ചെയ്യുന്നതിന് ഉപയോക്താക്കൾക്ക് കഴിയില്ല. ക്രമീകരണം True ആയി സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ, ദിനോസർ ഈസ്‌റ്റർ എഗ്ഗ് ഗെയിം പ്ലേ ചെയ്യുന്നതിന് ഉപയോക്താക്കളെ അനുവദിക്കുന്നതാണ്. ഈ നയം സജ്ജമാക്കിയിട്ടില്ലെങ്കിൽ, എൻറോൾ ചെയ്‌തിട്ടുള്ള Chrome OS-ൽ ദിനോസർ ഈസ്‌റ്റർ എഗ്ഗ് ഗെയിം പ്ലേ ചെയ്യുന്നതിന് ഉപയോക്താക്കൾക്ക് അനുവാദമുണ്ടാകില്ല, പക്ഷേ മറ്റ് സാഹചര്യങ്ങളിൽ ഇത് പ്ലേ ചെയ്യാൻ അനുവാദമുണ്ടാകും.</translation>
+<translation id="2802085784857530815">ഉപയോക്താക്കൾക്ക് സ്ഥാപന ഇതര പ്രിന്ററുകൾ ആക്‌സസ് ചെയ്യാൻ അനുവാദം നൽകണോയെന്ന് നിയന്ത്രിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു
+
+      ഈ നയം 'ട്രൂ' എന്നായി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിലോ ഒട്ടും സജ്ജീകരിച്ചിട്ടില്ലെങ്കിലോ, സ്വന്തം നേറ്റീവ് പ്രിന്ററുകൾ ചേർക്കാനും കോൺഫിഗർ ചെയ്യാനും അച്ചടിക്കാനും ഉപയോക്താക്കൾക്കാകും.
+
+      നയം 'ഫാൾസ്' ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ, സ്വന്തം നേറ്റീവ് പ്രിന്ററുകൾ ചേർക്കാനും കോൺഫിഗർ ചെയ്യാനും ഉപയോക്താക്കൾക്കാകില്ല. മുമ്പ് കോൺഫിഗർ ചെയ്തിട്ടുള്ള ഏതെങ്കിലും പ്രിന്ററുകൾ ഉപയോഗിച്ച് അച്ചടിക്കാനും അവർക്കാകില്ല.
+      </translation>
 <translation id="2805707493867224476">പോപ്പ്-അപ്പുകള്‍‌ കാണിക്കുന്നതിന് എല്ലാ സൈറ്റുകളെയും അനുവദിക്കുക</translation>
 <translation id="2808013382476173118">വിദൂര ക്ലയന്റുകൾ ഈ മെഷീനിൽ ഒരു കണക്ഷൻ സ്ഥാപിക്കാൻ ശ്രമിക്കുമ്പോൾ, STUN സെർവറുകളുടെ ഉപയോഗം പ്രവർത്തനക്ഷമമാക്കുന്നു.
 
@@ -864,6 +874,7 @@
           നയ മൂല്യം മില്ലിസെക്കൻഡിൽ വ്യക്തമാക്കണം. സജ്ജമാക്കിയ മൂല്യം സ്‌ക്രീൻ ഓഫ് ചെയ്യുന്ന കാലതാമസം (സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ), നിഷ്‌ക്രിയ കാലതാമസം എന്നിവയേക്കാൾ കുറവോ അതിന് തുല്യമോ ആയിരിക്കും.</translation>
 <translation id="3264793472749429012">സ്ഥിരസ്ഥിതി തിരയൽ ദാതാവിന്‍റെ എന്‍കോഡിംഗുകള്‍</translation>
 <translation id="3273221114520206906">സ്ഥിരസ്ഥിതി JavaScript ക്രമീകരണം</translation>
+<translation id="3284094172359247914">WebUSB API-യുടെ ഉപയോഗം നിയന്ത്രിക്കുക</translation>
 <translation id="3288595667065905535">റിലീസ് ചാനൽ</translation>
 <translation id="3292147213643666827"><ph name="CLOUD_PRINT_NAME" /> എന്നതിനും മെഷീനിൽ കണക്റ്റുചെയ്‌ത ലെഗസി പ്രിന്ററുകൾക്കുമിടയിൽ ഒരു പ്രോക്‌സി ആയി പ്രവർത്തിക്കാൻ <ph name="PRODUCT_NAME" /> എന്നതിനെ പ്രാപ്‌തമാക്കുന്നു.
 
@@ -967,6 +978,7 @@
       ഈ നയം 'തെറ്റ്' എന്ന് സജ്ജമാക്കുകയാണെങ്കിൽ, കോൺഫിഗറേഷൻ ഫയലുകൾ ഡൗൺലോഡുചെയ്യുന്നതിന് Quirks സെർവറിനെ ബന്ധപ്പെടാൻ ഉപകരണം ശ്രമിക്കില്ല.
 
       ഈ നയം 'ശരി' എന്നാണെങ്കിലോ കോൺഫിഗർ ചെയ്‌തിട്ടില്ലെങ്കിലോ, <ph name="PRODUCT_OS_NAME" /> Quirks സെർവറിനെ സ്വയം ബന്ധപ്പെടുകയും കോൺഫിഗറേഷൻ ഫയലുകൾ ലഭ്യമാണെങ്കിൽ അവ ഡൗൺലോഡുചെയ്‌ത്, ഉപകരണത്തിൽ സംഭരിക്കുകയും ചെയ്യും.  ഉദാഹരണത്തിന് അത്തരം ഫയലുകൾ, അറ്റാച്ചുചെയ്‌തിരിക്കുന്ന മോണിറ്ററുകളുടെ ഡി‌സ്‌പ്ലേ നിലവാരം മെച്ചപ്പെടുത്താൻ ഉപയോഗിക്കാം.</translation>
+<translation id="3524204464536655762">WebUSB API വഴി, USB ഉപകരണങ്ങളിലേക്ക് ആക്‌സസ് അഭ്യർത്ഥിക്കാൻ ഒരു സൈറ്റിനെയും അനുവദിക്കരുത്</translation>
 <translation id="3528000905991875314">സമാന്തര പിശക് പേജുകള്‍ പ്രാപ്തമാക്കുക</translation>
 <translation id="3547954654003013442">പ്രോക്‌സി ക്രമീകരണം</translation>
 <translation id="3577251398714997599">തടസ്സമുണ്ടാക്കുന്ന പരസ്യങ്ങളുള്ള സൈറ്റുകൾക്കുള്ള പരസ്യ ക്രമീകരണം</translation>
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb
index df80101..0f9d130 100644
--- a/components/policy/resources/policy_templates_pt-PT.xtb
+++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -2548,6 +2548,15 @@
 <translation id="9112897538922695510">Permite-lhe registar uma lista de controladores de protocolos. Esta apenas pode ser uma política recomendada. A propriedade |protocol| deve ser definida para um esquema como "mailto" e a propriedade |url| deve ser definida para o padrão do URL da aplicação que controla o esquema. O padrão pode incluir um "%s" que, caso esteja presente, é substituído pelo URL controlado.
 
           Os controladores de protocolos registados pela política são unidos com os que são registados pelo utilizador e ambos estão disponíveis para utilização. O utilizador pode substituir os controladores de protocolos instalados pela política ao instalar um novo controlador predefinido, mas não pode remover um controlador de protocolos registado pela política.</translation>
+<translation id="9123211093995421438">Especifica o número mínimo de marcos do <ph name="PRODUCT_OS_NAME" /> que devem ser autorizados para reversão a partir da versão estável a qualquer momento.
+
+      A predefinição é 0 para consumidores e 4 (aprox. meio ano) para dispositivos inscritos através de empresas.
+
+      A definição desta política evita que a proteção de reversão seja aplicada a, pelo menos, este número de marcos.
+
+      A definição desta política com um valor inferior tem um efeito permanente: o dispositivo PODE não conseguir efetuar a reversão para versões anteriores, mesmo depois de a política ser reposta para um valor superior.
+
+      As possibilidades reais de reversão também podem depender de patches de vulnerabilidades críticas e do dispositivo.</translation>
 <translation id="913195841488580904">Bloquear o acesso a uma lista de URLs</translation>
 <translation id="9135033364005346124">Ativar proxy <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="9136253551939494882">Uma lista de autorizações que controla os modos de desbloqueio rápido que o utilizador pode configurar e utilizar para desbloquear o ecrã de bloqueio.
diff --git a/components/policy/resources/policy_templates_sw.xtb b/components/policy/resources/policy_templates_sw.xtb
index 7221c35..c89568d8 100644
--- a/components/policy/resources/policy_templates_sw.xtb
+++ b/components/policy/resources/policy_templates_sw.xtb
@@ -315,6 +315,17 @@
 <translation id="2113068765175018713">Wekea kifaa vizuizi vya muda wa kuwaka kwa kuzima na kuwasha kiotomatiki</translation>
 <translation id="2127599828444728326">Ruhusu arifa katika tovuti hizi</translation>
 <translation id="2131902621292742709">Ufifili wa skrini unachelewa wakati wa kuendesha kwa nishati ya betri</translation>
+<translation id="2132732175597591362">Hudhibiti ruwaza za URL zilizoidhinishwa ambako kipengele cha kucheza kiotomatiki kitawaka kila wakati.
+
+      Kama kipengele cha kucheza kiotomatiki kimewashwa basi video zinaweza kucheza kiotomatiki (bila idhini ya mtumiaji) katika maudhui ya sauti kwenye <ph name="PRODUCT_NAME" />.
+
+      Ruwaza ya URL imeumbizwa kulingana na https://www.chromium.org/administrators/url-blacklist-filter-format.
+
+      Ikiwa sera ya Kucheza Kiotomatiki imewewa kuwa Ndivyo, basi sera hii haina athari yoyote.
+
+      Ikiwa sera ya Kucheza Kiotomatiki imewekwa kuwa Sivyo, basi ruwaza yoyote ya URL iliyowekwa katika sera hii bado itaruhusiwa kucheza.
+
+      Kumbuka kuwa kama <ph name="PRODUCT_NAME" /> inafanya kazi na sera hii ibadilike, sera itatumika tu kwenye vichupo vinavyofunguliwa baada ya hatua hii. Kwa hivyo baadhi ya vichupo huenda vitatumia sera ya awali.</translation>
 <translation id="2134437727173969994">Ruhusu kufunga skrini</translation>
 <translation id="2137064848866899664">Sera hii ikiwekwa, kila onyesho litazungushwa hadi
       mkao uliobainishwa kila inapowashwa tena, na mara ya kwanza inapounganishwa
@@ -952,6 +963,9 @@
       Inaorodhesha viendelezi ambavyo vinasakinishwa kiotomatiki kwa mtumiaji wa Onyesho, kwa vifaa katika modi ya rejareja. Viendelezi hivi vinahifadhiwa katika kifaa na vinaweza kusakinishwa nje ya mtandao, baada ya usakinishaji.
 
       Kila ingizo la orodha lina kamusi ambayo ni lazima ijumuishe Kitambulisho cha kirefusho katika uga wa 'kitambulisho cha kirefusho', na URL sasishi yake katika uga wa 'url-sasishi'.</translation>
+<translation id="3873159954366380945">Hukuruhusu uweke kipindi ambapo arifa za kufunguliwa upya kwa <ph name="PRODUCT_NAME" /> huonyeshwa ili sasisho linalosubiri liwekwe.
+
+      Mipangilio ya sera hii inaweza kutumiwa kudhibiti kipindi, katika milisekunde, ambapo mtumiaji anaarifiwa mara kwa mara kwamba ni lazima afungue <ph name="PRODUCT_NAME" /> upya (au ni lazima azime kisha awashe <ph name="PRODUCT_OS_NAME" />) ili apate sasisho. Katika kipindi hiki, mtumiaji ataarifiwe mara kwa mara kuhusu umuhimu wa kusasisha, kulingana na mipangilio ya sera ya <ph name="RELAUNCH_NOTIFICATION_POLICY_NAME" />. Kama sera haijawekwa, kipindi chaguomsingi cha milisekunde 345600000 (siku nne) kitatumika katika <ph name="PRODUCT_OS_NAME" /> na milisekunde 604800000 (wiki moja) kitatumika katika mifumo yote mingine.</translation>
 <translation id="3877517141460819966">Hali ya uthibitishaji wa hatua mbili iliyowekwa</translation>
 <translation id="388237772682176890">Sera imeacha kufanya kazi katika M53 na imeondolewa katika M54, kwa sababu matumizi ya SPDY/3.1 yameondolewa.
 
@@ -1289,6 +1303,14 @@
           Sera hii inatumika tu endapo sera ya 'DefaultSearchProviderEnabled' imewashwa.</translation>
 <translation id="489803897780524242">Kigezo kinachodhibiti uwekaji wa hoja ya utafutaji kwa mtoa huduma ya utafutaji chaguo-msingi</translation>
 <translation id="4899708173828500852">Wezesha Kuvinjari Salama</translation>
+<translation id="4899802251198446659">Hukuruhusu udhibiti ikiwa video zinaweza kucheza kiotomatiki (bila idhini ya mtumiaji) katika maudhui ya sauti kwenye <ph name="PRODUCT_NAME" />.
+
+      Kama sera imewekwa kuwa Ndivyo, <ph name="PRODUCT_NAME" /> inaruhusiwa kucheza maudhui kiotomatiki.
+      Kama sera imewekwa kuwa Sivyo, <ph name="PRODUCT_NAME" /> hairuhusiwi kucheza maudhui kiotomatiki. Sera ya Orodha Zilizoidhinishwa Kucheza Kiotomatiki inaweza kutumiwa kufuta hali hii katika ruwaza fulani za URL.
+      Kwa chaguomsingi, <ph name="PRODUCT_NAME" /> hairuhusiwi kucheza maudhui kiotomatiki. Sera ya Orodha Zilizoidhinishwa Kucheza Kiotomatiki inaweza kutumiwa kufuta hali hii katika ruwaza fulani za URL.
+
+      Kumbuka kwamba kama <ph name="PRODUCT_NAME" /> inatumika na sera hii ibadilike, itatumika tu kwenye vichupo vinavyofunguliwa baada ya hatua hii. Kwa hivyo baadhi ya vichupo huenda vitatumia sera ya awali.
+      </translation>
 <translation id="4906194810004762807">Onyesha upya kiwango cha Sera ya Kifaa</translation>
 <translation id="4917385247580444890">Thabiti</translation>
 <translation id="4923806312383904642">Ruhusu WebDriver Ifute Sera Ambazo Hazioani</translation>
diff --git a/components/ssl_config/ssl_config_service_manager_pref_unittest.cc b/components/ssl_config/ssl_config_service_manager_pref_unittest.cc
index 5ab7d103..fb1a4ad 100644
--- a/components/ssl_config/ssl_config_service_manager_pref_unittest.cc
+++ b/components/ssl_config/ssl_config_service_manager_pref_unittest.cc
@@ -385,10 +385,10 @@
   scoped_refptr<SSLConfigService> config_service(config_manager->Get());
   ASSERT_TRUE(config_service);
 
-  // By default, SHA-1 local trust anchors should be enabled when not
-  // using any pref service.
+  // By default, SHA-1 local trust anchors should not be enabled when not
+  // not using any pref service.
   SSLConfig config1;
-  EXPECT_TRUE(config1.sha1_local_anchors_enabled);
+  EXPECT_FALSE(config1.sha1_local_anchors_enabled);
 
   // Using a pref service without any preference set should result in
   // SHA-1 local trust anchors being disabled.
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index 3092615a..c72f4fd 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -498,6 +498,7 @@
 <translation id="4325863107915753736">تعذّر العثور على المقالة</translation>
 <translation id="4326324639298822553">تحقق من تاريخ انتهاء الصلاحية وأعِد المحاولة مرة أخرى</translation>
 <translation id="4331708818696583467">غير آمن</translation>
+<translation id="4340982228985273705">‏لا يتم رصد جهاز الكمبيوتر هذا كمؤسسة مُدارة، حتى تتمكن السياسة فقط من تثبيت الإضافات التي تمت استضافتها تلقائيًا في سوق Chrome الإلكتروني. ويكون عنوان URL للتحديث في سوق Chrome الإلكتروني هو "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4346197816712207223">بطاقات الائتمان المقبولة</translation>
 <translation id="4356973930735388585">قد يحاول المهاجمون الموجودون على هذا الموقع تثبيت برامج خطيرة على الكمبيوتر التابع لك تسرق معلوماتك أو تحذفها (على سبيل المثال، الصور وكلمات المرور والرسائل وبطاقات الائتمان).</translation>
 <translation id="4372948949327679948">القيمة <ph name="VALUE_TYPE" /> المتوقعة.</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index d2970b8..0de246e 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -498,6 +498,7 @@
 <translation id="4325863107915753736">No s'ha pogut trobar l'article</translation>
 <translation id="4326324639298822553">Comprova la data de caducitat i torna-ho a provar</translation>
 <translation id="4331708818696583467">No segur</translation>
+<translation id="4340982228985273705">No ens consta que aquest ordinador estigui gestionat per una empresa. Per tant, la política només pot instal·lar automàticament extensions allotjades a Chrome Web Store. L'URL d'actualització de Chrome Web Store és "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4346197816712207223">Targetes de crèdit acceptades</translation>
 <translation id="4356973930735388585">Els atacants d'aquest lloc poden provar d'instal·lar programes perillosos a l'ordinador per robar o suprimir la teva informació (per exemple, les fotos, les contrasenyes, els missatges i les targetes de crèdit).</translation>
 <translation id="4372948949327679948">Valor <ph name="VALUE_TYPE" /> esperat.</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 04f40bf94..4dc7c866 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -597,7 +597,7 @@
 <translation id="5190835502935405962">Bogmærkelinje</translation>
 <translation id="5201306358585911203">En integreret side på denne side siger</translation>
 <translation id="5205222826937269299">Navn påkrævet</translation>
-<translation id="5222812217790122047">E-mail påkrævet</translation>
+<translation id="5222812217790122047">Mail påkrævet</translation>
 <translation id="522700295135997067">Dette website kan have stjålet din adgangskode</translation>
 <translation id="5230733896359313003">Leveringsadresse</translation>
 <translation id="5250209940322997802">"Opret forbindelse til netværk"</translation>
@@ -668,7 +668,7 @@
 <translation id="5631439013527180824">Ugyldigt token for enhedsadministration</translation>
 <translation id="5633066919399395251">Brugere med ondsindede hensigter, der i øjeblikket er på <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" />, kan forsøge at installere farlige programmer på din computer, der stjæler eller sletter dine oplysninger (f.eks. fotos, adgangskoder, beskeder og kreditkort). <ph name="BEGIN_LEARN_MORE_LINK" />Få flere oplysninger<ph name="END_LEARN_MORE_LINK" /></translation>
 <translation id="563324245173044180">Vildledende indhold er blokeret.</translation>
-<translation id="5659593005791499971">E-mail</translation>
+<translation id="5659593005791499971">Mail</translation>
 <translation id="5675650730144413517">Denne side virker ikke</translation>
 <translation id="5685654322157854305">Tilføj leveringsadresse</translation>
 <translation id="5689199277474810259">Eksportér i JSON</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index 763c650..702225a 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="es">
+<translation id="1005145902654145231">No se ha podido cambiar el nombre de la sesión.</translation>
 <translation id="1008557486741366299">Ahora no</translation>
 <translation id="1015730422737071372">Proporciónanos más detalles</translation>
 <translation id="1021110881106174305">Tarjetas aceptadas</translation>
@@ -42,13 +43,22 @@
 <translation id="1228893227497259893">Identificador de entidad incorrecto</translation>
 <translation id="1232569758102978740">Sin título</translation>
 <translation id="1253921432148366685"><ph name="TYPE_1" />, <ph name="TYPE_2" /> (sincronizados)</translation>
+<translation id="1256368399071562588">&lt;p&gt;Si intentas acceder a un sitio web y no se abre, prueba estos pasos para solucionar problemas:&lt;/p&gt;
+    &lt;ol&gt;
+    &lt;li&gt;Comprueba si hay algún error ortográfico en la dirección web.&lt;/li&gt;
+    &lt;li&gt;Comprueba que tu conexión a Internet funcione con normalidad.&lt;/li&gt;
+    &lt;li&gt;Ponte en contacto con el propietario del sitio web.&lt;/li&gt;
+    &lt;/ol&gt;</translation>
 <translation id="1263231323834454256">Lista de lectura</translation>
 <translation id="1264126396475825575">Informe sobre fallos registrado el <ph name="CRASH_TIME" /> (todavía no se ha subido ni ignorado)</translation>
 <translation id="1270502636509132238">Método de recogida</translation>
 <translation id="1285320974508926690">No traducir nunca este sitio</translation>
+<translation id="1292701964462482250">"Hay software en tu ordenador que impide que Chrome se conecte a la Web de forma segura" (solo para ordenadores Windows)</translation>
 <translation id="1294154142200295408">Variaciones de la línea de comandos</translation>
 <translation id="129553762522093515">Cerrado recientemente</translation>
 <translation id="129863573139666797"><ph name="BEGIN_LINK" />Borrar las cookies<ph name="END_LINK" /></translation>
+<translation id="1314614906530272393">La sesión seleccionada no existe.</translation>
+<translation id="1323433172918577554">Mostrar más</translation>
 <translation id="1333989956347591814">Es posible que tu actividad <ph name="BEGIN_EMPHASIS" />todavía sea visible<ph name="END_EMPHASIS" /> para:
         <ph name="BEGIN_LIST" />
           <ph name="LIST_ITEM" />Los sitios web que visites
@@ -60,6 +70,7 @@
 <translation id="1348198688976932919">El sitio web al que vas a acceder contiene aplicaciones peligrosas</translation>
 <translation id="1374468813861204354">sugerencias</translation>
 <translation id="1375198122581997741">Información de la versión</translation>
+<translation id="1376836354785490390">Mostrar menos</translation>
 <translation id="1377321085342047638">Número de tarjeta</translation>
 <translation id="139305205187523129"><ph name="HOST_NAME" /> no ha enviado ningún dato.</translation>
 <translation id="1407135791313364759">Abrir todas</translation>
@@ -69,6 +80,8 @@
 <translation id="1430915738399379752">Imprimir</translation>
 <translation id="1484290072879560759">Seleccionar dirección de envío</translation>
 <translation id="1506687042165942984">Muestra una copia guardada (es decir, no actualizada) de esta página.</translation>
+<translation id="1507202001669085618">&lt;p&gt;Este error se muestra si utilizas un portal Wi‑Fi en el que debes iniciar sesión antes de conectarte a Internet.&lt;/p&gt;
+    &lt;p&gt;Para solucionar el problema, haz clic en &lt;strong&gt;Conectar&lt;/strong&gt; en la página que intentas abrir.&lt;/p&gt;</translation>
 <translation id="1517433312004943670">Número de teléfono requerido</translation>
 <translation id="1517500485252541695">Tarjetas de débito y crédito aceptadas</translation>
 <translation id="1519264250979466059">Fecha de compilación</translation>
@@ -132,6 +145,7 @@
 <translation id="1898423065542865115">Filtrado</translation>
 <translation id="1916770123977586577">Vuelve a cargar esta página para aplicar la configuración actualizada a este sitio web</translation>
 <translation id="1919345977826869612">Anuncios</translation>
+<translation id="1919367280705858090">Solucionar un error específico</translation>
 <translation id="192020519938775529">{COUNT,plural, =0{Ninguno}=1{1 sitio web}other{# sitios web}}</translation>
 <translation id="1927235823738766038">Tarjetas de débito y crédito aceptadas</translation>
 <translation id="194030505837763158">Ir a <ph name="LINK" /></translation>
@@ -421,6 +435,7 @@
 <translation id="3964661563329879394">{COUNT,plural, =0{Ninguno}=1{De 1 sitio web }other{De # sitios web }}</translation>
 <translation id="397105322502079400">Calculando...</translation>
 <translation id="3973234410852337861">La página <ph name="HOST_NAME" /> está bloqueada</translation>
+<translation id="3984550557525787191">Este nombre de sesión ya existe.</translation>
 <translation id="3987940399970879459">Menos de 1 MB</translation>
 <translation id="40103911065039147">{URL_count,plural, =1{ 1 página web cercana}other{ # páginas web cercanas}}</translation>
 <translation id="4030383055268325496">&amp;Deshacer acción de añadir</translation>
@@ -451,6 +466,23 @@
 <translation id="4203896806696719780"><ph name="BEGIN_LINK" />Comprobar la configuración del cortafuegos y del antivirus<ph name="END_LINK" /></translation>
 <translation id="4220128509585149162">La página no responde o se cierra</translation>
 <translation id="422022731706691852">Es posible que los atacantes que se encuentren en <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> intenten engañarte para que instales programas que empeoren tu experiencia de navegación (por ejemplo, que cambien tu página principal o muestren anuncios adicionales en los sitios web a los que accedas). <ph name="BEGIN_LEARN_MORE_LINK" />Más información<ph name="END_LEARN_MORE_LINK" /></translation>
+<translation id="4221630205957821124">&lt;h4&gt;Paso 1: Inicia sesión en el portal&lt;/h4&gt;
+    &lt;p&gt;Para acceder a las redes Wi‑Fi de sitios como cafeterías o aeropuertos, tienes que iniciar sesión. Para ver la página de inicio de sesión, accede a una página que utilice &lt;code&gt;http://&lt;/code&gt;.&lt;/p&gt;
+    &lt;ol&gt;
+    &lt;li&gt;Accede a cualquier sitio web que empiece por &lt;code&gt;http://&lt;/code&gt;, como &lt;a href="http://example.com" target="_blank"&gt;http://example.com&lt;/a&gt;.&lt;/li&gt;
+    &lt;li&gt;En la página de inicio de sesión que se abre, inicia sesión para utilizar la conexión a Internet.&lt;/li&gt;
+    &lt;/ol&gt;
+    &lt;h4&gt;Paso 2: Abre la página en modo incógnito (solo en ordenadores)&lt;/h4&gt;
+    &lt;p&gt;Abre la página que estabas visitando en una ventana de incógnito.&lt;/p&gt;
+    &lt;p&gt;Si la página se abre, significa que una extensión de Chrome no funciona correctamente. Para solucionarlo, desactiva esa extensión.&lt;/p&gt;
+    &lt;h4&gt;Paso 3: Actualiza tu sistema operativo&lt;/h4&gt;
+    &lt;p&gt;Comprueba que tu dispositivo esté actualizado.&lt;/p&gt;
+    &lt;h4&gt;Paso 4: Desactiva tu antivirus temporalmente&lt;/h4&gt;
+    &lt;p&gt;Este error se muestra si tienes software antivirus que ofrezca "protección HTTPS" o "análisis de HTTPS". Este software evita que Chrome proporcione seguridad.&lt;/p&gt;
+    &lt;p&gt;Desactiva el software antivirus para solucionar el problema. Si la página funciona después de desactivar el software antivirus, desactívalo cuando navegues por sitios web seguros.&lt;/p&gt;
+    &lt;p&gt;Recuerda que debes volver a activar el antivirus cuando hayas finalizado.&lt;/p&gt;
+    &lt;h4&gt;Paso 5: Busca más ayuda&lt;/h4&gt;
+    &lt;p&gt;Si el error persiste, ponte en contacto con el propietario del sitio web.&lt;/p&gt;</translation>
 <translation id="4226937834893929579"><ph name="BEGIN_LINK" />Prueba a ejecutar Diagnósticos de red<ph name="END_LINK" />.</translation>
 <translation id="4235360514405112390">Válido</translation>
 <translation id="4250431568374086873">Tu conexión con este sitio web no es completamente segura</translation>
@@ -466,6 +498,7 @@
 <translation id="4325863107915753736">Error al buscar el artículo</translation>
 <translation id="4326324639298822553">Consulta la fecha de vencimiento y vuelve a intentarlo</translation>
 <translation id="4331708818696583467">No es seguro</translation>
+<translation id="4340982228985273705">No se ha detectado que este ordenador esté administrado por la empresa, por lo que la política solo puede instalar automáticamente extensiones alojadas en Chrome Webstore. La URL de actualización de Chrome Webstore es "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4346197816712207223">Tarjetas de crédito aceptadas</translation>
 <translation id="4356973930735388585">Es posible que los atacantes que se encuentren en este sitio web intenten instalar programas peligrosos en tu ordenador para robar o eliminar tu información (por ejemplo, fotos, contraseñas, mensajes y tarjetas de crédito).</translation>
 <translation id="4372948949327679948">Se esperaba un valor <ph name="VALUE_TYPE" />.</translation>
@@ -567,6 +600,7 @@
 <translation id="5222812217790122047">Correo electrónico obligatorio</translation>
 <translation id="522700295135997067">Es posible que este sitio web te acabe de robar la contraseña</translation>
 <translation id="5230733896359313003">Dirección de envío</translation>
+<translation id="5250209940322997802">"Conectarse a la red"</translation>
 <translation id="5251803541071282808">Nube</translation>
 <translation id="5281113152797308730"><ph name="BEGIN_PARAGRAPH" />Sigue estos pasos para inhabilitar temporalmente el software y poder acceder a la Web. Necesitarás privilegios de administrador.<ph name="END_PARAGRAPH" />
 
@@ -590,6 +624,7 @@
 <translation id="5332219387342487447">Método de envío</translation>
 <translation id="5355557959165512791">No puedes acceder a <ph name="SITE" /> en este momento porque su certificado se ha revocado. Los ataques y los errores de red suelen ser temporales, por lo que es probable que esta página funcione más tarde.</translation>
 <translation id="536296301121032821">Error al almacenar la configuración de la política</translation>
+<translation id="5377026284221673050">"Tu reloj está atrasado" o "Tu reloj está adelantado" o "&lt;span class="error-code"&gt;NET::ERR_CERT_DATE_INVALID&lt;/span&gt;"</translation>
 <translation id="5386426401304769735">La cadena de certificados de este sitio web contiene un certificado firmado con SHA-1.</translation>
 <translation id="5402410679244714488">Fecha de caducidad: <ph name="EXPIRATION_DATE_ABBR" /> (usada por última vez hace más de un año)</translation>
 <translation id="540969355065856584">Este servidor no ha podido probar que su dominio es <ph name="DOMAIN" />, ya que su certificado de seguridad no es válido en este momento. Esto puede deberse a una configuración incorrecta o a que un atacante haya interceptado la conexión.</translation>
@@ -843,6 +878,7 @@
 <translation id="7542403920425041731">Cuando la confirmes, la información de la tarjeta se compartirá con este sitio web.</translation>
 <translation id="7542995811387359312">La opción de autocompletado de la tarjeta de crédito está inhabilitada porque este formulario no utiliza una conexión segura.</translation>
 <translation id="7543525346216957623">Pide permiso a uno de tus padres</translation>
+<translation id="7548892272833184391">Solucionar errores de conexión</translation>
 <translation id="7549584377607005141">Esta página web necesita los datos introducidos anteriormente para mostrarse correctamente. Puedes volver a enviar los datos, pero se repetirán las acciones que haya realizado la página.</translation>
 <translation id="7552846755917812628">Prueba los siguientes consejos:</translation>
 <translation id="7554791636758816595">Nueva pestaña</translation>
@@ -850,6 +886,7 @@
 <translation id="7567204685887185387">Este servidor no ha podido probar que su dominio es <ph name="DOMAIN" />, su certificado de seguridad podría haberse emitido de forma fraudulenta. El problema puede deberse a una configuración incorrecta o a que un atacante haya interceptado la conexión.</translation>
 <translation id="7568593326407688803">Esta página está escrita en<ph name="ORIGINAL_LANGUAGE" />¿Quieres traducirla?</translation>
 <translation id="7569952961197462199">¿Eliminar tarjeta de crédito de Chrome?</translation>
+<translation id="7575800019233204241">"La conexión no es privada" o "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" o "Error de certificado SSL"</translation>
 <translation id="7578104083680115302">Paga rápidamente en aplicaciones y sitios web desde tus dispositivos utilizando las tarjetas que has guardado en Google.</translation>
 <translation id="7588950540487816470">Web física</translation>
 <translation id="7592362899630581445">El certificado del servidor incluye un nombre que está fuera de su cobertura.</translation>
@@ -1071,6 +1108,8 @@
 <translation id="973773823069644502">Añadir dirección de entrega</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Ninguno}=1{1 elemento}other{# elementos}}</translation>
 <translation id="981121421437150478">Sin conexión</translation>
+<translation id="985199708454569384">&lt;p&gt;Este error se muestra si la fecha y la hora de tu ordenador o tu dispositivo móvil no son correctas.&lt;/p&gt;
+    &lt;p&gt;Para solucionar el problema, abre el reloj de tu dispositivo. Comprueba que la fecha y la hora sean correctas.&lt;/p&gt;</translation>
 <translation id="988159990683914416">Build para desarrolladores</translation>
 <translation id="989988560359834682">Editar dirección</translation>
 <translation id="992115559265932548"><ph name="MICROSOFT_ACTIVE_DIRECTORY" /></translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 779e86aa..1f31622 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -498,6 +498,7 @@
 <translation id="4325863107915753736">記事が見つかりませんでした</translation>
 <translation id="4326324639298822553">有効期限の「日」を確認してもう一度お試しください</translation>
 <translation id="4331708818696583467">保護されていない通信</translation>
+<translation id="4340982228985273705">このパソコンは企業の管理対象として検出されていないため、ポリシーで自動的にインストールできるのは Chrome ウェブストアでホストされている拡張機能のみとなります。Chrome ウェブストアの更新 URL は「<ph name="CWS_UPDATE_URL" />」です。</translation>
 <translation id="4346197816712207223">利用可能なクレジット カード</translation>
 <translation id="4356973930735388585">このサイトを利用すると、悪意のあるユーザーによって、危険なプログラム(写真、パスワード、メッセージ、クレジット カード番号などの情報を盗み取るか削除するプログラム)がお使いのパソコンにインストールされる可能性があります。</translation>
 <translation id="4372948949327679948"><ph name="VALUE_TYPE" /> 値が想定されます。</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index d7f3215..35f11f0c 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -497,6 +497,7 @@
 <translation id="4325863107915753736">Rakstu neizdevās atrast.</translation>
 <translation id="4326324639298822553">Pārbaudiet derīguma termiņa datumu un mēģiniet vēlreiz.</translation>
 <translation id="4331708818696583467">Nav droši</translation>
+<translation id="4340982228985273705">Šo datoru nepārvalda uzņēmums, tāpēc politika var automātiski instalēt tikai tos paplašinājumus, kas tiek mitināti Chrome interneta veikalā. Chrome interneta veikala atjauninājumu URL: <ph name="CWS_UPDATE_URL" />.</translation>
 <translation id="4346197816712207223">Pieņemtās kredītkartes</translation>
 <translation id="4356973930735388585">Šajā vietnē esošie uzbrucēji jūsu datorā var mēģināt instalēt bīstamas programmas, kuras var nozagt vai dzēst jūsu informāciju (piemēram, fotoattēlus, paroles, ziņojumus un informāciju par kredītkartēm).</translation>
 <translation id="4372948949327679948">Tika gaidīta vērtība <ph name="VALUE_TYPE" />.</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index 0e1c37a1..30758e3 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -498,6 +498,7 @@
 <translation id="4325863107915753736">Falha ao encontrar o artigo</translation>
 <translation id="4326324639298822553">Verifique a data de validade e tente novamente</translation>
 <translation id="4331708818696583467">Inseguro</translation>
+<translation id="4340982228985273705">Este computador não é detetado como sendo gerido pela empresa, por isso, a política apenas pode instalar automaticamente extensões alojadas na Web Store do Chrome. O URL de atualização da Web Store do Chrome é "<ph name="CWS_UPDATE_URL" />".</translation>
 <translation id="4346197816712207223">Cartões de crédito aceites</translation>
 <translation id="4356973930735388585">Os utilizadores mal intencionados neste site podem tentar instalar programas perigosos no seu computador que roubam ou eliminam as suas informações (por exemplo, fotos, palavras-passe, mensagens e cartões de crédito).</translation>
 <translation id="4372948949327679948">Valor <ph name="VALUE_TYPE" /> esperado.</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index adefcf3b..c383261 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -1,6 +1,7 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="sw">
+<translation id="1005145902654145231">Imeshindwa kubadilisha jina la kipindi</translation>
 <translation id="1008557486741366299">Sio Sasa</translation>
 <translation id="1015730422737071372">Toa maelezo ya ziada</translation>
 <translation id="1021110881106174305">Kadi zinazokubaliwa</translation>
@@ -42,13 +43,22 @@
 <translation id="1228893227497259893">Kitambulisho cha huluki kisicho halali</translation>
 <translation id="1232569758102978740">Hakina Jina</translation>
 <translation id="1253921432148366685"><ph name="TYPE_1" />, <ph name="TYPE_2" /> (zimesawazishwa)</translation>
+<translation id="1256368399071562588">&lt;p&gt;Ukijaribu kutembelea tovuti na haifunguki, jaribu kwanza kurekebisha hitilafu kwa kutumia hatua hizi za utatuzi:&lt;/p&gt;
+    &lt;ol&gt;
+    &lt;li&gt;Angalia anwani ya tovuti kama ina makosa ya maendelezo .&lt;/li&gt;
+    &lt;li&gt;Hakikisha kuwa muunganisho wako wa intaneti unafanya kazi kama kawaida.&lt;/li&gt;
+    &lt;li&gt;Wasiliana na mmiliki wa tovuti.&lt;/li&gt;
+    &lt;/ol&gt;</translation>
 <translation id="1263231323834454256">Orodha ya kusoma</translation>
 <translation id="1264126396475825575">Ripoti ya kuacha kufanya kazi iliyochukuliwa <ph name="CRASH_TIME" /> (haijapakiwa au imepuuzwa)</translation>
 <translation id="1270502636509132238">Mbinu ya Kuchukua</translation>
 <translation id="1285320974508926690">Kamwe usitafsiri tovuti hii</translation>
+<translation id="1292701964462482250">"Programu kwenye kompyuta yako inazuia Chrome iunganishe salama kwenye wavuti" (kompyuta za Windows pekee)</translation>
 <translation id="1294154142200295408">Tofauti za miundo ya amri</translation>
 <translation id="129553762522093515">Vilivyofungwa hivi karibuni</translation>
 <translation id="129863573139666797"><ph name="BEGIN_LINK" />Jaribu kufuta vidakuzi kwenye kivinjari chako<ph name="END_LINK" /></translation>
+<translation id="1314614906530272393">Kipindi ulichochagua hakipo.</translation>
+<translation id="1323433172918577554">Onyesha Zaidi</translation>
 <translation id="1333989956347591814">Huenda bado shughuli zako <ph name="BEGIN_EMPHASIS" />Zitaonwa<ph name="END_EMPHASIS" /> na:
         <ph name="BEGIN_LIST" />
           <ph name="LIST_ITEM" />Tovuti utakazotembelea
@@ -60,6 +70,7 @@
 <translation id="1348198688976932919">Kuna programu hasidi kwenye tovuti unayotaka kuifungua</translation>
 <translation id="1374468813861204354">mapendekezo</translation>
 <translation id="1375198122581997741">Kuhusu Toleo</translation>
+<translation id="1376836354785490390">Onyesha Chache</translation>
 <translation id="1377321085342047638">Nambari ya Kadi</translation>
 <translation id="139305205187523129"><ph name="HOST_NAME" /> haikutuma data yoyote.</translation>
 <translation id="1407135791313364759">Fungua zote</translation>
@@ -69,6 +80,8 @@
 <translation id="1430915738399379752">Chapisha</translation>
 <translation id="1484290072879560759">Chagua Anwani ya Mahali Bidhaa Zitakapopelekwa</translation>
 <translation id="1506687042165942984">Onyesha nakala iliyohifadhiwa (yaani inayojulikana kwisha muda) ya ukurasa huu.</translation>
+<translation id="1507202001669085618">&lt;p&gt;Utaona hitilafu hii kama unatumia mtandao wa Wi-Fi ambapo unatakiwa kuingia katika akaunti kabla ya kwenda mtandaoni.&lt;/p&gt;
+    &lt;p&gt;Ili urekebishe hitilafu, bofya &lt;strong&gt;Unganisha&lt;/strong&gt; kwenye ukurasa unaojaribu kufungua.&lt;/p&gt;</translation>
 <translation id="1517433312004943670">Nambari ya simu inahitajika</translation>
 <translation id="1517500485252541695">Kadi za mikopo na za malipo zinazokubaliwa</translation>
 <translation id="1519264250979466059">Unda Tarehe</translation>
@@ -132,6 +145,7 @@
 <translation id="1898423065542865115">Kuchuja</translation>
 <translation id="1916770123977586577">Pakia upya ukurasa huu ili mipangilio iliyosasishwa itumike katika tovuti hii</translation>
 <translation id="1919345977826869612">Matangazo</translation>
+<translation id="1919367280705858090">Pata usaidizi kwa kutumia ujumbe mahususi kuhusu hitilafu</translation>
 <translation id="192020519938775529">{COUNT,plural, =0{Hamna}=1{Tovuti 1}other{Tovuti #}}</translation>
 <translation id="1927235823738766038">Kadi za Mikopo na za Malipo Zinazokubaliwa</translation>
 <translation id="194030505837763158">Nenda kwenye <ph name="LINK" /></translation>
@@ -421,6 +435,7 @@
 <translation id="3964661563329879394">{COUNT,plural, =0{Hamna}=1{Kutoka kwenye tovuti 1 }other{Kutoka kwenye tovuti # }}</translation>
 <translation id="397105322502079400">Inakokotoa...</translation>
 <translation id="3973234410852337861"><ph name="HOST_NAME" /> imezuiwa.</translation>
+<translation id="3984550557525787191">Tayari jina la kipindi hiki lipo.</translation>
 <translation id="3987940399970879459">Chini ya MB 1</translation>
 <translation id="40103911065039147">{URL_count,plural, =1{ukurasa 1 wa wavuti ulio karibu}other{kurasa # za wavuti zilizo karibu}}</translation>
 <translation id="4030383055268325496">Tendua kuongeza</translation>
@@ -451,6 +466,23 @@
 <translation id="4203896806696719780"><ph name="BEGIN_LINK" />Kuangalia mipangilio ya kinga-mtandao na kinga-virusi<ph name="END_LINK" /></translation>
 <translation id="4220128509585149162">Mivurugo</translation>
 <translation id="422022731706691852">Wavamizi kwenye <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> huenda wakajaribu kukuhadaa kusakinisha programu inayoathiri hali yako ya kuvinjari (kwa mfano, kwa kubadilisha ukurasa wako wa kwanza au kuonyesha matangazo ya ziada kwenye tovuti unazotembelea). <ph name="BEGIN_LEARN_MORE_LINK" />Pata maelezo zaidi<ph name="END_LEARN_MORE_LINK" /></translation>
+<translation id="4221630205957821124">&lt;h4&gt;Hatua ya 1: Ingia katika akaunti ya tovuti&lt;/h4&gt;
+    &lt;p&gt;Unatakiwa uingie katika akaunti ikiwa unatumia mitandao ya Wi-Fi katika maeneo kama vile mikahawa au viwanja vya ndege. Ili uangalie ukurasa wa kuingia katika akaunti, tembelea ukurasa ambao unatumia &lt;code&gt;http://&lt;/code&gt;.&lt;/p&gt;
+    &lt;ol&gt;
+    &lt;li&gt;Nenda kwenye tovuti yoyote inayoanza kwa &lt;code&gt;http://&lt;/code&gt;, kama vile &lt;a href="http://example.com" target="_blank"&gt;http://example.com&lt;/a&gt;.&lt;/li&gt;
+    &lt;li&gt;Ingia katika akaunti ili utumie intaneti kupitia ukurasa unaofunguka wa kuingia katika akaunti.&lt;/li&gt;
+    &lt;/ol&gt;
+    &lt;h4&gt;Hatua ya 2: Fungua ukurasa katika Hali fiche (kwenye kompyuta pekee)&lt;/h4&gt;
+    &lt;p&gt;Fungua ukurasa uliokuwa ukitembelea katika Dirisha Fiche.&lt;/p&gt;
+    &lt;p&gt;Ukurasa ukifunguka, itamaanisha kuwa kiendelezi cha Chrome hakifanyi kazi vizuri. Zima kiendelezi ili urekebishe hitilafu hii.&lt;/p&gt;
+    &lt;h4&gt;Hatua ya 3: Sasisha mfumo wako wa uendeshaji&lt;/h4&gt;
+    &lt;p&gt;Hakikisha kuwa kifaa chako kinatumia toleo jipya.&lt;/p&gt;
+    &lt;h4&gt;Hatua ya 4: Zima kingavirusi yako kwa muda&lt;/h4&gt;
+    &lt;p&gt;Utaona hitilafu hii kama una programu ya kingavirusi ambayo inatoa "ulinzi wa HTTPS" au "ukaguzi wa HTTPS." Kingavirusi huzuia Chrome isidumishe usalama.&lt;/p&gt;
+    &lt;p&gt;Zima programu yako ya kingavirusi ili urekebishe tatizo hili. Kama ukurasa utafanya kazi baada ya kuzima programu, zima programu hii wakati utatumia tovuti salama.&lt;/p&gt;
+    &lt;p&gt;Kumbuka kuwasha tena programu yako ya kingavirusi unapomaliza.&lt;/p&gt;
+    &lt;h4&gt;Hatua ya 5: Pata usaidizi wa ziada&lt;/h4&gt;
+    &lt;p&gt;Kama bado unaona hitilafu, wasiliana na mmiliki wa tovuti.&lt;/p&gt;</translation>
 <translation id="4226937834893929579"><ph name="BEGIN_LINK" />Jaribu kutumia zana ya Kuchunguza Mtandao<ph name="END_LINK" />.</translation>
 <translation id="4235360514405112390">Halali</translation>
 <translation id="4250431568374086873">Muunganisho wako kwenye tovuti hii si salama kabisa</translation>
@@ -568,6 +600,7 @@
 <translation id="5222812217790122047">Anwani ya barua pepe inahitajika</translation>
 <translation id="522700295135997067">Huenda tovuti hii imeiba nenosiri lako</translation>
 <translation id="5230733896359313003">Anwani ya Mahali Bidhaa Zitakapopelekwa</translation>
+<translation id="5250209940322997802">"Unganisha kwenye mtandao"</translation>
 <translation id="5251803541071282808">Wingu</translation>
 <translation id="5281113152797308730"><ph name="BEGIN_PARAGRAPH" />Zifuate hatua hizi za kuisitisha programu kwa muda ili ufike kwenye wavuti. Utahitaji mamlaka ya msimamizi.<ph name="END_PARAGRAPH" />
 
@@ -591,6 +624,7 @@
 <translation id="5332219387342487447">Mbinu ya Usafirishaji</translation>
 <translation id="5355557959165512791">Huwezi kutembelea <ph name="SITE" /> sasa hivi kwa sababu cheti chake kimebatilishwa. Hitilafu na uvamizi wa mtandao kwa kawaida huwa wa muda, kwa hivyo huenda ukurasa huu utafanya kazi baadaye.</translation>
 <translation id="536296301121032821">Imeshindwa kuhifadhi mipangilio ya sera</translation>
+<translation id="5377026284221673050">"Saa yako iko nyuma" au "Saa yako iko mbele" au "&lt;span class="error-code"&gt;NET::ERR_CERT_DATE_INVALID&lt;/span&gt;"</translation>
 <translation id="5386426401304769735">Msururu wa cheti wa tovuti hii una cheti kilichotiwa sahihi kwa kutumia SHA-1.</translation>
 <translation id="5402410679244714488">Muda wa kutumia utakwisha: <ph name="EXPIRATION_DATE_ABBR" />, ilitumika mwisho zaidi ya mwaka mmoja uliopita</translation>
 <translation id="540969355065856584">Seva hii haikuweza kuthibitisha kuwa ni <ph name="DOMAIN" />; cheti chake cha usalama si sahihi kwa sasa. Hii inaweza kusababishwa na usanidi usiofaa au mvamizi kuingilia muunganisho wako.</translation>
@@ -844,6 +878,7 @@
 <translation id="7542403920425041731">Baada ya kuthibitisha, maelezo ya kadi yako yatashirikiwa na tovuti hii.</translation>
 <translation id="7542995811387359312">Mjazo otomatiki wa kadi ya mkopo umelemazwa kwa sababu fomu hii haitumii muunganisho salama.</translation>
 <translation id="7543525346216957623">Muulize mzazi wako</translation>
+<translation id="7548892272833184391">Rekebisha hitilafu za muunganisho</translation>
 <translation id="7549584377607005141">Ukurasa huu wa wavuti unahitaji data ambayo uliingiza mapema ili ionyeshwe inavyostahili. Unaweza kutuma tena data hii, lakini kwa kufanya hivyo utarudia hatua yoyote ambayo ukurasa huu ulifanya hapo awali.</translation>
 <translation id="7552846755917812628">Jaribu vidokezo vinavyofuata:</translation>
 <translation id="7554791636758816595">Kichupo Kipya</translation>
@@ -851,6 +886,7 @@
 <translation id="7567204685887185387">Seva hii haikuweza kuthibitisha kuwa ni <ph name="DOMAIN" />; huenda cheti chake cha usalama kimetolewa kwa njia ya ulaghai. Hii inaweza kusababishwa na usanidi usiofaa au mvamizi kuingilia muunganisho wako.</translation>
 <translation id="7568593326407688803">Ukurasa huu umeandikwa kwa<ph name="ORIGINAL_LANGUAGE" />Je, ungependa kuutafsiri?</translation>
 <translation id="7569952961197462199">Ungependa kuondoa kadi ya malipo kutoka kwenye Chrome?</translation>
+<translation id="7575800019233204241">"Muunganisho wako si wa faragha" au "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" au "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" au "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" au "hitilafu ya cheti cha SSL"</translation>
 <translation id="7578104083680115302">Lipa haraka kwenye tovuti na programu katika vifaa vyote ukitumia kadi ulizohifadhi kwenye Google.</translation>
 <translation id="7588950540487816470">Wavuti Kila Mahali</translation>
 <translation id="7592362899630581445">Cheti cha seva kinakiuka vikwazo vya jina.</translation>
@@ -1073,6 +1109,8 @@
 <translation id="973773823069644502">Chagua Mahali Bidhaa Itakapopelekwa</translation>
 <translation id="975560348586398090">{COUNT,plural, =0{Hamna}=1{Kipengee 1}other{Vipengee #}}</translation>
 <translation id="981121421437150478">Nje ya mtandao</translation>
+<translation id="985199708454569384">&lt;p&gt;Utaona hitilafu hii kwenye kompyuta au simu yako kwa sababu tarehe na wakati wa kifaa chako si sahihi.&lt;/p&gt;
+    &lt;p&gt;Ili urekebishe hitilafu, fungua saa ya kifaa chako. Hakikisha kuwa tarehe na wakati ni sahihi.&lt;/p&gt;</translation>
 <translation id="988159990683914416">Muundo wa Wasanidi Programu</translation>
 <translation id="989988560359834682">Badilisha Anwani</translation>
 <translation id="992115559265932548"><ph name="MICROSOFT_ACTIVE_DIRECTORY" /></translation>
diff --git a/components/viz/README.md b/components/viz/README.md
index 946f2fe..c7b048b 100644
--- a/components/viz/README.md
+++ b/components/viz/README.md
@@ -6,6 +6,13 @@
 See [//services/viz](../../services/viz/README.md) for more information about
 Viz overall.
 
+For understanding compositing related terminology, check out
+[//cc](../../cc/README.md). For understanding display compositor's position in
+the graphics stack, check out
+[Compositor Stack slides](https://docs.google.com/presentation/d/1ou3qdnFhKdjR6gKZgDwx3YHDwVUF7y8eoqM3rhErMMQ/edit?usp=sharing).
+For more comprehensive list of design docs relating to Viz, check out
+[WIP list of design doc](https://crbug.com/821901).
+
 **Table of Contents**
 1. [Terminology](#terminology)
 2. [Directory structure](#directory-structure)
diff --git a/components/viz/service/display/README.md b/components/viz/service/display/README.md
index b3180b64..fe433b0 100644
--- a/components/viz/service/display/README.md
+++ b/components/viz/service/display/README.md
@@ -12,3 +12,6 @@
 texture/framebuffer, or software resources (bitmaps) into a single bitmap. Note
 that the platform specific implementations details should live outside of
 display/ (for example, they can live in display_embedder/ instead).
+
+To understand surface and surface aggregation better, please refer to
+[Surface and Surface Aggregation slides](https://docs.google.com/presentation/d/14FlKgkh0-4VvM5vLeCV8OTA7YoBasWlwKIJyNnUJltM/edit?usp=sharing).
diff --git a/components/viz/service/hit_test/hit_test_manager_fuzzer.cc b/components/viz/service/hit_test/hit_test_manager_fuzzer.cc
index d71246e..da94df1 100644
--- a/components/viz/service/hit_test/hit_test_manager_fuzzer.cc
+++ b/components/viz/service/hit_test/hit_test_manager_fuzzer.cc
@@ -18,6 +18,8 @@
 
 namespace {
 
+constexpr uint32_t kMaxDepthAllowed = 255;
+
 // TODO(riajiang): Move into common functions that can be used by the fuzzer
 // for HitTestQuery.
 uint32_t GetNextUInt32NonZero(base::FuzzedDataProvider* fuzz) {
@@ -38,15 +40,17 @@
     viz::TestLatestLocalSurfaceIdLookupDelegate* delegate,
     viz::FrameSinkManagerImpl* frame_sink_manager,
     const viz::SurfaceId& surface_id,
-    bool support_is_root);
+    bool support_is_root,
+    const uint32_t depth);
 
 void AddHitTestRegion(base::FuzzedDataProvider* fuzz,
                       std::vector<viz::mojom::HitTestRegionPtr>* regions,
                       uint32_t child_count,
                       viz::TestLatestLocalSurfaceIdLookupDelegate* delegate,
                       viz::FrameSinkManagerImpl* frame_sink_manager,
-                      const viz::SurfaceId& surface_id) {
-  if (!child_count)
+                      const viz::SurfaceId& surface_id,
+                      const uint32_t depth) {
+  if (!child_count || depth > kMaxDepthAllowed)
     return;
 
   // If there's not enough space left for a HitTestRegion, then skip.
@@ -80,12 +84,12 @@
                                          base::UnguessableToken::Create());
     SubmitHitTestRegionList(fuzz, delegate, frame_sink_manager,
                             viz::SurfaceId(frame_sink_id, local_surface_id),
-                            false /* support_is_root */);
+                            false /* support_is_root */, depth + 1);
   }
 
   regions->push_back(std::move(hit_test_region));
   AddHitTestRegion(fuzz, regions, child_count - 1, delegate, frame_sink_manager,
-                   surface_id);
+                   surface_id, depth + 1);
 }
 
 void SubmitHitTestRegionList(
@@ -93,10 +97,13 @@
     viz::TestLatestLocalSurfaceIdLookupDelegate* delegate,
     viz::FrameSinkManagerImpl* frame_sink_manager,
     const viz::SurfaceId& surface_id,
-    bool support_is_root) {
+    bool support_is_root,
+    const uint32_t depth) {
   // If there's not enough space left for a HitTestRegionList, then skip.
-  if (fuzz->remaining_bytes() < sizeof(viz::mojom::HitTestRegionList))
+  if ((fuzz->remaining_bytes() < sizeof(viz::mojom::HitTestRegionList)) ||
+      depth > kMaxDepthAllowed) {
     return;
+  }
 
   auto hit_test_region_list = viz::mojom::HitTestRegionList::New();
   hit_test_region_list->flags = fuzz->ConsumeUint16();
@@ -109,7 +116,7 @@
 
   uint32_t child_count = fuzz->ConsumeUint16();
   AddHitTestRegion(fuzz, &hit_test_region_list->regions, child_count, delegate,
-                   frame_sink_manager, surface_id);
+                   frame_sink_manager, surface_id, depth + 1);
 
   delegate->SetSurfaceIdMap(surface_id);
   viz::CompositorFrameSinkSupport support(
@@ -158,7 +165,7 @@
       frame_sink_id, 10 /* initial_region_size */, 100 /* max_region_size */);
 
   SubmitHitTestRegionList(&fuzz, &delegate, &frame_sink_manager, surface_id,
-                          true /* support_is_root */);
+                          true /* support_is_root */, 0 /* depth */);
 
   viz::SurfaceId aggregate_surface_id = surface_id;
   if (fuzz.ConsumeBool() && fuzz.remaining_bytes() >= sizeof(viz::SurfaceId)) {
diff --git a/content/app/android/content_main.cc b/content/app/android/content_main.cc
index 664f046..fbd2b1b 100644
--- a/content/app/android/content_main.cc
+++ b/content/app/android/content_main.cc
@@ -5,7 +5,6 @@
 #include <memory>
 
 #include "base/lazy_instance.h"
-#include "base/memory/ptr_util.h"
 #include "base/trace_event/trace_event.h"
 #include "content/app/content_service_manager_main_delegate.h"
 #include "content/public/app/content_main.h"
diff --git a/content/browser/accessibility/accessibility_tree_formatter.cc b/content/browser/accessibility/accessibility_tree_formatter.cc
index f7d4159..d5cfe4d 100644
--- a/content/browser/accessibility/accessibility_tree_formatter.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter.cc
@@ -10,7 +10,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/pattern.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc b/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc
index b8ed49d..56808832 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter_auralinux.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
diff --git a/content/browser/accessibility/accessibility_tree_formatter_blink.cc b/content/browser/accessibility/accessibility_tree_formatter_blink.cc
index 5d50731f..569515a 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_blink.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter_blink.cc
@@ -9,7 +9,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
diff --git a/content/browser/accessibility/accessibility_tree_formatter_browser.cc b/content/browser/accessibility/accessibility_tree_formatter_browser.cc
index f62e4d4..fa5142f0 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_browser.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter_browser.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/accessibility/accessibility_tree_formatter_browser.h"
 
-#include "base/memory/ptr_util.h"
 
 namespace content {
 
diff --git a/content/browser/accessibility/accessibility_tree_formatter_win.cc b/content/browser/accessibility/accessibility_tree_formatter_win.cc
index 3d33fbb..10b1967 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_win.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter_win.cc
@@ -14,7 +14,6 @@
 #include <utility>
 
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_piece.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/accessibility/accessibility_win_browsertest.cc b/content/browser/accessibility/accessibility_win_browsertest.cc
index 61abcad..5d928bb 100644
--- a/content/browser/accessibility/accessibility_win_browsertest.cc
+++ b/content/browser/accessibility/accessibility_win_browsertest.cc
@@ -11,7 +11,6 @@
 #include <vector>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/process/process_handle.h"
 #include "base/strings/pattern.h"
 #include "base/strings/string_number_conversions.h"
diff --git a/content/browser/android/java/gin_java_bridge_dispatcher_host.cc b/content/browser/android/java/gin_java_bridge_dispatcher_host.cc
index 2cfda325..4d6da9c 100644
--- a/content/browser/android/java/gin_java_bridge_dispatcher_host.cc
+++ b/content/browser/android/java/gin_java_bridge_dispatcher_host.cc
@@ -6,7 +6,6 @@
 
 #include "base/android/jni_android.h"
 #include "base/android/scoped_java_ref.h"
-#include "base/memory/ptr_util.h"
 #include "build/build_config.h"
 #include "content/browser/android/java/gin_java_bound_object_delegate.h"
 #include "content/browser/android/java/gin_java_bridge_message_filter.h"
diff --git a/content/browser/android/java/gin_java_bridge_message_filter.cc b/content/browser/android/java/gin_java_bridge_message_filter.cc
index 7600bc9..33051e1 100644
--- a/content/browser/android/java/gin_java_bridge_message_filter.cc
+++ b/content/browser/android/java/gin_java_bridge_message_filter.cc
@@ -5,7 +5,6 @@
 #include "content/browser/android/java/gin_java_bridge_message_filter.h"
 
 #include "base/auto_reset.h"
-#include "base/memory/ptr_util.h"
 #include "build/build_config.h"
 #include "content/browser/android/java/gin_java_bridge_dispatcher_host.h"
 #include "content/browser/android/java/java_bridge_thread.h"
diff --git a/content/browser/android/java/gin_java_method_invocation_helper.cc b/content/browser/android/java/gin_java_method_invocation_helper.cc
index a62516cb..8b17a5cc 100644
--- a/content/browser/android/java/gin_java_method_invocation_helper.cc
+++ b/content/browser/android/java/gin_java_method_invocation_helper.cc
@@ -11,7 +11,6 @@
 #include "base/android/event_log.h"
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/android/java/gin_java_script_to_java_types_coercion.h"
 #include "content/browser/android/java/java_method.h"
 #include "content/common/android/gin_java_bridge_value.h"
diff --git a/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc b/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
index 8f2f58c..0787e33 100644
--- a/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
+++ b/content/browser/android/java/gin_java_method_invocation_helper_unittest.cc
@@ -10,7 +10,6 @@
 
 #include "base/android/jni_android.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "content/common/android/gin_java_bridge_value.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/content/browser/android/java/gin_java_script_to_java_types_coercion.cc b/content/browser/android/java/gin_java_script_to_java_types_coercion.cc
index d84a12f3..af82718 100644
--- a/content/browser/android/java/gin_java_script_to_java_types_coercion.cc
+++ b/content/browser/android/java/gin_java_script_to_java_types_coercion.cc
@@ -11,7 +11,6 @@
 
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/android/overscroll_controller_android.cc b/content/browser/android/overscroll_controller_android.cc
index 57604a7..c9d2bd851 100644
--- a/content/browser/android/overscroll_controller_android.cc
+++ b/content/browser/android/overscroll_controller_android.cc
@@ -6,7 +6,6 @@
 
 #include "base/android/build_info.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "cc/layers/layer.h"
 #include "components/viz/common/quads/compositor_frame_metadata.h"
 #include "content/public/browser/navigation_controller.h"
diff --git a/content/browser/android/overscroll_controller_android_unittest.cc b/content/browser/android/overscroll_controller_android_unittest.cc
index 01f7a5b..8750391 100644
--- a/content/browser/android/overscroll_controller_android_unittest.cc
+++ b/content/browser/android/overscroll_controller_android_unittest.cc
@@ -5,7 +5,6 @@
 #include "content/browser/android/overscroll_controller_android.h"
 #include <memory>
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "cc/layers/layer.h"
 #include "content/public/common/use_zoom_for_dsf_policy.h"
 #include "testing/gmock/include/gmock/gmock.h"
diff --git a/content/browser/android/selection/smart_selection_client.cc b/content/browser/android/selection/smart_selection_client.cc
index 958ebd17..9b66c9f 100644
--- a/content/browser/android/selection/smart_selection_client.cc
+++ b/content/browser/android/selection/smart_selection_client.cc
@@ -7,7 +7,6 @@
 #include "base/android/jni_android.h"
 #include "base/android/jni_string.h"
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/supports_user_data.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
diff --git a/content/browser/android/synchronous_compositor_browser_filter.cc b/content/browser/android/synchronous_compositor_browser_filter.cc
index 29f0115..af6f777 100644
--- a/content/browser/android/synchronous_compositor_browser_filter.cc
+++ b/content/browser/android/synchronous_compositor_browser_filter.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/lazy_instance.h"
-#include "base/memory/ptr_util.h"
 #include "base/optional.h"
 #include "base/stl_util.h"
 #include "content/browser/android/synchronous_compositor_sync_call_bridge.h"
diff --git a/content/browser/appcache/appcache_backend_impl.cc b/content/browser/appcache/appcache_backend_impl.cc
index e3543ec6..f0150fb78 100644
--- a/content/browser/appcache/appcache_backend_impl.cc
+++ b/content/browser/appcache/appcache_backend_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/appcache/appcache_backend_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/appcache/appcache.h"
 #include "content/browser/appcache/appcache_group.h"
 #include "content/browser/appcache/appcache_service_impl.h"
diff --git a/content/browser/appcache/appcache_request_handler_unittest.cc b/content/browser/appcache/appcache_request_handler_unittest.cc
index d2bf1620..f239159 100644
--- a/content/browser/appcache/appcache_request_handler_unittest.cc
+++ b/content/browser/appcache/appcache_request_handler_unittest.cc
@@ -16,7 +16,6 @@
 #include "base/containers/stack.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/message_loop/message_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/appcache/appcache_storage_impl_unittest.cc b/content/browser/appcache/appcache_storage_impl_unittest.cc
index a80c5874..d8988c28 100644
--- a/content/browser/appcache/appcache_storage_impl_unittest.cc
+++ b/content/browser/appcache/appcache_storage_impl_unittest.cc
@@ -17,7 +17,6 @@
 #include "base/files/scoped_temp_dir.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/synchronization/waitable_event.h"
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 6638275..509c5bb 100644
--- a/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
+++ b/content/browser/background_fetch/background_fetch_data_manager_unittest.cc
@@ -14,7 +14,6 @@
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
 #include "base/guid.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "content/browser/background_fetch/background_fetch_request_info.h"
 #include "content/browser/background_fetch/background_fetch_test_base.h"
diff --git a/content/browser/background_fetch/background_fetch_delegate_proxy.cc b/content/browser/background_fetch/background_fetch_delegate_proxy.cc
index 9a2a3936f..320e715c 100644
--- a/content/browser/background_fetch/background_fetch_delegate_proxy.cc
+++ b/content/browser/background_fetch/background_fetch_delegate_proxy.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "components/download/public/common/download_item.h"
 #include "components/download/public/common/download_url_parameters.h"
 #include "content/browser/background_fetch/background_fetch_job_controller.h"
diff --git a/content/browser/background_fetch/background_fetch_job_controller.cc b/content/browser/background_fetch/background_fetch_job_controller.cc
index d5e8ea81..83f1fa6 100644
--- a/content/browser/background_fetch/background_fetch_job_controller.cc
+++ b/content/browser/background_fetch/background_fetch_job_controller.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/background_fetch/background_fetch_request_manager.h"
 #include "content/public/browser/browser_thread.h"
 
diff --git a/content/browser/background_fetch/background_fetch_service_unittest.cc b/content/browser/background_fetch/background_fetch_service_unittest.cc
index 71cd6bb..6e703f0 100644
--- a/content/browser/background_fetch/background_fetch_service_unittest.cc
+++ b/content/browser/background_fetch/background_fetch_service_unittest.cc
@@ -8,7 +8,6 @@
 
 #include "base/auto_reset.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/time/time.h"
 #include "content/browser/background_fetch/background_fetch_context.h"
diff --git a/content/browser/background_fetch/background_fetch_test_base.cc b/content/browser/background_fetch/background_fetch_test_base.cc
index a1266fd..7c08e17 100644
--- a/content/browser/background_fetch/background_fetch_test_base.cc
+++ b/content/browser/background_fetch/background_fetch_test_base.cc
@@ -15,7 +15,6 @@
 #include "base/files/scoped_temp_dir.h"
 #include "base/guid.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
 #include "base/time/time.h"
diff --git a/content/browser/background_sync/background_sync_manager_unittest.cc b/content/browser/background_sync/background_sync_manager_unittest.cc
index 1be53b7..554c5ee97 100644
--- a/content/browser/background_sync/background_sync_manager_unittest.cc
+++ b/content/browser/background_sync/background_sync_manager_unittest.cc
@@ -14,7 +14,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/blob_storage/blob_url_loader_factory.cc b/content/browser/blob_storage/blob_url_loader_factory.cc
index 18cb6bc..32904bea 100644
--- a/content/browser/blob_storage/blob_url_loader_factory.cc
+++ b/content/browser/blob_storage/blob_url_loader_factory.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/browser_thread.h"
 #include "storage/browser/blob/blob_data_handle.h"
 #include "storage/browser/blob/blob_storage_context.h"
diff --git a/content/browser/blob_storage/blob_url_unittest.cc b/content/browser/blob_storage/blob_url_unittest.cc
index 04b077ea..82e79a3 100644
--- a/content/browser/blob_storage/blob_url_unittest.cc
+++ b/content/browser/blob_storage/blob_url_unittest.cc
@@ -12,7 +12,6 @@
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
 #include "base/numerics/safe_conversions.h"
diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
index 01ffa61..4d08d44 100644
--- a/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
+++ b/content/browser/bluetooth/bluetooth_device_chooser_controller.cc
@@ -10,7 +10,6 @@
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/bluetooth/frame_connected_bluetooth_devices.cc b/content/browser/bluetooth/frame_connected_bluetooth_devices.cc
index e64676e..1b4b070 100644
--- a/content/browser/bluetooth/frame_connected_bluetooth_devices.cc
+++ b/content/browser/bluetooth/frame_connected_bluetooth_devices.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/bluetooth/frame_connected_bluetooth_devices.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/optional.h"
 #include "base/strings/string_util.h"
 #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc b/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc
index 1cf49611..22f2e06d 100644
--- a/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc
+++ b/content/browser/bluetooth/frame_connected_bluetooth_devices_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/bluetooth/frame_connected_bluetooth_devices.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "content/browser/bluetooth/web_bluetooth_service_impl.h"
 #include "content/test/test_render_view_host.h"
diff --git a/content/browser/bluetooth/web_bluetooth_service_impl.cc b/content/browser/bluetooth/web_bluetooth_service_impl.cc
index 3f56432..cda94e4 100644
--- a/content/browser/bluetooth/web_bluetooth_service_impl.cc
+++ b/content/browser/bluetooth/web_bluetooth_service_impl.cc
@@ -12,7 +12,6 @@
 
 #include <algorithm>
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/browser/bluetooth/bluetooth_blocklist.h"
diff --git a/content/browser/browser_child_process_host_impl.cc b/content/browser/browser_child_process_host_impl.cc
index bf9f57f..dcf54720 100644
--- a/content/browser/browser_child_process_host_impl.cc
+++ b/content/browser/browser_child_process_host_impl.cc
@@ -14,7 +14,6 @@
 #include "base/lazy_instance.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
diff --git a/content/browser/browsing_data/browsing_data_filter_builder_impl.cc b/content/browser/browsing_data/browsing_data_filter_builder_impl.cc
index d2475a26..174800f 100644
--- a/content/browser/browsing_data/browsing_data_filter_builder_impl.cc
+++ b/content/browser/browsing_data/browsing_data_filter_builder_impl.cc
@@ -9,7 +9,6 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
 #include "net/cookies/canonical_cookie.h"
 #include "url/origin.h"
diff --git a/content/browser/browsing_data/browsing_data_remover_impl.cc b/content/browser/browsing_data/browsing_data_remover_impl.cc
index ada60bca..bb4e8bd4 100644
--- a/content/browser/browsing_data/browsing_data_remover_impl.cc
+++ b/content/browser/browsing_data/browsing_data_remover_impl.cc
@@ -14,7 +14,6 @@
 #include "base/callback.h"
 #include "base/callback_helpers.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/user_metrics.h"
 #include "content/browser/browsing_data/storage_partition_http_cache_data_remover.h"
diff --git a/content/browser/browsing_data/clear_site_data_throttle_unittest.cc b/content/browser/browsing_data/clear_site_data_throttle_unittest.cc
index 77b4e919..5af116c 100644
--- a/content/browser/browsing_data/clear_site_data_throttle_unittest.cc
+++ b/content/browser/browsing_data/clear_site_data_throttle_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/strings/stringprintf.h"
diff --git a/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc b/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc
index 1a74f01..3d4ecc5 100644
--- a/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc
+++ b/content/browser/browsing_data/conditional_cache_deletion_helper_browsertest.cc
@@ -8,7 +8,6 @@
 #include <string>
 #include <vector>
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/synchronization/waitable_event.h"
 #include "base/test/test_timeouts.h"
diff --git a/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc b/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc
index 109ee44..71a6e08 100644
--- a/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc
+++ b/content/browser/cache_storage/cache_storage_blob_to_disk_cache_unittest.cc
@@ -9,7 +9,6 @@
 
 #include "base/files/file_path.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/test/null_task_runner.h"
diff --git a/content/browser/cache_storage/cache_storage_operation_unittest.cc b/content/browser/cache_storage/cache_storage_operation_unittest.cc
index 792f324..b1bd4a2 100644
--- a/content/browser/cache_storage/cache_storage_operation_unittest.cc
+++ b/content/browser/cache_storage/cache_storage_operation_unittest.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/test/histogram_tester.h"
diff --git a/content/browser/cache_storage/cache_storage_scheduler.cc b/content/browser/cache_storage/cache_storage_scheduler.cc
index 759fd61..d28492f 100644
--- a/content/browser/cache_storage/cache_storage_scheduler.cc
+++ b/content/browser/cache_storage/cache_storage_scheduler.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/child_process_launcher_helper_mac.cc b/content/browser/child_process_launcher_helper_mac.cc
index ad6ff62..61f9aa4 100644
--- a/content/browser/child_process_launcher_helper_mac.cc
+++ b/content/browser/child_process_launcher_helper_mac.cc
@@ -4,7 +4,6 @@
 
 #include "base/command_line.h"
 #include "base/feature_list.h"
-#include "base/memory/ptr_util.h"
 #include "base/path_service.h"
 #include "base/posix/global_descriptors.h"
 #include "content/browser/child_process_launcher.h"
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
index 44dc90e..09d1adb 100644
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -13,7 +13,6 @@
 #include "base/files/file_path.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/stl_util.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/compositor/browser_compositor_output_surface.cc b/content/browser/compositor/browser_compositor_output_surface.cc
index e2cd453..f7e37d38 100644
--- a/content/browser/compositor/browser_compositor_output_surface.cc
+++ b/content/browser/compositor/browser_compositor_output_surface.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/command_line.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "components/viz/common/frame_sinks/begin_frame_source.h"
 #include "components/viz/service/display/output_surface_client.h"
diff --git a/content/browser/compositor/reflector_impl.cc b/content/browser/compositor/reflector_impl.cc
index 7630024..a0a54c0 100644
--- a/content/browser/compositor/reflector_impl.cc
+++ b/content/browser/compositor/reflector_impl.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "components/viz/common/resources/transferable_resource.h"
 #include "content/browser/compositor/browser_compositor_output_surface.h"
 #include "content/browser/compositor/owned_mailbox.h"
diff --git a/content/browser/compositor/reflector_impl_unittest.cc b/content/browser/compositor/reflector_impl_unittest.cc
index d26b1f58..3d36fdbb 100644
--- a/content/browser/compositor/reflector_impl_unittest.cc
+++ b/content/browser/compositor/reflector_impl_unittest.cc
@@ -5,7 +5,6 @@
 #include "content/browser/compositor/reflector_impl.h"
 
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc b/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc
index f9d7405..103c816 100644
--- a/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc
+++ b/content/browser/compositor/software_browser_compositor_output_surface_unittest.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/test/test_message_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "cc/test/fake_output_surface_client.h"
diff --git a/content/browser/cross_site_transfer_browsertest.cc b/content/browser/cross_site_transfer_browsertest.cc
index 693a7b8..bc1b974f 100644
--- a/content/browser/cross_site_transfer_browsertest.cc
+++ b/content/browser/cross_site_transfer_browsertest.cc
@@ -9,7 +9,6 @@
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/stringprintf.h"
 #include "content/browser/child_process_security_policy_impl.h"
diff --git a/content/browser/device_sensors/device_sensor_browsertest.cc b/content/browser/device_sensors/device_sensor_browsertest.cc
index f4dc655d..b2b99a14 100644
--- a/content/browser/device_sensors/device_sensor_browsertest.cc
+++ b/content/browser/device_sensors/device_sensor_browsertest.cc
@@ -8,7 +8,6 @@
 
 #include "base/command_line.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/synchronization/waitable_event.h"
diff --git a/content/browser/devtools/devtools_interceptor_controller.cc b/content/browser/devtools/devtools_interceptor_controller.cc
index e00eb992..a2c27cb 100644
--- a/content/browser/devtools/devtools_interceptor_controller.cc
+++ b/content/browser/devtools/devtools_interceptor_controller.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/devtools/devtools_interceptor_controller.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/supports_user_data.h"
 #include "content/browser/frame_host/frame_tree_node.h"
 #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/devtools/devtools_io_context.cc b/content/browser/devtools/devtools_io_context.cc
index 24a756c..1e0ae3d 100644
--- a/content/browser/devtools/devtools_io_context.cc
+++ b/content/browser/devtools/devtools_io_context.cc
@@ -8,7 +8,6 @@
 #include "base/containers/queue.h"
 #include "base/files/file.h"
 #include "base/files/file_util.h"
-#include "base/memory/ptr_util.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_piece.h"
diff --git a/content/browser/devtools/devtools_manager.cc b/content/browser/devtools/devtools_manager.cc
index 6336ea2..241e503 100644
--- a/content/browser/devtools/devtools_manager.cc
+++ b/content/browser/devtools/devtools_manager.cc
@@ -5,7 +5,6 @@
 #include "content/browser/devtools/devtools_manager.h"
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "content/browser/devtools/devtools_agent_host_impl.h"
 #include "content/browser/devtools/devtools_http_handler.h"
diff --git a/content/browser/devtools/devtools_pipe_handler.cc b/content/browser/devtools/devtools_pipe_handler.cc
index dce8d28..4fbea24 100644
--- a/content/browser/devtools/devtools_pipe_handler.cc
+++ b/content/browser/devtools/devtools_pipe_handler.cc
@@ -16,7 +16,6 @@
 #include <string>
 #include "base/bind.h"
 #include "base/files/file_util.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/sequenced_task_runner.h"
diff --git a/content/browser/devtools/devtools_url_interceptor_request_job.cc b/content/browser/devtools/devtools_url_interceptor_request_job.cc
index 8635c58e..8851a3a2 100644
--- a/content/browser/devtools/devtools_url_interceptor_request_job.cc
+++ b/content/browser/devtools/devtools_url_interceptor_request_job.cc
@@ -5,7 +5,6 @@
 #include "content/browser/devtools/devtools_url_interceptor_request_job.h"
 
 #include "base/base64.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/browser/devtools/protocol/network_handler.h"
diff --git a/content/browser/devtools/devtools_url_request_interceptor.cc b/content/browser/devtools/devtools_url_request_interceptor.cc
index 4130dea..260a520 100644
--- a/content/browser/devtools/devtools_url_request_interceptor.cc
+++ b/content/browser/devtools/devtools_url_request_interceptor.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/devtools/devtools_url_request_interceptor.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/pattern.h"
 #include "base/strings/stringprintf.h"
 #include "content/browser/devtools/devtools_interceptor_controller.h"
diff --git a/content/browser/devtools/protocol/system_info_handler.cc b/content/browser/devtools/protocol/system_info_handler.cc
index 5372bd7..3a90a35d 100644
--- a/content/browser/devtools/protocol/system_info_handler.cc
+++ b/content/browser/devtools/protocol/system_info_handler.cc
@@ -10,7 +10,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
 #include "content/browser/gpu/compositor_util.h"
diff --git a/content/browser/devtools/protocol/tethering_handler.cc b/content/browser/devtools/protocol/tethering_handler.cc
index fda0726..ce673865 100644
--- a/content/browser/devtools/protocol/tethering_handler.cc
+++ b/content/browser/devtools/protocol/tethering_handler.cc
@@ -6,7 +6,6 @@
 
 #include <map>
 
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/browser_thread.h"
 #include "net/base/io_buffer.h"
 #include "net/base/ip_address.h"
diff --git a/content/browser/dom_storage/dom_storage_context_wrapper.cc b/content/browser/dom_storage/dom_storage_context_wrapper.cc
index 376ee53..06da821 100644
--- a/content/browser/dom_storage/dom_storage_context_wrapper.cc
+++ b/content/browser/dom_storage/dom_storage_context_wrapper.cc
@@ -15,7 +15,6 @@
 #include "base/files/file_path.h"
 #include "base/location.h"
 #include "base/memory/memory_coordinator_client_registry.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/sequenced_task_runner.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/dom_storage/local_storage_context_mojo.cc b/content/browser/dom_storage/local_storage_context_mojo.cc
index f970c18f..c6975829 100644
--- a/content/browser/dom_storage/local_storage_context_mojo.cc
+++ b/content/browser/dom_storage/local_storage_context_mojo.cc
@@ -13,7 +13,6 @@
 #include <utility>
 
 #include "base/barrier_closure.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc
index d8877e9..340e6e9 100644
--- a/content/browser/download/download_manager_impl.cc
+++ b/content/browser/download/download_manager_impl.cc
@@ -63,6 +63,7 @@
 #include "content/public/browser/resource_context.h"
 #include "content/public/browser/web_contents_delegate.h"
 #include "content/public/common/browser_side_navigation_policy.h"
+#include "content/public/common/origin_util.h"
 #include "content/public/common/previews_state.h"
 #include "content/public/common/referrer.h"
 #include "net/base/elements_upload_data_stream.h"
@@ -591,8 +592,12 @@
           stream->IsEmpty()));
   DVLOG(20) << __func__ << "() result="
             << download::DownloadInterruptReasonToString(info->result);
-  if (new_download)
+  if (new_download) {
     download::RecordDownloadConnectionSecurity(info->url(), info->url_chain);
+    download::RecordDownloadContentTypeSecurity(
+        info->url(), info->url_chain, info->mime_type,
+        base::BindRepeating(&IsOriginSecure));
+  }
   base::Callback<void(uint32_t)> got_id(base::Bind(
       &DownloadManagerImpl::StartDownloadWithId, weak_factory_.GetWeakPtr(),
       base::Passed(&info), base::Passed(&stream),
diff --git a/content/browser/download/download_request_core.cc b/content/browser/download/download_request_core.cc
index bc89894..b7eb780 100644
--- a/content/browser/download/download_request_core.cc
+++ b/content/browser/download/download_request_core.cc
@@ -11,7 +11,6 @@
 #include "base/format_macros.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/stringprintf.h"
diff --git a/content/browser/download/download_request_core_unittest.cc b/content/browser/download/download_request_core_unittest.cc
index 9daa2e9..4d9c0db 100644
--- a/content/browser/download/download_request_core_unittest.cc
+++ b/content/browser/download/download_request_core_unittest.cc
@@ -4,7 +4,6 @@
 
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "components/download/public/common/download_item.h"
 #include "components/download/public/common/download_url_parameters.h"
diff --git a/content/browser/download/download_utils.cc b/content/browser/download/download_utils.cc
index 1da3d7f..c9e72c3 100644
--- a/content/browser/download/download_utils.cc
+++ b/content/browser/download/download_utils.cc
@@ -5,7 +5,6 @@
 #include "content/browser/download/download_utils.h"
 
 #include "base/format_macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/process/process_handle.h"
 #include "base/strings/stringprintf.h"
 #include "base/task_scheduler/post_task.h"
diff --git a/content/browser/download/save_file_manager.cc b/content/browser/download/save_file_manager.cc
index 69f432c..96c463e 100644
--- a/content/browser/download/save_file_manager.cc
+++ b/content/browser/download/save_file_manager.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/files/file_util.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_util.h"
 #include "components/download/public/common/download_task_runner.h"
 #include "content/browser/child_process_security_policy_impl.h"
diff --git a/content/browser/field_trial_recorder.cc b/content/browser/field_trial_recorder.cc
index ed847e7..51540dcd 100644
--- a/content/browser/field_trial_recorder.cc
+++ b/content/browser/field_trial_recorder.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/field_trial_recorder.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 
diff --git a/content/browser/frame_host/data_url_navigation_throttle.cc b/content/browser/frame_host/data_url_navigation_throttle.cc
index 4d725ab2..2835bda 100644
--- a/content/browser/frame_host/data_url_navigation_throttle.cc
+++ b/content/browser/frame_host/data_url_navigation_throttle.cc
@@ -5,7 +5,6 @@
 #include "content/browser/frame_host/data_url_navigation_throttle.h"
 
 #include "base/feature_list.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "build/build_config.h"
 #include "content/browser/frame_host/frame_tree.h"
diff --git a/content/browser/frame_host/frame_tree_node.cc b/content/browser/frame_host/frame_tree_node.cc
index 9a18a26..fc076ea 100644
--- a/content/browser/frame_host/frame_tree_node.cc
+++ b/content/browser/frame_host/frame_tree_node.cc
@@ -11,7 +11,6 @@
 
 #include "base/lazy_instance.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/stl_util.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/frame_host/navigation_request.cc b/content/browser/frame_host/navigation_request.cc
index 114d9a06..0d9c8ac 100644
--- a/content/browser/frame_host/navigation_request.cc
+++ b/content/browser/frame_host/navigation_request.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "base/optional.h"
 #include "base/strings/string_util.h"
 #include "build/build_config.h"
diff --git a/content/browser/frame_host/popup_menu_helper_mac.h b/content/browser/frame_host/popup_menu_helper_mac.h
index 1fd5b95..2964f3c 100644
--- a/content/browser/frame_host/popup_menu_helper_mac.h
+++ b/content/browser/frame_host/popup_menu_helper_mac.h
@@ -5,6 +5,7 @@
 #ifndef CONTENT_BROWSER_FRAME_HOST_POPUP_MENU_HELPER_MAC_H_
 #define CONTENT_BROWSER_FRAME_HOST_POPUP_MENU_HELPER_MAC_H_
 
+#include <memory>
 #include <vector>
 
 #include "base/compiler_specific.h"
@@ -21,6 +22,10 @@
 class WebMenuRunner;
 #endif
 
+namespace base {
+class ScopedPumpMessagesInPrivateModes;
+}
+
 namespace content {
 
 class RenderFrameHost;
@@ -71,6 +76,9 @@
   WebMenuRunner* menu_runner_;
   bool popup_was_hidden_;
 
+  // Controls whether messages can be pumped during the menu fade.
+  std::unique_ptr<base::ScopedPumpMessagesInPrivateModes> pump_in_fade_;
+
   base::WeakPtrFactory<PopupMenuHelper> weak_ptr_factory_;
 
   DISALLOW_COPY_AND_ASSIGN(PopupMenuHelper);
diff --git a/content/browser/frame_host/popup_menu_helper_mac.mm b/content/browser/frame_host/popup_menu_helper_mac.mm
index f4ef7e06..8896a7ca 100644
--- a/content/browser/frame_host/popup_menu_helper_mac.mm
+++ b/content/browser/frame_host/popup_menu_helper_mac.mm
@@ -7,6 +7,7 @@
 #import "base/mac/scoped_nsobject.h"
 #import "base/mac/scoped_sending_event.h"
 #include "base/message_loop/message_loop.h"
+#import "base/message_loop/message_pump_mac.h"
 #include "content/browser/frame_host/frame_tree.h"
 #include "content/browser/frame_host/frame_tree_node.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
@@ -94,6 +95,9 @@
     // be done manually.
     base::mac::ScopedSendingEvent sending_event_scoper;
 
+    // Ensure the UI can update while the menu is fading out.
+    pump_in_fade_ = std::make_unique<base::ScopedPumpMessagesInPrivateModes>();
+
     // Now run a NESTED EVENT LOOP until the pop-up is finished.
     [runner runMenuInView:cocoa_view
                withBounds:[cocoa_view flipRectToNSRect:bounds]
@@ -103,6 +107,7 @@
   if (!weak_ptr)
     return;  // Handle |this| being deleted.
 
+  pump_in_fade_ = nullptr;
   menu_runner_ = nil;
 
   // The RenderFrameHost may be deleted while running the menu, or it may have
@@ -118,6 +123,14 @@
 }
 
 void PopupMenuHelper::Hide() {
+  // Blink core reuses the PopupMenu of an element and first invokes Hide() over
+  // IPC if a menu is already showing. Attempting to show a new menu while the
+  // old menu is fading out confuses AppKit, since we're still in the NESTED
+  // EVENT LOOP of ShowPopupMenu(). Disable pumping of events in the fade
+  // animation of the old menu in this case so that it closes synchronously.
+  // See http://crbug.com/812260.
+  pump_in_fade_ = nullptr;
+
   if (menu_runner_)
     [menu_runner_ hide];
   popup_was_hidden_ = true;
diff --git a/content/browser/frame_host/render_frame_host_manager_unittest.cc b/content/browser/frame_host/render_frame_host_manager_unittest.cc
index da2fd83..754c2d8 100644
--- a/content/browser/frame_host/render_frame_host_manager_unittest.cc
+++ b/content/browser/frame_host/render_frame_host_manager_unittest.cc
@@ -14,7 +14,6 @@
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/histogram_tester.h"
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
index 833f2db..f16ee30 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
@@ -13,7 +13,6 @@
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
 #include "base/feature_list.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
diff --git a/content/browser/gpu/gpu_internals_ui.cc b/content/browser/gpu/gpu_internals_ui.cc
index a8d97e81..71911fef 100644
--- a/content/browser/gpu/gpu_internals_ui.cc
+++ b/content/browser/gpu/gpu_internals_ui.cc
@@ -16,7 +16,6 @@
 #include "base/environment.h"
 #include "base/i18n/time_formatting.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringize_macros.h"
diff --git a/content/browser/gpu/gpu_ipc_browsertests.cc b/content/browser/gpu/gpu_ipc_browsertests.cc
index e3717ed3..31f2ab76 100644
--- a/content/browser/gpu/gpu_ipc_browsertests.cc
+++ b/content/browser/gpu/gpu_ipc_browsertests.cc
@@ -3,7 +3,6 @@
 // found in the LICENSE file.
 
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "build/build_config.h"
 #include "components/viz/common/gpu/context_provider.h"
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index 34e67a1..091adf52 100644
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -18,7 +18,6 @@
 #include "base/feature_list.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
 #include "base/metrics/field_trial.h"
diff --git a/content/browser/host_zoom_map_impl_unittest.cc b/content/browser/host_zoom_map_impl_unittest.cc
index afcc2bd..c66769201 100644
--- a/content/browser/host_zoom_map_impl_unittest.cc
+++ b/content/browser/host_zoom_map_impl_unittest.cc
@@ -7,7 +7,6 @@
 #include <stddef.h>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
 #include "base/test/simple_test_clock.h"
diff --git a/content/browser/hyphenation/hyphenation_impl.cc b/content/browser/hyphenation/hyphenation_impl.cc
index a943bf4..ab21104f 100644
--- a/content/browser/hyphenation/hyphenation_impl.cc
+++ b/content/browser/hyphenation/hyphenation_impl.cc
@@ -10,7 +10,6 @@
 
 #include "base/files/file.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
diff --git a/content/browser/image_capture/image_capture_impl.cc b/content/browser/image_capture/image_capture_impl.cc
index 9c3e01c..9a1ee167 100644
--- a/content/browser/image_capture/image_capture_impl.cc
+++ b/content/browser/image_capture/image_capture_impl.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/bind_helpers.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/browser_main_loop.h"
 #include "content/browser/renderer_host/media/media_stream_manager.h"
 #include "content/browser/renderer_host/media/video_capture_manager.h"
diff --git a/content/browser/indexed_db/cursor_impl.cc b/content/browser/indexed_db/cursor_impl.cc
index 281ff4b..6506a21 100644
--- a/content/browser/indexed_db/cursor_impl.cc
+++ b/content/browser/indexed_db/cursor_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/indexed_db/cursor_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/sequenced_task_runner.h"
 #include "content/browser/indexed_db/indexed_db_callbacks.h"
 #include "content/browser/indexed_db/indexed_db_cursor.h"
diff --git a/content/browser/indexed_db/database_impl.cc b/content/browser/indexed_db/database_impl.cc
index f52438e..9c30505 100644
--- a/content/browser/indexed_db/database_impl.cc
+++ b/content/browser/indexed_db/database_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/indexed_db/database_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_math.h"
 #include "base/sequence_checker.h"
diff --git a/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc b/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc
index 7a17cba..d05736c 100644
--- a/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc
@@ -7,7 +7,6 @@
 #include <set>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/test/test_simple_task_runner.h"
 #include "content/browser/indexed_db/indexed_db_active_blob_registry.h"
 #include "content/browser/indexed_db/indexed_db_backing_store.h"
diff --git a/content/browser/indexed_db/indexed_db_backing_store.cc b/content/browser/indexed_db/indexed_db_backing_store.cc
index 36d265ac..774da43b 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.cc
+++ b/content/browser/indexed_db/indexed_db_backing_store.cc
@@ -640,6 +640,53 @@
   return leveldb_factory.DestroyLevelDB(file_path);
 }
 
+Status IndexedDBBackingStore::AnyDatabaseContainsBlobs(
+    LevelDBTransaction* transaction,
+    bool* blobs_exist) {
+  Status status = leveldb::Status::OK();
+  std::vector<base::string16> names;
+  IndexedDBMetadataCoding metadata_coding;
+  status = metadata_coding.ReadDatabaseNames(transaction, origin_identifier_,
+                                             &names);
+  if (!status.ok())
+    return status;
+
+  *blobs_exist = false;
+  for (const auto& name : names) {
+    IndexedDBDatabaseMetadata metadata;
+    bool found = false;
+    status = metadata_coding.ReadMetadataForDatabaseName(
+        transaction, origin_identifier_, name, &metadata, &found);
+    if (!found)
+      return Status::NotFound("Metadata not found for \"%s\".",
+                              base::UTF16ToUTF8(name));
+    for (const auto& store_id_metadata_pair : metadata.object_stores) {
+      std::unique_ptr<LevelDBIterator> iterator = transaction->CreateIterator();
+      std::string min_key = BlobEntryKey::EncodeMinKeyForObjectStore(
+          metadata.id, store_id_metadata_pair.first);
+      std::string max_key = BlobEntryKey::EncodeStopKeyForObjectStore(
+          metadata.id, store_id_metadata_pair.first);
+      status = iterator->Seek(base::StringPiece(min_key));
+      if (status.IsNotFound()) {
+        status = Status::OK();
+        continue;
+      }
+      if (!status.ok())
+        return status;
+      if (iterator->IsValid() &&
+          comparator_->Compare(iterator->Key(), base::StringPiece(max_key)) <
+              0) {
+        *blobs_exist = true;
+        return Status::OK();
+      }
+    }
+
+    if (!status.ok())
+      return status;
+  }
+  return Status::OK();
+}
+
 WARN_UNUSED_RESULT Status IndexedDBBackingStore::SetUpMetadata() {
   const IndexedDBDataFormatVersion latest_known_data_version =
       IndexedDBDataFormatVersion::GetCurrent();
@@ -710,21 +757,36 @@
       PutInt(transaction.get(), data_version_key, db_data_version.Encode());
     }
     if (db_schema_version < 3) {
-      // TODO(dmurph): This migration path did not write the updated schema
-      // version to disk. In consequence, any database that started out as
-      // schema version <= 2 will remain at schema version 2 indefinitely.
-      // Furthermore, this migration path used to call
+      // Up until http://crrev.com/3c0d175b, this migration path did not write
+      // the updated schema version to disk. In consequence, any database that
+      // started out as schema version <= 2 will remain at schema version 2
+      // indefinitely. Furthermore, this migration path used to call
       // "base::DeleteFile(blob_path_, true)", so databases stuck at version 2
       // would lose their stored Blobs on every open call.
       //
       // In order to prevent corrupt databases, when upgrading from 2 to 3 this
-      // should either:
-      // 1. Blow away all databases as corrupted (fastest), or
-      // 2. Only blow away databases with BlobEntryKey entries, which can be
-      //    detected in  O(object stores * databases) time.
+      // will consider any v2 databases with BlobEntryKey entries as corrupt.
+      // Unfortunately this will blow away a lot of data for third party
+      // customers, so first we will only upgrade the non-corrupt v2 databases
+      // (and leave the corrupt v2 ones for one release).
       // https://crbug.com/756447, https://crbug.com/829125,
       // https://crbug.com/829141
       db_schema_version = 3;
+      bool has_blobs = false;
+      s = AnyDatabaseContainsBlobs(transaction.get(), &has_blobs);
+      if (!s.ok()) {
+        INTERNAL_CONSISTENCY_ERROR_UNTESTED(SET_UP_METADATA);
+        return InternalInconsistencyStatus();
+      }
+      indexed_db::ReportV2Schema(has_blobs, origin_);
+      if (has_blobs) {
+        // TODO(dmurph): Treat this as corruption.
+        // https://crbug.com/829141
+        INTERNAL_CONSISTENCY_ERROR(UPGRADING_SCHEMA_CORRUPTED_BLOBS);
+        // return InternalInconsistencyStatus();
+      } else {
+        PutInt(transaction.get(), schema_version_key, db_schema_version);
+      }
     }
   }
 
diff --git a/content/browser/indexed_db/indexed_db_backing_store.h b/content/browser/indexed_db/indexed_db_backing_store.h
index ef29185e..bb43ef02 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.h
+++ b/content/browser/indexed_db/indexed_db_backing_store.h
@@ -598,6 +598,9 @@
 
   bool is_incognito() const { return !indexed_db_factory_; }
 
+  leveldb::Status AnyDatabaseContainsBlobs(LevelDBTransaction* transaction,
+                                           bool* blobs_exist);
+
   leveldb::Status SetUpMetadata();
 
   // TODO(dmurph): Move this completely to IndexedDBMetadataFactory.
diff --git a/content/browser/indexed_db/indexed_db_backing_store_unittest.cc b/content/browser/indexed_db/indexed_db_backing_store_unittest.cc
index 054b28e..c7eb42be 100644
--- a/content/browser/indexed_db/indexed_db_backing_store_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_backing_store_unittest.cc
@@ -13,14 +13,15 @@
 #include "base/files/scoped_temp_dir.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/time/default_clock.h"
+#include "content/browser/indexed_db/indexed_db_class_factory.h"
 #include "content/browser/indexed_db/indexed_db_context_impl.h"
 #include "content/browser/indexed_db/indexed_db_factory_impl.h"
 #include "content/browser/indexed_db/indexed_db_leveldb_coding.h"
+#include "content/browser/indexed_db/indexed_db_leveldb_operations.h"
 #include "content/browser/indexed_db/indexed_db_metadata_coding.h"
 #include "content/browser/indexed_db/indexed_db_value.h"
 #include "content/browser/indexed_db/leveldb/leveldb_factory.h"
@@ -242,27 +243,43 @@
         quota_manager_proxy_(
             base::MakeRefCounted<MockQuotaManagerProxy>(nullptr, nullptr)) {}
 
-  void SetUp() override {
-    special_storage_policy_->SetAllUnlimited(true);
-    ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
-    idb_context_ = base::MakeRefCounted<IndexedDBContextImpl>(
-        temp_dir_.GetPath(), special_storage_policy_, quota_manager_proxy_);
-
+  void CreateFactoryAndBackingStore() {
     // Factory and backing store must be created on IDB task runner.
     idb_context_->TaskRunner()->PostTask(
+        FROM_HERE,
+        base::BindOnce(
+            [](IndexedDBBackingStoreTest* test) {
+              const Origin origin = Origin::Create(GURL("http://localhost:81"));
+              test->idb_factory_ = base::MakeRefCounted<TestIDBFactory>(
+                  test->idb_context_.get());
+              test->backing_store_ =
+                  test->idb_factory_->OpenBackingStoreForTest(
+                      origin, test->url_request_context_getter_);
+            },
+            base::Unretained(this)));
+    RunAllTasksUntilIdle();
+  }
+
+  void DestroyFactoryAndBackingStore() {
+    // Factory and backing store must be destroyed on IDB task runner.
+    idb_context_->TaskRunner()->PostTask(
         FROM_HERE, base::BindOnce(
                        [](IndexedDBBackingStoreTest* test) {
-                         const Origin origin =
-                             Origin::Create(GURL("http://localhost:81"));
-                         test->idb_factory_ =
-                             base::MakeRefCounted<TestIDBFactory>(
-                                 test->idb_context_.get());
-                         test->backing_store_ =
-                             test->idb_factory_->OpenBackingStoreForTest(
-                                 origin, test->url_request_context_getter_);
+                         test->idb_factory_ = nullptr;
+                         test->backing_store_ = nullptr;
                        },
                        base::Unretained(this)));
     RunAllTasksUntilIdle();
+  }
+
+  void SetUp() override {
+    special_storage_policy_->SetAllUnlimited(true);
+    ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+
+    idb_context_ = base::MakeRefCounted<IndexedDBContextImpl>(
+        temp_dir_.GetPath(), special_storage_policy_, quota_manager_proxy_);
+
+    CreateFactoryAndBackingStore();
 
     // useful keys and values during tests
     value1_ = IndexedDBValue("value1", std::vector<IndexedDBBlobInfo>());
@@ -273,15 +290,7 @@
   }
 
   void TearDown() override {
-    // Factory and backing store must be destroyed on IDB task runner.
-    idb_context_->TaskRunner()->PostTask(
-        FROM_HERE, base::BindOnce(
-                       [](IndexedDBBackingStoreTest* test) {
-                         test->idb_factory_ = nullptr;
-                         test->backing_store_ = nullptr;
-                       },
-                       base::Unretained(this)));
-    RunAllTasksUntilIdle();
+    DestroyFactoryAndBackingStore();
 
     quota_manager_proxy_->SimulateQuotaManagerDestroyed();
   }
@@ -1414,5 +1423,141 @@
   EXPECT_EQ("foo", message);
 }
 
+// There was a wrong migration from schema 2 to 3, which always delete IDB
+// blobs and doesn't actually write the new schema version. This tests the
+// upgrade path where the database doesn't have blob entries, so it' safe to
+// keep the database.
+// https://crbug.com/756447, https://crbug.com/829125, https://crbug.com/829141
+TEST_F(IndexedDBBackingStoreTest, SchemaUpgradeWithoutBlobsSurvives) {
+  struct TestState {
+    int64_t database_id;
+    const int64_t object_store_id = 99;
+  } state;
+
+  // The database metadata needs to be written so we can verify the blob entry
+  // keys are not detected.
+  idb_context_->TaskRunner()->PostTask(
+      FROM_HERE,
+      base::BindOnce(
+          [](IndexedDBBackingStore* backing_store, TestState* state) {
+            const base::string16 database_name(ASCIIToUTF16("db1"));
+            const int64_t version = 9;
+
+            const base::string16 object_store_name(
+                ASCIIToUTF16("object_store1"));
+            const bool auto_increment = true;
+            const IndexedDBKeyPath object_store_key_path(
+                ASCIIToUTF16("object_store_key"));
+
+            IndexedDBMetadataCoding metadata_coding;
+
+            {
+              IndexedDBDatabaseMetadata database;
+              leveldb::Status s = metadata_coding.CreateDatabase(
+                  backing_store->db(), backing_store->origin_identifier(),
+                  database_name, version, &database);
+              EXPECT_TRUE(s.ok());
+              EXPECT_GT(database.id, 0);
+              state->database_id = database.id;
+
+              IndexedDBBackingStore::Transaction transaction(backing_store);
+              transaction.Begin();
+
+              IndexedDBObjectStoreMetadata object_store;
+              s = metadata_coding.CreateObjectStore(
+                  transaction.transaction(), database.id,
+                  state->object_store_id, object_store_name,
+                  object_store_key_path, auto_increment, &object_store);
+              EXPECT_TRUE(s.ok());
+
+              scoped_refptr<TestCallback> callback(
+                  base::MakeRefCounted<TestCallback>());
+              EXPECT_TRUE(transaction.CommitPhaseOne(callback).ok());
+              EXPECT_TRUE(callback->called);
+              EXPECT_TRUE(callback->succeeded);
+              EXPECT_TRUE(transaction.CommitPhaseTwo().ok());
+            }
+          },
+          base::Unretained(backing_store()), base::Unretained(&state)));
+  RunAllTasksUntilIdle();
+  idb_context_->TaskRunner()->PostTask(
+      FROM_HERE,
+      base::BindOnce(
+          [](IndexedDBBackingStore* backing_store, IndexedDBKey key,
+             IndexedDBValue value, TestState* state) {
+            // Save a value.
+            IndexedDBBackingStore::Transaction transaction1(backing_store);
+            transaction1.Begin();
+            std::vector<std::unique_ptr<storage::BlobDataHandle>> handles;
+            IndexedDBBackingStore::RecordIdentifier record;
+            leveldb::Status s = backing_store->PutRecord(
+                &transaction1, state->database_id, state->object_store_id, key,
+                &value, &handles, &record);
+            EXPECT_TRUE(s.ok());
+            scoped_refptr<TestCallback> callback(
+                base::MakeRefCounted<TestCallback>());
+            EXPECT_TRUE(transaction1.CommitPhaseOne(callback).ok());
+            EXPECT_TRUE(callback->called);
+            EXPECT_TRUE(callback->succeeded);
+            EXPECT_TRUE(transaction1.CommitPhaseTwo().ok());
+
+            // Set the schema to 2, which was before blob support.
+            scoped_refptr<LevelDBTransaction> transaction =
+                IndexedDBClassFactory::Get()->CreateLevelDBTransaction(
+                    backing_store->db());
+            const std::string schema_version_key = SchemaVersionKey::Encode();
+            indexed_db::PutInt(transaction.get(), schema_version_key, 2);
+            ASSERT_TRUE(transaction->Commit().ok());
+          },
+          base::Unretained(backing_store()), key1_, value1_,
+          base::Unretained(&state)));
+  RunAllTasksUntilIdle();
+
+  DestroyFactoryAndBackingStore();
+  CreateFactoryAndBackingStore();
+
+  idb_context_->TaskRunner()->PostTask(
+      FROM_HERE,
+      base::BindOnce(
+          [](IndexedDBBackingStore* backing_store, IndexedDBKey key,
+             IndexedDBValue value, TestState* state) {
+            IndexedDBBackingStore::Transaction transaction2(backing_store);
+            transaction2.Begin();
+            IndexedDBValue result_value;
+            EXPECT_TRUE(backing_store
+                            ->GetRecord(&transaction2, state->database_id,
+                                        state->object_store_id, key,
+                                        &result_value)
+                            .ok());
+            scoped_refptr<TestCallback> callback(
+                base::MakeRefCounted<TestCallback>());
+            EXPECT_TRUE(transaction2.CommitPhaseOne(callback).ok());
+            EXPECT_TRUE(callback->called);
+            EXPECT_TRUE(callback->succeeded);
+            EXPECT_TRUE(transaction2.CommitPhaseTwo().ok());
+            EXPECT_EQ(value.bits, result_value.bits);
+
+            // Test that we upgraded.
+            scoped_refptr<LevelDBTransaction> transaction =
+                IndexedDBClassFactory::Get()->CreateLevelDBTransaction(
+                    backing_store->db());
+            const std::string schema_version_key = SchemaVersionKey::Encode();
+            int64_t found_int = 0;
+            bool found = false;
+            bool success =
+                indexed_db::GetInt(transaction.get(), schema_version_key,
+                                   &found_int, &found)
+                    .ok();
+            ASSERT_TRUE(success);
+            ASSERT_TRUE(transaction->Commit().ok());
+
+            EXPECT_TRUE(found);
+            EXPECT_EQ(3, found_int);
+          },
+          base::Unretained(backing_store()), key1_, value1_,
+          base::Unretained(&state)));
+  RunAllTasksUntilIdle();
+}
+
 }  // namespace indexed_db_backing_store_unittest
 }  // namespace content
diff --git a/content/browser/indexed_db/indexed_db_callbacks.cc b/content/browser/indexed_db/indexed_db_callbacks.cc
index 16bffb7..8e16c5d 100644
--- a/content/browser/indexed_db/indexed_db_callbacks.cc
+++ b/content/browser/indexed_db/indexed_db_callbacks.cc
@@ -11,7 +11,6 @@
 #include <utility>
 
 #include "base/guid.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc b/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc
index 9ee6009..0c702bf 100644
--- a/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc
@@ -8,7 +8,6 @@
 #include "base/files/file_path.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/browser/indexed_db/indexed_db_backing_store.h"
diff --git a/content/browser/indexed_db/indexed_db_context_impl.cc b/content/browser/indexed_db/indexed_db_context_impl.cc
index 276c57d4..d242a9d 100644
--- a/content/browser/indexed_db/indexed_db_context_impl.cc
+++ b/content/browser/indexed_db/indexed_db_context_impl.cc
@@ -12,7 +12,6 @@
 #include "base/files/file_enumerator.h"
 #include "base/files/file_util.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/indexed_db/indexed_db_database.cc b/content/browser/indexed_db/indexed_db_database.cc
index 83ec42e..fff3619 100644
--- a/content/browser/indexed_db/indexed_db_database.cc
+++ b/content/browser/indexed_db/indexed_db_database.cc
@@ -13,7 +13,6 @@
 #include "base/auto_reset.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/stl_util.h"
diff --git a/content/browser/indexed_db/indexed_db_database_unittest.cc b/content/browser/indexed_db/indexed_db_database_unittest.cc
index e2825b4..fd5e264 100644
--- a/content/browser/indexed_db/indexed_db_database_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_database_unittest.cc
@@ -11,7 +11,6 @@
 #include "base/auto_reset.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.cc b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
index 1876af1..52deffb 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.cc
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
@@ -8,7 +8,6 @@
 
 #include "base/bind.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/process/process.h"
 #include "base/sequenced_task_runner.h"
 #include "base/stl_util.h"
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc b/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
index ef290af2..ff71819 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
@@ -7,7 +7,6 @@
 #include "base/barrier_closure.h"
 #include "base/callback.h"
 #include "base/files/scoped_temp_dir.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/indexed_db/indexed_db_factory_impl.cc b/content/browser/indexed_db/indexed_db_factory_impl.cc
index 08cd9cc8..eea4df4c 100644
--- a/content/browser/indexed_db/indexed_db_factory_impl.cc
+++ b/content/browser/indexed_db/indexed_db_factory_impl.cc
@@ -12,7 +12,6 @@
 #include "base/callback_helpers.h"
 #include "base/feature_list.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/rand_util.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/indexed_db/indexed_db_factory_unittest.cc b/content/browser/indexed_db/indexed_db_factory_unittest.cc
index 25188dc..2384f76 100644
--- a/content/browser/indexed_db/indexed_db_factory_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_factory_unittest.cc
@@ -10,7 +10,6 @@
 #include "base/files/scoped_temp_dir.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/scoped_feature_list.h"
diff --git a/content/browser/indexed_db/indexed_db_index_writer.cc b/content/browser/indexed_db/indexed_db_index_writer.cc
index 6493041..f18444c 100644
--- a/content/browser/indexed_db/indexed_db_index_writer.cc
+++ b/content/browser/indexed_db/indexed_db_index_writer.cc
@@ -8,7 +8,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/browser/indexed_db/indexed_db_backing_store.h"
 #include "content/browser/indexed_db/indexed_db_tracing.h"
diff --git a/content/browser/indexed_db/indexed_db_leveldb_coding.cc b/content/browser/indexed_db/indexed_db_leveldb_coding.cc
index ca991f9..d407f601 100644
--- a/content/browser/indexed_db/indexed_db_leveldb_coding.cc
+++ b/content/browser/indexed_db/indexed_db_leveldb_coding.cc
@@ -8,7 +8,6 @@
 #include <limits>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/sys_byteorder.h"
diff --git a/content/browser/indexed_db/indexed_db_leveldb_operations.cc b/content/browser/indexed_db/indexed_db_leveldb_operations.cc
index 8254366..09085950 100644
--- a/content/browser/indexed_db/indexed_db_leveldb_operations.cc
+++ b/content/browser/indexed_db/indexed_db_leveldb_operations.cc
@@ -28,11 +28,12 @@
   return leveldb::Status::IOError("IO Error");
 }
 
+namespace {
 template <typename DBOrTransaction>
-Status GetInt(DBOrTransaction* db,
-              const StringPiece& key,
-              int64_t* found_int,
-              bool* found) {
+Status GetIntInternal(DBOrTransaction* db,
+                      const StringPiece& key,
+                      int64_t* found_int,
+                      bool* found) {
   std::string result;
   Status s = db->Get(key, &result, found);
   if (!s.ok())
@@ -44,15 +45,21 @@
     return s;
   return InternalInconsistencyStatus();
 }
+}  // namespace
 
-template Status GetInt<LevelDBTransaction>(LevelDBTransaction* db,
-                                           const StringPiece& key,
-                                           int64_t* found_int,
-                                           bool* found);
-template Status GetInt<LevelDBDatabase>(LevelDBDatabase* db,
-                                        const StringPiece& key,
-                                        int64_t* found_int,
-                                        bool* found);
+Status GetInt(LevelDBTransaction* txn,
+              const StringPiece& key,
+              int64_t* found_int,
+              bool* found) {
+  return GetIntInternal(txn, key, found_int, found);
+}
+
+Status GetInt(LevelDBDatabase* db,
+              const StringPiece& key,
+              int64_t* found_int,
+              bool* found) {
+  return GetIntInternal(db, key, found_int, found);
+}
 
 void PutBool(LevelDBTransaction* transaction,
              const StringPiece& key,
diff --git a/content/browser/indexed_db/indexed_db_leveldb_operations.h b/content/browser/indexed_db/indexed_db_leveldb_operations.h
index ab9a260c..1f75df3 100644
--- a/content/browser/indexed_db/indexed_db_leveldb_operations.h
+++ b/content/browser/indexed_db/indexed_db_leveldb_operations.h
@@ -10,6 +10,7 @@
 #include "base/strings/string16.h"
 #include "base/strings/string_piece.h"
 #include "base/time/time.h"
+#include "content/common/content_export.h"
 #include "content/common/indexed_db/indexed_db_key_path.h"
 #include "third_party/leveldatabase/src/include/leveldb/status.h"
 
@@ -30,18 +31,21 @@
 
 leveldb::Status IOErrorStatus();
 
-template <typename DBOrTransaction>
-leveldb::Status GetInt(DBOrTransaction* db,
-                       const base::StringPiece& key,
-                       int64_t* found_int,
-                       bool* found);
+leveldb::Status CONTENT_EXPORT GetInt(LevelDBDatabase* db,
+                                      const base::StringPiece& key,
+                                      int64_t* found_int,
+                                      bool* found);
+leveldb::Status CONTENT_EXPORT GetInt(LevelDBTransaction* txn,
+                                      const base::StringPiece& key,
+                                      int64_t* found_int,
+                                      bool* found);
 
 void PutBool(LevelDBTransaction* transaction,
              const base::StringPiece& key,
              bool value);
-void PutInt(LevelDBTransaction* transaction,
-            const base::StringPiece& key,
-            int64_t value);
+void CONTENT_EXPORT PutInt(LevelDBTransaction* transaction,
+                           const base::StringPiece& key,
+                           int64_t value);
 
 template <typename DBOrTransaction>
 WARN_UNUSED_RESULT leveldb::Status GetVarInt(DBOrTransaction* db,
diff --git a/content/browser/indexed_db/indexed_db_metadata_coding.cc b/content/browser/indexed_db/indexed_db_metadata_coding.cc
index 1855511..dfb9877 100644
--- a/content/browser/indexed_db/indexed_db_metadata_coding.cc
+++ b/content/browser/indexed_db/indexed_db_metadata_coding.cc
@@ -32,10 +32,20 @@
 
 namespace {
 
+std::unique_ptr<LevelDBIterator> CreateIterator(LevelDBDatabase* database) {
+  return database->CreateIterator(database->DefaultReadOptions());
+}
+
+std::unique_ptr<LevelDBIterator> CreateIterator(
+    LevelDBTransaction* transaction) {
+  return transaction->CreateIterator();
+}
+
 // Reads all indexes for the given database and object store in |indexes|.
 // TODO(jsbell): This should do some error handling rather than plowing ahead
 // when bad data is encountered.
-Status ReadIndexes(LevelDBDatabase* db,
+template <typename DatabaseOrTransaction>
+Status ReadIndexes(DatabaseOrTransaction* db_or_transaction,
                    int64_t database_id,
                    int64_t object_store_id,
                    std::map<int64_t, IndexedDBIndexMetadata>* indexes) {
@@ -48,8 +58,7 @@
 
   DCHECK(indexes->empty());
 
-  std::unique_ptr<LevelDBIterator> it =
-      db->CreateIterator(db->DefaultReadOptions());
+  std::unique_ptr<LevelDBIterator> it = CreateIterator(db_or_transaction);
   Status s = it->Seek(start_key);
   while (s.ok() && it->IsValid() && CompareKeys(it->Key(), stop_key) < 0) {
     IndexMetaDataKey meta_data_key;
@@ -137,8 +146,9 @@
 // |object_stores|.
 // TODO(jsbell): This should do some error handling rather than plowing ahead
 // when bad data is encountered.
+template <typename DatabaseOrTransaction>
 Status ReadObjectStores(
-    LevelDBDatabase* db,
+    DatabaseOrTransaction* db_or_transaction,
     int64_t database_id,
     std::map<int64_t, IndexedDBObjectStoreMetadata>* object_stores) {
   if (!KeyPrefix::IsValidDatabaseId(database_id))
@@ -150,8 +160,7 @@
 
   DCHECK(object_stores->empty());
 
-  std::unique_ptr<LevelDBIterator> it =
-      db->CreateIterator(db->DefaultReadOptions());
+  std::unique_ptr<LevelDBIterator> it = CreateIterator(db_or_transaction);
   Status s = it->Seek(start_key);
   while (s.ok() && it->IsValid() && CompareKeys(it->Key(), stop_key) < 0) {
     ObjectStoreMetaDataKey meta_data_key;
@@ -296,7 +305,8 @@
     IndexedDBObjectStoreMetadata metadata(object_store_name, object_store_id,
                                           key_path, auto_increment,
                                           max_index_id);
-    s = ReadIndexes(db, database_id, object_store_id, &metadata.indexes);
+    s = ReadIndexes(db_or_transaction, database_id, object_store_id,
+                    &metadata.indexes);
     if (!s.ok())
       break;
     (*object_stores)[object_store_id] = metadata;
@@ -307,24 +317,18 @@
 
   return s;
 }
-}  // namespace
 
-IndexedDBMetadataCoding::IndexedDBMetadataCoding() = default;
-IndexedDBMetadataCoding::~IndexedDBMetadataCoding() = default;
-
-leveldb::Status IndexedDBMetadataCoding::ReadDatabaseNames(
-    LevelDBDatabase* db,
-    const std::string& origin_identifier,
-    std::vector<base::string16>* names) {
+template <typename DatabaseOrTransaction>
+Status ReadDatabaseNamesInternal(DatabaseOrTransaction* db_or_transaction,
+                                 const std::string& origin_identifier,
+                                 std::vector<base::string16>* names) {
   const std::string start_key =
       DatabaseNameKey::EncodeMinKeyForOrigin(origin_identifier);
   const std::string stop_key =
       DatabaseNameKey::EncodeStopKeyForOrigin(origin_identifier);
 
   DCHECK(names->empty());
-
-  std::unique_ptr<LevelDBIterator> it =
-      db->CreateIterator(db->DefaultReadOptions());
+  std::unique_ptr<LevelDBIterator> it = CreateIterator(db_or_transaction);
   Status s;
   for (s = it->Seek(start_key);
        s.ok() && it->IsValid() && CompareKeys(it->Key(), stop_key) < 0;
@@ -350,7 +354,7 @@
     // Look up version by id.
     bool found = false;
     int64_t database_version = IndexedDBDatabaseMetadata::DEFAULT_VERSION;
-    s = GetVarInt(db,
+    s = GetVarInt(db_or_transaction,
                   DatabaseMetaDataKey::Encode(
                       database_id, DatabaseMetaDataKey::USER_VERSION),
                   &database_version, &found);
@@ -372,8 +376,9 @@
 
 // TODO(jsbell): This should do some error handling rather than
 // plowing ahead when bad data is encountered.
-Status IndexedDBMetadataCoding::ReadMetadataForDatabaseName(
-    LevelDBDatabase* db,
+template <typename DatabaseOrTransaction>
+Status ReadMetadataForDatabaseNameInternal(
+    DatabaseOrTransaction* db_or_transaction,
     const std::string& origin_identifier,
     const base::string16& name,
     IndexedDBDatabaseMetadata* metadata,
@@ -382,7 +387,7 @@
   const std::string key = DatabaseNameKey::Encode(origin_identifier, name);
   *found = false;
 
-  Status s = GetInt(db, key, &metadata->id, found);
+  Status s = GetInt(db_or_transaction, key, &metadata->id, found);
   if (!s.ok()) {
     INTERNAL_READ_ERROR(GET_IDBDATABASE_METADATA);
     return s;
@@ -390,7 +395,7 @@
   if (!*found)
     return Status::OK();
 
-  s = GetVarInt(db,
+  s = GetVarInt(db_or_transaction,
                 DatabaseMetaDataKey::Encode(metadata->id,
                                             DatabaseMetaDataKey::USER_VERSION),
                 &metadata->version, found);
@@ -406,7 +411,7 @@
   if (metadata->version == IndexedDBDatabaseMetadata::DEFAULT_VERSION)
     metadata->version = IndexedDBDatabaseMetadata::NO_VERSION;
 
-  s = indexed_db::GetMaxObjectStoreId(db, metadata->id,
+  s = indexed_db::GetMaxObjectStoreId(db_or_transaction, metadata->id,
                                       &metadata->max_object_store_id);
   if (!s.ok())
     INTERNAL_READ_ERROR_UNTESTED(GET_IDBDATABASE_METADATA);
@@ -416,7 +421,7 @@
       DatabaseMetaDataKey::kInvalidBlobKey;
 
   s = GetVarInt(
-      db,
+      db_or_transaction,
       DatabaseMetaDataKey::Encode(
           metadata->id, DatabaseMetaDataKey::BLOB_KEY_GENERATOR_CURRENT_NUMBER),
       &blob_key_generator_current_number, found);
@@ -433,12 +438,51 @@
     return InternalInconsistencyStatus();
   }
 
-  s = ReadObjectStores(db, metadata->id, &metadata->object_stores);
+  s = ReadObjectStores(db_or_transaction, metadata->id,
+                       &metadata->object_stores);
 
   return s;
 }
+}  // namespace
 
-leveldb::Status IndexedDBMetadataCoding::CreateDatabase(
+IndexedDBMetadataCoding::IndexedDBMetadataCoding() = default;
+IndexedDBMetadataCoding::~IndexedDBMetadataCoding() = default;
+
+Status IndexedDBMetadataCoding::ReadDatabaseNames(
+    LevelDBDatabase* db,
+    const std::string& origin_identifier,
+    std::vector<base::string16>* names) {
+  return ReadDatabaseNamesInternal(db, origin_identifier, names);
+}
+
+Status IndexedDBMetadataCoding::ReadDatabaseNames(
+    LevelDBTransaction* transaction,
+    const std::string& origin_identifier,
+    std::vector<base::string16>* names) {
+  return ReadDatabaseNamesInternal(transaction, origin_identifier, names);
+}
+
+Status IndexedDBMetadataCoding::ReadMetadataForDatabaseName(
+    LevelDBDatabase* db,
+    const std::string& origin_identifier,
+    const base::string16& name,
+    IndexedDBDatabaseMetadata* metadata,
+    bool* found) {
+  return ReadMetadataForDatabaseNameInternal(db, origin_identifier, name,
+                                             metadata, found);
+}
+
+Status IndexedDBMetadataCoding::ReadMetadataForDatabaseName(
+    LevelDBTransaction* transaction,
+    const std::string& origin_identifier,
+    const base::string16& name,
+    IndexedDBDatabaseMetadata* metadata,
+    bool* found) {
+  return ReadMetadataForDatabaseNameInternal(transaction, origin_identifier,
+                                             name, metadata, found);
+}
+
+Status IndexedDBMetadataCoding::CreateDatabase(
     LevelDBDatabase* db,
     const std::string& origin_identifier,
     const base::string16& name,
@@ -691,7 +735,7 @@
   return s;
 }
 
-leveldb::Status IndexedDBMetadataCoding::DeleteIndex(
+Status IndexedDBMetadataCoding::DeleteIndex(
     LevelDBTransaction* transaction,
     int64_t database_id,
     int64_t object_store_id,
diff --git a/content/browser/indexed_db/indexed_db_metadata_coding.h b/content/browser/indexed_db/indexed_db_metadata_coding.h
index 9e93135b..3abf22a 100644
--- a/content/browser/indexed_db/indexed_db_metadata_coding.h
+++ b/content/browser/indexed_db/indexed_db_metadata_coding.h
@@ -38,6 +38,10 @@
       LevelDBDatabase* db,
       const std::string& origin_identifier,
       std::vector<base::string16>* names);
+  virtual leveldb::Status ReadDatabaseNames(
+      LevelDBTransaction* transaction,
+      const std::string& origin_identifier,
+      std::vector<base::string16>* names);
 
   // Reads in metadata for the database and all object stores & indices.
   // Note: the database name is not populated in |metadata|.
@@ -47,6 +51,12 @@
       const base::string16& name,
       IndexedDBDatabaseMetadata* metadata,
       bool* found);
+  virtual leveldb::Status ReadMetadataForDatabaseName(
+      LevelDBTransaction* transaction,
+      const std::string& origin_identifier,
+      const base::string16& name,
+      IndexedDBDatabaseMetadata* metadata,
+      bool* found);
 
   // Creates a new database metadata entry and writes it to disk.
   virtual leveldb::Status CreateDatabase(LevelDBDatabase* database,
diff --git a/content/browser/indexed_db/indexed_db_reporting.cc b/content/browser/indexed_db/indexed_db_reporting.cc
index 194a5c6..199141c 100644
--- a/content/browser/indexed_db/indexed_db_reporting.cc
+++ b/content/browser/indexed_db/indexed_db_reporting.cc
@@ -66,5 +66,16 @@
   }
 }
 
+void ReportV2Schema(bool has_broken_blobs, const url::Origin& origin) {
+  UMA_HISTOGRAM_BOOLEAN("WebCore.IndexedDB.SchemaV2HasBlobs", has_broken_blobs);
+  const std::string suffix = OriginToCustomHistogramSuffix(origin);
+  if (!suffix.empty()) {
+    base::BooleanHistogram::FactoryGet(
+        "WebCore.IndexedDB.SchemaV2HasBlobs" + suffix,
+        base::HistogramBase::kUmaTargetedHistogramFlag)
+        ->Add(has_broken_blobs);
+  }
+}
+
 }  // namespace indexed_db
 }  // namespace content
diff --git a/content/browser/indexed_db/indexed_db_reporting.h b/content/browser/indexed_db/indexed_db_reporting.h
index f14d5877..353e436 100644
--- a/content/browser/indexed_db/indexed_db_reporting.h
+++ b/content/browser/indexed_db/indexed_db_reporting.h
@@ -15,39 +15,43 @@
 namespace content {
 namespace indexed_db {
 
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
 enum IndexedDBBackingStoreErrorSource {
   // 0 - 2 are no longer used.
   FIND_KEY_IN_INDEX = 3,
-  GET_IDBDATABASE_METADATA,
-  GET_INDEXES,
-  GET_KEY_GENERATOR_CURRENT_NUMBER,
-  GET_OBJECT_STORES,
-  GET_RECORD,
-  KEY_EXISTS_IN_OBJECT_STORE,
-  LOAD_CURRENT_ROW,
-  SET_UP_METADATA,
-  GET_PRIMARY_KEY_VIA_INDEX,
-  KEY_EXISTS_IN_INDEX,
-  VERSION_EXISTS,
-  DELETE_OBJECT_STORE,
-  SET_MAX_OBJECT_STORE_ID,
-  SET_MAX_INDEX_ID,
-  GET_NEW_DATABASE_ID,
-  GET_NEW_VERSION_NUMBER,
-  CREATE_IDBDATABASE_METADATA,
-  DELETE_DATABASE,
-  TRANSACTION_COMMIT_METHOD,  // TRANSACTION_COMMIT is a WinNT.h macro
-  GET_DATABASE_NAMES,
-  DELETE_INDEX,
-  CLEAR_OBJECT_STORE,
-  READ_BLOB_JOURNAL,
-  DECODE_BLOB_JOURNAL,
-  GET_BLOB_KEY_GENERATOR_CURRENT_NUMBER,
-  GET_BLOB_INFO_FOR_RECORD,
+  GET_IDBDATABASE_METADATA = 4,
+  GET_INDEXES = 5,
+  GET_KEY_GENERATOR_CURRENT_NUMBER = 6,
+  GET_OBJECT_STORES = 7,
+  GET_RECORD = 8,
+  KEY_EXISTS_IN_OBJECT_STORE = 9,
+  LOAD_CURRENT_ROW = 10,
+  SET_UP_METADATA = 11,
+  GET_PRIMARY_KEY_VIA_INDEX = 12,
+  KEY_EXISTS_IN_INDEX = 13,
+  VERSION_EXISTS = 14,
+  DELETE_OBJECT_STORE = 15,
+  SET_MAX_OBJECT_STORE_ID = 16,
+  SET_MAX_INDEX_ID = 17,
+  GET_NEW_DATABASE_ID = 18,
+  GET_NEW_VERSION_NUMBER = 19,
+  CREATE_IDBDATABASE_METADATA = 20,
+  DELETE_DATABASE = 21,
+  TRANSACTION_COMMIT_METHOD = 22,  // TRANSACTION_COMMIT is a WinNT.h macro
+  GET_DATABASE_NAMES = 23,
+  DELETE_INDEX = 24,
+  CLEAR_OBJECT_STORE = 25,
+  READ_BLOB_JOURNAL = 26,
+  DECODE_BLOB_JOURNAL = 27,
+  GET_BLOB_KEY_GENERATOR_CURRENT_NUMBER = 28,
+  GET_BLOB_INFO_FOR_RECORD = 29,
+  UPGRADING_SCHEMA_CORRUPTED_BLOBS = 30,
   INTERNAL_ERROR_MAX,
 };
 
-// Values match entries in tools/metrics/histograms/histograms.xml
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
 enum IndexedDBBackingStoreOpenResult {
   INDEXED_DB_BACKING_STORE_OPEN_MEMORY_SUCCESS,
   INDEXED_DB_BACKING_STORE_OPEN_SUCCESS,
@@ -76,6 +80,8 @@
 
 void ReportSchemaVersion(int version, const url::Origin& origin);
 
+void ReportV2Schema(bool has_broken_blobs, const url::Origin& origin);
+
 // Use to signal conditions caused by data corruption.
 // A macro is used instead of an inline function so that the assert and log
 // report the line number.
diff --git a/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc b/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc
index 709f18bf..e0d69ea 100644
--- a/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_tombstone_sweeper_unittest.cc
@@ -7,7 +7,6 @@
 #include <memory>
 
 #include "base/files/scoped_temp_dir.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/histogram_tester.h"
diff --git a/content/browser/indexed_db/indexed_db_transaction.cc b/content/browser/indexed_db/indexed_db_transaction.cc
index 0355668..a0878c2 100644
--- a/content/browser/indexed_db/indexed_db_transaction.cc
+++ b/content/browser/indexed_db/indexed_db_transaction.cc
@@ -7,7 +7,6 @@
 #include "base/bind.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/stl_util.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/indexed_db/indexed_db_transaction_unittest.cc b/content/browser/indexed_db/indexed_db_transaction_unittest.cc
index a79cd10e..cf1812c 100644
--- a/content/browser/indexed_db/indexed_db_transaction_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_transaction_unittest.cc
@@ -10,7 +10,6 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/browser/indexed_db/fake_indexed_db_metadata_coding.h"
diff --git a/content/browser/indexed_db/indexed_db_unittest.cc b/content/browser/indexed_db/indexed_db_unittest.cc
index 80c9b85..705a2ed3 100644
--- a/content/browser/indexed_db/indexed_db_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_unittest.cc
@@ -8,7 +8,6 @@
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/threading/sequenced_task_runner_handle.h"
 #include "content/browser/indexed_db/indexed_db_connection.h"
diff --git a/content/browser/indexed_db/leveldb/leveldb_transaction_unittest.cc b/content/browser/indexed_db/leveldb/leveldb_transaction_unittest.cc
index 3428346e..373fe388 100644
--- a/content/browser/indexed_db/leveldb/leveldb_transaction_unittest.cc
+++ b/content/browser/indexed_db/leveldb/leveldb_transaction_unittest.cc
@@ -11,7 +11,6 @@
 #include "base/files/file.h"
 #include "base/files/file_path.h"
 #include "base/files/scoped_temp_dir.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_piece.h"
 #include "content/browser/indexed_db/leveldb/leveldb_comparator.h"
 #include "content/browser/indexed_db/leveldb/leveldb_database.h"
diff --git a/content/browser/indexed_db/list_set_unittest.cc b/content/browser/indexed_db/list_set_unittest.cc
index 615b547..e7dec0f 100644
--- a/content/browser/indexed_db/list_set_unittest.cc
+++ b/content/browser/indexed_db/list_set_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/content/browser/leveldb_wrapper_impl.cc b/content/browser/leveldb_wrapper_impl.cc
index b059b13..c177434 100644
--- a/content/browser/leveldb_wrapper_impl.cc
+++ b/content/browser/leveldb_wrapper_impl.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/trace_event/memory_dump_manager.h"
diff --git a/content/browser/loader/cross_site_document_resource_handler_unittest.cc b/content/browser/loader/cross_site_document_resource_handler_unittest.cc
index f3ae539..e227932 100644
--- a/content/browser/loader/cross_site_document_resource_handler_unittest.cc
+++ b/content/browser/loader/cross_site_document_resource_handler_unittest.cc
@@ -18,7 +18,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/single_thread_task_runner.h"
 #include "base/test/histogram_tester.h"
diff --git a/content/browser/loader/detachable_resource_handler.cc b/content/browser/loader/detachable_resource_handler.cc
index fa43dfc..b8222d2 100644
--- a/content/browser/loader/detachable_resource_handler.cc
+++ b/content/browser/loader/detachable_resource_handler.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/time/time.h"
 #include "content/browser/loader/null_resource_controller.h"
 #include "content/browser/loader/resource_controller.h"
diff --git a/content/browser/loader/detachable_resource_handler_unittest.cc b/content/browser/loader/detachable_resource_handler_unittest.cc
index 25cc0655..a477ded 100644
--- a/content/browser/loader/detachable_resource_handler_unittest.cc
+++ b/content/browser/loader/detachable_resource_handler_unittest.cc
@@ -8,7 +8,6 @@
 
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/loader/downloaded_temp_file_impl.cc b/content/browser/loader/downloaded_temp_file_impl.cc
index 759bd05..f699d84 100644
--- a/content/browser/loader/downloaded_temp_file_impl.cc
+++ b/content/browser/loader/downloaded_temp_file_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/loader/downloaded_temp_file_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/loader/resource_dispatcher_host_impl.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 
diff --git a/content/browser/loader/intercepting_resource_handler.cc b/content/browser/loader/intercepting_resource_handler.cc
index 131edd0..0b038d2 100644
--- a/content/browser/loader/intercepting_resource_handler.cc
+++ b/content/browser/loader/intercepting_resource_handler.cc
@@ -7,7 +7,6 @@
 #include "base/auto_reset.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/browser/loader/null_resource_controller.h"
diff --git a/content/browser/loader/intercepting_resource_handler_unittest.cc b/content/browser/loader/intercepting_resource_handler_unittest.cc
index 6b8be79..7d1f336 100644
--- a/content/browser/loader/intercepting_resource_handler_unittest.cc
+++ b/content/browser/loader/intercepting_resource_handler_unittest.cc
@@ -13,7 +13,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/loader/mime_sniffing_resource_handler_unittest.cc b/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
index 912e62e..6ac3538 100644
--- a/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
+++ b/content/browser/loader/mime_sniffing_resource_handler_unittest.cc
@@ -13,7 +13,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/loader/mock_resource_loader.cc b/content/browser/loader/mock_resource_loader.cc
index 309760f..7444b0a 100644
--- a/content/browser/loader/mock_resource_loader.cc
+++ b/content/browser/loader/mock_resource_loader.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "content/browser/loader/resource_controller.h"
 #include "content/browser/loader/resource_handler.h"
diff --git a/content/browser/loader/mojo_async_resource_handler.cc b/content/browser/loader/mojo_async_resource_handler.cc
index b0af434..601641f 100644
--- a/content/browser/loader/mojo_async_resource_handler.cc
+++ b/content/browser/loader/mojo_async_resource_handler.cc
@@ -12,7 +12,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/time/time.h"
 #include "content/browser/loader/downloaded_temp_file_impl.h"
 #include "content/browser/loader/navigation_metrics.h"
diff --git a/content/browser/loader/mojo_async_resource_handler_unittest.cc b/content/browser/loader/mojo_async_resource_handler_unittest.cc
index 4c64ea8..b71fba4b 100644
--- a/content/browser/loader/mojo_async_resource_handler_unittest.cc
+++ b/content/browser/loader/mojo_async_resource_handler_unittest.cc
@@ -14,7 +14,6 @@
 #include "base/files/file_path.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
 #include "base/test/gtest_util.h"
diff --git a/content/browser/loader/navigation_url_loader.cc b/content/browser/loader/navigation_url_loader.cc
index 8dd34c2..7222ef1 100644
--- a/content/browser/loader/navigation_url_loader.cc
+++ b/content/browser/loader/navigation_url_loader.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/frame_host/navigation_request_info.h"
 #include "content/browser/loader/navigation_loader_interceptor.h"
 #include "content/browser/loader/navigation_url_loader_factory.h"
diff --git a/content/browser/loader/navigation_url_loader_unittest.cc b/content/browser/loader/navigation_url_loader_unittest.cc
index 0cd66103..a4ee7657 100644
--- a/content/browser/loader/navigation_url_loader_unittest.cc
+++ b/content/browser/loader/navigation_url_loader_unittest.cc
@@ -8,7 +8,6 @@
 #include "base/bind.h"
 #include "base/command_line.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "content/browser/frame_host/navigation_request_info.h"
diff --git a/content/browser/loader/redirect_to_file_resource_handler_unittest.cc b/content/browser/loader/redirect_to_file_resource_handler_unittest.cc
index afdb0ef..ac012a0 100644
--- a/content/browser/loader/redirect_to_file_resource_handler_unittest.cc
+++ b/content/browser/loader/redirect_to_file_resource_handler_unittest.cc
@@ -17,7 +17,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
diff --git a/content/browser/loader/resource_dispatcher_host_browsertest.cc b/content/browser/loader/resource_dispatcher_host_browsertest.cc
index 7ec0bd8..7818840 100644
--- a/content/browser/loader/resource_dispatcher_host_browsertest.cc
+++ b/content/browser/loader/resource_dispatcher_host_browsertest.cc
@@ -11,7 +11,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index 42727ea..2aa4cefb 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -22,7 +22,6 @@
 #include "base/feature_list.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/shared_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/metrics/field_trial.h"
diff --git a/content/browser/loader/resource_dispatcher_host_unittest.cc b/content/browser/loader/resource_dispatcher_host_unittest.cc
index 5ab23bd4..7e099c6 100644
--- a/content/browser/loader/resource_dispatcher_host_unittest.cc
+++ b/content/browser/loader/resource_dispatcher_host_unittest.cc
@@ -13,7 +13,6 @@
 #include "base/files/file_util.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/loader/resource_hints_impl.cc b/content/browser/loader/resource_hints_impl.cc
index 6b1451c8..259dfa23 100644
--- a/content/browser/loader/resource_hints_impl.cc
+++ b/content/browser/loader/resource_hints_impl.cc
@@ -4,7 +4,6 @@
 
 #include <string>
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/loader/resource_dispatcher_host_impl.h"
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
index 13efd7f..cc6cb69 100644
--- a/content/browser/loader/resource_loader.cc
+++ b/content/browser/loader/resource_loader.cc
@@ -9,7 +9,6 @@
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/loader/resource_requester_info.cc b/content/browser/loader/resource_requester_info.cc
index 51d1c06..9bde2f2 100644
--- a/content/browser/loader/resource_requester_info.cc
+++ b/content/browser/loader/resource_requester_info.cc
@@ -6,7 +6,6 @@
 
 #include "base/feature_list.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/appcache/chrome_appcache_service.h"
 #include "content/browser/blob_storage/chrome_blob_storage_context.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
diff --git a/content/browser/loader/resource_scheduler_browsertest.cc b/content/browser/loader/resource_scheduler_browsertest.cc
index e5d07767..f6ea7f5 100644
--- a/content/browser/loader/resource_scheduler_browsertest.cc
+++ b/content/browser/loader/resource_scheduler_browsertest.cc
@@ -5,7 +5,6 @@
 #include <map>
 #include <string>
 
-#include "base/memory/ptr_util.h"
 #include "content/public/test/browser_test_utils.h"
 #include "content/public/test/content_browser_test.h"
 #include "content/public/test/content_browser_test_utils.h"
diff --git a/content/browser/loader/test_resource_handler.cc b/content/browser/loader/test_resource_handler.cc
index a2098a7..b4c9f86 100644
--- a/content/browser/loader/test_resource_handler.cc
+++ b/content/browser/loader/test_resource_handler.cc
@@ -5,7 +5,6 @@
 #include "content/browser/loader/test_resource_handler.h"
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/loader/resource_controller.h"
 #include "services/network/public/cpp/resource_response.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/content/browser/loader/upload_data_stream_builder.cc b/content/browser/loader/upload_data_stream_builder.cc
index de5d067..020fd50 100644
--- a/content/browser/loader/upload_data_stream_builder.cc
+++ b/content/browser/loader/upload_data_stream_builder.cc
@@ -12,7 +12,6 @@
 
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/single_thread_task_runner.h"
 #include "net/base/elements_upload_data_stream.h"
diff --git a/content/browser/loader/url_loader_factory_impl.cc b/content/browser/loader/url_loader_factory_impl.cc
index 6c3ad0d..9beee7a 100644
--- a/content/browser/loader/url_loader_factory_impl.cc
+++ b/content/browser/loader/url_loader_factory_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/loader/url_loader_factory_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/loader/resource_dispatcher_host_impl.h"
 #include "content/browser/loader/resource_requester_info.h"
 #include "content/public/browser/browser_thread.h"
diff --git a/content/browser/loader/url_loader_factory_impl_unittest.cc b/content/browser/loader/url_loader_factory_impl_unittest.cc
index 05dcb5d..c1e1aa0 100644
--- a/content/browser/loader/url_loader_factory_impl_unittest.cc
+++ b/content/browser/loader/url_loader_factory_impl_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/message_loop/message_loop.h"
 #include "base/path_service.h"
diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc
index 177bbad..0269f2c 100644
--- a/content/browser/manifest/manifest_manager_host.cc
+++ b/content/browser/manifest/manifest_manager_host.cc
@@ -6,7 +6,6 @@
 
 #include <stdint.h>
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/web_contents.h"
diff --git a/content/browser/media/android/browser_media_player_manager.cc b/content/browser/media/android/browser_media_player_manager.cc
index 232e3de..d916fcb 100644
--- a/content/browser/media/android/browser_media_player_manager.cc
+++ b/content/browser/media/android/browser_media_player_manager.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/android/scoped_java_ref.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/singleton.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
 #include "content/browser/media/android/media_resource_getter_impl.h"
diff --git a/content/browser/media/capture/cursor_renderer.cc b/content/browser/media/capture/cursor_renderer.cc
index e2126dc..66352cc 100644
--- a/content/browser/media/capture/cursor_renderer.cc
+++ b/content/browser/media/capture/cursor_renderer.cc
@@ -10,7 +10,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/numerics/safe_conversions.h"
 #include "skia/ext/image_operations.h"
 #include "ui/gfx/geometry/rect.h"
diff --git a/content/browser/media/capture/cursor_renderer_aura.cc b/content/browser/media/capture/cursor_renderer_aura.cc
index 63741500..d390783b 100644
--- a/content/browser/media/capture/cursor_renderer_aura.cc
+++ b/content/browser/media/capture/cursor_renderer_aura.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/media/capture/cursor_renderer_aura.h"
 
-#include "base/memory/ptr_util.h"
 #include "ui/aura/client/screen_position_client.h"
 #include "ui/aura/env.h"
 #include "ui/aura/window.h"
diff --git a/content/browser/media/capture/cursor_renderer_mac.mm b/content/browser/media/capture/cursor_renderer_mac.mm
index 7d6054d..800bef26 100644
--- a/content/browser/media/capture/cursor_renderer_mac.mm
+++ b/content/browser/media/capture/cursor_renderer_mac.mm
@@ -10,7 +10,6 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/mac/mac_util.h"
-#include "base/memory/ptr_util.h"
 #include "skia/ext/skia_utils_mac.h"
 #include "ui/gfx/image/image.h"
 
diff --git a/content/browser/media/capture/cursor_renderer_mac_unittest.mm b/content/browser/media/capture/cursor_renderer_mac_unittest.mm
index 3bf343b..68f70d3 100644
--- a/content/browser/media/capture/cursor_renderer_mac_unittest.mm
+++ b/content/browser/media/capture/cursor_renderer_mac_unittest.mm
@@ -7,7 +7,6 @@
 #include <Cocoa/Cocoa.h>
 
 #include "base/mac/scoped_nsobject.h"
-#include "base/memory/ptr_util.h"
 #include "base/test/scoped_task_environment.h"
 #include "base/time/time.h"
 #include "media/base/video_frame.h"
diff --git a/content/browser/media/capture/fake_webcontent_capture_machine.cc b/content/browser/media/capture/fake_webcontent_capture_machine.cc
index cedac4e2..f18b8835 100644
--- a/content/browser/media/capture/fake_webcontent_capture_machine.cc
+++ b/content/browser/media/capture/fake_webcontent_capture_machine.cc
@@ -5,7 +5,6 @@
 #include "content/browser/media/capture/fake_webcontent_capture_machine.h"
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 
 namespace content {
 
diff --git a/content/browser/media/capture/screen_capture_device_android.cc b/content/browser/media/capture/screen_capture_device_android.cc
index a249ce5..1e93e1c 100644
--- a/content/browser/media/capture/screen_capture_device_android.cc
+++ b/content/browser/media/capture/screen_capture_device_android.cc
@@ -5,7 +5,6 @@
 #include "content/browser/media/capture/screen_capture_device_android.h"
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "media/capture/content/android/screen_capture_machine_android.h"
 
 namespace content {
diff --git a/content/browser/media/capture/screen_capture_device_android_unittest.cc b/content/browser/media/capture/screen_capture_device_android_unittest.cc
index 7d18ecc7..994bfae 100644
--- a/content/browser/media/capture/screen_capture_device_android_unittest.cc
+++ b/content/browser/media/capture/screen_capture_device_android_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/media/capture/screen_capture_device_android.h"
 
-#include "base/memory/ptr_util.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/content/browser/media/media_internals_ui.cc b/content/browser/media/media_internals_ui.cc
index c31ba5b..7d4b7fe5 100644
--- a/content/browser/media/media_internals_ui.cc
+++ b/content/browser/media/media_internals_ui.cc
@@ -5,7 +5,6 @@
 #include "content/browser/media/media_internals_ui.h"
 
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/media/media_internals_handler.h"
 #include "content/grit/content_resources.h"
 #include "content/public/browser/web_contents.h"
diff --git a/content/browser/media/midi_host.cc b/content/browser/media/midi_host.cc
index ea36120..cc77c0a 100644
--- a/content/browser/media/midi_host.cc
+++ b/content/browser/media/midi_host.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
-#include "base/memory/ptr_util.h"
 #include "base/process/process.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/bad_message.h"
diff --git a/content/browser/media/session/audio_focus_manager.cc b/content/browser/media/session/audio_focus_manager.cc
index 92cee28..6a9e7215 100644
--- a/content/browser/media/session/audio_focus_manager.cc
+++ b/content/browser/media/session/audio_focus_manager.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/media/session/audio_focus_manager.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/media/session/media_session_impl.h"
 #include "content/public/browser/web_contents.h"
 
diff --git a/content/browser/media/session/media_session_impl.cc b/content/browser/media/session/media_session_impl.cc
index 5b13be8a..311371a2 100644
--- a/content/browser/media/session/media_session_impl.cc
+++ b/content/browser/media/session/media_session_impl.cc
@@ -6,7 +6,6 @@
 
 #include <algorithm>
 
-#include "base/memory/ptr_util.h"
 #include "base/numerics/ranges.h"
 #include "content/browser/media/session/audio_focus_delegate.h"
 #include "content/browser/media/session/media_session_controller.h"
diff --git a/content/browser/media/session/media_session_impl_service_routing_unittest.cc b/content/browser/media/session/media_session_impl_service_routing_unittest.cc
index 54c0410..e546e11 100644
--- a/content/browser/media/session/media_session_impl_service_routing_unittest.cc
+++ b/content/browser/media/session/media_session_impl_service_routing_unittest.cc
@@ -7,7 +7,6 @@
 #include <map>
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/browser/media/session/media_session_player_observer.h"
diff --git a/content/browser/media/url_provision_fetcher.cc b/content/browser/media/url_provision_fetcher.cc
index 8cf4c2c..e6f57a7 100644
--- a/content/browser/media/url_provision_fetcher.cc
+++ b/content/browser/media/url_provision_fetcher.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/media/url_provision_fetcher.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/provision_fetcher_factory.h"
 #include "media/base/bind_to_current_loop.h"
 #include "net/base/load_flags.h"
diff --git a/content/browser/memory/memory_coordinator_impl.cc b/content/browser/memory/memory_coordinator_impl.cc
index c5a1eb2..ad14cde 100644
--- a/content/browser/memory/memory_coordinator_impl.cc
+++ b/content/browser/memory/memory_coordinator_impl.cc
@@ -5,7 +5,6 @@
 #include "content/browser/memory/memory_coordinator_impl.h"
 
 #include "base/memory/memory_coordinator_client_registry.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/process/process_handle.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/memory/memory_coordinator_impl_browsertest.cc b/content/browser/memory/memory_coordinator_impl_browsertest.cc
index fe00ec1..7df902f 100644
--- a/content/browser/memory/memory_coordinator_impl_browsertest.cc
+++ b/content/browser/memory/memory_coordinator_impl_browsertest.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/memory/memory_coordinator_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/test/scoped_feature_list.h"
 #include "content/browser/browser_main_loop.h"
 #include "content/public/common/content_features.h"
diff --git a/content/browser/memory/memory_coordinator_impl_unittest.cc b/content/browser/memory/memory_coordinator_impl_unittest.cc
index b29de29..7cafc26c 100644
--- a/content/browser/memory/memory_coordinator_impl_unittest.cc
+++ b/content/browser/memory/memory_coordinator_impl_unittest.cc
@@ -7,7 +7,6 @@
 #include "base/memory/memory_coordinator_client_registry.h"
 #include "base/memory/memory_coordinator_proxy.h"
 #include "base/memory/memory_pressure_monitor.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/test/multiprocess_test.h"
diff --git a/content/browser/memory/memory_monitor_chromeos.cc b/content/browser/memory/memory_monitor_chromeos.cc
index b0315ece..64450af 100644
--- a/content/browser/memory/memory_monitor_chromeos.cc
+++ b/content/browser/memory/memory_monitor_chromeos.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/memory/memory_monitor_chromeos.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/process/process_metrics.h"
 
 namespace content {
diff --git a/content/browser/memory/memory_monitor_linux.cc b/content/browser/memory/memory_monitor_linux.cc
index 2901e7f4..43f108d7 100644
--- a/content/browser/memory/memory_monitor_linux.cc
+++ b/content/browser/memory/memory_monitor_linux.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/memory/memory_monitor_linux.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/process/process_metrics.h"
 
 namespace content {
diff --git a/content/browser/mime_registry_impl.cc b/content/browser/mime_registry_impl.cc
index e5b26a66..19a50c1 100644
--- a/content/browser/mime_registry_impl.cc
+++ b/content/browser/mime_registry_impl.cc
@@ -5,7 +5,6 @@
 #include "content/browser/mime_registry_impl.h"
 
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/browser_thread.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "net/base/mime_util.h"
diff --git a/content/browser/net/network_quality_observer_impl.cc b/content/browser/net/network_quality_observer_impl.cc
index dfb3e4a..6dd157e 100644
--- a/content/browser/net/network_quality_observer_impl.cc
+++ b/content/browser/net/network_quality_observer_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/net/network_quality_observer_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/common/view_messages.h"
diff --git a/content/browser/payments/payment_app_database.cc b/content/browser/payments/payment_app_database.cc
index c9d49a0..41360d3 100644
--- a/content/browser/payments/payment_app_database.cc
+++ b/content/browser/payments/payment_app_database.cc
@@ -9,7 +9,6 @@
 
 #include "base/base64.h"
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/optional.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/time/time.h"
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
index 5fe5c55..f6c0538a 100644
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
@@ -10,7 +10,6 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/permission_manager.h"
 #include "content/public/browser/permission_type.h"
diff --git a/content/browser/plugin_private_storage_helper.cc b/content/browser/plugin_private_storage_helper.cc
index 07a474e8..60fa438 100644
--- a/content/browser/plugin_private_storage_helper.cc
+++ b/content/browser/plugin_private_storage_helper.cc
@@ -19,7 +19,6 @@
 #include "base/files/file_path.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/public/browser/browser_thread.h"
diff --git a/content/browser/posix_file_descriptor_info_impl.cc b/content/browser/posix_file_descriptor_info_impl.cc
index 50639bd..d0a071d 100644
--- a/content/browser/posix_file_descriptor_info_impl.cc
+++ b/content/browser/posix_file_descriptor_info_impl.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 
 namespace content {
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index 55d7553..251df387 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -13,7 +13,6 @@
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
index 1874430..fef1c37 100644
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -12,7 +12,6 @@
 #include "base/command_line.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
diff --git a/content/browser/renderer_host/compositor_impl_android.cc b/content/browser/renderer_host/compositor_impl_android.cc
index a0cdd35..6cbf4262 100644
--- a/content/browser/renderer_host/compositor_impl_android.cc
+++ b/content/browser/renderer_host/compositor_impl_android.cc
@@ -18,7 +18,6 @@
 #include "base/containers/hash_tables.h"
 #include "base/lazy_instance.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/single_thread_task_runner.h"
 #include "base/synchronization/lock.h"
diff --git a/content/browser/renderer_host/compositor_resize_lock_unittest.cc b/content/browser/renderer_host/compositor_resize_lock_unittest.cc
index cfd6a3d..f4c42a1 100644
--- a/content/browser/renderer_host/compositor_resize_lock_unittest.cc
+++ b/content/browser/renderer_host/compositor_resize_lock_unittest.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "base/test/null_task_runner.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc
index 21e69b1f..aa3a851 100644
--- a/content/browser/renderer_host/delegated_frame_host.cc
+++ b/content/browser/renderer_host/delegated_frame_host.cc
@@ -11,7 +11,6 @@
 
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/time/default_tick_clock.h"
 #include "build/build_config.h"
 #include "cc/base/switches.h"
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc
index 5dc3bca9..be69517 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -10,7 +10,6 @@
 
 #include "base/auto_reset.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "content/browser/renderer_host/input/gesture_event_queue.h"
diff --git a/content/browser/renderer_host/input/input_router_impl_unittest.cc b/content/browser/renderer_host/input/input_router_impl_unittest.cc
index 9c25e2a..1761884 100644
--- a/content/browser/renderer_host/input/input_router_impl_unittest.cc
+++ b/content/browser/renderer_host/input/input_router_impl_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/command_line.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/renderer_host/input/legacy_input_router_impl.cc b/content/browser/renderer_host/input/legacy_input_router_impl.cc
index 4af1d6c..9a96150 100644
--- a/content/browser/renderer_host/input/legacy_input_router_impl.cc
+++ b/content/browser/renderer_host/input/legacy_input_router_impl.cc
@@ -10,7 +10,6 @@
 
 #include "base/auto_reset.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "content/browser/renderer_host/input/gesture_event_queue.h"
diff --git a/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc b/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc
index 8de0888..baa4ff3 100644
--- a/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc
+++ b/content/browser/renderer_host/input/legacy_input_router_impl_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/command_line.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
index bfb50ca..57993daaf 100644
--- a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
+++ b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/renderer_host/input/mouse_wheel_event_queue.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/trace_event/trace_event.h"
 #include "content/common/input/input_event_dispatch_type.h"
diff --git a/content/browser/renderer_host/input/passthrough_touch_event_queue.cc b/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
index 2a5358c..cb692ca 100644
--- a/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
+++ b/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
@@ -8,7 +8,6 @@
 
 #include "base/auto_reset.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/renderer_host/input/touch_timeout_handler.h"
diff --git a/content/browser/renderer_host/input/synthetic_pointer_driver.cc b/content/browser/renderer_host/input/synthetic_pointer_driver.cc
index 0189ef1..38cfd5c 100644
--- a/content/browser/renderer_host/input/synthetic_pointer_driver.cc
+++ b/content/browser/renderer_host/input/synthetic_pointer_driver.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/renderer_host/input/synthetic_pointer_driver.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/renderer_host/input/synthetic_mouse_driver.h"
 #include "content/browser/renderer_host/input/synthetic_pen_driver.h"
 #include "content/browser/renderer_host/input/synthetic_touch_driver.h"
diff --git a/content/browser/renderer_host/input/touch_timeout_handler.cc b/content/browser/renderer_host/input/touch_timeout_handler.cc
index 2c95426a..3c192c8 100644
--- a/content/browser/renderer_host/input/touch_timeout_handler.cc
+++ b/content/browser/renderer_host/input/touch_timeout_handler.cc
@@ -8,7 +8,6 @@
 
 #include "base/auto_reset.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/renderer_host/input/passthrough_touch_event_queue.h"
diff --git a/content/browser/renderer_host/media/audio_input_delegate_impl_unittest.cc b/content/browser/renderer_host/media/audio_input_delegate_impl_unittest.cc
index 34729d5..f1a04982 100644
--- a/content/browser/renderer_host/media/audio_input_delegate_impl_unittest.cc
+++ b/content/browser/renderer_host/media/audio_input_delegate_impl_unittest.cc
@@ -12,7 +12,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/optional.h"
 #include "base/run_loop.h"
diff --git a/content/browser/renderer_host/media/audio_input_renderer_host_unittest.cc b/content/browser/renderer_host/media/audio_input_renderer_host_unittest.cc
index b28fea1..edfdea31 100644
--- a/content/browser/renderer_host/media/audio_input_renderer_host_unittest.cc
+++ b/content/browser/renderer_host/media/audio_input_renderer_host_unittest.cc
@@ -9,7 +9,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler.cc b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
index da89c362..83d47fd 100644
--- a/content/browser/renderer_host/media/audio_output_authorization_handler.cc
+++ b/content/browser/renderer_host/media/audio_output_authorization_handler.cc
@@ -5,7 +5,6 @@
 #include "content/browser/renderer_host/media/audio_output_authorization_handler.h"
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/task_runner_util.h"
 #include "content/browser/media/media_devices_permission_checker.h"
diff --git a/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc b/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
index 4b12ae1..eccbda5 100644
--- a/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
+++ b/content/browser/renderer_host/media/audio_output_authorization_handler_unittest.cc
@@ -8,7 +8,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/test/mock_callback.h"
 #include "content/public/test/mock_render_process_host.h"
diff --git a/content/browser/renderer_host/media/audio_output_delegate_impl.cc b/content/browser/renderer_host/media/audio_output_delegate_impl.cc
index 366872c..da2c826 100644
--- a/content/browser/renderer_host/media/audio_output_delegate_impl.cc
+++ b/content/browser/renderer_host/media/audio_output_delegate_impl.cc
@@ -8,7 +8,6 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "content/browser/media/audio_stream_monitor.h"
 #include "content/browser/media/capture/audio_mirroring_manager.h"
diff --git a/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc b/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
index 5752a25..f4746360 100644
--- a/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
+++ b/content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc
@@ -11,7 +11,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/sync_socket.h"
 #include "content/browser/media/capture/audio_mirroring_manager.h"
diff --git a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
index b1400e94d..e60a118f5 100644
--- a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
+++ b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
@@ -11,7 +11,6 @@
 #include "base/bind.h"
 #include "base/command_line.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/sync_socket.h"
 #include "base/synchronization/lock.h"
diff --git a/content/browser/renderer_host/media/in_process_video_capture_provider.h b/content/browser/renderer_host/media/in_process_video_capture_provider.h
index b713f0d..fa45fbc 100644
--- a/content/browser/renderer_host/media/in_process_video_capture_provider.h
+++ b/content/browser/renderer_host/media/in_process_video_capture_provider.h
@@ -5,7 +5,6 @@
 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_IN_PROCESS_VIDEO_CAPTURE_SYSTEM_H_
 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_IN_PROCESS_VIDEO_CAPTURE_SYSTEM_H_
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/single_thread_task_runner.h"
 #include "content/browser/renderer_host/media/video_capture_provider.h"
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
index 771c7888..07bcb4c 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host.cc
@@ -10,7 +10,6 @@
 
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/task_runner_util.h"
 #include "content/browser/bad_message.h"
 #include "content/browser/media/media_devices_permission_checker.h"
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
index 1582e8d..0647a6d 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
@@ -13,7 +13,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/stringprintf.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.cc b/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.cc
index a879094..cd8ca99 100644
--- a/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.cc
+++ b/content/browser/renderer_host/media/renderer_audio_output_stream_factory_context_impl.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/media/media_internals.h"
 #include "content/browser/renderer_host/media/audio_output_delegate_impl.h"
 #include "content/browser/renderer_host/media/media_stream_manager.h"
diff --git a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
index a378c01..8ed10ad 100644
--- a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
+++ b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
@@ -16,7 +16,6 @@
 
 #include "base/bind.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/message_loop/message_loop.h"
 #include "build/build_config.h"
diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc
index 74dabd3..9efac405 100644
--- a/content/browser/renderer_host/media/video_capture_controller.cc
+++ b/content/browser/renderer_host/media/video_capture_controller.cc
@@ -12,7 +12,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "build/build_config.h"
diff --git a/content/browser/renderer_host/media/video_capture_controller_unittest.cc b/content/browser/renderer_host/media/video_capture_controller_unittest.cc
index b13a79c..7d13fac 100644
--- a/content/browser/renderer_host/media/video_capture_controller_unittest.cc
+++ b/content/browser/renderer_host/media/video_capture_controller_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/bind_helpers.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc
index 579b0ae..c362c36 100644
--- a/content/browser/renderer_host/media/video_capture_host.cc
+++ b/content/browser/renderer_host/media/video_capture_host.cc
@@ -8,7 +8,6 @@
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/browser_main_loop.h"
 #include "content/browser/renderer_host/media/media_stream_manager.h"
 #include "content/browser/renderer_host/media/video_capture_manager.h"
diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/content/browser/renderer_host/media/video_capture_manager.cc
index 5cc7a0a..3cdff16e 100644
--- a/content/browser/renderer_host/media/video_capture_manager.cc
+++ b/content/browser/renderer_host/media/video_capture_manager.cc
@@ -13,7 +13,6 @@
 #include "base/command_line.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
 #include "base/stl_util.h"
diff --git a/content/browser/renderer_host/media/video_capture_manager_unittest.cc b/content/browser/renderer_host/media/video_capture_manager_unittest.cc
index 7e0186a..d02c7104 100644
--- a/content/browser/renderer_host/media/video_capture_manager_unittest.cc
+++ b/content/browser/renderer_host/media/video_capture_manager_unittest.cc
@@ -15,7 +15,6 @@
 
 #include "base/bind.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/renderer_host/media/video_capture_provider.h b/content/browser/renderer_host/media/video_capture_provider.h
index cdae54f..fc986c9 100644
--- a/content/browser/renderer_host/media/video_capture_provider.h
+++ b/content/browser/renderer_host/media/video_capture_provider.h
@@ -5,7 +5,6 @@
 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_BUILDABLE_VIDEO_CAPTURE_DEVICE_H_
 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_BUILDABLE_VIDEO_CAPTURE_DEVICE_H_
 
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "content/common/content_export.h"
 #include "content/public/common/media_stream_request.h"
diff --git a/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc b/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc
index cd4fe5e2..eb896c9 100644
--- a/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc
+++ b/content/browser/renderer_host/offscreen_canvas_provider_impl_unittest.cc
@@ -8,7 +8,6 @@
 #include <utility>
 #include <vector>
 
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "components/viz/common/quads/compositor_frame.h"
diff --git a/content/browser/renderer_host/offscreen_canvas_surface_impl.cc b/content/browser/renderer_host/offscreen_canvas_surface_impl.cc
index 0265a0a..59d8e00e 100644
--- a/content/browser/renderer_host/offscreen_canvas_surface_impl.cc
+++ b/content/browser/renderer_host/offscreen_canvas_surface_impl.cc
@@ -7,7 +7,6 @@
 #include <memory>
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "components/viz/common/features.h"
 #include "components/viz/host/host_frame_sink_manager.h"
 #include "components/viz/service/surfaces/surface_manager.h"
diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
index d1b38684..ab3baf5 100644
--- a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
+++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc
@@ -9,7 +9,6 @@
 #include <algorithm>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/task_scheduler/post_task.h"
 #include "content/browser/bad_message.h"
 #include "content/browser/renderer_host/p2p/socket_host.h"
diff --git a/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc b/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc
index 96b8ddf..925e600 100644
--- a/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc
+++ b/content/browser/renderer_host/p2p/socket_host_udp_unittest.cc
@@ -10,7 +10,6 @@
 
 #include "base/containers/circular_deque.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/sys_byteorder.h"
 #include "content/browser/renderer_host/p2p/socket_host_test_utils.h"
 #include "content/browser/renderer_host/p2p/socket_host_throttler.h"
diff --git a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
index 75124b4e..09c612c 100644
--- a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
+++ b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_functions.h"
 #include "content/browser/renderer_host/pepper/pepper_message_filter.h"
 #include "content/browser/tracing/trace_message_filter.h"
diff --git a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
index f0cd482c..782cd8b7 100644
--- a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
+++ b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc
@@ -7,7 +7,6 @@
 #include <stddef.h>
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
 #include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_host.h"
 #include "content/browser/renderer_host/pepper/pepper_file_io_host.h"
diff --git a/content/browser/renderer_host/pepper/pepper_socket_utils.cc b/content/browser/renderer_host/pepper/pepper_socket_utils.cc
index ab54673..2050cf6 100644
--- a/content/browser/renderer_host/pepper/pepper_socket_utils.cc
+++ b/content/browser/renderer_host/pepper/pepper_socket_utils.cc
@@ -8,7 +8,6 @@
 #include <vector>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/strings/string_util.h"
 #include "base/values.h"
diff --git a/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc b/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc
index 5327e8d..232ed55 100644
--- a/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc
+++ b/content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/renderer_host/pepper/pepper_vpn_provider_message_filter_chromeos.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/content_browser_client.h"
 #include "content/public/browser/pepper_vpn_provider_resource_host_proxy.h"
diff --git a/content/browser/renderer_host/render_process_host_unittest.cc b/content/browser/renderer_host/render_process_host_unittest.cc
index 1d691d6..4fce0967 100644
--- a/content/browser/renderer_host/render_process_host_unittest.cc
+++ b/content/browser/renderer_host/render_process_host_unittest.cc
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "build/build_config.h"
 #include "content/common/frame_messages.h"
 #include "content/common/frame_owner_properties.h"
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 3ff57ad..e4e8e65 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -20,7 +20,6 @@
 #include "base/lazy_instance.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/shared_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/metrics/field_trial.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 98ef473..01a48ab 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -14,7 +14,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index da50d1c..c09cf642 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -14,7 +14,6 @@
 #include "base/debug/stack_trace.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/trace_event/trace_event.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.cc b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
index 801915f..b91a8ffe 100644
--- a/content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -10,7 +10,6 @@
 
 #include "base/debug/dump_without_crashing.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc b/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
index 59dec674..7a55f92 100644
--- a/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
@@ -9,7 +9,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/test/scoped_feature_list.h"
diff --git a/content/browser/renderer_host/ui_events_helper.cc b/content/browser/renderer_host/ui_events_helper.cc
index 9cb4f09..a958b79e 100644
--- a/content/browser/renderer_host/ui_events_helper.cc
+++ b/content/browser/renderer_host/ui_events_helper.cc
@@ -6,7 +6,6 @@
 
 #include <stdint.h>
 
-#include "base/memory/ptr_util.h"
 #include "content/common/input/web_touch_event_traits.h"
 #include "third_party/blink/public/platform/web_input_event.h"
 #include "ui/events/base_event_utils.h"
diff --git a/content/browser/renderer_host/webmenurunner_mac.mm b/content/browser/renderer_host/webmenurunner_mac.mm
index 9527145..e57cfae 100644
--- a/content/browser/renderer_host/webmenurunner_mac.mm
+++ b/content/browser/renderer_host/webmenurunner_mac.mm
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#import "base/message_loop/message_pump_mac.h"
 #include "base/strings/sys_string_conversions.h"
 
 @interface WebMenuRunner (PrivateAPI)
@@ -156,11 +155,7 @@
 
   // Display the menu, and set a flag if a menu item was chosen.
   [cell attachPopUpWithFrame:[dummyView bounds] inView:dummyView];
-  {
-    // Ensure the UI can update while the menu is fading out.
-    base::ScopedPumpMessagesInPrivateModes pump_private;
-    [cell performClickWithFrame:[dummyView bounds] inView:dummyView];
-  }
+  [cell performClickWithFrame:[dummyView bounds] inView:dummyView];
 
   [dummyView removeFromSuperview];
 
diff --git a/content/browser/resource_context_impl.cc b/content/browser/resource_context_impl.cc
index 895a9367..261e934 100644
--- a/content/browser/resource_context_impl.cc
+++ b/content/browser/resource_context_impl.cc
@@ -8,7 +8,6 @@
 
 #include "base/bind.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/blob_storage/chrome_blob_storage_context.h"
 #include "content/browser/loader/resource_dispatcher_host_impl.h"
 #include "content/browser/loader/resource_request_info_impl.h"
diff --git a/content/browser/resources/media/peer_connection_update_table.js b/content/browser/resources/media/peer_connection_update_table.js
index 208d11f..4dcc476 100644
--- a/content/browser/resources/media/peer_connection_update_table.js
+++ b/content/browser/resources/media/peer_connection_update_table.js
@@ -103,9 +103,9 @@
           update.type === 'addIceCandidate') {
         // extract ICE candidate type from the field following typ.
         var candidateType = update.value.match(
-          /(?: typ )(host|srflx|relay)/)[1];
+          /(?: typ )(host|srflx|relay)/);
         if (candidateType) {
-          type += ' (' + candidateType + ')';
+          type += ' (' + candidateType[1] + ')';
         }
       }
       row.innerHTML += '<td><details><summary>' + type +
diff --git a/content/browser/security_exploit_browsertest.cc b/content/browser/security_exploit_browsertest.cc
index 9f8d3c5d..637fae1 100644
--- a/content/browser/security_exploit_browsertest.cc
+++ b/content/browser/security_exploit_browsertest.cc
@@ -7,7 +7,6 @@
 #include "base/command_line.h"
 #include "base/containers/hash_tables.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
 #include "content/browser/bad_message.h"
diff --git a/content/browser/service_manager/common_browser_interfaces.cc b/content/browser/service_manager/common_browser_interfaces.cc
index 423fe76f..55e5293 100644
--- a/content/browser/service_manager/common_browser_interfaces.cc
+++ b/content/browser/service_manager/common_browser_interfaces.cc
@@ -9,7 +9,6 @@
 
 #include "base/callback.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/task_runner.h"
 #include "base/task_scheduler/post_task.h"
diff --git a/content/browser/service_worker/embedded_worker_instance.cc b/content/browser/service_worker/embedded_worker_instance.cc
index b9eb278..19d8459d 100644
--- a/content/browser/service_worker/embedded_worker_instance.cc
+++ b/content/browser/service_worker/embedded_worker_instance.cc
@@ -8,7 +8,6 @@
 
 #include "base/bind_helpers.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/bad_message.h"
diff --git a/content/browser/service_worker/embedded_worker_instance_unittest.cc b/content/browser/service_worker/embedded_worker_instance_unittest.cc
index 85dee44..62d7e479 100644
--- a/content/browser/service_worker/embedded_worker_instance_unittest.cc
+++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
@@ -10,7 +10,6 @@
 
 #include "base/command_line.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/stl_util.h"
 #include "content/browser/service_worker/embedded_worker_registry.h"
diff --git a/content/browser/service_worker/embedded_worker_test_helper.cc b/content/browser/service_worker/embedded_worker_test_helper.cc
index a9f4cc1a..963ff79 100644
--- a/content/browser/service_worker/embedded_worker_test_helper.cc
+++ b/content/browser/service_worker/embedded_worker_test_helper.cc
@@ -12,7 +12,6 @@
 
 #include "base/atomic_sequence_num.h"
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/service_worker/embedded_worker_test_helper.h b/content/browser/service_worker/embedded_worker_test_helper.h
index 84578e5..c0cd727 100644
--- a/content/browser/service_worker/embedded_worker_test_helper.h
+++ b/content/browser/service_worker/embedded_worker_test_helper.h
@@ -14,7 +14,6 @@
 #include "base/callback.h"
 #include "base/containers/hash_tables.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/optional.h"
 #include "base/time/time.h"
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
index d007808..6e81e9b5 100644
--- a/content/browser/service_worker/service_worker_browsertest.cc
+++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -14,7 +14,6 @@
 #include "base/command_line.h"
 #include "base/json/json_reader.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/metrics/statistics_recorder.h"
 #include "base/run_loop.h"
diff --git a/content/browser/service_worker/service_worker_client_utils.cc b/content/browser/service_worker/service_worker_client_utils.cc
index 0348624..b27c2d353 100644
--- a/content/browser/service_worker/service_worker_client_utils.cc
+++ b/content/browser/service_worker/service_worker_client_utils.cc
@@ -9,7 +9,6 @@
 
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/browser/frame_host/frame_tree_node.h"
diff --git a/content/browser/service_worker/service_worker_context_unittest.cc b/content/browser/service_worker/service_worker_context_unittest.cc
index 574719f..fc71f81c 100644
--- a/content/browser/service_worker/service_worker_context_unittest.cc
+++ b/content/browser/service_worker/service_worker_context_unittest.cc
@@ -8,7 +8,6 @@
 
 #include "base/files/scoped_temp_dir.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/time/time.h"
diff --git a/content/browser/service_worker/service_worker_context_watcher.cc b/content/browser/service_worker/service_worker_context_watcher.cc
index db76a64..983547f 100644
--- a/content/browser/service_worker/service_worker_context_watcher.cc
+++ b/content/browser/service_worker/service_worker_context_watcher.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/service_worker/embedded_worker_status.h"
 #include "content/browser/service_worker/service_worker_context_wrapper.h"
 #include "content/browser/service_worker/service_worker_version.h"
diff --git a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
index d12d1aa..b4394c09 100644
--- a/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
+++ b/content/browser/service_worker/service_worker_dispatcher_host_unittest.cc
@@ -10,7 +10,6 @@
 
 #include "base/command_line.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/time/time.h"
 #include "content/browser/service_worker/embedded_worker_instance.h"
diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
index 882e27a..da9ecafe 100644
--- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc
+++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
@@ -11,7 +11,6 @@
 #include "base/bind.h"
 #include "base/containers/queue.h"
 #include "base/feature_list.h"
-#include "base/memory/ptr_util.h"
 #include "base/time/time.h"
 #include "base/trace_event/trace_event.h"
 #include "content/browser/devtools/service_worker_devtools_agent_host.h"
diff --git a/content/browser/service_worker/service_worker_handle.cc b/content/browser/service_worker/service_worker_handle.cc
index a77f48f..1b87b9e 100644
--- a/content/browser/service_worker/service_worker_handle.cc
+++ b/content/browser/service_worker/service_worker_handle.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/service_worker/service_worker_handle.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/service_worker/service_worker_client_utils.h"
 #include "content/browser/service_worker/service_worker_context_core.h"
 #include "content/browser/service_worker/service_worker_provider_host.h"
diff --git a/content/browser/service_worker/service_worker_internals_ui.cc b/content/browser/service_worker/service_worker_internals_ui.cc
index ffa6a351..6770fe5a 100644
--- a/content/browser/service_worker/service_worker_internals_ui.cc
+++ b/content/browser/service_worker/service_worker_internals_ui.cc
@@ -12,7 +12,6 @@
 #include <vector>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/values.h"
 #include "content/browser/devtools/devtools_agent_host_impl.h"
diff --git a/content/browser/service_worker/service_worker_lifetime_tracker.h b/content/browser/service_worker/service_worker_lifetime_tracker.h
index 39a82aa..7fd677d 100644
--- a/content/browser/service_worker/service_worker_lifetime_tracker.h
+++ b/content/browser/service_worker/service_worker_lifetime_tracker.h
@@ -10,7 +10,6 @@
 
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/time/tick_clock.h"
 #include "base/timer/timer.h"
 #include "content/common/content_export.h"
diff --git a/content/browser/service_worker/service_worker_process_manager_unittest.cc b/content/browser/service_worker/service_worker_process_manager_unittest.cc
index 21bba85..31aa5ce 100644
--- a/content/browser/service_worker/service_worker_process_manager_unittest.cc
+++ b/content/browser/service_worker/service_worker_process_manager_unittest.cc
@@ -5,7 +5,6 @@
 #include "content/browser/service_worker/service_worker_process_manager.h"
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/test/scoped_feature_list.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
 #include "content/browser/site_instance_impl.h"
diff --git a/content/browser/service_worker/service_worker_provider_host_unittest.cc b/content/browser/service_worker/service_worker_provider_host_unittest.cc
index 12f155de..787912d 100644
--- a/content/browser/service_worker/service_worker_provider_host_unittest.cc
+++ b/content/browser/service_worker/service_worker_provider_host_unittest.cc
@@ -8,7 +8,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/browser/service_worker/service_worker_registration_object_host.cc b/content/browser/service_worker/service_worker_registration_object_host.cc
index 572f4942..11837fb 100644
--- a/content/browser/service_worker/service_worker_registration_object_host.cc
+++ b/content/browser/service_worker/service_worker_registration_object_host.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/service_worker/service_worker_registration_object_host.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/service_worker/service_worker_consts.h"
 #include "content/browser/service_worker/service_worker_context_core.h"
 #include "content/browser/service_worker/service_worker_handle.h"
diff --git a/content/browser/service_worker/service_worker_url_request_job_unittest.cc b/content/browser/service_worker/service_worker_url_request_job_unittest.cc
index f161b05..20b8ee2 100644
--- a/content/browser/service_worker/service_worker_url_request_job_unittest.cc
+++ b/content/browser/service_worker/service_worker_url_request_job_unittest.cc
@@ -12,7 +12,6 @@
 
 #include "base/callback.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
 #include "base/test/histogram_tester.h"
diff --git a/content/browser/service_worker/service_worker_version.h b/content/browser/service_worker/service_worker_version.h
index b0b1254..c0aba6a 100644
--- a/content/browser/service_worker/service_worker_version.h
+++ b/content/browser/service_worker/service_worker_version.h
@@ -19,7 +19,6 @@
 #include "base/containers/id_map.h"
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/observer_list.h"
 #include "base/optional.h"
diff --git a/content/browser/service_worker/service_worker_write_to_cache_job.cc b/content/browser/service_worker/service_worker_write_to_cache_job.cc
index 07e1b3ae..3a04d7e1 100644
--- a/content/browser/service_worker/service_worker_write_to_cache_job.cc
+++ b/content/browser/service_worker/service_worker_write_to_cache_job.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/trace_event/trace_event.h"
diff --git a/content/browser/shared_worker/shared_worker_service_impl.cc b/content/browser/shared_worker/shared_worker_service_impl.cc
index f85733a..4a5a8cfdc 100644
--- a/content/browser/shared_worker/shared_worker_service_impl.cc
+++ b/content/browser/shared_worker/shared_worker_service_impl.cc
@@ -12,7 +12,6 @@
 #include "base/callback.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/devtools/shared_worker_devtools_manager.h"
 #include "content/browser/shared_worker/shared_worker_host.h"
 #include "content/browser/shared_worker/shared_worker_instance.h"
diff --git a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
index 8e32ec9..97bc324 100644
--- a/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
+++ b/content/browser/shared_worker/shared_worker_service_impl_unittest.cc
@@ -14,7 +14,6 @@
 
 #include "base/atomic_sequence_num.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/strings/string16.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index 94d341b..5a9b96a 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -9,7 +9,6 @@
 #include "base/command_line.h"
 #include "base/debug/crash_logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/browsing_instance.h"
 #include "content/browser/child_process_security_policy_impl.h"
 #include "content/browser/frame_host/debug_urls.h"
diff --git a/content/browser/ssl/ssl_manager.cc b/content/browser/ssl/ssl_manager.cc
index f8d3faa..235a0c0 100644
--- a/content/browser/ssl/ssl_manager.cc
+++ b/content/browser/ssl/ssl_manager.cc
@@ -9,7 +9,6 @@
 
 #include "base/bind.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/supports_user_data.h"
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
index 599474a..d6fbadbff 100644
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -717,6 +717,9 @@
     network_context_ = GetContentClient()->browser()->CreateNetworkContext(
         browser_context_, is_in_memory_, relative_partition_path_);
     if (!network_context_) {
+      // TODO(mmenke): Remove once https://crbug.com/827928 is fixed.
+      CHECK(url_request_context_);
+
       DCHECK(!base::FeatureList::IsEnabled(network::features::kNetworkService));
       DCHECK(!network_context_owner_);
       network_context_owner_ = std::make_unique<NetworkContextOwner>();
diff --git a/content/browser/storage_partition_impl_map.cc b/content/browser/storage_partition_impl_map.cc
index f5097e0..7225a2a 100644
--- a/content/browser/storage_partition_impl_map.cc
+++ b/content/browser/storage_partition_impl_map.cc
@@ -14,7 +14,6 @@
 #include "base/files/file_util.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/storage_partition_impl_unittest.cc b/content/browser/storage_partition_impl_unittest.cc
index 34808a5..b51d801 100644
--- a/content/browser/storage_partition_impl_unittest.cc
+++ b/content/browser/storage_partition_impl_unittest.cc
@@ -35,7 +35,6 @@
 #include "testing/gtest/include/gtest/gtest.h"
 
 #if BUILDFLAG(ENABLE_PLUGINS)
-#include "base/memory/ptr_util.h"
 #include "ppapi/shared_impl/ppapi_constants.h"  // nogncheck
 #include "storage/browser/fileapi/async_file_util.h"
 #include "storage/browser/fileapi/file_system_context.h"
diff --git a/content/browser/streams/stream_context.cc b/content/browser/streams/stream_context.cc
index 4866a38..0ab6a2d6 100644
--- a/content/browser/streams/stream_context.cc
+++ b/content/browser/streams/stream_context.cc
@@ -5,7 +5,6 @@
 #include "content/browser/streams/stream_context.h"
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/streams/stream_registry.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
diff --git a/content/browser/streams/stream_url_request_job_unittest.cc b/content/browser/streams/stream_url_request_job_unittest.cc
index c4f9e23..82fc522 100644
--- a/content/browser/streams/stream_url_request_job_unittest.cc
+++ b/content/browser/streams/stream_url_request_job_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/streams/stream_url_request_job.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/test/test_simple_task_runner.h"
diff --git a/content/browser/tracing/background_tracing_rule.h b/content/browser/tracing/background_tracing_rule.h
index 9d0a91eb..63f1023 100644
--- a/content/browser/tracing/background_tracing_rule.h
+++ b/content/browser/tracing/background_tracing_rule.h
@@ -8,7 +8,6 @@
 #include <memory>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "content/browser/tracing/background_tracing_config_impl.h"
 #include "content/common/content_export.h"
diff --git a/content/browser/tracing/tracing_controller_impl.cc b/content/browser/tracing/tracing_controller_impl.cc
index fd240e2..14eff00d 100644
--- a/content/browser/tracing/tracing_controller_impl.cc
+++ b/content/browser/tracing/tracing_controller_impl.cc
@@ -13,7 +13,6 @@
 #include "base/cpu.h"
 #include "base/files/file_tracing.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_split.h"
 #include "base/strings/stringprintf.h"
 #include "base/sys_info.h"
diff --git a/content/browser/tracing/tracing_controller_impl_data_endpoint.cc b/content/browser/tracing/tracing_controller_impl_data_endpoint.cc
index 4960ffa11..4fcd0264 100644
--- a/content/browser/tracing/tracing_controller_impl_data_endpoint.cc
+++ b/content/browser/tracing/tracing_controller_impl_data_endpoint.cc
@@ -7,7 +7,6 @@
 #include "base/files/file_util.h"
 #include "base/json/json_writer.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted_memory.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/pattern.h"
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
index 8b1e212..39b89cd 100644
--- a/content/browser/utility_process_host.cc
+++ b/content/browser/utility_process_host.cc
@@ -11,7 +11,6 @@
 #include "base/bind_helpers.h"
 #include "base/command_line.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/utf_string_conversions.h"
 #include "components/network_session_configurator/common/network_switches.h"
diff --git a/content/browser/web_contents/aura/gesture_nav_simple.cc b/content/browser/web_contents/aura/gesture_nav_simple.cc
index ed4ed5d..1462b55 100644
--- a/content/browser/web_contents/aura/gesture_nav_simple.cc
+++ b/content/browser/web_contents/aura/gesture_nav_simple.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/user_metrics.h"
 #include "cc/paint/paint_flags.h"
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc
index 9ffb3e4..c7d8643 100644
--- a/content/browser/web_contents/web_contents_android.cc
+++ b/content/browser/web_contents/web_contents_android.cc
@@ -16,7 +16,6 @@
 #include "base/json/json_writer.h"
 #include "base/lazy_instance.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/browser/accessibility/browser_accessibility_android.h"
 #include "content/browser/accessibility/browser_accessibility_manager_android.h"
 #include "content/browser/android/content_view_core.h"
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
index 0a3dd69..0673c307 100644
--- a/content/browser/web_contents/web_contents_view_aura.cc
+++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -11,7 +11,6 @@
 #include "base/command_line.h"
 #include "base/files/file_util.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
diff --git a/content/browser/web_contents_binding_set_browsertest.cc b/content/browser/web_contents_binding_set_browsertest.cc
index 3d9ba3d..25fb7151 100644
--- a/content/browser/web_contents_binding_set_browsertest.cc
+++ b/content/browser/web_contents_binding_set_browsertest.cc
@@ -3,7 +3,6 @@
 // found in the LICENSE file.
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/public/browser/web_contents_binding_set.h"
diff --git a/content/browser/webauth/virtual_authenticator.cc b/content/browser/webauth/virtual_authenticator.cc
index d17051ce..5729ec7 100644
--- a/content/browser/webauth/virtual_authenticator.cc
+++ b/content/browser/webauth/virtual_authenticator.cc
@@ -8,7 +8,6 @@
 #include <vector>
 
 #include "base/guid.h"
-#include "base/memory/ptr_util.h"
 #include "crypto/ec_private_key.h"
 
 namespace content {
diff --git a/content/browser/webrtc/webrtc_internals.cc b/content/browser/webrtc/webrtc_internals.cc
index a6c18ff3..eb7e04a 100644
--- a/content/browser/webrtc/webrtc_internals.cc
+++ b/content/browser/webrtc/webrtc_internals.cc
@@ -10,7 +10,6 @@
 #include <utility>
 
 #include "base/command_line.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "build/build_config.h"
 #include "content/browser/renderer_host/render_process_host_impl.h"
diff --git a/content/browser/webrtc/webrtc_internals_ui.cc b/content/browser/webrtc/webrtc_internals_ui.cc
index 6e26375..ea7d20f 100644
--- a/content/browser/webrtc/webrtc_internals_ui.cc
+++ b/content/browser/webrtc/webrtc_internals_ui.cc
@@ -4,7 +4,6 @@
 
 #include "content/browser/webrtc/webrtc_internals_ui.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/webrtc/webrtc_internals_message_handler.h"
 #include "content/grit/content_resources.h"
 #include "content/public/browser/web_contents.h"
diff --git a/content/browser/websockets/websocket_manager_unittest.cc b/content/browser/websockets/websocket_manager_unittest.cc
index 5655e6f..75c9709 100644
--- a/content/browser/websockets/websocket_manager_unittest.cc
+++ b/content/browser/websockets/websocket_manager_unittest.cc
@@ -6,7 +6,6 @@
 #include <memory>
 #include <vector>
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/websockets/websocket_manager.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "ipc/ipc_message.h"
diff --git a/content/browser/webui/url_data_manager.cc b/content/browser/webui/url_data_manager.cc
index bdfc5d9..a2d542f 100644
--- a/content/browser/webui/url_data_manager.cc
+++ b/content/browser/webui/url_data_manager.cc
@@ -11,7 +11,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/lazy_instance.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/string_util.h"
diff --git a/content/browser/webui/url_data_manager_backend.cc b/content/browser/webui/url_data_manager_backend.cc
index 6c394aa..8ecdc60b 100644
--- a/content/browser/webui/url_data_manager_backend.cc
+++ b/content/browser/webui/url_data_manager_backend.cc
@@ -14,7 +14,6 @@
 #include "base/lazy_instance.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/ref_counted_memory.h"
 #include "base/memory/weak_ptr.h"
diff --git a/content/browser/webui/web_ui_mojo_browsertest.cc b/content/browser/webui/web_ui_mojo_browsertest.cc
index 5c8b8ce..12e4cdf 100644
--- a/content/browser/webui/web_ui_mojo_browsertest.cc
+++ b/content/browser/webui/web_ui_mojo_browsertest.cc
@@ -8,7 +8,6 @@
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted_memory.h"
 #include "base/path_service.h"
 #include "base/run_loop.h"
diff --git a/content/child/blink_platform_impl.cc b/content/child/blink_platform_impl.cc
index adfc21db..a44d4b5 100644
--- a/content/child/blink_platform_impl.cc
+++ b/content/child/blink_platform_impl.cc
@@ -13,7 +13,6 @@
 #include "base/files/file_path.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/singleton.h"
 #include "base/metrics/user_metrics_action.h"
 #include "base/rand_util.h"
diff --git a/content/child/child_thread_impl.cc b/content/child/child_thread_impl.cc
index 52950aea..2663268b 100644
--- a/content/child/child_thread_impl.cc
+++ b/content/child/child_thread_impl.cc
@@ -17,7 +17,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/message_loop/timer_slack.h"
 #include "base/metrics/field_trial.h"
diff --git a/content/child/service_factory.cc b/content/child/service_factory.cc
index 686d38eb6..1c1361d7 100644
--- a/content/child/service_factory.cc
+++ b/content/child/service_factory.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/common/content_client.h"
 #include "services/service_manager/embedder/embedded_service_runner.h"
 
diff --git a/content/common/common_param_traits_unittest.cc b/content/common/common_param_traits_unittest.cc
index c24c750..71b30f65 100644
--- a/content/common/common_param_traits_unittest.cc
+++ b/content/common/common_param_traits_unittest.cc
@@ -11,7 +11,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "content/common/resource_messages.h"
 #include "content/public/common/content_constants.h"
diff --git a/content/common/font_list_mac.mm b/content/common/font_list_mac.mm
index 67d3d85..64d2210 100644
--- a/content/common/font_list_mac.mm
+++ b/content/common/font_list_mac.mm
@@ -9,7 +9,6 @@
 #include <utility>
 
 #include "base/mac/scoped_nsautorelease_pool.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/values.h"
 
diff --git a/content/common/font_list_win.cc b/content/common/font_list_win.cc
index 07ecc12..a05a3bc 100644
--- a/content/common/font_list_win.cc
+++ b/content/common/font_list_win.cc
@@ -10,7 +10,6 @@
 #include <set>
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/string16.h"
 #include "base/values.h"
 
diff --git a/content/common/input/input_param_traits_unittest.cc b/content/common/input/input_param_traits_unittest.cc
index a7b58d99f..81d1d69 100644
--- a/content/common/input/input_param_traits_unittest.cc
+++ b/content/common/input/input_param_traits_unittest.cc
@@ -10,7 +10,6 @@
 #include <utility>
 #include <vector>
 
-#include "base/memory/ptr_util.h"
 #include "content/common/input/input_event.h"
 #include "content/common/input_messages.h"
 #include "ipc/ipc_message.h"
diff --git a/content/common/mac/font_loader.mm b/content/common/mac/font_loader.mm
index 40d4fd2..c802bdb 100644
--- a/content/common/mac/font_loader.mm
+++ b/content/common/mac/font_loader.mm
@@ -17,7 +17,6 @@
 #import "base/mac/foundation_util.h"
 #include "base/mac/scoped_cftyperef.h"
 #import "base/mac/scoped_nsobject.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/task_scheduler/post_task.h"
 #include "base/threading/thread_restrictions.h"
diff --git a/content/common/net/url_fetcher.cc b/content/common/net/url_fetcher.cc
index ab75940d..9af15ee 100644
--- a/content/common/net/url_fetcher.cc
+++ b/content/common/net/url_fetcher.cc
@@ -5,7 +5,6 @@
 #include "content/public/common/url_fetcher.h"
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "content/common/net/url_request_user_data.h"
 #include "net/url_request/url_fetcher.h"
 
diff --git a/content/common/service_manager/service_manager_connection_impl.cc b/content/common/service_manager/service_manager_connection_impl.cc
index ae2e334..49f0da67 100644
--- a/content/common/service_manager/service_manager_connection_impl.cc
+++ b/content/common/service_manager/service_manager_connection_impl.cc
@@ -13,7 +13,6 @@
 #include "base/callback_helpers.h"
 #include "base/lazy_instance.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/threading/thread_checker.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/common/single_request_url_loader_factory.cc b/content/common/single_request_url_loader_factory.cc
index 924a570..1a38289 100644
--- a/content/common/single_request_url_loader_factory.cc
+++ b/content/common/single_request_url_loader_factory.cc
@@ -8,7 +8,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/sequenced_task_runner.h"
 #include "base/threading/sequenced_task_runner_handle.h"
diff --git a/content/common/unique_name_helper_unittest.cc b/content/common/unique_name_helper_unittest.cc
index 753a416..bb196c2 100644
--- a/content/common/unique_name_helper_unittest.cc
+++ b/content/common/unique_name_helper_unittest.cc
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "base/auto_reset.h"
-#include "base/memory/ptr_util.h"
 #include "base/optional.h"
 #include "base/strings/nullable_string16.h"
 #include "base/strings/string_piece.h"
diff --git a/content/ppapi_plugin/ppapi_thread.cc b/content/ppapi_plugin/ppapi_thread.cc
index 912d944..fb51dcf 100644
--- a/content/ppapi_plugin/ppapi_thread.cc
+++ b/content/ppapi_plugin/ppapi_thread.cc
@@ -15,7 +15,6 @@
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/memory/discardable_memory_allocator.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/rand_util.h"
diff --git a/content/public/browser/provision_fetcher_impl.cc b/content/public/browser/provision_fetcher_impl.cc
index 2cbef6da..77dab1f 100644
--- a/content/public/browser/provision_fetcher_impl.cc
+++ b/content/public/browser/provision_fetcher_impl.cc
@@ -4,7 +4,6 @@
 
 #include "content/public/browser/provision_fetcher_impl.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/provision_fetcher_factory.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "net/url_request/url_request_context_getter.h"
diff --git a/content/public/browser/render_process_host.h b/content/public/browser/render_process_host.h
index 632ae9c..621d24a 100644
--- a/content/public/browser/render_process_host.h
+++ b/content/public/browser/render_process_host.h
@@ -11,7 +11,6 @@
 #include <list>
 
 #include "base/containers/id_map.h"
-#include "base/memory/ptr_util.h"
 #include "base/process/kill.h"
 #include "base/process/process_handle.h"
 #include "base/supports_user_data.h"
diff --git a/content/public/browser/web_contents_binding_set.h b/content/public/browser/web_contents_binding_set.h
index fe92574..4ec3c21 100644
--- a/content/public/browser/web_contents_binding_set.h
+++ b/content/public/browser/web_contents_binding_set.h
@@ -10,7 +10,6 @@
 
 #include "base/callback.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/common/content_export.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/browser/web_contents_observer.h"
diff --git a/content/public/test/browser_test_base.cc b/content/public/test/browser_test_base.cc
index 23f506c..5cf5c5c 100644
--- a/content/public/test/browser_test_base.cc
+++ b/content/public/test/browser_test_base.cc
@@ -14,7 +14,6 @@
 #include "base/i18n/icu_util.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/public/test/cache_test_util.cc b/content/public/test/cache_test_util.cc
index 0fd45b71..0a3f63a7 100644
--- a/content/public/test/cache_test_util.cc
+++ b/content/public/test/cache_test_util.cc
@@ -3,7 +3,6 @@
 // found in the LICENSE file.
 
 #include "content/public/test/cache_test_util.h"
-#include "base/memory/ptr_util.h"
 #include "base/synchronization/waitable_event.h"
 #include "net/disk_cache/disk_cache.h"
 #include "net/http/http_cache.h"
diff --git a/content/public/test/mock_render_process_host.cc b/content/public/test/mock_render_process_host.cc
index aa09e0c..fb58f3b 100644
--- a/content/public/test/mock_render_process_host.cc
+++ b/content/public/test/mock_render_process_host.cc
@@ -10,7 +10,6 @@
 
 #include "base/lazy_instance.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/process/process_handle.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/public/test/mock_render_thread.cc b/content/public/test/mock_render_thread.cc
index c45a9b2..949d9f0 100644
--- a/content/public/test/mock_render_thread.cc
+++ b/content/public/test/mock_render_thread.cc
@@ -5,7 +5,6 @@
 #include "content/public/test/mock_render_thread.h"
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/unguessable_token.h"
diff --git a/content/public/test/navigation_simulator.cc b/content/public/test/navigation_simulator.cc
index a915b91..28c4748 100644
--- a/content/public/test/navigation_simulator.cc
+++ b/content/public/test/navigation_simulator.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "content/browser/frame_host/debug_urls.h"
 #include "content/browser/frame_host/navigation_handle_impl.h"
diff --git a/content/public/test/slow_download_http_response.cc b/content/public/test/slow_download_http_response.cc
index c6c9d4fee..f73e760 100644
--- a/content/public/test/slow_download_http_response.cc
+++ b/content/public/test/slow_download_http_response.cc
@@ -5,7 +5,6 @@
 #include "content/public/test/slow_download_http_response.h"
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/threading/thread_task_runner_handle.h"
 
diff --git a/content/public/test/test_browser_thread.cc b/content/public/test/test_browser_thread.cc
index 63876d0a..d4d0a16b 100644
--- a/content/public/test/test_browser_thread.cc
+++ b/content/public/test/test_browser_thread.cc
@@ -5,7 +5,6 @@
 #include "content/public/test/test_browser_thread.h"
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/threading/thread.h"
 #include "build/build_config.h"
diff --git a/content/public/test/test_browser_thread_bundle.cc b/content/public/test/test_browser_thread_bundle.cc
index 1f090d9..3e7bdad 100644
--- a/content/public/test/test_browser_thread_bundle.cc
+++ b/content/public/test/test_browser_thread_bundle.cc
@@ -5,7 +5,6 @@
 #include "content/public/test/test_browser_thread_bundle.h"
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_task_environment.h"
diff --git a/content/public/test/test_download_http_response.cc b/content/public/test/test_download_http_response.cc
index 833b00e4..33b6414 100644
--- a/content/public/test/test_download_http_response.cc
+++ b/content/public/test/test_download_http_response.cc
@@ -10,7 +10,6 @@
 #include "base/bind_helpers.h"
 #include "base/lazy_instance.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/numerics/ranges.h"
 #include "base/strings/string_util.h"
diff --git a/content/public/test/test_renderer_host.cc b/content/public/test/test_renderer_host.cc
index 305d531..2176026c 100644
--- a/content/public/test/test_renderer_host.cc
+++ b/content/public/test/test_renderer_host.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
diff --git a/content/renderer/android/synchronous_compositor_filter.cc b/content/renderer/android/synchronous_compositor_filter.cc
index 44ca976ea..d7db1994 100644
--- a/content/renderer/android/synchronous_compositor_filter.cc
+++ b/content/renderer/android/synchronous_compositor_filter.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/common/input/sync_compositor_messages.h"
diff --git a/content/renderer/android/synchronous_layer_tree_frame_sink.cc b/content/renderer/android/synchronous_layer_tree_frame_sink.cc
index b631c52..f942bf9 100644
--- a/content/renderer/android/synchronous_layer_tree_frame_sink.cc
+++ b/content/renderer/android/synchronous_layer_tree_frame_sink.cc
@@ -10,7 +10,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "cc/trees/layer_tree_frame_sink_client.h"
diff --git a/content/renderer/fetchers/resource_fetcher_impl.cc b/content/renderer/fetchers/resource_fetcher_impl.cc
index ad004372..4104621 100644
--- a/content/renderer/fetchers/resource_fetcher_impl.cc
+++ b/content/renderer/fetchers/resource_fetcher_impl.cc
@@ -8,7 +8,6 @@
 
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/common/referrer.h"
 #include "content/public/renderer/render_frame.h"
 #include "content/renderer/loader/resource_dispatcher.h"
diff --git a/content/renderer/gpu/actions_parser.cc b/content/renderer/gpu/actions_parser.cc
index 9399e4d..5cb285a 100644
--- a/content/renderer/gpu/actions_parser.cc
+++ b/content/renderer/gpu/actions_parser.cc
@@ -5,7 +5,6 @@
 #include "content/renderer/gpu/actions_parser.h"
 
 #include "base/format_macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/values.h"
 #include "components/viz/common/frame_sinks/begin_frame_args.h"
diff --git a/content/renderer/gpu/frame_swap_message_queue.cc b/content/renderer/gpu/frame_swap_message_queue.cc
index 51a0cde..1d4e974 100644
--- a/content/renderer/gpu/frame_swap_message_queue.cc
+++ b/content/renderer/gpu/frame_swap_message_queue.cc
@@ -12,7 +12,6 @@
 #include "base/containers/hash_tables.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "ipc/ipc_message.h"
 
diff --git a/content/renderer/gpu/frame_swap_message_queue_unittest.cc b/content/renderer/gpu/frame_swap_message_queue_unittest.cc
index 10efd719..ce18fba 100644
--- a/content/renderer/gpu/frame_swap_message_queue_unittest.cc
+++ b/content/renderer/gpu/frame_swap_message_queue_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "ipc/ipc_message.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/content/renderer/gpu/gpu_benchmarking_extension.cc b/content/renderer/gpu/gpu_benchmarking_extension.cc
index f4031e4..ddf4a1e1 100644
--- a/content/renderer/gpu/gpu_benchmarking_extension.cc
+++ b/content/renderer/gpu/gpu_benchmarking_extension.cc
@@ -16,7 +16,6 @@
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "cc/layers/layer.h"
 #include "cc/paint/skia_paint_canvas.h"
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
index 701a12e..71fdaa6 100644
--- a/content/renderer/gpu/render_widget_compositor.cc
+++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -17,7 +17,6 @@
 #include "base/command_line.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_number_conversions.h"
diff --git a/content/renderer/gpu/render_widget_compositor_unittest.cc b/content/renderer/gpu/render_widget_compositor_unittest.cc
index a093dd9..1258707 100644
--- a/content/renderer/gpu/render_widget_compositor_unittest.cc
+++ b/content/renderer/gpu/render_widget_compositor_unittest.cc
@@ -8,7 +8,6 @@
 
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/renderer/history_entry.cc b/content/renderer/history_entry.cc
index caa2307..7d32118 100644
--- a/content/renderer/history_entry.cc
+++ b/content/renderer/history_entry.cc
@@ -37,7 +37,6 @@
 
 #include <algorithm>
 
-#include "base/memory/ptr_util.h"
 #include "third_party/blink/public/web/web_local_frame.h"
 
 using blink::WebFrame;
diff --git a/content/renderer/image_downloader/image_downloader_base.cc b/content/renderer/image_downloader/image_downloader_base.cc
index ad88ca5..19dda4f 100644
--- a/content/renderer/image_downloader/image_downloader_base.cc
+++ b/content/renderer/image_downloader/image_downloader_base.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/child/image_decoder.h"
 #include "content/public/renderer/render_frame.h"
 #include "content/public/renderer/render_thread.h"
diff --git a/content/renderer/indexed_db/webidbcursor_impl.cc b/content/renderer/indexed_db/webidbcursor_impl.cc
index 13ca4f2..62811b6f 100644
--- a/content/renderer/indexed_db/webidbcursor_impl.cc
+++ b/content/renderer/indexed_db/webidbcursor_impl.cc
@@ -9,7 +9,6 @@
 #include <string>
 #include <vector>
 
-#include "base/memory/ptr_util.h"
 #include "content/renderer/indexed_db/indexed_db_dispatcher.h"
 #include "content/renderer/indexed_db/indexed_db_key_builders.h"
 #include "mojo/public/cpp/bindings/strong_associated_binding.h"
diff --git a/content/renderer/indexed_db/webidbcursor_impl_unittest.cc b/content/renderer/indexed_db/webidbcursor_impl_unittest.cc
index 3121392..eec2bbac 100644
--- a/content/renderer/indexed_db/webidbcursor_impl_unittest.cc
+++ b/content/renderer/indexed_db/webidbcursor_impl_unittest.cc
@@ -11,7 +11,6 @@
 
 #include "base/guid.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_task_environment.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/renderer/input/input_event_filter.cc b/content/renderer/input/input_event_filter.cc
index 3f210e5..60eeab1 100644
--- a/content/renderer/input/input_event_filter.cc
+++ b/content/renderer/input/input_event_filter.cc
@@ -11,7 +11,6 @@
 #include "base/bind.h"
 #include "base/debug/crash_logging.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/trace_event/trace_event.h"
diff --git a/content/renderer/input/input_event_filter_unittest.cc b/content/renderer/input/input_event_filter_unittest.cc
index 9ab5a91..05aa374 100644
--- a/content/renderer/input/input_event_filter_unittest.cc
+++ b/content/renderer/input/input_event_filter_unittest.cc
@@ -11,7 +11,6 @@
 
 #include "base/bind.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_task_environment.h"
 #include "base/test/test_simple_task_runner.h"
diff --git a/content/renderer/java/gin_java_function_invocation_helper.cc b/content/renderer/java/gin_java_function_invocation_helper.cc
index c1c1468..39f9253 100644
--- a/content/renderer/java/gin_java_function_invocation_helper.cc
+++ b/content/renderer/java/gin_java_function_invocation_helper.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "content/common/android/gin_java_bridge_errors.h"
 #include "content/common/android/gin_java_bridge_value.h"
diff --git a/content/renderer/loader/resource_dispatcher.cc b/content/renderer/loader/resource_dispatcher.cc
index de09f0e..801fd95 100644
--- a/content/renderer/loader/resource_dispatcher.cc
+++ b/content/renderer/loader/resource_dispatcher.cc
@@ -14,7 +14,6 @@
 #include "base/debug/alias.h"
 #include "base/debug/stack_trace.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_util.h"
diff --git a/content/renderer/loader/resource_dispatcher_unittest.cc b/content/renderer/loader/resource_dispatcher_unittest.cc
index e39fcfb..32b18cf 100644
--- a/content/renderer/loader/resource_dispatcher_unittest.cc
+++ b/content/renderer/loader/resource_dispatcher_unittest.cc
@@ -14,7 +14,6 @@
 #include <vector>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/shared_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/process/process_handle.h"
diff --git a/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc b/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc
index 43b7359..777deb6c 100644
--- a/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc
+++ b/content/renderer/loader/shared_memory_data_consumer_handle_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/callback.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/renderer/loader/url_loader_client_impl_unittest.cc b/content/renderer/loader/url_loader_client_impl_unittest.cc
index 524d94b5..9c00707 100644
--- a/content/renderer/loader/url_loader_client_impl_unittest.cc
+++ b/content/renderer/loader/url_loader_client_impl_unittest.cc
@@ -5,7 +5,6 @@
 #include "content/renderer/loader/url_loader_client_impl.h"
 
 #include <vector>
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "content/public/common/weak_wrapper_shared_url_loader_factory.h"
diff --git a/content/renderer/loader/url_response_body_consumer.cc b/content/renderer/loader/url_response_body_consumer.cc
index 713319a..f5ac29b 100644
--- a/content/renderer/loader/url_response_body_consumer.cc
+++ b/content/renderer/loader/url_response_body_consumer.cc
@@ -7,7 +7,6 @@
 #include "base/auto_reset.h"
 #include "base/bind.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/renderer/request_peer.h"
 #include "content/renderer/loader/resource_dispatcher.h"
 #include "services/network/public/cpp/url_loader_completion_status.h"
diff --git a/content/renderer/loader/url_response_body_consumer_unittest.cc b/content/renderer/loader/url_response_body_consumer_unittest.cc
index e58f7c53..49cb00b 100644
--- a/content/renderer/loader/url_response_body_consumer_unittest.cc
+++ b/content/renderer/loader/url_response_body_consumer_unittest.cc
@@ -7,7 +7,6 @@
 #include "base/bind.h"
 #include "base/callback_forward.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc b/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc
index d67514d..b01e4800 100644
--- a/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc
+++ b/content/renderer/loader/web_data_consumer_handle_impl_unittest.cc
@@ -14,7 +14,6 @@
 
 #include "base/bind.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/content/renderer/loader/web_url_loader_impl.cc b/content/renderer/loader/web_url_loader_impl.cc
index b1ab177..0c2ed0fb 100644
--- a/content/renderer/loader/web_url_loader_impl.cc
+++ b/content/renderer/loader/web_url_loader_impl.cc
@@ -16,7 +16,6 @@
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/optional.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_number_conversions.h"
diff --git a/content/renderer/loader/web_url_loader_impl_unittest.cc b/content/renderer/loader/web_url_loader_impl_unittest.cc
index b470e544..a573dee 100644
--- a/content/renderer/loader/web_url_loader_impl_unittest.cc
+++ b/content/renderer/loader/web_url_loader_impl_unittest.cc
@@ -12,7 +12,6 @@
 
 #include "base/command_line.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/weak_ptr.h"
 #include "base/message_loop/message_loop.h"
 #include "base/run_loop.h"
diff --git a/content/renderer/manifest/manifest_parser.cc b/content/renderer/manifest/manifest_parser.cc
index 5ae5928..3f4a29fb8 100644
--- a/content/renderer/manifest/manifest_parser.cc
+++ b/content/renderer/manifest/manifest_parser.cc
@@ -7,7 +7,6 @@
 #include <stddef.h>
 
 #include "base/json/json_reader.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/nullable_string16.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_split.h"
diff --git a/content/renderer/media/android/media_player_renderer_client_factory.cc b/content/renderer/media/android/media_player_renderer_client_factory.cc
index 3289a72..b34fc6b14 100644
--- a/content/renderer/media/android/media_player_renderer_client_factory.cc
+++ b/content/renderer/media/android/media_player_renderer_client_factory.cc
@@ -4,7 +4,6 @@
 
 #include "content/renderer/media/android/media_player_renderer_client_factory.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/renderer/media/android/media_player_renderer_client.h"
 #include "media/mojo/clients/mojo_renderer.h"
 
diff --git a/content/renderer/media/android/stream_texture_factory.cc b/content/renderer/media/android/stream_texture_factory.cc
index ec052f5..5e98260 100644
--- a/content/renderer/media/android/stream_texture_factory.cc
+++ b/content/renderer/media/android/stream_texture_factory.cc
@@ -5,7 +5,6 @@
 #include "content/renderer/media/android/stream_texture_factory.h"
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "gpu/command_buffer/client/gles2_interface.h"
 #include "gpu/ipc/client/command_buffer_proxy_impl.h"
 #include "gpu/ipc/client/gpu_channel_host.h"
diff --git a/content/renderer/media/audio_input_ipc_factory.cc b/content/renderer/media/audio_input_ipc_factory.cc
index 6ddfdcd..2b67390 100644
--- a/content/renderer/media/audio_input_ipc_factory.cc
+++ b/content/renderer/media/audio_input_ipc_factory.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/sequenced_task_runner.h"
 #include "content/common/media/renderer_audio_input_stream_factory.mojom.h"
 #include "content/renderer/media/audio_input_message_filter.h"
diff --git a/content/renderer/media/audio_output_ipc_factory.cc b/content/renderer/media/audio_output_ipc_factory.cc
index 875a232..8281bf4 100644
--- a/content/renderer/media/audio_output_ipc_factory.cc
+++ b/content/renderer/media/audio_output_ipc_factory.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "content/renderer/media/audio_message_filter.h"
 #include "content/renderer/media/mojo_audio_output_ipc.h"
diff --git a/content/renderer/media/stream/media_stream_video_track.cc b/content/renderer/media/stream/media_stream_video_track.cc
index 7b42fc255..5a30ba6 100644
--- a/content/renderer/media/stream/media_stream_video_track.cc
+++ b/content/renderer/media/stream/media_stream_video_track.cc
@@ -10,7 +10,6 @@
 #include "base/bind.h"
 #include "base/location.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
diff --git a/content/renderer/media/stream/user_media_client_impl.cc b/content/renderer/media/stream/user_media_client_impl.cc
index 38db3ea..bee0a48 100644
--- a/content/renderer/media/stream/user_media_client_impl.cc
+++ b/content/renderer/media/stream/user_media_client_impl.cc
@@ -10,7 +10,6 @@
 #include <utility>
 
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/stringprintf.h"
 #include "base/task_runner.h"
 #include "content/renderer/media/stream/apply_constraints_processor.h"
diff --git a/content/renderer/media/stream/user_media_processor.cc b/content/renderer/media/stream/user_media_processor.cc
index ce50c2f..2a5c2ad 100644
--- a/content/renderer/media/stream/user_media_processor.cc
+++ b/content/renderer/media/stream/user_media_processor.cc
@@ -11,7 +11,6 @@
 
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/stringprintf.h"
 #include "base/task_runner.h"
diff --git a/content/renderer/media/video_capture_impl_manager_unittest.cc b/content/renderer/media/video_capture_impl_manager_unittest.cc
index 9e390c1..f5f3e61 100644
--- a/content/renderer/media/video_capture_impl_manager_unittest.cc
+++ b/content/renderer/media/video_capture_impl_manager_unittest.cc
@@ -7,7 +7,6 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_task_environment.h"
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
index 00090ae..12f443e 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -16,7 +16,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/renderer/media/webrtc/peer_connection_tracker.cc b/content/renderer/media/webrtc/peer_connection_tracker.cc
index 0ef1615..b9316272 100644
--- a/content/renderer/media/webrtc/peer_connection_tracker.cc
+++ b/content/renderer/media/webrtc/peer_connection_tracker.cc
@@ -12,7 +12,6 @@
 #include <utility>
 #include <vector>
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/renderer/media/webrtc/rtc_certificate_generator.cc b/content/renderer/media/webrtc/rtc_certificate_generator.cc
index 1c14fb2..4019d764 100644
--- a/content/renderer/media/webrtc/rtc_certificate_generator.cc
+++ b/content/renderer/media/webrtc/rtc_certificate_generator.cc
@@ -8,7 +8,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/renderer/media/webrtc/rtc_rtp_receiver.cc b/content/renderer/media/webrtc/rtc_rtp_receiver.cc
index 78f8f19e..67ac4c7 100644
--- a/content/renderer/media/webrtc/rtc_rtp_receiver.cc
+++ b/content/renderer/media/webrtc/rtc_rtp_receiver.cc
@@ -5,7 +5,6 @@
 #include "content/renderer/media/webrtc/rtc_rtp_receiver.h"
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/renderer/media/webrtc/rtc_rtp_contributing_source.h"
 #include "content/renderer/media/webrtc/rtc_stats.h"
 #include "third_party/webrtc/rtc_base/scoped_ref_ptr.h"
diff --git a/content/renderer/media/webrtc/rtc_video_encoder_unittest.cc b/content/renderer/media/webrtc/rtc_video_encoder_unittest.cc
index 581f762..d3defba 100644
--- a/content/renderer/media/webrtc/rtc_video_encoder_unittest.cc
+++ b/content/renderer/media/webrtc/rtc_video_encoder_unittest.cc
@@ -5,7 +5,6 @@
 #include <stdint.h>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/synchronization/waitable_event.h"
 #include "base/threading/thread.h"
diff --git a/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc b/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc
index ae089671..835d619 100644
--- a/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc
+++ b/content/renderer/media/webrtc/webrtc_media_stream_adapter.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/renderer/media/stream/media_stream_audio_track.h"
diff --git a/content/renderer/media_recorder/video_track_recorder.cc b/content/renderer/media_recorder/video_track_recorder.cc
index a67df17..c1d672c52 100644
--- a/content/renderer/media_recorder/video_track_recorder.cc
+++ b/content/renderer/media_recorder/video_track_recorder.cc
@@ -9,7 +9,6 @@
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/task_runner_util.h"
 #include "base/threading/thread.h"
diff --git a/content/renderer/mus/render_widget_window_tree_client_factory.cc b/content/renderer/mus/render_widget_window_tree_client_factory.cc
index 8915f9b..bda28e54 100644
--- a/content/renderer/mus/render_widget_window_tree_client_factory.cc
+++ b/content/renderer/mus/render_widget_window_tree_client_factory.cc
@@ -8,7 +8,6 @@
 
 #include "base/logging.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/sequenced_task_runner.h"
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.cc b/content/renderer/pepper/pepper_plugin_instance_impl.cc
index e4966b4..1249b89 100644
--- a/content/renderer/pepper/pepper_plugin_instance_impl.cc
+++ b/content/renderer/pepper/pepper_plugin_instance_impl.cc
@@ -11,7 +11,6 @@
 #include "base/callback_helpers.h"
 #include "base/location.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/single_thread_task_runner.h"
 #include "base/stl_util.h"
diff --git a/content/renderer/pepper/pepper_url_loader_host.cc b/content/renderer/pepper/pepper_url_loader_host.cc
index 0a29a8a..269ac23 100644
--- a/content/renderer/pepper/pepper_url_loader_host.cc
+++ b/content/renderer/pepper/pepper_url_loader_host.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/memory/ptr_util.h"
 #include "content/renderer/pepper/pepper_plugin_instance_impl.h"
 #include "content/renderer/pepper/renderer_ppapi_host_impl.h"
 #include "content/renderer/pepper/url_request_info_util.h"
diff --git a/content/renderer/pepper/pepper_video_encoder_host.cc b/content/renderer/pepper/pepper_video_encoder_host.cc
index e696e2fc..913820c 100644
--- a/content/renderer/pepper/pepper_video_encoder_host.cc
+++ b/content/renderer/pepper/pepper_video_encoder_host.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/shared_memory.h"
 #include "base/numerics/safe_math.h"
 #include "base/threading/thread_task_runner_handle.h"
diff --git a/content/renderer/pepper/ppb_image_data_impl.cc b/content/renderer/pepper/ppb_image_data_impl.cc
index bb355c08..fa2b937 100644
--- a/content/renderer/pepper/ppb_image_data_impl.cc
+++ b/content/renderer/pepper/ppb_image_data_impl.cc
@@ -9,7 +9,6 @@
 #include <memory>
 
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/common/pepper_file_util.h"
 #include "content/common/view_messages.h"
 #include "content/renderer/render_thread_impl.h"
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index a0d9d84e..089bc9a 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -18,7 +18,6 @@
 #include "base/macros.h"
 #include "base/memory/discardable_memory_allocator.h"
 #include "base/memory/memory_coordinator_client_registry.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/shared_memory.h"
 #include "base/message_loop/message_loop.h"
 #include "base/metrics/field_trial.h"
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
index 17fd889..944d93ea 100644
--- a/content/renderer/render_view_browsertest.cc
+++ b/content/renderer/render_view_browsertest.cc
@@ -103,7 +103,6 @@
 #endif
 
 #if defined(USE_AURA) && defined(USE_X11)
-#include "base/memory/ptr_util.h"
 #include "ui/events/event_constants.h"
 #include "ui/events/keycodes/keyboard_code_conversion.h"
 #include "ui/events/test/events_test_utils.h"
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index baa65341..7a866de 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -21,7 +21,6 @@
 #include "base/json/json_writer.h"
 #include "base/lazy_instance.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/field_trial.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/process/kill.h"
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index 078f7ff..58008ce 100644
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -17,7 +17,6 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/memory/memory_coordinator_client_registry.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/shared_memory.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_conversions.h"
diff --git a/content/renderer/renderer_main_platform_delegate_android.cc b/content/renderer/renderer_main_platform_delegate_android.cc
index 4c7695e..0929aabe 100644
--- a/content/renderer/renderer_main_platform_delegate_android.cc
+++ b/content/renderer/renderer_main_platform_delegate_android.cc
@@ -12,7 +12,6 @@
 #include "sandbox/sandbox_buildflags.h"
 
 #if BUILDFLAG(USE_SECCOMP_BPF)
-#include "base/memory/ptr_util.h"
 #include "sandbox/linux/seccomp-bpf-helpers/baseline_policy_android.h"
 #endif
 
diff --git a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
index 4fdc310..d1c2549 100644
--- a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
+++ b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/child/scoped_child_process_reference.h"
diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc
index 15d4650..9a1972a6 100644
--- a/content/renderer/service_worker/service_worker_context_client.cc
+++ b/content/renderer/service_worker/service_worker_context_client.cc
@@ -10,7 +10,6 @@
 
 #include "base/lazy_instance.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/threading/thread_checker.h"
diff --git a/content/renderer/service_worker/service_worker_dispatcher.cc b/content/renderer/service_worker/service_worker_dispatcher.cc
index 149b8ae..24f00ca 100644
--- a/content/renderer/service_worker/service_worker_dispatcher.cc
+++ b/content/renderer/service_worker/service_worker_dispatcher.cc
@@ -8,7 +8,6 @@
 #include <utility>
 
 #include "base/lazy_instance.h"
-#include "base/memory/ptr_util.h"
 #include "base/memory/ref_counted.h"
 #include "base/stl_util.h"
 #include "base/threading/thread_local.h"
diff --git a/content/renderer/service_worker/service_worker_type_util.cc b/content/renderer/service_worker/service_worker_type_util.cc
index 645f4f4..77413663 100644
--- a/content/renderer/service_worker/service_worker_type_util.cc
+++ b/content/renderer/service_worker/service_worker_type_util.cc
@@ -7,7 +7,6 @@
 #include <memory>
 #include <string>
 
-#include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/common/service_worker/service_worker_types.h"
 #include "storage/common/blob_storage/blob_handle.h"
diff --git a/content/renderer/service_worker/web_service_worker_impl.cc b/content/renderer/service_worker/web_service_worker_impl.cc
index a646905..268a705 100644
--- a/content/renderer/service_worker/web_service_worker_impl.cc
+++ b/content/renderer/service_worker/web_service_worker_impl.cc
@@ -7,7 +7,6 @@
 #include <utility>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "content/common/service_worker/service_worker_messages.h"
 #include "content/renderer/service_worker/service_worker_dispatcher.h"
 #include "content/renderer/service_worker/web_service_worker_provider_impl.h"
diff --git a/content/renderer/service_worker/web_service_worker_registration_impl.cc b/content/renderer/service_worker/web_service_worker_registration_impl.cc
index 62dc4b3..553d4967 100644
--- a/content/renderer/service_worker/web_service_worker_registration_impl.cc
+++ b/content/renderer/service_worker/web_service_worker_registration_impl.cc
@@ -9,7 +9,6 @@
 
 #include "base/containers/id_map.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/child/child_process.h"
 #include "content/common/service_worker/service_worker_types.h"
diff --git a/content/renderer/stats_collection_controller.cc b/content/renderer/stats_collection_controller.cc
index 9b94bfd..d528f49e5 100644
--- a/content/renderer/stats_collection_controller.cc
+++ b/content/renderer/stats_collection_controller.cc
@@ -5,7 +5,6 @@
 #include "content/renderer/stats_collection_controller.h"
 
 #include "base/json/json_writer.h"
-#include "base/memory/ptr_util.h"
 #include "base/metrics/histogram_base.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/metrics/statistics_recorder.h"
diff --git a/content/renderer/v8_value_converter_impl.cc b/content/renderer/v8_value_converter_impl.cc
index 0fcaa10..13f3e8a4 100644
--- a/content/renderer/v8_value_converter_impl.cc
+++ b/content/renderer/v8_value_converter_impl.cc
@@ -16,7 +16,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "v8/include/v8.h"
 
diff --git a/content/renderer/v8_value_converter_impl_unittest.cc b/content/renderer/v8_value_converter_impl_unittest.cc
index 6596709..02eb80bc 100644
--- a/content/renderer/v8_value_converter_impl_unittest.cc
+++ b/content/renderer/v8_value_converter_impl_unittest.cc
@@ -11,7 +11,6 @@
 #include <memory>
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/stl_util.h"
 #include "base/test/scoped_task_environment.h"
 #include "base/test/values_test_util.h"
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
index 8df827e..0cefd42 100644
--- a/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
+++ b/content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc
@@ -10,7 +10,6 @@
 #include "base/bind_helpers.h"
 #include "base/format_macros.h"
 #include "base/location.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc b/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc
index 2be2399..dba3161d 100644
--- a/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc
+++ b/content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc
@@ -5,7 +5,6 @@
 #include "content/shell/browser/layout_test/layout_test_bluetooth_chooser_factory.h"
 
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "content/public/browser/render_frame_host.h"
 #include "url/origin.h"
diff --git a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
index 7bc8019e..1188d2f 100644
--- a/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
+++ b/content/shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_impl.cc
@@ -7,7 +7,6 @@
 #include <string>
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "content/public/test/layouttest_support.h"
 #include "content/shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h"
 #include "device/bluetooth/bluetooth_adapter_factory_wrapper.h"
diff --git a/content/shell/browser/layout_test/layout_test_content_browser_client.cc b/content/shell/browser/layout_test/layout_test_content_browser_client.cc
index ef069eca..0e886de 100644
--- a/content/shell/browser/layout_test/layout_test_content_browser_client.cc
+++ b/content/shell/browser/layout_test/layout_test_content_browser_client.cc
@@ -4,7 +4,6 @@
 
 #include "content/shell/browser/layout_test/layout_test_content_browser_client.h"
 
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/pattern.h"
 #include "content/public/browser/browser_context.h"
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 f8eb5ae..4b65cb13 100644
--- a/content/shell/browser/layout_test/layout_test_permission_manager.cc
+++ b/content/shell/browser/layout_test/layout_test_permission_manager.cc
@@ -10,7 +10,6 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/memory/ptr_util.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/permission_type.h"
 #include "content/public/browser/web_contents.h"
diff --git a/content/shell/browser/layout_test/scoped_android_configuration.cc b/content/shell/browser/layout_test/scoped_android_configuration.cc
index 87702f4a..b525217 100644
--- a/content/shell/browser/layout_test/scoped_android_configuration.cc
+++ b/content/shell/browser/layout_test/scoped_android_configuration.cc
@@ -12,7 +12,6 @@
 #include "base/android/jni_string.h"
 #include "base/command_line.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/synchronization/waitable_event.h"
diff --git a/content/shell/browser/layout_test/test_info_extractor.cc b/content/shell/browser/layout_test/test_info_extractor.cc
index 89e86ac7..b1463ec 100644
--- a/content/shell/browser/layout_test/test_info_extractor.cc
+++ b/content/shell/browser/layout_test/test_info_extractor.cc
@@ -8,7 +8,6 @@
 
 #include "base/base_paths.h"
 #include "base/files/file_util.h"
-#include "base/memory/ptr_util.h"
 #include "base/path_service.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc
index a092307..cc39884 100644
--- a/content/shell/browser/shell_content_browser_client.cc
+++ b/content/shell/browser/shell_content_browser_client.cc
@@ -13,7 +13,6 @@
 #include "base/files/file_util.h"
 #include "base/json/json_reader.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/path_service.h"
 #include "base/strings/pattern.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/shell/browser/shell_devtools_bindings.cc b/content/shell/browser/shell_devtools_bindings.cc
index e12212a..f3b1ad4 100644
--- a/content/shell/browser/shell_devtools_bindings.cc
+++ b/content/shell/browser/shell_devtools_bindings.cc
@@ -14,7 +14,6 @@
 #include "base/json/json_writer.h"
 #include "base/json/string_escape.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/shell/browser/shell_devtools_manager_delegate.cc b/content/shell/browser/shell_devtools_manager_delegate.cc
index eb146a0..07cb3e64 100644
--- a/content/shell/browser/shell_devtools_manager_delegate.cc
+++ b/content/shell/browser/shell_devtools_manager_delegate.cc
@@ -13,7 +13,6 @@
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/shell/browser/shell_net_log.cc b/content/shell/browser/shell_net_log.cc
index 39052f1..8837dd14 100644
--- a/content/shell/browser/shell_net_log.cc
+++ b/content/shell/browser/shell_net_log.cc
@@ -12,7 +12,6 @@
 #include "base/callback.h"
 #include "base/command_line.h"
 #include "base/files/file_path.h"
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "build/build_config.h"
 #include "content/public/common/content_switches.h"
diff --git a/content/shell/gpu/shell_content_gpu_client.cc b/content/shell/gpu/shell_content_gpu_client.cc
index 77e4f68b8..3790d34 100644
--- a/content/shell/gpu/shell_content_gpu_client.cc
+++ b/content/shell/gpu/shell_content_gpu_client.cc
@@ -4,7 +4,6 @@
 
 #include "content/shell/gpu/shell_content_gpu_client.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/shell/common/power_monitor_test_impl.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 #include "services/service_manager/public/cpp/binder_registry.h"
diff --git a/content/shell/renderer/layout_test/blink_test_runner.cc b/content/shell/renderer/layout_test/blink_test_runner.cc
index 6638857..705d4d3 100644
--- a/content/shell/renderer/layout_test/blink_test_runner.cc
+++ b/content/shell/renderer/layout_test/blink_test_runner.cc
@@ -21,7 +21,6 @@
 #include "base/location.h"
 #include "base/macros.h"
 #include "base/md5.h"
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
diff --git a/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc b/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc
index fdb75aad..825c119 100644
--- a/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc
+++ b/content/shell/renderer/layout_test/layout_test_content_renderer_client.cc
@@ -10,7 +10,6 @@
 #include "base/callback.h"
 #include "base/command_line.h"
 #include "base/debug/debugger.h"
-#include "base/memory/ptr_util.h"
 #include "build/build_config.h"
 #include "components/web_cache/renderer/web_cache_impl.h"
 #include "content/public/common/content_constants.h"
diff --git a/content/shell/renderer/layout_test/leak_detector.cc b/content/shell/renderer/layout_test/leak_detector.cc
index 71beb40..ecb203d 100644
--- a/content/shell/renderer/layout_test/leak_detector.cc
+++ b/content/shell/renderer/layout_test/leak_detector.cc
@@ -8,7 +8,6 @@
 
 #include "base/json/json_writer.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "base/values.h"
 #include "content/shell/renderer/layout_test/blink_test_runner.h"
 #include "third_party/blink/public/web/web_leak_detector.h"
diff --git a/content/shell/test_runner/tracked_dictionary.cc b/content/shell/test_runner/tracked_dictionary.cc
index 4b2a563..e88c890 100644
--- a/content/shell/test_runner/tracked_dictionary.cc
+++ b/content/shell/test_runner/tracked_dictionary.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 
 namespace test_runner {
 
diff --git a/content/shell/test_runner/web_test_interfaces.cc b/content/shell/test_runner/web_test_interfaces.cc
index 8ab0168..f4c938e 100644
--- a/content/shell/test_runner/web_test_interfaces.cc
+++ b/content/shell/test_runner/web_test_interfaces.cc
@@ -6,7 +6,6 @@
 
 #include <utility>
 
-#include "base/memory/ptr_util.h"
 #include "content/shell/test_runner/mock_web_audio_device.h"
 #include "content/shell/test_runner/mock_web_midi_accessor.h"
 #include "content/shell/test_runner/test_interfaces.h"
diff --git a/content/test/did_commit_provisional_load_interceptor.cc b/content/test/did_commit_provisional_load_interceptor.cc
index 964b938..e78a959 100644
--- a/content/test/did_commit_provisional_load_interceptor.cc
+++ b/content/test/did_commit_provisional_load_interceptor.cc
@@ -4,7 +4,6 @@
 
 #include "content/test/did_commit_provisional_load_interceptor.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/frame_host/render_frame_host_impl.h"
 #include "content/common/frame_messages.h"
 #include "content/public/browser/render_frame_host.h"
diff --git a/content/test/fake_compositor_dependencies.cc b/content/test/fake_compositor_dependencies.cc
index 52d32244..2a92964 100644
--- a/content/test/fake_compositor_dependencies.cc
+++ b/content/test/fake_compositor_dependencies.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/memory/ptr_util.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "cc/test/test_ukm_recorder_factory.h"
diff --git a/content/test/fuzzer/fuzzer_support.cc b/content/test/fuzzer/fuzzer_support.cc
index 9b27b22..73a288d 100644
--- a/content/test/fuzzer/fuzzer_support.cc
+++ b/content/test/fuzzer/fuzzer_support.cc
@@ -8,7 +8,6 @@
 
 #include "base/feature_list.h"
 #include "base/i18n/icu_util.h"
-#include "base/memory/ptr_util.h"
 #include "gin/v8_initializer.h"
 #include "third_party/blink/public/platform/web_runtime_features.h"
 
diff --git a/content/test/gpu/gpu_tests/pixel_expectations.py b/content/test/gpu/gpu_tests/pixel_expectations.py
index ee06549..52f10b6 100644
--- a/content/test/gpu/gpu_tests/pixel_expectations.py
+++ b/content/test/gpu/gpu_tests/pixel_expectations.py
@@ -112,20 +112,6 @@
     self.Fail('Pixel_CSS3DBlueBox_NoGpuProcess',
               ['linux', 'mac', 'win'], bug=744658)
 
-    # TODO(liyuqian): Prepare for Skia's AA rebaseline
-    self.Fail('Pixel_OffscreenCanvasAccelerated2D',
-              ['mac', 'linux', 'win', 'android', 'chromeos'], bug=817110)
-    self.Fail('Pixel_OffscreenCanvasAccelerated2DWorker',
-              ['mac', 'linux', 'win', 'android', 'chromeos'], bug=817110)
-    self.Fail('Pixel_OffscreenCanvasUnaccelerated2D',
-              ['mac', 'linux', 'win', 'android', 'chromeos'], bug=817110)
-    self.Fail('Pixel_OffscreenCanvasUnaccelerated2DGPUCompositing',
-              ['mac', 'linux', 'win', 'android', 'chromeos'], bug=817110)
-    self.Fail('Pixel_OffscreenCanvasUnaccelerated2DGPUCompositingWorker',
-              ['mac', 'linux', 'win', 'android', 'chromeos'], bug=817110)
-    self.Fail('Pixel_OffscreenCanvasUnaccelerated2DWorker',
-              ['mac', 'linux', 'win', 'android', 'chromeos'], bug=817110)
-
     # TODO(hubbe): Temporary supressions for rebaseline
     self.Fail('Pixel_Video_VP9', bug=754986)
     self.Fail('Pixel_DirectComposition_Video_VP9', bug=754986)
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
index 1bfded24..29d57ac 100644
--- a/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
+++ b/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
@@ -278,15 +278,25 @@
         ['win', 'amd', 'd3d11'], bug=828984)
     self.Flaky('deqp/functional/gles3/draw/random.html',
         ['win', 'amd', 'd3d11'], bug=828984)
+    self.Flaky('deqp/functional/gles3/samplerobject.html',
+        ['win', 'amd', 'd3d11'], bug=828984)
     self.Flaky('deqp/functional/gles3/textureshadow/' +
         '2d_array_nearest_mipmap_linear_less.html',
         ['win', 'amd', 'd3d11'], bug=828984)
     self.Flaky('conformance/glsl/bugs/logic-inside-block-without-braces.html',
         ['win', 'amd', 'd3d11'], bug=828984)
+    self.Flaky('conformance/glsl/functions/glsl-function-mod-float.html',
+        ['win', 'amd', 'd3d11'], bug=828984)
+    self.Flaky('conformance/renderbuffers/' +
+        'depth-renderbuffer-initialization.html',
+        ['win', 'amd', 'd3d11'], bug=828984)
     self.Flaky('conformance/renderbuffers/renderbuffer-initialization.html',
         ['win', 'amd', 'd3d11'], bug=828984)
     self.Flaky('conformance2/glsl3/vector-dynamic-indexing.html',
         ['win', 'amd', 'd3d11'], bug=828984)
+    self.Flaky('conformance2/renderbuffers/' +
+        'multisampled-depth-renderbuffer-initialization.html',
+        ['win', 'amd', 'd3d11'], bug=828984)
     self.Flaky('conformance2/textures/canvas_sub_rectangle/' +
         'tex-2d-rgb9_e5-rgb-half_float.html',
         ['win', 'amd', 'd3d11'], bug=828984)
@@ -1027,10 +1037,6 @@
     self.Fail('conformance2/textures/misc/tex-3d-mipmap-levels-intel-bug.html',
        ['linux', 'intel'], bug=666384)
 
-    # Fails on Intel Mesa GL 3.3, passes on Intel Mesa GL 4.5.
-    self.Fail('conformance2/misc/views-with-offsets.html',
-        ['linux', 'intel', 'no_angle'], bug=664180)
-
     # Linux Intel with ANGLE only
     self.Fail('deqp/functional/gles3/framebufferblit/conversion_07.html',
         ['linux', 'intel', 'opengl'], bug=598902)
diff --git a/content/test/layouttest_support.cc b/content/test/layouttest_support.cc
index d124e169..9387607 100644
--- a/content/test/layouttest_support.cc
+++ b/content/test/layouttest_support.cc
@@ -13,7 +13,6 @@
 
 #include "base/callback.h"
 #include "base/lazy_instance.h"
-#include "base/memory/ptr_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
 #include "cc/base/switches.h"
diff --git a/content/test/test_blink_web_unit_test_support.cc b/content/test/test_blink_web_unit_test_support.cc
index a854bc9..c58ced8 100644
--- a/content/test/test_blink_web_unit_test_support.cc
+++ b/content/test/test_blink_web_unit_test_support.cc
@@ -9,7 +9,6 @@
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
 #include "base/macros.h"
-#include "base/memory/ptr_util.h"
 #include "base/path_service.h"
 #include "base/single_thread_task_runner.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/content/test/test_mojo_proxy_resolver_factory.cc b/content/test/test_mojo_proxy_resolver_factory.cc
index a64ac0ad..ac59f60 100644
--- a/content/test/test_mojo_proxy_resolver_factory.cc
+++ b/content/test/test_mojo_proxy_resolver_factory.cc
@@ -7,7 +7,6 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "mojo/public/cpp/bindings/strong_binding.h"
 
 namespace content {
diff --git a/content/test/test_render_frame.cc b/content/test/test_render_frame.cc
index 358f371..11add6b2 100644
--- a/content/test/test_render_frame.cc
+++ b/content/test/test_render_frame.cc
@@ -9,7 +9,6 @@
 #include <vector>
 
 #include "base/debug/stack_trace.h"
-#include "base/memory/ptr_util.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "content/common/frame_messages.h"
 #include "content/common/navigation_params.h"
diff --git a/content/test/test_render_frame_host_factory.cc b/content/test/test_render_frame_host_factory.cc
index 87183aa..c6c9116 100644
--- a/content/test/test_render_frame_host_factory.cc
+++ b/content/test/test_render_frame_host_factory.cc
@@ -6,7 +6,6 @@
 
 #include "base/compiler_specific.h"
 #include "base/logging.h"
-#include "base/memory/ptr_util.h"
 #include "content/test/test_render_frame_host.h"
 
 namespace content {
diff --git a/content/test/test_render_view_host_factory.cc b/content/test/test_render_view_host_factory.cc
index 8fcaeae..ec4208e 100644
--- a/content/test/test_render_view_host_factory.cc
+++ b/content/test/test_render_view_host_factory.cc
@@ -4,7 +4,6 @@
 
 #include "content/test/test_render_view_host_factory.h"
 
-#include "base/memory/ptr_util.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/browser/site_instance_impl.h"
 #include "content/public/browser/render_process_host_factory.h"
diff --git a/device/bluetooth/bluetooth_task_manager_win.cc b/device/bluetooth/bluetooth_task_manager_win.cc
index 5386145..8b4fd5c 100644
--- a/device/bluetooth/bluetooth_task_manager_win.cc
+++ b/device/bluetooth/bluetooth_task_manager_win.cc
@@ -570,6 +570,7 @@
       win::BluetoothLowEnergyWrapper::GetInstance()
           ->EnumerateKnownBluetoothLowEnergyDevices(&btle_devices, &error);
   if (!success) {
+    error.insert(0, "Error calling EnumerateKnownBluetoothLowEnergyDevices: ");
     LogPollingError(error.c_str(), 0);
     return false;
   }
@@ -727,6 +728,7 @@
                      ->EnumerateKnownBluetoothLowEnergyServices(
                          device_path, &services, &error);
   if (!success) {
+    error.insert(0, "Error calling EnumerateKnownBluetoothLowEnergyServices: ");
     LogPollingError(error.c_str(), 0);
     return false;
   }
@@ -758,6 +760,9 @@
                      ->EnumerateKnownBluetoothLowEnergyGattServiceDevices(
                          &gatt_service_devices, &error);
   if (!success) {
+    error.insert(
+        0,
+        "Error calling EnumerateKnownBluetoothLowEnergyGattServiceDevices: ");
     LogPollingError(error.c_str(), 0);
     return false;
   }
@@ -775,6 +780,8 @@
     if (!win::BluetoothLowEnergyWrapper::GetInstance()
              ->EnumerateKnownBluetoothLowEnergyServices(
                  gatt_service_device->path, &gatt_services, &error)) {
+      error.insert(0,
+                   "Error calling EnumerateKnownBluetoothLowEnergyServices: ");
       LogPollingError(error.c_str(), 0);
       continue;
     }
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index 75815289..e66e141 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -3428,8 +3428,9 @@
     state_.bound_transform_feedback->SetIsBound(true);
   }
   state_.indexed_uniform_buffer_bindings =
-      new IndexedBufferBindingHost(group_->max_uniform_buffer_bindings(),
-                                   GL_UNIFORM_BUFFER, needs_emulation);
+      base::MakeRefCounted<gles2::IndexedBufferBindingHost>(
+          group_->max_uniform_buffer_bindings(), GL_UNIFORM_BUFFER,
+          needs_emulation);
   state_.indexed_uniform_buffer_bindings->SetIsBound(true);
 
   state_.InitGenericAttribs(group_->max_vertex_attribs());
diff --git a/gpu/command_buffer/service/raster_decoder.cc b/gpu/command_buffer/service/raster_decoder.cc
index 9ab71b87..057046e 100644
--- a/gpu/command_buffer/service/raster_decoder.cc
+++ b/gpu/command_buffer/service/raster_decoder.cc
@@ -36,6 +36,7 @@
 #include "gpu/command_buffer/service/gles2_cmd_copy_tex_image.h"
 #include "gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h"
 #include "gpu/command_buffer/service/image_manager.h"
+#include "gpu/command_buffer/service/indexed_buffer_binding_host.h"
 #include "gpu/command_buffer/service/logger.h"
 #include "gpu/command_buffer/service/mailbox_manager.h"
 #include "gpu/command_buffer/service/query_manager.h"
@@ -236,7 +237,7 @@
       bool offscreen,
       const gles2::DisallowedFeatures& disallowed_features,
       const ContextCreationAttribs& attrib_helper) override;
-  const gles2::ContextState* GetContextState() override;
+  const ContextState* GetContextState() override { return &state_; }
   void Destroy(bool have_context) override;
   bool MakeCurrent() override;
   gl::GLContext* GetGLContext() override;
@@ -767,6 +768,15 @@
   }
   CHECK_GL_ERROR();
 
+  // In theory |needs_emulation| needs to be true on Desktop GL 4.1 or lower.
+  // However, we set it to true everywhere, not to trust drivers to handle
+  // out-of-bounds buffer accesses.
+  bool needs_emulation = true;
+  state_.indexed_uniform_buffer_bindings =
+      new gles2::IndexedBufferBindingHost(group_->max_uniform_buffer_bindings(),
+                                          GL_UNIFORM_BUFFER, needs_emulation);
+  state_.indexed_uniform_buffer_bindings->SetIsBound(true);
+
   state_.InitGenericAttribs(group_->max_vertex_attribs());
   vertex_array_manager_.reset(new VertexArrayManager());
 
@@ -802,11 +812,6 @@
   return gpu::ContextResult::kSuccess;
 }
 
-const gles2::ContextState* RasterDecoderImpl::GetContextState() {
-  NOTIMPLEMENTED();
-  return nullptr;
-}
-
 void RasterDecoderImpl::Destroy(bool have_context) {
   if (!initialized())
     return;
@@ -835,6 +840,7 @@
   state_.sampler_units.clear();
   state_.bound_pixel_pack_buffer = nullptr;
   state_.bound_pixel_unpack_buffer = nullptr;
+  state_.indexed_uniform_buffer_bindings = nullptr;
 
   copy_tex_image_blit_.reset();
   copy_texture_chromium_.reset();
diff --git a/gpu/config/BUILD.gn b/gpu/config/BUILD.gn
index df34075..266a2fe 100644
--- a/gpu/config/BUILD.gn
+++ b/gpu/config/BUILD.gn
@@ -60,6 +60,30 @@
   } else {
     args += [ "linux" ]
   }
+
+  public_deps = [
+    ":workaround_list",
+  ]
+}
+
+action("workaround_list") {
+  script = "build_workaround_header.py"
+
+  inputs = [
+    "gpu_workaround_list.txt",
+  ]
+
+  outputs = [
+    "$target_gen_dir/gpu_driver_bug_workaround_autogen.h",
+  ]
+
+  args = [
+    "--output-file",
+    rebase_path(outputs[0], root_build_dir),
+  ]
+  foreach(file, inputs) {
+    args += [ rebase_path(file, root_build_dir) ]
+  }
 }
 
 source_set("config_sources") {
diff --git a/gpu/config/build_workaround_header.py b/gpu/config/build_workaround_header.py
new file mode 100755
index 0000000..b855832
--- /dev/null
+++ b/gpu/config/build_workaround_header.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+# 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.
+"""code generator for gpu workaround definitions"""
+
+import os
+import os.path
+import sys
+from optparse import OptionParser
+
+_LICENSE = """// 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.
+
+"""
+
+_DO_NOT_EDIT_WARNING = ("// This file is auto-generated from\n" +
+  "//    " + __file__ + "\n" +
+  "// DO NOT EDIT!\n\n")
+
+def merge_files_into_workarounds(files):
+  workarounds = set()
+  for filename in files:
+    with open(filename, 'r') as f:
+      workarounds.update([workaround.strip() for workaround in f])
+  return sorted(list(workarounds))
+
+
+def write_header(filename, workarounds):
+  max_workaround_len = len(max(workarounds, key=len))
+
+  with open(filename, 'w') as f:
+    f.write(_LICENSE)
+    f.write(_DO_NOT_EDIT_WARNING)
+
+    indent = '  '
+    macro = 'GPU_OP'
+
+    # length of max string passed to write + 1
+    max_len = len(indent) + len(macro) + 1 + max_workaround_len + 1 + 1
+    write = lambda line: f.write(line + ' ' * (max_len - len(line)) + '\\\n')
+
+    write('#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)')
+    for w in workarounds:
+      write(indent + macro + '(' + w.upper() + ',')
+      write(indent + ' ' * (len(macro) + 1) + w + ')')
+
+    # one extra line to consume the the last \
+    f.write('// The End\n')
+
+
+def main(argv):
+  usage = "usage: %prog [options] file1 file2 file3 etc"
+  parser = OptionParser(usage=usage)
+  parser.add_option(
+      "--output-file",
+      dest="output_file",
+      default="gpu_driver_bug_workaround_autogen.h",
+      help="the name of the header file to write")
+
+  (options, _) = parser.parse_args(args=argv)
+
+  workarounds = merge_files_into_workarounds(parser.largs)
+  write_header(options.output_file, workarounds)
+
+
+if __name__ == '__main__':
+  sys.exit(main(sys.argv[1:]))
diff --git a/gpu/config/gpu_driver_bug_workaround_type.h b/gpu/config/gpu_driver_bug_workaround_type.h
index 690ad3c..3529851 100644
--- a/gpu/config/gpu_driver_bug_workaround_type.h
+++ b/gpu/config/gpu_driver_bug_workaround_type.h
@@ -7,230 +7,9 @@
 
 #include <string>
 
+#include "gpu/config/gpu_driver_bug_workaround_autogen.h"
 #include "gpu/gpu_export.h"
 
-// Clang format is toggled off here so that newlines can be kept consistent
-// throughout the table.
-// clang-format off
-#define GPU_DRIVER_BUG_WORKAROUNDS(GPU_OP)                   \
-  GPU_OP(ADD_AND_TRUE_TO_LOOP_CONDITION,                     \
-         add_and_true_to_loop_condition)                     \
-  GPU_OP(ADJUST_SRC_DST_REGION_FOR_BLITFRAMEBUFFER,          \
-         adjust_src_dst_region_for_blitframebuffer)          \
-  GPU_OP(AVOID_EGL_IMAGE_TARGET_TEXTURE_REUSE,               \
-         avoid_egl_image_target_texture_reuse)               \
-  GPU_OP(AVOID_ONE_COMPONENT_EGL_IMAGES,                     \
-         avoid_one_component_egl_images)                     \
-  GPU_OP(AVOID_STENCIL_BUFFERS,                              \
-         avoid_stencil_buffers)                              \
-  GPU_OP(BROKEN_EGL_IMAGE_REF_COUNTING,                      \
-         broken_egl_image_ref_counting)                      \
-  GPU_OP(CLEAR_TO_ZERO_OR_ONE_BROKEN,                        \
-         clear_to_zero_or_one_broken)                        \
-  GPU_OP(CLEAR_UNIFORMS_BEFORE_FIRST_PROGRAM_USE,            \
-         clear_uniforms_before_first_program_use)            \
-  GPU_OP(COUNT_ALL_IN_VARYINGS_PACKING,                      \
-         count_all_in_varyings_packing)                      \
-  GPU_OP(DECODE_ENCODE_SRGB_FOR_GENERATEMIPMAP,              \
-         decode_encode_srgb_for_generatemipmap)              \
-  GPU_OP(DEPTH_STENCIL_RENDERBUFFER_RESIZE_EMULATION,        \
-         depth_stencil_renderbuffer_resize_emulation)        \
-  GPU_OP(DISABLE_ACCELERATED_VPX_DECODE,                     \
-         disable_accelerated_vpx_decode)                     \
-  GPU_OP(DISABLE_ASYNC_READPIXELS,                           \
-         disable_async_readpixels)                           \
-  GPU_OP(DISABLE_AV_SAMPLE_BUFFER_DISPLAY_LAYER,             \
-         disable_av_sample_buffer_display_layer)             \
-  GPU_OP(DISABLE_BLEND_EQUATION_ADVANCED,                    \
-         disable_blend_equation_advanced)                    \
-  GPU_OP(DISABLE_CHROMIUM_FRAMEBUFFER_MULTISAMPLE,           \
-         disable_chromium_framebuffer_multisample)           \
-  GPU_OP(DISABLE_D3D11,                                      \
-         disable_d3d11)                                      \
-  GPU_OP(DISABLE_DELAYED_COPY_NV12,                          \
-         disable_delayed_copy_nv12)                          \
-  GPU_OP(DISABLE_DEPTH_TEXTURE,                              \
-         disable_depth_texture)                              \
-  GPU_OP(DISABLE_DIRECT_COMPOSITION,                         \
-         disable_direct_composition)                         \
-  GPU_OP(DISABLE_DISCARD_FRAMEBUFFER,                        \
-         disable_discard_framebuffer)                        \
-  GPU_OP(DISABLE_DXGI_ZERO_COPY_VIDEO,                       \
-         disable_dxgi_zero_copy_video)                       \
-  GPU_OP(DISABLE_ES3_GL_CONTEXT,                             \
-         disable_es3_gl_context)                             \
-  GPU_OP(DISABLE_EXT_DRAW_BUFFERS,                           \
-         disable_ext_draw_buffers)                           \
-  GPU_OP(DISABLE_FRAMEBUFFER_CMAA,                           \
-         disable_framebuffer_cmaa)                           \
-  GPU_OP(DISABLE_GL_RGB_FORMAT,                              \
-         disable_gl_rgb_format)                              \
-  GPU_OP(DISABLE_LARGER_THAN_SCREEN_OVERLAYS,                \
-         disable_larger_than_screen_overlays)                \
-  GPU_OP(DISABLE_NON_EMPTY_POST_SUB_BUFFERS_FOR_ONSCREEN_SURFACES, \
-         disable_non_empty_post_sub_buffers_for_onscreen_surfaces) \
-  GPU_OP(DISABLE_NV12_DXGI_VIDEO,                            \
-         disable_nv12_dxgi_video)                            \
-  GPU_OP(DISABLE_OVERLAY_CA_LAYERS,                          \
-         disable_overlay_ca_layers)                          \
-  GPU_OP(DISABLE_POST_SUB_BUFFERS_FOR_ONSCREEN_SURFACES,     \
-         disable_post_sub_buffers_for_onscreen_surfaces)     \
-  GPU_OP(DISABLE_PROGRAM_CACHE,                              \
-         disable_program_cache)                              \
-  GPU_OP(DISABLE_PROGRAM_CACHING_FOR_TRANSFORM_FEEDBACK,     \
-         disable_program_caching_for_transform_feedback)     \
-  GPU_OP(DISABLE_PROGRAM_DISK_CACHE,                         \
-         disable_program_disk_cache)                         \
-  GPU_OP(DISABLE_SOFTWARE_TO_ACCELERATED_CANVAS_UPGRADE,     \
-         disable_software_to_accelerated_canvas_upgrade)     \
-  GPU_OP(DISABLE_TEXTURE_CUBE_MAP_SEAMLESS,                  \
-         disable_texture_cube_map_seamless)                  \
-  GPU_OP(DISABLE_TEXTURE_STORAGE,                            \
-         disable_texture_storage)                            \
-  GPU_OP(DISABLE_TIMESTAMP_QUERIES,                          \
-         disable_timestamp_queries)                          \
-  GPU_OP(DISABLE_MULTISAMPLING_COLOR_MASK_USAGE,             \
-         disable_multisampling_color_mask_usage)             \
-  GPU_OP(DISABLE_WEBGL_RGB_MULTISAMPLING_USAGE,              \
-         disable_webgl_rgb_multisampling_usage)              \
-  GPU_OP(DISALLOW_LARGE_INSTANCED_DRAW,                      \
-         disallow_large_instanced_draw)                      \
-  GPU_OP(DONT_DISABLE_WEBGL_WHEN_COMPOSITOR_CONTEXT_LOST,    \
-         dont_disable_webgl_when_compositor_context_lost)    \
-  GPU_OP(DONT_INITIALIZE_UNINITIALIZED_LOCALS,               \
-         dont_initialize_uninitialized_locals)               \
-  GPU_OP(DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT,           \
-         dont_remove_invariant_for_fragment_input)           \
-  GPU_OP(DONT_USE_EGLCLIENTWAITSYNC_WITH_TIMEOUT,            \
-         dont_use_eglclientwaitsync_with_timeout)            \
-  GPU_OP(DONT_USE_LOOPS_TO_INITIALIZE_VARIABLES,             \
-         dont_use_loops_to_initialize_variables)             \
-  GPU_OP(ETC1_POWER_OF_TWO_ONLY,                             \
-         etc1_power_of_two_only)                             \
-  GPU_OP(EMULATE_ABS_INT_FUNCTION,                           \
-         emulate_abs_int_function)                           \
-  GPU_OP(EMULATE_ISNAN_ON_FLOAT,                             \
-         emulate_isnan_on_float)                             \
-  GPU_OP(EXIT_ON_CONTEXT_LOST,                               \
-         exit_on_context_lost)                               \
-  GPU_OP(FLUSH_ON_FRAMEBUFFER_CHANGE,                        \
-         flush_on_framebuffer_change)                        \
-  GPU_OP(FORCE_CUBE_COMPLETE,                                \
-         force_cube_complete)                                \
-  GPU_OP(FORCE_CUBE_MAP_POSITIVE_X_ALLOCATION,               \
-         force_cube_map_positive_x_allocation)               \
-  GPU_OP(FORCE_DISCRETE_GPU,                                 \
-         force_discrete_gpu)                                 \
-  GPU_OP(FORCE_INTEGRATED_GPU,                               \
-         force_integrated_gpu)                               \
-  GPU_OP(FORCE_INT_OR_SRGB_CUBE_TEXTURE_COMPLETE,            \
-         force_int_or_srgb_cube_texture_complete)            \
-  GPU_OP(FORCE_UPDATE_SCISSOR_STATE_WHEN_BINDING_FBO0,       \
-         force_update_scissor_state_when_binding_fbo0)       \
-  GPU_OP(GET_FRAG_DATA_INFO_BUG,                             \
-         get_frag_data_info_bug)                             \
-  GPU_OP(GL_CLEAR_BROKEN,                                    \
-         gl_clear_broken)                                    \
-  GPU_OP(IGNORE_EGL_SYNC_FAILURES,                           \
-         ignore_egl_sync_failures)                           \
-  GPU_OP(INIT_GL_POSITION_IN_VERTEX_SHADER,                  \
-         init_gl_position_in_vertex_shader)                  \
-  GPU_OP(INIT_ONE_CUBE_MAP_LEVEL_BEFORE_COPYTEXIMAGE,        \
-         init_one_cube_map_level_before_copyteximage)        \
-  GPU_OP(INIT_TEXTURE_MAX_ANISOTROPY,                        \
-         init_texture_max_anisotropy)                        \
-  GPU_OP(INIT_TWO_CUBE_MAP_LEVELS_BEFORE_COPYTEXIMAGE,       \
-         init_two_cube_map_levels_before_copyteximage)       \
-  GPU_OP(INIT_VERTEX_ATTRIBUTES,                             \
-         init_vertex_attributes)                             \
-  GPU_OP(MAX_COPY_TEXTURE_CHROMIUM_SIZE_1048576,             \
-         max_copy_texture_chromium_size_1048576)             \
-  GPU_OP(MAX_COPY_TEXTURE_CHROMIUM_SIZE_262144,              \
-         max_copy_texture_chromium_size_262144)              \
-  GPU_OP(MAX_FRAGMENT_UNIFORM_VECTORS_32,                    \
-         max_fragment_uniform_vectors_32)                    \
-  GPU_OP(MAX_MSAA_SAMPLE_COUNT_4,                             \
-         max_msaa_sample_count_4)                             \
-  GPU_OP(MAX_TEXTURE_SIZE_LIMIT_4096,                        \
-         max_texture_size_limit_4096)                        \
-  GPU_OP(MAX_VARYING_VECTORS_16,                             \
-         max_varying_vectors_16)                             \
-  GPU_OP(MAX_VERTEX_UNIFORM_VECTORS_256,                     \
-         max_vertex_uniform_vectors_256)                     \
-  GPU_OP(MSAA_IS_SLOW,                                       \
-         msaa_is_slow)                                       \
-  GPU_OP(MULTISAMPLE_RENDERBUFFER_RESIZE_EMULATION,          \
-         multisample_renderbuffer_resize_emulation)          \
-  GPU_OP(NEEDS_OFFSCREEN_BUFFER_WORKAROUND,                  \
-         needs_offscreen_buffer_workaround)                  \
-  GPU_OP(PACK_PARAMETERS_WORKAROUND_WITH_PACK_BUFFER,        \
-         pack_parameters_workaround_with_pack_buffer)        \
-  GPU_OP(REBIND_TRANSFORM_FEEDBACK_BEFORE_RESUME,            \
-         rebind_transform_feedback_before_resume)            \
-  GPU_OP(REGENERATE_STRUCT_NAMES,                            \
-         regenerate_struct_names)                            \
-  GPU_OP(RELY_ON_IMPLICIT_SYNC_FOR_SWAP_BUFFERS,             \
-         rely_on_implicit_sync_for_swap_buffers)             \
-  GPU_OP(REMOVE_INVARIANT_AND_CENTROID_FOR_ESSL3,            \
-         remove_invariant_and_centroid_for_essl3)            \
-  GPU_OP(REMOVE_POW_WITH_CONSTANT_EXPONENT,                  \
-         remove_pow_with_constant_exponent)                  \
-  GPU_OP(RESET_BASE_MIPMAP_LEVEL_BEFORE_TEXSTORAGE,          \
-         reset_base_mipmap_level_before_texstorage)          \
-  GPU_OP(RESET_TEXIMAGE2D_BASE_LEVEL,                        \
-         reset_teximage2d_base_level)                        \
-  GPU_OP(RESTORE_SCISSOR_ON_FBO_CHANGE,                      \
-         restore_scissor_on_fbo_change)                      \
-  GPU_OP(REWRITE_DO_WHILE_LOOPS,                             \
-         rewrite_do_while_loops)                             \
-  GPU_OP(REWRITE_FLOAT_UNARY_MINUS_OPERATOR,                 \
-         rewrite_float_unary_minus_operator)                 \
-  GPU_OP(REWRITE_TEXELFETCHOFFSET_TO_TEXELFETCH,             \
-         rewrite_texelfetchoffset_to_texelfetch)             \
-  GPU_OP(SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS,             \
-         scalarize_vec_and_mat_constructor_args)             \
-  GPU_OP(SET_ZERO_LEVEL_BEFORE_GENERATING_MIPMAP,            \
-         set_zero_level_before_generating_mipmap)            \
-  GPU_OP(SIMULATE_OUT_OF_MEMORY_ON_LARGE_TEXTURES,           \
-         simulate_out_of_memory_on_large_textures)           \
-  GPU_OP(TEXSUBIMAGE_FASTER_THAN_TEXIMAGE,                   \
-         texsubimage_faster_than_teximage)                   \
-  GPU_OP(UNBIND_ATTACHMENTS_ON_BOUND_RENDER_FBO_DELETE,      \
-         unbind_attachments_on_bound_render_fbo_delete)      \
-  GPU_OP(UNBIND_EGL_CONTEXT_TO_FLUSH_DRIVER_CACHES,          \
-         unbind_egl_context_to_flush_driver_caches)          \
-  GPU_OP(UNBIND_FBO_ON_CONTEXT_SWITCH,                       \
-         unbind_fbo_on_context_switch)                       \
-  GPU_OP(UNFOLD_SHORT_CIRCUIT_AS_TERNARY_OPERATION,          \
-         unfold_short_circuit_as_ternary_operation)          \
-  GPU_OP(UNPACK_ALIGNMENT_WORKAROUND_WITH_UNPACK_BUFFER,     \
-         unpack_alignment_workaround_with_unpack_buffer)     \
-  GPU_OP(UNPACK_IMAGE_HEIGHT_WORKAROUND_WITH_UNPACK_BUFFER,  \
-         unpack_image_height_workaround_with_unpack_buffer)  \
-  GPU_OP(UNPACK_OVERLAPPING_ROWS_SEPARATELY_UNPACK_BUFFER,   \
-         unpack_overlapping_rows_separately_unpack_buffer)   \
-  GPU_OP(USE_CLIENT_SIDE_ARRAYS_FOR_STREAM_BUFFERS,          \
-         use_client_side_arrays_for_stream_buffers)          \
-  GPU_OP(USE_GPU_DRIVER_WORKAROUND_FOR_TESTING,              \
-         use_gpu_driver_workaround_for_testing)              \
-  GPU_OP(USE_INTERMEDIARY_FOR_COPY_TEXTURE_IMAGE,            \
-         use_intermediary_for_copy_texture_image)            \
-  GPU_OP(USE_NON_ZERO_SIZE_FOR_CLIENT_SIDE_STREAM_BUFFERS,   \
-         use_non_zero_size_for_client_side_stream_buffers)   \
-  GPU_OP(USE_SHADOWED_TEX_LEVEL_PARAMS,                      \
-         use_shadowed_tex_level_params)                      \
-  GPU_OP(USE_UNUSED_STANDARD_SHARED_BLOCKS,                  \
-         use_unused_standard_shared_blocks)                  \
-  GPU_OP(USE_VIRTUALIZED_GL_CONTEXTS,                        \
-         use_virtualized_gl_contexts)                        \
-  GPU_OP(VALIDATE_MULTISAMPLE_BUFFER_ALLOCATION,             \
-         validate_multisample_buffer_allocation)             \
-  GPU_OP(WAKE_UP_GPU_BEFORE_DRAWING,                         \
-         wake_up_gpu_before_drawing)                         \
-// NOTE: Add new workarounds in alphabetical order.
-
-// clang-format on
-
 namespace gpu {
 
 // Provides all types of GPU driver bug workarounds.
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
new file mode 100644
index 0000000..7569da1
--- /dev/null
+++ b/gpu/config/gpu_workaround_list.txt
@@ -0,0 +1,107 @@
+add_and_true_to_loop_condition
+adjust_src_dst_region_for_blitframebuffer
+avoid_egl_image_target_texture_reuse
+avoid_one_component_egl_images
+avoid_stencil_buffers
+broken_egl_image_ref_counting
+clear_to_zero_or_one_broken
+clear_uniforms_before_first_program_use
+count_all_in_varyings_packing
+decode_encode_srgb_for_generatemipmap
+depth_stencil_renderbuffer_resize_emulation
+disable_accelerated_vpx_decode
+disable_async_readpixels
+disable_av_sample_buffer_display_layer
+disable_blend_equation_advanced
+disable_chromium_framebuffer_multisample
+disable_d3d11
+disable_delayed_copy_nv12
+disable_depth_texture
+disable_direct_composition
+disable_discard_framebuffer
+disable_dxgi_zero_copy_video
+disable_es3_gl_context
+disable_ext_draw_buffers
+disable_framebuffer_cmaa
+disable_gl_rgb_format
+disable_larger_than_screen_overlays
+disable_non_empty_post_sub_buffers_for_onscreen_surfaces
+disable_nv12_dxgi_video
+disable_overlay_ca_layers
+disable_post_sub_buffers_for_onscreen_surfaces
+disable_program_cache
+disable_program_caching_for_transform_feedback
+disable_program_disk_cache
+disable_software_to_accelerated_canvas_upgrade
+disable_texture_cube_map_seamless
+disable_texture_storage
+disable_timestamp_queries
+disable_multisampling_color_mask_usage
+disable_webgl_rgb_multisampling_usage
+disallow_large_instanced_draw
+dont_disable_webgl_when_compositor_context_lost
+dont_initialize_uninitialized_locals
+dont_remove_invariant_for_fragment_input
+dont_use_eglclientwaitsync_with_timeout
+dont_use_loops_to_initialize_variables
+etc1_power_of_two_only
+emulate_abs_int_function
+emulate_isnan_on_float
+exit_on_context_lost
+flush_on_framebuffer_change
+force_cube_complete
+force_cube_map_positive_x_allocation
+force_discrete_gpu
+force_integrated_gpu
+force_int_or_srgb_cube_texture_complete
+force_update_scissor_state_when_binding_fbo0
+get_frag_data_info_bug
+gl_clear_broken
+ignore_egl_sync_failures
+init_gl_position_in_vertex_shader
+init_one_cube_map_level_before_copyteximage
+init_texture_max_anisotropy
+init_two_cube_map_levels_before_copyteximage
+init_vertex_attributes
+max_copy_texture_chromium_size_1048576
+max_copy_texture_chromium_size_262144
+max_fragment_uniform_vectors_32
+max_msaa_sample_count_4
+max_texture_size_limit_4096
+max_varying_vectors_16
+max_vertex_uniform_vectors_256
+msaa_is_slow
+multisample_renderbuffer_resize_emulation
+needs_offscreen_buffer_workaround
+pack_parameters_workaround_with_pack_buffer
+rebind_transform_feedback_before_resume
+regenerate_struct_names
+rely_on_implicit_sync_for_swap_buffers
+remove_invariant_and_centroid_for_essl3
+remove_pow_with_constant_exponent
+reset_base_mipmap_level_before_texstorage
+reset_teximage2d_base_level
+restore_scissor_on_fbo_change
+rewrite_do_while_loops
+rewrite_float_unary_minus_operator
+rewrite_texelfetchoffset_to_texelfetch
+scalarize_vec_and_mat_constructor_args
+set_zero_level_before_generating_mipmap
+simulate_out_of_memory_on_large_textures
+texsubimage_faster_than_teximage
+unbind_attachments_on_bound_render_fbo_delete
+unbind_egl_context_to_flush_driver_caches
+unbind_fbo_on_context_switch
+unfold_short_circuit_as_ternary_operation
+unpack_alignment_workaround_with_unpack_buffer
+unpack_image_height_workaround_with_unpack_buffer
+unpack_overlapping_rows_separately_unpack_buffer
+use_client_side_arrays_for_stream_buffers
+use_gpu_driver_workaround_for_testing
+use_intermediary_for_copy_texture_image
+use_non_zero_size_for_client_side_stream_buffers
+use_shadowed_tex_level_params
+use_unused_standard_shared_blocks
+use_virtualized_gl_contexts
+validate_multisample_buffer_allocation
+wake_up_gpu_before_drawing
diff --git a/gpu/config/process_json.py b/gpu/config/process_json.py
index 03910fc..8465760 100755
--- a/gpu/config/process_json.py
+++ b/gpu/config/process_json.py
@@ -698,7 +698,7 @@
 
 def process_gpu_driver_bug_list(script_dir, output_dir, os_filter):
   total_features = load_gpu_driver_bug_workarounds(
-      os.path.join(script_dir, 'gpu_driver_bug_workaround_type.h'))
+      os.path.join(output_dir, 'gpu_driver_bug_workaround_autogen.h'))
   process_json_file(
       os.path.join(script_dir, 'gpu_driver_bug_list.json'),
       'GpuDriverBugList',
diff --git a/gpu/ipc/service/gpu_vsync_provider_win.cc b/gpu/ipc/service/gpu_vsync_provider_win.cc
index 4b1daf1..78af1be4 100644
--- a/gpu/ipc/service/gpu_vsync_provider_win.cc
+++ b/gpu/ipc/service/gpu_vsync_provider_win.cc
@@ -95,7 +95,7 @@
     kGetMonitorInfo = 1,
     kOpenAdapter = 2,
     kWaitForVBlankEvent = 3,
-    kMaxValue = 4
+    kMaxValue = kWaitForVBlankEvent,
   };
 
   void Reschedule();
@@ -353,8 +353,7 @@
 }
 
 void GpuVSyncWorker::ReportErrorCode(WaitForVBlankErrorCode error_code) {
-  UMA_HISTOGRAM_ENUMERATION("GPU.WaitForVBlankErrorCode", error_code,
-                            WaitForVBlankErrorCode::kMaxValue);
+  UMA_HISTOGRAM_ENUMERATION("GPU.WaitForVBlankErrorCode", error_code);
 }
 
 void GpuVSyncWorker::AddTimestamp(base::TimeTicks timestamp) {
diff --git a/infra/config/branch/cq.cfg b/infra/config/branch/cq.cfg
index bac54c7..0c3f2eb 100644
--- a/infra/config/branch/cq.cfg
+++ b/infra/config/branch/cq.cfg
@@ -31,7 +31,16 @@
   try_job {
     buckets {
       name: "luci.chromium.try"
+      builders { name: "cast_shell_linux" }
+      builders { name: "chromium_presubmit" }
       builders { name: "fuchsia_arm64" }
+      builders { name: "linux_chromium_compile_dbg_ng" }
+      builders { name: "linux_chromium_rel_ng" }
+      builders { name: "mac_chromium_compile_dbg_ng" }
+      builders { name: "mac_chromium_rel_ng" }
+      builders { name: "win_chromium_compile_dbg_ng" }
+
+      # TODO(ehmaldonado): remove this fake builder.
       builders {
         name: "linux_chromium_compile_rel_ng_patch_on_gclient"
         experiment_percentage: 5
@@ -86,14 +95,6 @@
     buckets {
       name: "master.tryserver.chromium.linux"
       builders {
-        name: "cast_shell_linux"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 100 }
-      }
-      builders {
-        name: "chromium_presubmit"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 100 }
-      }
-      builders {
         name: "fuchsia_x64"
         equivalent_to { bucket: "luci.chromium.try" percentage: 10 }
       }
@@ -106,10 +107,6 @@
         equivalent_to { bucket: "luci.chromium.try" percentage: 0 }
       }
       builders {
-        name: "linux_chromium_compile_dbg_ng"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 100 }
-      }
-      builders {
         name: "linux_chromium_headless_rel"
         equivalent_to { bucket: "luci.chromium.try" percentage: 0 }
       }
@@ -118,10 +115,6 @@
         equivalent_to { bucket: "luci.chromium.try" percentage: 0 }
       }
       builders {
-        name: "linux_chromium_rel_ng"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 100 }
-      }
-      builders {
         # Temporary addition to gather data for LUCI migration.
         # https://crbug.com/783000
         name: "fuchsia_arm64_cast_audio"
@@ -155,14 +148,6 @@
         name: "ios-simulator-xcode-clang"
         experiment_percentage: 10
       }
-      builders {
-        name: "mac_chromium_compile_dbg_ng"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 100 }
-      }
-      builders {
-        name: "mac_chromium_rel_ng"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 50 }
-      }
     }
     buckets {
       name: "master.tryserver.chromium.win"
@@ -179,10 +164,6 @@
         equivalent_to { bucket: "luci.chromium.try" percentage: 0 }
       }
       builders {
-        name: "win_chromium_compile_dbg_ng"
-        equivalent_to { bucket: "luci.chromium.try" percentage: 100 }
-      }
-      builders {
         name: "win7_chromium_rel_loc_exp"
         experiment_percentage: 20
       }
diff --git a/infra/config/global/cr-buildbucket.cfg b/infra/config/global/cr-buildbucket.cfg
index 07793ce0..09ef134e 100644
--- a/infra/config/global/cr-buildbucket.cfg
+++ b/infra/config/global/cr-buildbucket.cfg
@@ -283,6 +283,22 @@
 }
 
 builder_mixins {
+  name: "ios-ci"
+  mixins: "mac-ci"
+  recipe {
+    name: "ios/unified_builder_tester"
+  }
+}
+
+builder_mixins {
+  name: "ios-try"
+  mixins: "mac-try"
+  recipe {
+    name: "ios/try"
+  }
+}
+
+builder_mixins {
   name: "mac-gpu-ci"
   mixins: "mac"
   recipe {
@@ -806,6 +822,7 @@
     builders {
       name: "Mac FYI GPU ASAN Release"
       mixins: "mac-gpu-fyi-ci"
+      execution_timeout_secs: 14400  # 4h
     }
     builders {
       name: "Mac FYI dEQP Release AMD"
@@ -816,6 +833,14 @@
       mixins: "mac-gpu-fyi-ci"
     }
 
+    # iOS bots.
+    builders { mixins: "ios-ci" name: "ios-device" }
+    builders { mixins: "ios-ci" name: "ios-device-xcode-clang" }
+    builders { mixins: "ios-ci" name: "ios-simulator" }
+    builders { mixins: "ios-ci" name: "ios-simulator-full-configs" }
+    builders { mixins: "ios-ci" name: "ios-simulator-xcode-clang" }
+    builders { mixins: "ios-ci" mixins: "fyi-ci" name: "ios-simulator-cronet" }
+
     # Win bots.
     builders {
       name: "Win Builder"
@@ -1165,12 +1190,12 @@
     builders { mixins: "linux-try" name: "linux_site_isolation" }
     builders { mixins: "linux-try" name: "linux_upload_clang" }
 
-    builders { mixins: "mac-try" name: "ios-device" }
-    builders { mixins: "mac-try" name: "ios-device-xcode-clang" }
-    builders { mixins: "mac-try" name: "ios-simulator" }
-    builders { mixins: "mac-try" name: "ios-simulator-cronet" }
-    builders { mixins: "mac-try" name: "ios-simulator-eg" }
-    builders { mixins: "mac-try" name: "ios-simulator-xcode-clang" }
+    builders { mixins: "ios-try" name: "ios-device" }
+    builders { mixins: "ios-try" name: "ios-device-xcode-clang" }
+    builders { mixins: "ios-try" name: "ios-simulator" }
+    builders { mixins: "ios-try" name: "ios-simulator-cronet" }
+    builders { mixins: "ios-try" name: "ios-simulator-eg" }
+    builders { mixins: "ios-try" name: "ios-simulator-xcode-clang" }
     builders { mixins: "mac-angle-try" name: "mac_angle_compile_dbg_ng" }
     builders { mixins: "mac-angle-try" name: "mac_angle_dbg_ng" }
     builders { mixins: "mac-angle-try" name: "mac_angle_rel_ng" }
diff --git a/infra/config/global/luci-milo-dev.cfg b/infra/config/global/luci-milo-dev.cfg
index 7769d75..8410715 100644
--- a/infra/config/global/luci-milo-dev.cfg
+++ b/infra/config/global/luci-milo-dev.cfg
@@ -3008,10 +3008,6 @@
     category: "android"
   }
   builders: {
-    name: "buildbot/chromium.perf.fyi/Battor Agent Linux"
-    category: "battor"
-  }
-  builders: {
     name: "buildbot/chromium.perf.fyi/Battor Agent Mac"
     category: "battor"
   }
diff --git a/infra/config/global/luci-milo.cfg b/infra/config/global/luci-milo.cfg
index 70800ae7..8c8cde0 100644
--- a/infra/config/global/luci-milo.cfg
+++ b/infra/config/global/luci-milo.cfg
@@ -335,43 +335,36 @@
   }
 
   builders: {
-    name: "buildbot/chromium.mac/Mac Builder"
     name: "buildbucket/luci.chromium.ci/Mac Builder"
     category: "chromium.mac|release"
     short_name: "bld"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.10 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.10 Tests"
     category: "chromium.mac|release|tester"
     short_name: "10"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.11 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.11 Tests"
     category: "chromium.mac|release|tester"
     short_name: "11"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.12 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.12 Tests"
     category: "chromium.mac|release|tester"
     short_name: "12"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.13 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.13 Tests"
     category: "chromium.mac|release|tester"
     short_name: "13"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac Builder (dbg)"
     name: "buildbucket/luci.chromium.ci/Mac Builder (dbg)"
     category: "chromium.mac|debug"
     short_name: "bld"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.13 Tests (dbg)"
     name: "buildbucket/luci.chromium.ci/Mac10.13 Tests (dbg)"
     category: "chromium.mac|debug"
     short_name: "13"
@@ -811,43 +804,36 @@
   header_id: "chromium"
 
   builders: {
-    name: "buildbot/chromium.mac/Mac Builder"
     name: "buildbucket/luci.chromium.ci/Mac Builder"
     category: "release"
     short_name: "bld"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.10 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.10 Tests"
     category: "release|tester"
     short_name: "10"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.11 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.11 Tests"
     category: "release|tester"
     short_name: "11"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.12 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.12 Tests"
     category: "release|tester"
     short_name: "12"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.13 Tests"
     name: "buildbucket/luci.chromium.ci/Mac10.13 Tests"
     category: "release|tester"
     short_name: "13"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac Builder (dbg)"
     name: "buildbucket/luci.chromium.ci/Mac Builder (dbg)"
     category: "debug"
     short_name: "bld"
   }
   builders: {
-    name: "buildbot/chromium.mac/Mac10.13 Tests (dbg)"
     name: "buildbucket/luci.chromium.ci/Mac10.13 Tests (dbg)"
     category: "debug"
     short_name: "13"
@@ -1883,140 +1869,6 @@
   }
 }
 
-consoles: {
-  # Additional migration console because the above has too many columns
-  # (builders) as of March 26, 2018.
-  # TODO(tandrii): remove this once https://crbug.com/790157 is complete.
-  id: "migration-side-by-side-of-macs"
-  name: "LUCI CI Mac Migration Comparison Console"
-  repo_url: "https://chromium.googlesource.com/chromium/src"
-  ref: "refs/heads/master"
-  manifest_name: "REVISION"
-  header_id: "chromium"
-  include_experimental_builds: true
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac Builder"
-    category: "builder"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.mac/Mac Builder"
-    category: "builder"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac10.10 Tests"
-    category: "tester|10.10"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.mac/Mac10.10 Tests"
-    category: "tester|10.10"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac10.11 Tests"
-    category: "tester|10.11"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.mac/Mac10.11 Tests"
-    category: "tester|10.11"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac10.12 Tests"
-    category: "tester|10.12"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.mac/Mac10.12 Tests"
-    category: "tester|10.12"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac10.13 Tests"
-    category: "tester|10.13"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.mac/Mac10.13 Tests"
-    category: "tester|10.13"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/GPU Mac Builder"
-    category: "gpu|builder"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.gpu/GPU Mac Builder"
-    category: "gpu|builder"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac Release (Intel)"
-    category: "gpu|tester|intel"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.gpu/Mac Release (Intel)"
-    category: "gpu|tester|intel"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac Retina Release (AMD)"
-    category: "gpu|tester|amd"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.gpu/Mac Retina Release (AMD)"
-    category: "gpu|tester|amd"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/GPU Mac Builder (dbg)"
-    category: "debug-gpu|builder"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.gpu/GPU Mac Builder (dbg)"
-    category: "debug-gpu|builder"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac Debug (Intel)"
-    category: "debug-gpu|tester|intel"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.gpu/Mac Debug (Intel)"
-    category: "debug-gpu|tester|intel"
-    short_name: "old"
-  }
-
-  builders: {
-    name: "buildbucket/luci.chromium.ci/Mac Retina Debug (AMD)"
-    category: "debug-gpu|tester|amd"
-    short_name: "new"
-  }
-  builders: {
-    name: "buildbot/chromium.gpu/Mac Retina Debug (AMD)"
-    category: "debug-gpu|tester|amd"
-    short_name: "old"
-  }
-}
-
 # Everything below was generated from buildermap.json.
 consoles: {
   id: "chromium"
@@ -3026,32 +2878,26 @@
     category: "Windows"
   }
   builders: {
-    name: "buildbot/chromium.gpu/GPU Mac Builder"
     name: "buildbucket/luci.chromium.ci/GPU Mac Builder"
     category: "Mac"
   }
   builders: {
-    name: "buildbot/chromium.gpu/GPU Mac Builder (dbg)"
     name: "buildbucket/luci.chromium.ci/GPU Mac Builder (dbg)"
     category: "Mac"
   }
   builders: {
-    name: "buildbot/chromium.gpu/Mac Debug (Intel)"
     name: "buildbucket/luci.chromium.ci/Mac Debug (Intel)"
     category: "Mac"
   }
   builders: {
-    name: "buildbot/chromium.gpu/Mac Release (Intel)"
     name: "buildbucket/luci.chromium.ci/Mac Release (Intel)"
     category: "Mac"
   }
   builders: {
-    name: "buildbot/chromium.gpu/Mac Retina Debug (AMD)"
     name: "buildbucket/luci.chromium.ci/Mac Retina Debug (AMD)"
     category: "Mac"
   }
   builders: {
-    name: "buildbot/chromium.gpu/Mac Retina Release (AMD)"
     name: "buildbucket/luci.chromium.ci/Mac Retina Release (AMD)"
     category: "Mac"
   }
@@ -3626,10 +3472,6 @@
     category: "android"
   }
   builders: {
-    name: "buildbot/chromium.perf.fyi/Battor Agent Linux"
-    category: "battor"
-  }
-  builders: {
     name: "buildbot/chromium.perf.fyi/Battor Agent Mac"
     category: "battor"
   }
diff --git a/ios/chrome/app/resources/Info.plist b/ios/chrome/app/resources/Info.plist
index c6a4950..4646d6e 100644
--- a/ios/chrome/app/resources/Info.plist
+++ b/ios/chrome/app/resources/Info.plist
@@ -126,6 +126,8 @@
 	<true/>
 	<key>UIStatusBarStyle</key>
 	<string>UIStatusBarStyleLightContent</string>
+	<key>UIStatusBarHidden</key>
+	<true/>
 	<key>UISupportedInterfaceOrientations</key>
 	<array>
 		<string>UIInterfaceOrientationPortrait</string>
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index 3a2f18d..e7197ef 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -595,7 +595,13 @@
         Install
       </message>
       <message name="IDS_IOS_DOWNLOAD_MANAGER_CANCEL_CONFIRMATION" desc="Alert title to confirm download cancellation [Length: 30em] [iOS only]">
-        Cancel Download?
+        Stop Download?
+      </message>
+      <message name="IDS_IOS_DOWNLOAD_MANAGER_CONTINUE" desc="The title of Continue button in the Stop Download? confirmation dialog [30em]">
+        Continue
+      </message>
+      <message name="IDS_IOS_DOWNLOAD_MANAGER_STOP" desc="The title of Stop button in the Stop Download? confirmation dialog [30em]">
+        Stop
       </message>
       <message name="IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION" desc="Alert title to confirm download old download replacement [Length: 30em] [iOS only]">
         Start New Download?
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index 8511385..06af061 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">ርዕስ</translation>
 <translation id="4038354071007134711">ፋይሉን መክፈት የሚችል መተግበሪያ በዚህ መሣሪያ ላይ የለም።</translation>
 <translation id="4049507953662678203">የአውታረ መረብ ግንኙነት እንዳለዎት ያረጋግጡና እንደገና ይሞክሩ።</translation>
+<translation id="4084682180776658562">ዕልባት</translation>
 <translation id="411254640334432676">ማውረድ አልተሳካም።</translation>
 <translation id="4121993058175073134">የተጣራ-ወደ-ውጭ-የሚላክ ውሂብ ለመላክ እባክዎ የኢሜይል መለያዎን በቅንብሮች መተግበሪያው ውስጥ ያዋቅሩ።</translation>
 <translation id="4124987746317609294">የጊዜ ወሰን</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 ንጥል</translation>
 <translation id="9100610230175265781">የይለፍ ሐረግ ያስፈልጋል</translation>
 <translation id="9148126808321036104">እንደገና ይግቡ</translation>
-<translation id="915371508759614899">ማውረድ ይቅር?</translation>
 <translation id="9157836665414082580">መገናኛዎችን አፍን</translation>
 <translation id="9188680907066685419">ከሚተዳደር መለያ ዘግግተህ ውጣ</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index beb2b23..e3fb15d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">العنوان</translation>
 <translation id="4038354071007134711">لا يمكن فتح هذا الملف بأي تطبيق موجود على هذا الجهاز.</translation>
 <translation id="4049507953662678203">تأكد من اتصالك بالشبكة، وأعد المحاولة.</translation>
+<translation id="4084682180776658562">إشارة</translation>
 <translation id="411254640334432676">فشلت عملية التنزيل</translation>
 <translation id="4121993058175073134">لإرسال بيانات تصدير الشبكة، يُرجى تهيئة حساب بريدك الإلكتروني في التطبيق "الإعدادات".</translation>
 <translation id="4124987746317609294">النطاق الزمني</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">عنصر واحد</translation>
 <translation id="9100610230175265781">عبارة المرور مطلوبة</translation>
 <translation id="9148126808321036104">تسجيل الدخول مرة أخرى</translation>
-<translation id="915371508759614899">هل تريد إلغاء التنزيل؟</translation>
 <translation id="9157836665414082580">إيقاف مربعات الحوار</translation>
 <translation id="9188680907066685419">تسجيل الخروج من الحساب المُدار</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index bfad0e5..2265de4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Заглавие</translation>
 <translation id="4038354071007134711">Няма приложение, което може да отвори файла.</translation>
 <translation id="4049507953662678203">Уверете се, че сте свързани с мрежа, и опитайте отново.</translation>
+<translation id="4084682180776658562">Отметка</translation>
 <translation id="411254640334432676">Изтеглянето не бе успешно.</translation>
 <translation id="4121993058175073134">За изпращане на експ. данни от мрежата конфиг. имейла си в Настройки.</translation>
 <translation id="4124987746317609294">Период от време</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 елемент</translation>
 <translation id="9100610230175265781">Изисква се пропуск</translation>
 <translation id="9148126808321036104">Влезте отново</translation>
-<translation id="915371508759614899">Да се анулира ли изтеглянето?</translation>
 <translation id="9157836665414082580">Диалогови прозорци: Блокиране</translation>
 <translation id="9188680907066685419">Излизане от управляван профил</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index d0412531..1551e61 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">শিরোনাম</translation>
 <translation id="4038354071007134711">এই ডিভাইসের কোনো অ্যাপ্লিকেশান ফাইলটি খুলতে পারবে না।</translation>
 <translation id="4049507953662678203">আপনি একটি নেটওয়ার্ক সংযোগে আছেন কিনা তা নিশ্চিত করুন এবং আবার চেষ্টা করুন।</translation>
+<translation id="4084682180776658562">বুকমার্ক</translation>
 <translation id="411254640334432676">ডাউনলোড ব্যর্থ হয়েছে।</translation>
 <translation id="4121993058175073134">নেট-রপ্তানি ডেটা পাঠানোর জন্য, দয়া করে সিস্টেম অ্যাপ্লিকেশানে আপনার ইমেল অ্যাকাউন্ট কনফিগার করুন৷</translation>
 <translation id="4124987746317609294">সময় সীমা</translation>
@@ -427,7 +428,6 @@
 <translation id="9083392325882095631">১টি আইটেম</translation>
 <translation id="9100610230175265781">পাসফ্রেজের প্রয়োজন</translation>
 <translation id="9148126808321036104">আবার প্রবেশ করুন</translation>
-<translation id="915371508759614899">ডাউনলোড বাতিল করবেন?</translation>
 <translation id="9157836665414082580">ডায়ালগ রুদ্ধ করুন</translation>
 <translation id="9188680907066685419">পরিচালিত অ্যাকাউন্ট থেকে প্রস্থান করুন</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index 3a7edf4..59a3fead 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Títol</translation>
 <translation id="4038354071007134711">Cap aplicació del dispos. no pot obrir el fitxer.</translation>
 <translation id="4049507953662678203">Assegureu-vos que teniu una connexió de xarxa i torneu-ho a provar.</translation>
+<translation id="4084682180776658562">Adreça d'interès</translation>
 <translation id="411254640334432676">S'ha produït un error durant la baixada.</translation>
 <translation id="4121993058175073134">Definiu el vostre compte de correu electrònic a l'aplicació Configuració per enviar dades d'exportació de xarxa.</translation>
 <translation id="4124987746317609294">Interval de temps</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 element</translation>
 <translation id="9100610230175265781">S'ha d'introduir una frase de contrasenya </translation>
 <translation id="9148126808321036104">Torneu a iniciar la sessió</translation>
-<translation id="915371508759614899">Vols cancel·lar la baixada?</translation>
 <translation id="9157836665414082580">Suprimeix quadres de diàleg</translation>
 <translation id="9188680907066685419">Tanqueu la sessió del compte gestionat</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index bc1c9df..1bbc962 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Název</translation>
 <translation id="4038354071007134711">Soubor nelze otevřít pomocí žádné aplikace v tomto zařízení.</translation>
 <translation id="4049507953662678203">Zkontrolujte, zda jste připojeni k síti a zkuste to znovu.</translation>
+<translation id="4084682180776658562">Záložka</translation>
 <translation id="411254640334432676">Stahování se nezdařilo.</translation>
 <translation id="4121993058175073134">Chcete-li odesílat data nástroje net-export, nakonfigurujte e-mailový účet v aplikaci Nastavení.</translation>
 <translation id="4124987746317609294">Časové období</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 položka</translation>
 <translation id="9100610230175265781">Je vyžadována heslová fráze</translation>
 <translation id="9148126808321036104">Znovu přihlásit</translation>
-<translation id="915371508759614899">Zrušit stahování?</translation>
 <translation id="9157836665414082580">Potlačit dialogová okna</translation>
 <translation id="9188680907066685419">Odhlásit se ze spravovaného účtu</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 68ff66f..86752b2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Ingen apps på denne enhed, der kan åbne filen.</translation>
 <translation id="4049507953662678203">Sørg for, at du har forbindelse til et netværk, og prøv igen.</translation>
+<translation id="4084682180776658562">Bogmærke</translation>
 <translation id="411254640334432676">Download mislykkedes.</translation>
 <translation id="4121993058175073134">For at sende oplysninger om nettoeksporten skal du konfigurere din e-mailkonto i appen Indstillinger.</translation>
 <translation id="4124987746317609294">Tidsinterval</translation>
@@ -236,9 +237,9 @@
 
 Handoff skal være aktiveret i afsnittet Generelt i Indstillinger, og dine enheder skal benytte den samme iCloud-konto.</translation>
 <translation id="5556459405103347317">Genindlæs</translation>
-<translation id="5619279135193775234">E-mail</translation>
+<translation id="5619279135193775234">Mail</translation>
 <translation id="5626245204502895507">Filen kunne ikke downloades på nuværende tidspunkt.</translation>
-<translation id="5659593005791499971">E-mail</translation>
+<translation id="5659593005791499971">Mail</translation>
 <translation id="5669528293118408608">www</translation>
 <translation id="567881659373499783">Version <ph name="PRODUCT_VERSION" /></translation>
 <translation id="5728700505257787410">Der var et problem med at logge ind på din konto.</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 element</translation>
 <translation id="9100610230175265781">Adgangssætning kræves</translation>
 <translation id="9148126808321036104">Log ind igen</translation>
-<translation id="915371508759614899">Vil du annullere downloaden?</translation>
 <translation id="9157836665414082580">Skjul dialogbokse</translation>
 <translation id="9188680907066685419">Log ud af den administrerede konto</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index fc0c0a1..c87cf15 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Keine App zum Öffnen der Datei auf diesem Gerät</translation>
 <translation id="4049507953662678203">Überprüfen Sie Ihre Netzwerkverbindung und versuchen Sie es noch einmal.</translation>
+<translation id="4084682180776658562">Lesezeichen</translation>
 <translation id="411254640334432676">Fehler beim Download</translation>
 <translation id="4121993058175073134">Zum Senden von Exportdaten E-Mail-Konto in App "Einstellungen" konfigurieren</translation>
 <translation id="4124987746317609294">Zeitraum</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 Element</translation>
 <translation id="9100610230175265781">Passphrase erforderlich</translation>
 <translation id="9148126808321036104">Erneut anmelden</translation>
-<translation id="915371508759614899">Download abbrechen?</translation>
 <translation id="9157836665414082580">Dialogfelder unterdrücken</translation>
 <translation id="9188680907066685419">Von verwaltetem Konto abmelden</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index 037673a..b4b883f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Τίτλος</translation>
 <translation id="4038354071007134711">Καμία εφαρμογή στη συσκευή για άνοιγμα αρχείου.</translation>
 <translation id="4049507953662678203">Βεβαιωθείτε ότι έχετε μια σύνδεση δικτύου και δοκιμάστε ξανά.</translation>
+<translation id="4084682180776658562">Σελιδοδείκτης</translation>
 <translation id="411254640334432676">Αποτυχία λήψης.</translation>
 <translation id="4121993058175073134">Για αποστ. δεδομ.εξαγ.δικτ.,διαμορφ. το email σας στην εφ. "Ρυθμίσεις"</translation>
 <translation id="4124987746317609294">Χρονικό εύρος</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 στοιχείο</translation>
 <translation id="9100610230175265781">Απαιτείται φράση πρόσβασης</translation>
 <translation id="9148126808321036104">Συνδεθείτε ξανά</translation>
-<translation id="915371508759614899">Να ακυρωθεί η λήψη;</translation>
 <translation id="9157836665414082580">Απόκρυψη παραθύρων διαλόγου</translation>
 <translation id="9188680907066685419">Αποσύνδεση από διαχειριζόμενο λογαριασμό</translation>
 <translation id="9203116392574189331">Handoff</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 0ba2013..c002755 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Title</translation>
 <translation id="4038354071007134711">No application on this device can open the file.</translation>
 <translation id="4049507953662678203">Make sure you have a network connection, and try again.</translation>
+<translation id="4084682180776658562">Bookmark</translation>
 <translation id="411254640334432676">Download failed.</translation>
 <translation id="4121993058175073134">To send net-export data, please configure your email account in the Settings app.</translation>
 <translation id="4124987746317609294">Time Range</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Passphrase required</translation>
 <translation id="9148126808321036104">Sign in again</translation>
-<translation id="915371508759614899">Cancel download?</translation>
 <translation id="9157836665414082580">Suppress Dialogues</translation>
 <translation id="9188680907066685419">Sign out of managed account</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
index f11bd8f9..e86eabf4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Ninguna aplicación puede abrir el archivo.</translation>
 <translation id="4049507953662678203">Asegúrate de tener una conexión de red y vuelve a intentarlo.</translation>
+<translation id="4084682180776658562">Marcador</translation>
 <translation id="411254640334432676">Se produjo un error durante la descarga.</translation>
 <translation id="4121993058175073134">Configura cuenta en Configuración p/ enviar datos exportaciones netas.</translation>
 <translation id="4124987746317609294">Intervalo de tiempo</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 elemento</translation>
 <translation id="9100610230175265781">Se necesita una frase de contraseña.</translation>
 <translation id="9148126808321036104">Accede nuevamente</translation>
-<translation id="915371508759614899">¿Deseas cancelar la descarga?</translation>
 <translation id="9157836665414082580">Suprimir diálogos</translation>
 <translation id="9188680907066685419">Salir de la cuenta administrada</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index ac1ac21..7f009575 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -159,6 +159,7 @@
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="385051799172605136">Atrás</translation>
 <translation id="3897092660631435901">Menú</translation>
+<translation id="3915450441834151894">Información del sitio web</translation>
 <translation id="3928666092801078803">Combinar mis datos</translation>
 <translation id="3950820424414687140">Iniciar sesión</translation>
 <translation id="3963231839620026525">Nueva pestaña de incógnito</translation>
@@ -167,6 +168,7 @@
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Ninguna aplicación puede abrir el archivo.</translation>
 <translation id="4049507953662678203">Comprueba que tienes una conexión de red y vuelve a intentarlo.</translation>
+<translation id="4084682180776658562">Marcador</translation>
 <translation id="411254640334432676">Error de descarga.</translation>
 <translation id="4121993058175073134">Configura tu correo en Configuración para enviar datos de exportaciones netas.</translation>
 <translation id="4124987746317609294">Intervalo de tiempo</translation>
@@ -222,6 +224,7 @@
 <translation id="5197255632782567636">Internet</translation>
 <translation id="5228579091201413441">Habilitar sincronización</translation>
 <translation id="5244474230056479698">Sincronizando con <ph name="EMAIL" /></translation>
+<translation id="527973086555161537">Abre una pestaña para navegar por la Web de forma privada.</translation>
 <translation id="5300589172476337783">Mostrar</translation>
 <translation id="5317780077021120954">Guardar</translation>
 <translation id="5327248766486351172">Nombre</translation>
@@ -301,6 +304,7 @@
 <translation id="6445981559479772097">Mensaje enviado</translation>
 <translation id="6464071786529933911">Abrir en pestaña incógnito</translation>
 <translation id="6482629121755362506"><ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> elementos eliminados</translation>
+<translation id="6528048372317642110">La descarga de archivos está disponible</translation>
 <translation id="6541915733953096570">Hace una hora</translation>
 <translation id="6570040839871198836">Autocompletar</translation>
 <translation id="6656103420185847513">Editar carpeta</translation>
@@ -426,7 +430,6 @@
 <translation id="9083392325882095631">1 elemento</translation>
 <translation id="9100610230175265781">Se debe introducir una frase de contraseña</translation>
 <translation id="9148126808321036104">Volver a iniciar sesión</translation>
-<translation id="915371508759614899">¿Quieres cancelar la descarga?</translation>
 <translation id="9157836665414082580">Quitar cuadros de diálogo</translation>
 <translation id="9188680907066685419">Cierra sesión en la cuenta gestionada</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 3e661f37..fa986656 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Pealkiri</translation>
 <translation id="4038354071007134711">Seadme ükski rakendus ei saa seda faili avada.</translation>
 <translation id="4049507953662678203">Veenduge, et oleksite võrguga ühendatud, ja proovige uuesti.</translation>
+<translation id="4084682180776658562">Järjehoidja</translation>
 <translation id="411254640334432676">Allalaadimine ebaõnnestus.</translation>
 <translation id="4121993058175073134">Netiekspordi andmete saatmiseks seadistage meilikonto rakenduses Seaded.</translation>
 <translation id="4124987746317609294">Ajavahemik</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 üksus</translation>
 <translation id="9100610230175265781">Parool on vajalik</translation>
 <translation id="9148126808321036104">Logige uuesti sisse</translation>
-<translation id="915371508759614899">Kas tühistada allalaadimine?</translation>
 <translation id="9157836665414082580">Blokeeri dialoogid</translation>
 <translation id="9188680907066685419">Hallatud kontolt väljalogimine</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index d369beb..fd6a98e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -169,6 +169,7 @@
 <translation id="4002066346123236978">عنوان</translation>
 <translation id="4038354071007134711">برنامه‌ای در این دستگاه نمی‌تواند فایل را باز کند.</translation>
 <translation id="4049507953662678203">مطمئن شوید اتصال شبکه دارید و دوباره امتحان کنید.</translation>
+<translation id="4084682180776658562">نشانک</translation>
 <translation id="411254640334432676">بارگیری نشد.</translation>
 <translation id="4121993058175073134">برای ارسال داده‌های صادراتی شبکه، لطفاً حساب ایمیل‌تان را در برنامه تنظیمات پیکربندی کنید.</translation>
 <translation id="4124987746317609294">محدوده زمانی</translation>
@@ -430,7 +431,6 @@
 <translation id="9083392325882095631">۱ مورد</translation>
 <translation id="9100610230175265781">عبارت عبور لازم است</translation>
 <translation id="9148126808321036104">ورود مجدد به سیستم</translation>
-<translation id="915371508759614899">بارگیری لغو شود؟</translation>
 <translation id="9157836665414082580">توقف نمایش کادرهای گفتگو</translation>
 <translation id="9188680907066685419">خروج از حساب مدیریت‌شده</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index 2772ce4..08e9b8c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Nimi</translation>
 <translation id="4038354071007134711">Mikään laitteen sovellus ei voi avata tiedostoa.</translation>
 <translation id="4049507953662678203">Varmista, että käytössäsi on verkkoyhteys, ja yritä uudelleen.</translation>
+<translation id="4084682180776658562">Kirjanmerkki</translation>
 <translation id="411254640334432676">Lataus epäonnistui.</translation>
 <translation id="4121993058175073134">Tee sähköp.tilin määritykset asetuksissa lähettääksesi nettovientitiet.</translation>
 <translation id="4124987746317609294">Aikaväli</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 kohde</translation>
 <translation id="9100610230175265781">Tunnuslause tarvitaan</translation>
 <translation id="9148126808321036104">Kirjaudu sisään uudelleen</translation>
-<translation id="915371508759614899">Peruutetaanko lataus?</translation>
 <translation id="9157836665414082580">Estä valintaikkunat</translation>
 <translation id="9188680907066685419">Kirjaudu ulos hallinnoidulta tililtä</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index 44c10ce..6f7d5893 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Pamagat</translation>
 <translation id="4038354071007134711">Walang application sa device ang makakabukas nito.</translation>
 <translation id="4049507953662678203">Tiyaking mayroon kang koneksyon sa network, at subukang muli.</translation>
+<translation id="4084682180776658562">Bookmark</translation>
 <translation id="411254640334432676">Hindi na-download.</translation>
 <translation id="4121993058175073134">Upang makapagpadala ng net-export data, paki-configure ang iyong email account sa app ng Mga Setting.</translation>
 <translation id="4124987746317609294">Sakop na Oras</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Kinakailangan ang passphrase</translation>
 <translation id="9148126808321036104">Muling mag-sign in</translation>
-<translation id="915371508759614899">Kanselahin ang Pag-download?</translation>
 <translation id="9157836665414082580">Pigilan ang Mga Dialog</translation>
 <translation id="9188680907066685419">Mag-sign out sa pinamamahalaang account</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index b458894..604ed0c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titre</translation>
 <translation id="4038354071007134711">Aucune appli sur appareil ne peut ouvrir fichier.</translation>
 <translation id="4049507953662678203">Vérifiez si vous disposez bien d'une connexion réseau, puis réessayez.</translation>
+<translation id="4084682180776658562">Favori</translation>
 <translation id="411254640334432676">Échec du téléchargement.</translation>
 <translation id="4121993058175073134">Configurez compte mess. dans appli Paramètres pour envoyer données net-export.</translation>
 <translation id="4124987746317609294">Période</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 élément</translation>
 <translation id="9100610230175265781">Veuillez saisir la phrase secrète.</translation>
 <translation id="9148126808321036104">Nouvelle connexion</translation>
-<translation id="915371508759614899">Annuler le téléchargement ?</translation>
 <translation id="9157836665414082580">Supprimer les boîtes de dialogue</translation>
 <translation id="9188680907066685419">Se déconnecter d'un compte géré</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index 289f42b7..1f235158 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">શીર્ષક</translation>
 <translation id="4038354071007134711">આ ઉપકરણ પર કોઈ ઍપ્લિકેશન ફાઇલને ખોલી શકતી નથી.</translation>
 <translation id="4049507953662678203">તમારી પાસે નેટવર્ક કનેક્શન છે તેની ખાતરી કરો અને ફરીથી પ્રયાસ કરો.</translation>
+<translation id="4084682180776658562">બુકમાર્ક</translation>
 <translation id="411254640334432676">ડાઉનલોડ નિષ્ફળ થયું.</translation>
 <translation id="4121993058175073134">ચોખ્ખો-નિકાસ ડેટા મોકલવા માટે, કૃપા કરીને સેટિંગ્સ એપ્લિકેશનમાં તમારા ઇમેઇલ એકાઉન્ટને ગોઠવો.</translation>
 <translation id="4124987746317609294">સમય શ્રેણી</translation>
@@ -426,7 +427,6 @@
 <translation id="9083392325882095631">1 આઇટમ</translation>
 <translation id="9100610230175265781">પાસફ્રેઝ આવશ્યક છે</translation>
 <translation id="9148126808321036104">ફરીથી સાઇન ઇન કરો </translation>
-<translation id="915371508759614899">ડાઉનલોડ કરવાનું રદ કરીએ?</translation>
 <translation id="9157836665414082580">સંવાદો નાબૂદ કરો</translation>
 <translation id="9188680907066685419">સંચાલિત એકાઉન્ટમાંથી સાઇન આઉટ કરો</translation>
 <translation id="9203116392574189331">હેન્ડઓફ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 79346c37..315a97d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">शीर्षक</translation>
 <translation id="4038354071007134711">इस डिवाइस पर कोई भी ऐप्लिकेशन, फ़ाइल नहीं खोल सकता.</translation>
 <translation id="4049507953662678203">सुनिश्चित करें कि आपके पास नेटवर्क कनेक्शन है और फिर से प्रयास करें.</translation>
+<translation id="4084682180776658562">बुकमार्क</translation>
 <translation id="411254640334432676">डाउनलोड विफल रहा.</translation>
 <translation id="4121993058175073134">कुल निर्यात डेटा भेजने के लिए, कृपया सेटिंग ऐप्स में अपना ईमेल खाता कॉन्फ़िगर करें.</translation>
 <translation id="4124987746317609294">समय सीमा</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 आइटम</translation>
 <translation id="9100610230175265781">पासफ़्रेज़ आवश्यक</translation>
 <translation id="9148126808321036104">पुन: प्रवेश करें</translation>
-<translation id="915371508759614899">डाउनलोड रोकें?</translation>
 <translation id="9157836665414082580">संवाद छिपाएं</translation>
 <translation id="9188680907066685419">प्रबंधित खाते से प्रस्थान करें</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index d6769c2..14f9fad9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Naslov</translation>
 <translation id="4038354071007134711">Na ovom uređaju nema aplikacije za tu datoteku.</translation>
 <translation id="4049507953662678203">Provjerite mrežnu vezu i pokušajte ponovo.</translation>
+<translation id="4084682180776658562">Oznaka</translation>
 <translation id="411254640334432676">Preuzimanje nije uspjelo.</translation>
 <translation id="4121993058175073134">Za slanje neto izvezenih datoteka konfigurirajte svoj račun e-pošte u aplikaciji Postavke.</translation>
 <translation id="4124987746317609294">Vremenski raspon</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 stavka</translation>
 <translation id="9100610230175265781">Potrebna je zaporka</translation>
 <translation id="9148126808321036104">Prijavite se ponovno</translation>
-<translation id="915371508759614899">Otkazati preuzimanje?</translation>
 <translation id="9157836665414082580">Izostavi dijaloge</translation>
 <translation id="9188680907066685419">Odjava s upravljanog računa</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index eeca0af..224ab23 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Cím</translation>
 <translation id="4038354071007134711">Nincs alkalmazás, amellyel megnyitható ez a fájl.</translation>
 <translation id="4049507953662678203">Győződjön meg róla, hogy rendelkezik hálózati kapcsolattal, majd próbálja újra.</translation>
+<translation id="4084682180776658562">Könyvjelző</translation>
 <translation id="411254640334432676">A letöltés sikertelen.</translation>
 <translation id="4121993058175073134">Net-export adatok küldéséhez, kérjük, konfigurálja e-mail fiókját a Beállítások alkalmazásban.</translation>
 <translation id="4124987746317609294">Időintervallum</translation>
@@ -430,7 +431,6 @@
 <translation id="9083392325882095631">1 elem</translation>
 <translation id="9100610230175265781">Összetett jelszó szükséges</translation>
 <translation id="9148126808321036104">Jelentkezzen be újra</translation>
-<translation id="915371508759614899">Megszakítja a letöltést?</translation>
 <translation id="9157836665414082580">Párbeszédablakok elrejtése</translation>
 <translation id="9188680907066685419">Kijelentkezés felügyelt fiókból</translation>
 <translation id="9203116392574189331">Átadás</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index abc3b83..7956cc8a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Judul</translation>
 <translation id="4038354071007134711">Tidak ada aplikasi di perangkat ini yang dapat membuka file.</translation>
 <translation id="4049507953662678203">Pastikan Anda memiliki sambungan jaringan, dan coba lagi.</translation>
+<translation id="4084682180776658562">Bookmark</translation>
 <translation id="411254640334432676">Download gagal.</translation>
 <translation id="4121993058175073134">Konfigurasi akun email Anda di aplikasi Setelan untuk mengirim data net-ekspor.</translation>
 <translation id="4124987746317609294">Rentang Waktu</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Frasa sandi diwajibkan</translation>
 <translation id="9148126808321036104">Masuk sekali lagi</translation>
-<translation id="915371508759614899">Batalkan Download?</translation>
 <translation id="9157836665414082580">Sembunyikan Dialog</translation>
 <translation id="9188680907066685419">Keluar dari akun yang dikelola</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index d0e0c9c4..81fe6034 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titolo</translation>
 <translation id="4038354071007134711">Impossibile aprire il file con le app sul dispositivo.</translation>
 <translation id="4049507953662678203">Controlla la connessione di rete e riprova.</translation>
+<translation id="4084682180776658562">Aggiungi ai Preferiti</translation>
 <translation id="411254640334432676">Download non riuscito.</translation>
 <translation id="4121993058175073134">Per inviare dati net-export, configura il tuo account email nell'app Impostazioni.</translation>
 <translation id="4124987746317609294">Intervallo di tempo</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 elemento</translation>
 <translation id="9100610230175265781">Passphrase obbligatoria</translation>
 <translation id="9148126808321036104">Esegui di nuovo l'accesso</translation>
-<translation id="915371508759614899">Annullare il download?</translation>
 <translation id="9157836665414082580">Elimina finestre di dialogo</translation>
 <translation id="9188680907066685419">Esci dall'account gestito</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 98cec65e..9c49bbfd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">כותרת</translation>
 <translation id="4038354071007134711">אין במכשיר זה אף אפליקציה שניתן לפתוח באמצעותה את הקובץ.</translation>
 <translation id="4049507953662678203">ודא שאתה מחובר לרשת ונסה שוב.</translation>
+<translation id="4084682180776658562">סימניה</translation>
 <translation id="411254640334432676">ההורדה נכשלה.</translation>
 <translation id="4121993058175073134">כדי לשלוח נתוני ייצוא ברשת, הגדר את חשבון האימייל שלך ביישום 'הגדרות'.</translation>
 <translation id="4124987746317609294">טווח זמן</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">פריט אחד</translation>
 <translation id="9100610230175265781">יש להזין ביטוי סיסמה</translation>
 <translation id="9148126808321036104">היכנס שוב</translation>
-<translation id="915371508759614899">לבטל את ההורדה?</translation>
 <translation id="9157836665414082580">הסתר תיבות דו-שיח</translation>
 <translation id="9188680907066685419">צא מהחשבון המנוהל</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index de28feaa..9d183a1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">タイトル</translation>
 <translation id="4038354071007134711">この端末のアプリケーションではファイルを開けません。</translation>
 <translation id="4049507953662678203">ネットワークに接続していることを確認してから、もう一度お試しください。</translation>
+<translation id="4084682180776658562">ブックマーク</translation>
 <translation id="411254640334432676">ダウンロードできませんでした。</translation>
 <translation id="4121993058175073134">エクスポート データのみを送信するには、設定アプリでメール アカウントを設定してください。</translation>
 <translation id="4124987746317609294">期間</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1個のアイテム</translation>
 <translation id="9100610230175265781">パスフレーズを入力してください</translation>
 <translation id="9148126808321036104">もう一度ログインする</translation>
-<translation id="915371508759614899">ダウンロードをキャンセルしますか?</translation>
 <translation id="9157836665414082580">ダイアログを表示しない</translation>
 <translation id="9188680907066685419">管理対象アカウントからログアウトする</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index 1a8f6dd..a8d6f61 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">ಶೀರ್ಷಿಕೆ</translation>
 <translation id="4038354071007134711">ಫೈಲ್‌ ತೆರೆಯಬಹುದಾದ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಈ ಸಾಧನದಲ್ಲಿ ಇಲ್ಲ.</translation>
 <translation id="4049507953662678203">ನೀವು ನೆಟ್‌‌ವರ್ಕ್ ಸಂಪರ್ಕ ಹೊಂದಿರುವಿರಾ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
+<translation id="4084682180776658562">ಬುಕ್‌ಮಾರ್ಕ್</translation>
 <translation id="411254640334432676">ಡೌನ್‌ಲೋಡ್ ವಿಫಲವಾಗಿದೆ.</translation>
 <translation id="4121993058175073134">ಒಟ್ಟು ರಫ್ತು ಡೇಟಾ ಕಳುಹಿಸಲು, ದಯವಿಟ್ಟು ನಿಮ್ಮ ಇಮೇಲ್ ಖಾತೆಯನ್ನು ಸೆಟ್ಟಿಂಗ್‌‌ಗಳ ಅಪ್ಲಿಕೇಶನ್‌‌ನಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.</translation>
 <translation id="4124987746317609294">ಸಮಯ ವ್ಯಾಪ್ತಿ</translation>
@@ -426,7 +427,6 @@
 <translation id="9083392325882095631">1 ಐಟಂ</translation>
 <translation id="9100610230175265781">ಪಾಸ್‌ಫ್ರೇಸ್ ಅಗತ್ಯವಿದೆ</translation>
 <translation id="9148126808321036104">ಪುನಃ ಸೈನ್ ಇನ್  ಆಗಿ</translation>
-<translation id="915371508759614899">ಡೌನ್‌ಲೋಡ್ ರದ್ದುಮಾಡುವುದೇ?</translation>
 <translation id="9157836665414082580">ಸಂವಾದಗಳನ್ನು ನಿಗ್ರಹಿಸಿ</translation>
 <translation id="9188680907066685419">ನಿರ್ವಹಿಸಲಾದ ಖಾತೆಯಿಂದ ಸೈನ್ ಔಟ್ ಮಾಡಿ</translation>
 <translation id="9203116392574189331">ಹ್ಯಾಂಡ್ಆಫ್</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
index 8960935..8bdd767 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">제목</translation>
 <translation id="4038354071007134711">파일을 열 수 있는 애플리케이션이 기기에 없습니다.</translation>
 <translation id="4049507953662678203">네트워크에 연결되었는지 확인한 후 다시 시도해 주세요.</translation>
+<translation id="4084682180776658562">북마크</translation>
 <translation id="411254640334432676">다운로드에 실패했습니다.</translation>
 <translation id="4121993058175073134">순 내보내기 데이터를 전송하려면 설정 앱에서 이메일 계정을 설정하시기 바랍니다.</translation>
 <translation id="4124987746317609294">기간</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">항목 1개</translation>
 <translation id="9100610230175265781">암호를 입력해야 합니다.</translation>
 <translation id="9148126808321036104">다시 로그인</translation>
-<translation id="915371508759614899">다운로드를 취소하시겠습니까?</translation>
 <translation id="9157836665414082580">대화상자 숨기기</translation>
 <translation id="9188680907066685419">관리 계정에서 로그아웃</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index 60497f63..a7984145 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Pavadinimas</translation>
 <translation id="4038354071007134711">Šiame įreng. nėra progr., gal. atidaryti failą.</translation>
 <translation id="4049507953662678203">Įsitikinkite, kad yra tinklo ryšys ir bandykite dar kartą.</translation>
+<translation id="4084682180776658562">Žymė</translation>
 <translation id="411254640334432676">Nepavyko atsisiųsti.</translation>
 <translation id="4121993058175073134">Jei n. siųsti tinklo eksp. duom., sukonf. el. pšt. pask. nust. progr.</translation>
 <translation id="4124987746317609294">Laikotarpis</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">Elementų: 1</translation>
 <translation id="9100610230175265781">Būtina slaptafrazė</translation>
 <translation id="9148126808321036104">Prisijungti dar kartą</translation>
-<translation id="915371508759614899">Atšaukti atsisiuntimą?</translation>
 <translation id="9157836665414082580">Nerod. dialogo langų</translation>
 <translation id="9188680907066685419">Atsijungimas nuo valdomos paskyros</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index 1f3c3ab..66686c6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Nosaukums</translation>
 <translation id="4038354071007134711">Šajā ierīcē nav lietotņu, ar ko atvērt šo failu.</translation>
 <translation id="4049507953662678203">Pārbaudiet, vai ir izveidots tīkla savienojums, un mēģiniet vēlreiz.</translation>
+<translation id="4084682180776658562">Grāmatzīme</translation>
 <translation id="411254640334432676">Lejupielāde neizdevās.</translation>
 <translation id="4121993058175073134">Neto eksporta datu sūtīšanai konfigurējiet e-pasta kontu iestatījumos.</translation>
 <translation id="4124987746317609294">Laika periods</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 vienums</translation>
 <translation id="9100610230175265781">Jāievada ieejas frāze.</translation>
 <translation id="9148126808321036104">Pierakstieties vēlreiz</translation>
-<translation id="915371508759614899">Vai atcelt lejupielādi?</translation>
 <translation id="9157836665414082580">Nerādīt dialoglodziņus</translation>
 <translation id="9188680907066685419">Izrakstīšanās no pārvaldīta konta</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index a26a9b5..6b777eb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">ശീർഷകം</translation>
 <translation id="4038354071007134711">ഈ ഉപകരണത്തിലുള്ള ഒരു അപ്ലിക്കേഷനും ഫയൽ തുറക്കാനാകില്ല.</translation>
 <translation id="4049507953662678203">നിങ്ങൾക്ക് നെറ്റ്‌വർക്ക് കണക്ഷനുണ്ടെന്ന് ഉറപ്പാക്കി, വീണ്ടും ശ്രമിക്കുക.</translation>
+<translation id="4084682180776658562">ബുക്മാര്‍ക്ക്</translation>
 <translation id="411254640334432676">ഡൗൺലോഡ് പരാജയപ്പെട്ടു.</translation>
 <translation id="4121993058175073134">നെറ്റ്-എക്‌സ്‌പോർട്ട് ഡാറ്റ അയയ്‌ക്കുന്നതിന്, ക്രമീകരണങ്ങളുടെ അപ്ലിക്കേഷനിൽ നിങ്ങളുടെ ഇമെയിൽ അക്കൗൺറ്റ് കോൺഫിഗർ ചെയ്യുക.</translation>
 <translation id="4124987746317609294">സമയ ശ്രേണി</translation>
@@ -426,7 +427,6 @@
 <translation id="9083392325882095631">ഒരു ഇനം</translation>
 <translation id="9100610230175265781">പാസ്‌ഫ്രെയ്‌സ് ആവശ്യമാണ്</translation>
 <translation id="9148126808321036104">വീണ്ടും പ്രവേശിക്കുക</translation>
-<translation id="915371508759614899">ഡൗൺലോഡ് റദ്ദാക്കണോ?</translation>
 <translation id="9157836665414082580">ഡയലോഗുകൾ നിയന്ത്രിക്കുക</translation>
 <translation id="9188680907066685419">മാനേജുചെയ്‌ത അക്കൗണ്ടിൽ നിന്ന് സൈൻ ഔട്ട് ചെയ്യുക</translation>
 <translation id="9203116392574189331">ഹാൻഡ്ഓഫ്</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 3796299f..6abe9c83 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">शीर्षक</translation>
 <translation id="4038354071007134711">या डिव्हाइसवरील कोणताही अॅप्लिकेशन फाईल उघडू शकत नाही.</translation>
 <translation id="4049507953662678203">आपल्याकडे नेटवर्क कनेक्शन आहे हे सुनिश्चित करा आणि पुन्हा प्रयत्न करा.</translation>
+<translation id="4084682180776658562">बुकमार्क</translation>
 <translation id="411254640334432676">डाउनलोड अयशस्वी.</translation>
 <translation id="4121993058175073134">निव्वळ-निर्यात डेटा पाठविण्यासाठी, कृपया सेटिंग्ज अॅप मध्ये आपले ईमेल खाते कॉन्फिगर करा.</translation>
 <translation id="4124987746317609294">वेळ श्रेणी</translation>
@@ -427,7 +428,6 @@
 <translation id="9083392325882095631">1 आयटम</translation>
 <translation id="9100610230175265781">सांकेतिक वाक्यांश आवश्यक</translation>
 <translation id="9148126808321036104">पुन्हा साइन इन करा </translation>
-<translation id="915371508759614899">डाउनलोड रद्द करायचा?</translation>
 <translation id="9157836665414082580">संवाद दर्शवू नका</translation>
 <translation id="9188680907066685419">व्यवस्थापित केलेल्या खात्यामधून साइन आउट करा</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index 0e9cba72..af4be64 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Tajuk</translation>
 <translation id="4038354071007134711">Tiada aplikasi pada peranti ini yang dapat membuka fail itu.</translation>
 <translation id="4049507953662678203">Pastikan anda mempunyai sambungan rangkaian dan cuba lagi.</translation>
+<translation id="4084682180776658562">Penanda halaman</translation>
 <translation id="411254640334432676">Muat turun gagal.</translation>
 <translation id="4121993058175073134">Tetapkn akaun e-mel anda dahulu dlm apl Tetapan utk mhantar data net-eksport.</translation>
 <translation id="4124987746317609294">Julat Masa</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Frasa laluan diperlukan</translation>
 <translation id="9148126808321036104">Log masuk semula</translation>
-<translation id="915371508759614899">Batalkan Muat Turun?</translation>
 <translation id="9157836665414082580">Sekat Dialog</translation>
 <translation id="9188680907066685419">Log keluar daripada akaun terurus</translation>
 <translation id="9203116392574189331">Serah</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index 45e085c..9eb05bc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Geen app op dit apparaat kan het bestand openen.</translation>
 <translation id="4049507953662678203">Zorg ervoor dat je beschikt over een netwerkverbinding en probeer het opnieuw.</translation>
+<translation id="4084682180776658562">Bladwijzer maken</translation>
 <translation id="411254640334432676">Downloaden mislukt.</translation>
 <translation id="4121993058175073134">Als je netto-exportgegevens wilt verzenden, configureer je je e-mailaccount in de app Instellingen.</translation>
 <translation id="4124987746317609294">Tijdsbereik</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Wachtwoordzin vereist</translation>
 <translation id="9148126808321036104">Opnieuw inloggen</translation>
-<translation id="915371508759614899">Downloaden annuleren?</translation>
 <translation id="9157836665414082580">Dialoogvensters onderdrukken</translation>
 <translation id="9188680907066685419">Uitloggen van beheerd account</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index a899ed3..cf55ba7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Tittel</translation>
 <translation id="4038354071007134711">Ingen apper på denne enheten kan åpne filen.</translation>
 <translation id="4049507953662678203">Sørg for at du er koblet til et nettverk, og prøv igjen.</translation>
+<translation id="4084682180776658562">Legg til bokmerke</translation>
 <translation id="411254640334432676">Nedlastingen mislyktes.</translation>
 <translation id="4121993058175073134">For å sende data for netteksport må du konfigurere e-postkontoen din i Innstillinger-appen.</translation>
 <translation id="4124987746317609294">Tidsperiode</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 element</translation>
 <translation id="9100610230175265781">Det kreves en passordfrase</translation>
 <translation id="9148126808321036104">Logg på igjen</translation>
-<translation id="915371508759614899">Vil du avbryte nedlastingen?</translation>
 <translation id="9157836665414082580">Ignorer dialogbokser</translation>
 <translation id="9188680907066685419">Logg av administrert konto</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index 3fa25d0..ac619d8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Tytuł</translation>
 <translation id="4038354071007134711">Nie masz aplikacji, która może otworzyć ten plik.</translation>
 <translation id="4049507953662678203">Upewnij się, że masz połączenie z siecią, i spróbuj ponownie.</translation>
+<translation id="4084682180776658562">Dodaj do zakładek</translation>
 <translation id="411254640334432676">Błąd pobierania.</translation>
 <translation id="4121993058175073134">Aby wysłać dane net-export, skonfiguruj konto e-mail w aplikacji Ustawienia.</translation>
 <translation id="4124987746317609294">Zakres czasowy</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">Jeden element</translation>
 <translation id="9100610230175265781">Wymagane jest hasło</translation>
 <translation id="9148126808321036104">Zaloguj się ponownie</translation>
-<translation id="915371508759614899">Anulować pobieranie?</translation>
 <translation id="9157836665414082580">Ukryj okna dialogowe</translation>
 <translation id="9188680907066685419">Wyloguj się z konta zarządzanego</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
index 5aa8bad..6cd326f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -169,6 +169,7 @@
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Nenhum app deste dispositivo pode abrir o arquivo.</translation>
 <translation id="4049507953662678203">Verifique se você tem uma conexão de rede e tente novamente.</translation>
+<translation id="4084682180776658562">Favorito</translation>
 <translation id="411254640334432676">Falha no download.</translation>
 <translation id="4121993058175073134">Para enviar dados de exportação líquida, configure sua conta de e-mail no aplicativo "Configurações".</translation>
 <translation id="4124987746317609294">Intervalo de tempo</translation>
@@ -430,7 +431,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Senha necessária</translation>
 <translation id="9148126808321036104">Faça login novamente</translation>
-<translation id="915371508759614899">Cancelar download?</translation>
 <translation id="9157836665414082580">Bloquear caixas de diálogo</translation>
 <translation id="9188680907066685419">Sair da conta gerenciada</translation>
 <translation id="9203116392574189331">Transição</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
index a716107e..a18a3ef 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Nenhuma aplic. neste disp. pode abrir o ficheiro.</translation>
 <translation id="4049507953662678203">Certifique-se de que tem uma ligação de rede e tente novamente.</translation>
+<translation id="4084682180776658562">Marcar</translation>
 <translation id="411254640334432676">A transferência falhou.</translation>
 <translation id="4121993058175073134">P/enviar dados exp. da Int., config. a conta de email na ap. Definiç.</translation>
 <translation id="4124987746317609294">Intervalo de Tempo</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 item</translation>
 <translation id="9100610230175265781">Frase de acesso obrigatória</translation>
 <translation id="9148126808321036104">Iniciar sessão novamente</translation>
-<translation id="915371508759614899">Cancelar a transferência?</translation>
 <translation id="9157836665414082580">Supr. caixas diálogo</translation>
 <translation id="9188680907066685419">Terminar sessão na conta gerida</translation>
 <translation id="9203116392574189331">Entrega</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index b62972a..d661f08 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titlu</translation>
 <translation id="4038354071007134711">Aplicațiile de pe dispozitiv nu deschid fișierul.</translation>
 <translation id="4049507953662678203">Asigură-te că ai o conexiune la rețea și încearcă din nou.</translation>
+<translation id="4084682180776658562">Marcaj</translation>
 <translation id="411254640334432676">Nu s-a descărcat.</translation>
 <translation id="4121993058175073134">Pentru trimitere date de export în rețea, configurați e-mailul în Setări.</translation>
 <translation id="4124987746317609294">Interval de timp</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">Un element</translation>
 <translation id="9100610230175265781">Este necesară o expresie de acces</translation>
 <translation id="9148126808321036104">Conectează-te din nou</translation>
-<translation id="915371508759614899">Anulezi descărcarea?</translation>
 <translation id="9157836665414082580">Închide casetele de dialog</translation>
 <translation id="9188680907066685419">Deconectează-te de la contul gestionat</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 4c2dedd..0a93c6f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Название</translation>
 <translation id="4038354071007134711">Нет приложения, чтобы открыть этот файл.</translation>
 <translation id="4049507953662678203">Проверьте подключение к Интернету и повторите попытку.</translation>
+<translation id="4084682180776658562">Закладка</translation>
 <translation id="411254640334432676">Ошибка при скачивании</translation>
 <translation id="4121993058175073134">Чтобы отправлять очищенные данные для экспорта, задайте соответствующие параметры аккаунта электронной почты в приложении "Настройки".</translation>
 <translation id="4124987746317609294">Временной диапазон</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">Закладок: 1</translation>
 <translation id="9100610230175265781">Необходима кодовая фраза</translation>
 <translation id="9148126808321036104">Повторите вход</translation>
-<translation id="915371508759614899">Отменить скачивание?</translation>
 <translation id="9157836665414082580">Блокировать диалоговые окна</translation>
 <translation id="9188680907066685419">Выход из управляемого аккаунта</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index 63f06e5d..f33317b3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Názov</translation>
 <translation id="4038354071007134711">Tento súbor nedokáže otvoriť žiadna aplikácia na tomto zariadení.</translation>
 <translation id="4049507953662678203">Uistite sa, že máte pripojenie k sieti, a skúste to znova.</translation>
+<translation id="4084682180776658562">Záložka</translation>
 <translation id="411254640334432676">Sťahovanie zlyhalo.</translation>
 <translation id="4121993058175073134">Ak chcete odoslať údaje čistého exportu, v aplikácii Nastavenia nakonfigurujte svoj e-mailový účet.</translation>
 <translation id="4124987746317609294">Časové obdobie</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 položka</translation>
 <translation id="9100610230175265781">Vyžaduje sa prístupová fráza</translation>
 <translation id="9148126808321036104">Znova sa prihlásiť</translation>
-<translation id="915371508759614899">Zrušiť sťahovanie?</translation>
 <translation id="9157836665414082580">Obmedziť dialógové okná</translation>
 <translation id="9188680907066685419">Odhlásenie zo spravovaného účtu</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index 0afa7db..21c4e07d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">Naslov</translation>
 <translation id="4038354071007134711">Nobena aplikacija v tej napravi ne more odpreti datoteke.</translation>
 <translation id="4049507953662678203">Make sure you have a network connection, and try again.</translation>
+<translation id="4084682180776658562">Zaznamek</translation>
 <translation id="411254640334432676">Prenos ni uspel.</translation>
 <translation id="4121993058175073134">Če želite pošiljati podatke net-export, v aplikaciji Nastavitve konfigurirajte e-poštni račun.</translation>
 <translation id="4124987746317609294">Časovno obdobje</translation>
@@ -427,7 +428,6 @@
 <translation id="9083392325882095631">1 element</translation>
 <translation id="9100610230175265781">Zahtevano je geslo</translation>
 <translation id="9148126808321036104">Prijavite se znova</translation>
-<translation id="915371508759614899">Želite preklicati prenos?</translation>
 <translation id="9157836665414082580">Onemogoči pogovorna okna</translation>
 <translation id="9188680907066685419">Odjava iz upravljanega računa</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index 4832744..d8b2d11 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Наслов</translation>
 <translation id="4038354071007134711">Ниједна апликација на овом уређају не може да отвори датотеку.</translation>
 <translation id="4049507953662678203">Проверите да ли сте повезани на мрежу и покушајте поново.</translation>
+<translation id="4084682180776658562">Обележивач</translation>
 <translation id="411254640334432676">Преузимање није успело.</translation>
 <translation id="4121993058175073134">За слање података нето извоза подесите налог е-поште у апликацији Подешавања.</translation>
 <translation id="4124987746317609294">Временски опсег</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 ставка</translation>
 <translation id="9100610230175265781">Потребна је приступна фраза</translation>
 <translation id="9148126808321036104">Пријави ме поново</translation>
-<translation id="915371508759614899">Желите ли да откажете преузимање?</translation>
 <translation id="9157836665414082580">Спречи дијалоге</translation>
 <translation id="9188680907066685419">Одјавите се са налога којим се управља</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index ec950224..02948da 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Det går inte att öppna filen med någon av apparna på enheten.</translation>
 <translation id="4049507953662678203">Kontrollera att du är ansluten till nätverket och försök igen.</translation>
+<translation id="4084682180776658562">Infoga bokmärke</translation>
 <translation id="411254640334432676">Nedladdningen misslyckades.</translation>
 <translation id="4121993058175073134">Ange ett e-postkonto i appen Inställningar om du vill skicka nätverksexportdata.</translation>
 <translation id="4124987746317609294">Tidsintervall</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 objekt</translation>
 <translation id="9100610230175265781">Lösenfras krävs</translation>
 <translation id="9148126808321036104">Logga in igen</translation>
-<translation id="915371508759614899">Vill du avbryta nedladdningen?</translation>
 <translation id="9157836665414082580">Visa inte dialogrutor</translation>
 <translation id="9188680907066685419">Logga ut från hanterat konto</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
index 5ca2a8ac..82d35b1a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -159,6 +159,7 @@
 <translation id="3789841737615482174">Sakinisha</translation>
 <translation id="385051799172605136">Nyuma</translation>
 <translation id="3897092660631435901">Menyu</translation>
+<translation id="3915450441834151894">Maelezo ya Tovuti</translation>
 <translation id="3928666092801078803">Unganisha data yangu</translation>
 <translation id="3950820424414687140">Ingia</translation>
 <translation id="3963231839620026525">Kichupo Fiche Kipya</translation>
@@ -167,6 +168,7 @@
 <translation id="4002066346123236978">Kichwa</translation>
 <translation id="4038354071007134711">Hakuna programu kwenye kifaa hiki inayoweza kufungua faili.</translation>
 <translation id="4049507953662678203">Hakikisha una muunganisho wa mtandao, kisha ujaribu tena.</translation>
+<translation id="4084682180776658562">Alamisho</translation>
 <translation id="411254640334432676">Upakuaji haujafaulu.</translation>
 <translation id="4121993058175073134">Ili kutuma data ya uhamishaji nje ya mtandao, tafadhali sanidi akaunti yako ya barua pepe katika programu ya Mipangilio.</translation>
 <translation id="4124987746317609294">Masafa ya Muda</translation>
@@ -222,6 +224,7 @@
 <translation id="5197255632782567636">Wavuti</translation>
 <translation id="5228579091201413441">Washa usawazishaji</translation>
 <translation id="5244474230056479698">Inasawazisha kwenye <ph name="EMAIL" /></translation>
+<translation id="527973086555161537">Fungua kichupo ili uvinjari wavuti kwa njia ya faragha.</translation>
 <translation id="5300589172476337783">Onyesha</translation>
 <translation id="5317780077021120954">Hifadhi</translation>
 <translation id="5327248766486351172">Jina</translation>
@@ -301,6 +304,7 @@
 <translation id="6445981559479772097">Ujumbe umetumwa.</translation>
 <translation id="6464071786529933911">Fungua katika Kichupo Fiche Kipya</translation>
 <translation id="6482629121755362506">Vifaa <ph name="NUMBER_OF_SELECTED_BOOKMARKS" /> vimefutwa</translation>
+<translation id="6528048372317642110">Kipengele cha kupakua faili kinapatikana</translation>
 <translation id="6541915733953096570">Saa Moja Iliyopita</translation>
 <translation id="6570040839871198836">Jaza Fomu Kiotomatiki</translation>
 <translation id="6656103420185847513">Badilisha Folda</translation>
@@ -383,6 +387,7 @@
 <translation id="8261506727792406068">Futa</translation>
 <translation id="8272426682713568063">Kadi za Malipo</translation>
 <translation id="8281781826761538115">Chaguo-msingi - <ph name="DEFAULT_LOCALE" /></translation>
+<translation id="8328777765163860529">Funga Vyote</translation>
 <translation id="8381750437846184350">Dhibiti namna Google inavyotumia historia ya kuvinjari ili kuweka mapendeleo kwenye huduma ya Tafuta na Google, matangazo na huduma nyingine za Google.</translation>
 <translation id="842017693807136194">Umeingia katika Akaunti Ukitumia</translation>
 <translation id="8428045167754449968">Jiji / Mji</translation>
@@ -425,7 +430,6 @@
 <translation id="9083392325882095631">Kipengee 1</translation>
 <translation id="9100610230175265781">Kaulisiri inahitajika</translation>
 <translation id="9148126808321036104">Ingia tena</translation>
-<translation id="915371508759614899">Ungependa Kughairi Upakuaji?</translation>
 <translation id="9157836665414082580">Zima Vidirisha</translation>
 <translation id="9188680907066685419">Ondoka kwenye akaunti inayodhibitiwa</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index 302b6b9..5a8e6a3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">தலைப்பு</translation>
 <translation id="4038354071007134711">கோப்பைத் திறக்கக்கூடிய பயன்பாடு சாதனத்தில் இல்லை.</translation>
 <translation id="4049507953662678203">இணைய இணைப்பு இருப்பதை உறுதிசெய்து, மீண்டும் முயலவும்.</translation>
+<translation id="4084682180776658562">புக்மார்க்</translation>
 <translation id="411254640334432676">பதிவிறக்கம் தோல்வி.</translation>
 <translation id="4121993058175073134">மொத்த-ஏற்றுமதி தரவை அனுப்புவதற்கு, அமைப்புகளின் பயன்பாட்டில் உங்கள் மின்னஞ்சல் கணக்கை உள்ளமைக்கவும்.</translation>
 <translation id="4124987746317609294">நேர வரம்பு</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 உருப்படி</translation>
 <translation id="9100610230175265781">கடவுச்சொற்றொடர் தேவை</translation>
 <translation id="9148126808321036104">மீண்டும் உள்நுழைக</translation>
-<translation id="915371508759614899">பதிவிறக்கத்தை ரத்துசெய்யவா?</translation>
 <translation id="9157836665414082580">உரையாடல்களை மறை</translation>
 <translation id="9188680907066685419">நிர்வகிக்கப்படும் கணக்கிலிருந்து வெளியேறு</translation>
 <translation id="9203116392574189331">ஹேண்ட்ஆஃப்</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb
index 283a14c53..94e2098 100644
--- a/ios/chrome/app/strings/resources/ios_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -167,6 +167,7 @@
 <translation id="4002066346123236978">శీర్షిక</translation>
 <translation id="4038354071007134711">ఈ పరికరంలోని అనువర్తనం ఏదీ ఫైల్‌ను తెరవలేదు.</translation>
 <translation id="4049507953662678203">మీకు నెట్‌వర్క్ కనెక్షన్ ఉందని నిర్ధారించుకుని, ఆపై మళ్లీ ప్రయత్నించండి.</translation>
+<translation id="4084682180776658562">బుక్‌మార్క్ చెయ్యి</translation>
 <translation id="411254640334432676">డౌన్‌లోడ్ చేయడం విఫలమైంది.</translation>
 <translation id="4121993058175073134">నికర ఎగుమతి డేటాను పంపడానికి, దయచేసి సెట్టింగ్‌ల అనువర్తనంలో మీ ఇమెయిల్ ఖాతాను కాన్ఫిగర్ చేయండి.</translation>
 <translation id="4124987746317609294">సమయ పరిధి</translation>
@@ -426,7 +427,6 @@
 <translation id="9083392325882095631">1 అంశం</translation>
 <translation id="9100610230175265781">రహస్య పదబంధం అవసరం</translation>
 <translation id="9148126808321036104">మళ్ళీ సైన్ ఇన్ చెయ్యండి</translation>
-<translation id="915371508759614899">డౌన్‌లోడ్‌ని రద్దు చేయాలా?</translation>
 <translation id="9157836665414082580">డైలాగ్‌లను కుదించు</translation>
 <translation id="9188680907066685419">నిర్వహిత ఖాతా నుండి సైన్ అవుట్ చేయండి</translation>
 <translation id="9203116392574189331">హ్యాండ్ఆఫ్</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index ae859b1..fa03bea 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -166,6 +166,7 @@
 <translation id="4002066346123236978">ชื่อ</translation>
 <translation id="4038354071007134711">ไม่มีแอปพลิเคชันใดบนอุปกรณ์นี้ที่สามารถเปิดไฟล์ได้</translation>
 <translation id="4049507953662678203">ตรวจสอบว่าคุณมีการเชื่อมต่อเครือข่าย และลองอีกครั้ง</translation>
+<translation id="4084682180776658562">บุ๊กมาร์ก</translation>
 <translation id="411254640334432676">การดาวน์โหลดล้มเหลว</translation>
 <translation id="4121993058175073134">หากต้องการส่งข้อมูล net-export โปรดกำหนดค่าบัญชีอีเมลของคุณในแอปการตั้งค่า</translation>
 <translation id="4124987746317609294">ช่วงเวลา</translation>
@@ -427,7 +428,6 @@
 <translation id="9083392325882095631">1 รายการ</translation>
 <translation id="9100610230175265781">ต้องระบุรหัสผ่าน</translation>
 <translation id="9148126808321036104">ลงชื่อเข้าใช้อีกครั้ง</translation>
-<translation id="915371508759614899">ยกเลิกการดาวน์โหลดใช่ไหม</translation>
 <translation id="9157836665414082580">ระงับกล่องโต้ตอบ</translation>
 <translation id="9188680907066685419">ออกจากระบบบัญชีที่มีการจัดการ</translation>
 <translation id="9203116392574189331">แฮนด์ออฟ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index 1afb636a..3d1adc9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Başlık</translation>
 <translation id="4038354071007134711">Bu cihazdaki hiçbir uygulama dosyayı açamıyor.</translation>
 <translation id="4049507953662678203">Ağ bağlantınız olduğundan emin olun ve tekrar deneyin.</translation>
+<translation id="4084682180776658562">Yer İşareti</translation>
 <translation id="411254640334432676">İndirme başarısız oldu.</translation>
 <translation id="4121993058175073134">Net-export verilerini göndermek için lütfen Ayarlar uygulamasında e-posta hesabınızı yapılandırın.</translation>
 <translation id="4124987746317609294">Zaman Aralığı</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 öğe</translation>
 <translation id="9100610230175265781">Parola gerekli</translation>
 <translation id="9148126808321036104">Tekrar oturum açın</translation>
-<translation id="915371508759614899">İndirme işlemi iptal edilsin mi?</translation>
 <translation id="9157836665414082580">İletişim Kutularını Gizle</translation>
 <translation id="9188680907066685419">Yönetilen hesabın oturumunu kapat</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index 86d097f..12867f8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Назва</translation>
 <translation id="4038354071007134711">Немає додатків на пристрої, щоб відкрити цей файл.</translation>
 <translation id="4049507953662678203">Переконайтеся, що з’єднання з мережею встановлено, і повторіть спробу.</translation>
+<translation id="4084682180776658562">Закладка</translation>
 <translation id="411254640334432676">Не завантажено.</translation>
 <translation id="4121993058175073134">Щоб надсил. дані про чистий експорт, налашт. обл. запис у програмі Налаштування.</translation>
 <translation id="4124987746317609294">Період часу</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 закладка</translation>
 <translation id="9100610230175265781">Потрібно вказати парольну фразу</translation>
 <translation id="9148126808321036104">Увійти знову</translation>
-<translation id="915371508759614899">Скасувати завантаження?</translation>
 <translation id="9157836665414082580">Заблокувати діалогові вікна</translation>
 <translation id="9188680907066685419">Вийти з керованого облікового запису</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index a6b69a12..589af96 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">Tiêu đề</translation>
 <translation id="4038354071007134711">Không ứng dụng nào trên thiết bị này có thể mở tệp.</translation>
 <translation id="4049507953662678203">Hãy đảm bảo rằng bạn có kết nối mạng và thử lại.</translation>
+<translation id="4084682180776658562">Dấu trang</translation>
 <translation id="411254640334432676">Tải xuống không thành công.</translation>
 <translation id="4121993058175073134">Để gửi dữ liệu đã xuất, hãy định cấu hình tài khoản email trong ứng dụng Cài đặt.</translation>
 <translation id="4124987746317609294">Phạm vi thời gian</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 mục</translation>
 <translation id="9100610230175265781">Yêu cầu cụm mật khẩu</translation>
 <translation id="9148126808321036104">Đăng nhập lại</translation>
-<translation id="915371508759614899">Hủy tải xuống?</translation>
 <translation id="9157836665414082580">Hộp thoại loại bỏ</translation>
 <translation id="9188680907066685419">Đăng xuất khỏi tài khoản được quản lý</translation>
 <translation id="9203116392574189331">Tiếp nối</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
index 66726b2..378fc14 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">标题</translation>
 <translation id="4038354071007134711">此设备上没有可以打开该文件的应用。</translation>
 <translation id="4049507953662678203">请确保已连接到网络,然后重试。</translation>
+<translation id="4084682180776658562">已保存的书签</translation>
 <translation id="411254640334432676">下载失败。</translation>
 <translation id="4121993058175073134">要发送净导出数据,请在“设置”应用中指定您的电子邮件帐号。</translation>
 <translation id="4124987746317609294">时间范围</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">有1个书签</translation>
 <translation id="9100610230175265781">必须提供密码</translation>
 <translation id="9148126808321036104">重新登录</translation>
-<translation id="915371508759614899">取消下载?</translation>
 <translation id="9157836665414082580">禁止显示对话框</translation>
 <translation id="9188680907066685419">退出受管理的帐号</translation>
 <translation id="9203116392574189331">Handoff</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 c87bd2f..8caab39 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -168,6 +168,7 @@
 <translation id="4002066346123236978">標題</translation>
 <translation id="4038354071007134711">這個裝置上沒有能開啟此檔案的應用程式。</translation>
 <translation id="4049507953662678203">請確定您已連上網路,然後再試一次。</translation>
+<translation id="4084682180776658562">書籤</translation>
 <translation id="411254640334432676">下載失敗。</translation>
 <translation id="4121993058175073134">如要傳送淨匯出資料,請在「設定」應用程式中設定你的電子郵件帳戶。</translation>
 <translation id="4124987746317609294">時間範圍</translation>
@@ -429,7 +430,6 @@
 <translation id="9083392325882095631">1 個項目</translation>
 <translation id="9100610230175265781">請提供通關密語</translation>
 <translation id="9148126808321036104">重新登入</translation>
-<translation id="915371508759614899">要取消下載嗎?</translation>
 <translation id="9157836665414082580">禁止顯示對話方塊</translation>
 <translation id="9188680907066685419">登出受管理的帳戶</translation>
 <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/browser/download/download_manager_tab_helper.h b/ios/chrome/browser/download/download_manager_tab_helper.h
index ba2e098..07e2ec0 100644
--- a/ios/chrome/browser/download/download_manager_tab_helper.h
+++ b/ios/chrome/browser/download/download_manager_tab_helper.h
@@ -36,6 +36,10 @@
   // Asynchronously downloads a file using the given |task|.
   virtual void Download(std::unique_ptr<web::DownloadTask> task);
 
+  // Returns |true| after Download() was called, |false| after the task was
+  // cancelled.
+  bool has_download_task() const { return task_.get(); }
+
  protected:
   // Allow subclassing from DownloadManagerTabHelper for testing purposes.
   DownloadManagerTabHelper(web::WebState* web_state,
diff --git a/ios/chrome/browser/download/download_manager_tab_helper_unittest.mm b/ios/chrome/browser/download/download_manager_tab_helper_unittest.mm
index b5aea4c..5dc7876 100644
--- a/ios/chrome/browser/download/download_manager_tab_helper_unittest.mm
+++ b/ios/chrome/browser/download/download_manager_tab_helper_unittest.mm
@@ -206,3 +206,18 @@
   EXPECT_EQ(0U, [[NetworkActivityIndicatorManager sharedInstance]
                     numTotalNetworkTasks]);
 }
+
+// Tests that has_download_task() returns correct result.
+TEST_F(DownloadManagerTabHelperTest, HasDownloadTask) {
+  ASSERT_FALSE(delegate_.state);
+  auto task = std::make_unique<web::FakeDownloadTask>(GURL(kUrl), kMimeType);
+
+  web::FakeDownloadTask* task_ptr = task.get();
+  ASSERT_FALSE(tab_helper()->has_download_task());
+  tab_helper()->Download(std::move(task));
+  task_ptr->Start(std::make_unique<net::URLFetcherStringWriter>());
+  ASSERT_TRUE(tab_helper()->has_download_task());
+
+  task_ptr->Cancel();
+  EXPECT_FALSE(tab_helper()->has_download_task());
+}
diff --git a/ios/chrome/browser/tabs/BUILD.gn b/ios/chrome/browser/tabs/BUILD.gn
index 64252fee7..ea6ce63a 100644
--- a/ios/chrome/browser/tabs/BUILD.gn
+++ b/ios/chrome/browser/tabs/BUILD.gn
@@ -91,6 +91,7 @@
     "//ios/chrome/browser/bookmarks",
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/content_settings",
+    "//ios/chrome/browser/download:download",
     "//ios/chrome/browser/favicon",
     "//ios/chrome/browser/find_in_page",
     "//ios/chrome/browser/geolocation:geolocation_internal",
diff --git a/ios/chrome/browser/tabs/tab.mm b/ios/chrome/browser/tabs/tab.mm
index 746d8df..0c7dffc 100644
--- a/ios/chrome/browser/tabs/tab.mm
+++ b/ios/chrome/browser/tabs/tab.mm
@@ -45,6 +45,7 @@
 #import "ios/chrome/browser/autofill/form_suggestion_tab_helper.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #include "ios/chrome/browser/chrome_url_constants.h"
+#import "ios/chrome/browser/download/download_manager_tab_helper.h"
 #include "ios/chrome/browser/experimental_flags.h"
 #import "ios/chrome/browser/find_in_page/find_in_page_controller.h"
 #include "ios/chrome/browser/history/history_service_factory.h"
@@ -205,9 +206,18 @@
 #pragma mark - Properties
 
 - (NSString*)title {
-  base::string16 title = self.webState->GetTitle();
-  if (title.empty())
-    title = l10n_util::GetStringUTF16(IDS_DEFAULT_TAB_TITLE);
+  base::string16 title;
+
+  web::WebState* webState = self.webState;
+  if (!webState->GetNavigationManager()->GetVisibleItem() &&
+      DownloadManagerTabHelper::FromWebState(webState)->has_download_task()) {
+    title = l10n_util::GetStringUTF16(IDS_DOWNLOAD_TAB_TITLE);
+  } else {
+    title = webState->GetTitle();
+    if (title.empty())
+      title = l10n_util::GetStringUTF16(IDS_DEFAULT_TAB_TITLE);
+  }
+
   return base::SysUTF16ToNSString(title);
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm
index aff15e2..e3ee37bf 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm
@@ -92,10 +92,12 @@
 
     // Prevent the fake omnibox from scrolling up off of the screen.
     CGFloat topSafeArea = 0;
-    if (@available(iOS 11, *)) {
-      topSafeArea = self.collectionView.safeAreaInsets.top;
-    } else {
-      topSafeArea = StatusBarHeight();
+    if (IsUIRefreshPhase1Enabled()) {
+      if (@available(iOS 11, *)) {
+        topSafeArea = self.collectionView.safeAreaInsets.top;
+      } else {
+        topSafeArea = StatusBarHeight();
+      }
     }
     CGFloat minY = headerHeight - ntp_header::kMinHeaderHeight - topSafeArea;
     if (contentOffset.y > minY)
diff --git a/ios/chrome/browser/ui/download/download_manager_coordinator.mm b/ios/chrome/browser/ui/download/download_manager_coordinator.mm
index 4938b58..2cc526ae2 100644
--- a/ios/chrome/browser/ui/download/download_manager_coordinator.mm
+++ b/ios/chrome/browser/ui/download/download_manager_coordinator.mm
@@ -225,12 +225,12 @@
 - (void)downloadManagerTabHelper:(nonnull DownloadManagerTabHelper*)tabHelper
          decidePolicyForDownload:(nonnull web::DownloadTask*)download
                completionHandler:(nonnull void (^)(NewDownloadPolicy))handler {
-  NSString* title =
-      l10n_util::GetNSString(IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION);
-  NSString* message = l10n_util::GetNSString(
-      IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION_MESSAGE);
+  const int title = IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION;
+  const int message = IDS_IOS_DOWNLOAD_MANAGER_REPLACE_CONFIRMATION_MESSAGE;
   [self runConfirmationDialogWithTitle:title
                                message:message
+                          confirmTitle:IDS_OK
+                           cancelTitle:IDS_CANCEL
                      completionHandler:^(BOOL confirmed) {
                        UMA_HISTOGRAM_BOOLEAN("Download.IOSDownloadReplaced",
                                              confirmed);
@@ -292,10 +292,11 @@
   }
 
   __weak DownloadManagerCoordinator* weakSelf = self;
-  NSString* title =
-      l10n_util::GetNSString(IDS_IOS_DOWNLOAD_MANAGER_CANCEL_CONFIRMATION);
+  int title = IDS_IOS_DOWNLOAD_MANAGER_CANCEL_CONFIRMATION;
   [self runConfirmationDialogWithTitle:title
-                               message:nil
+                               message:-1
+                          confirmTitle:IDS_IOS_DOWNLOAD_MANAGER_STOP
+                           cancelTitle:IDS_IOS_DOWNLOAD_MANAGER_CONTINUE
                      completionHandler:^(BOOL confirmed) {
                        if (confirmed) {
                          UMA_HISTOGRAM_ENUMERATION(
@@ -356,18 +357,23 @@
   downloadTask->Cancel();
 }
 
-// Presents UIAlertController with |title|, |message| and two buttons (OK and
-// Cancel). |handler| is called with YES if OK button was tapped and with NO
-// if Cancel button was tapped.
-- (void)runConfirmationDialogWithTitle:(NSString*)title
-                               message:(NSString*)message
+// Presents UIAlertController with |titleID|, |messageID| and two buttons
+// (confirmTitleID and cancelTitleID). |handler| is called with YES if confirm
+// button was tapped and with NO  if Cancel button was tapped. |messageID| is
+// optional and can be -1.
+- (void)runConfirmationDialogWithTitle:(int)titleID
+                               message:(int)messageID
+                          confirmTitle:(int)confirmTitleID
+                           cancelTitle:(int)cancelTitleID
                      completionHandler:(void (^)(BOOL confirmed))handler {
+  NSString* message = messageID != -1 ? l10n_util::GetNSString(messageID) : nil;
+  NSString* title = l10n_util::GetNSString(titleID);
   _confirmationDialog =
       [UIAlertController alertControllerWithTitle:title
                                           message:message
                                    preferredStyle:UIAlertControllerStyleAlert];
   UIAlertAction* OKAction =
-      [UIAlertAction actionWithTitle:l10n_util::GetNSString(IDS_OK)
+      [UIAlertAction actionWithTitle:l10n_util::GetNSString(confirmTitleID)
                                style:UIAlertActionStyleDefault
                              handler:^(UIAlertAction*) {
                                handler(YES);
@@ -375,7 +381,7 @@
   [_confirmationDialog addAction:OKAction];
 
   UIAlertAction* cancelAction =
-      [UIAlertAction actionWithTitle:l10n_util::GetNSString(IDS_CANCEL)
+      [UIAlertAction actionWithTitle:l10n_util::GetNSString(cancelTitleID)
                                style:UIAlertActionStyleCancel
                              handler:^(UIAlertAction*) {
                                handler(NO);
diff --git a/ios/chrome/browser/ui/download/download_manager_coordinator_unittest.mm b/ios/chrome/browser/ui/download/download_manager_coordinator_unittest.mm
index 251db17..4222e530 100644
--- a/ios/chrome/browser/ui/download/download_manager_coordinator_unittest.mm
+++ b/ios/chrome/browser/ui/download/download_manager_coordinator_unittest.mm
@@ -698,7 +698,7 @@
       isKindOfClass:[UIAlertController class]]);
   UIAlertController* alert = base::mac::ObjCCast<UIAlertController>(
       base_view_controller_.presentedViewController);
-  EXPECT_NSEQ(@"Cancel Download?", alert.title);
+  EXPECT_NSEQ(@"Stop Download?", alert.title);
   EXPECT_FALSE(alert.message);
 
   // Stop to avoid holding a dangling pointer to destroyed task.
diff --git a/ios/chrome/browser/ui/history/BUILD.gn b/ios/chrome/browser/ui/history/BUILD.gn
index 0d57d9e7..41d2f0ce5a 100644
--- a/ios/chrome/browser/ui/history/BUILD.gn
+++ b/ios/chrome/browser/ui/history/BUILD.gn
@@ -13,16 +13,12 @@
     "favicon_view_provider.mm",
     "history_coordinator.h",
     "history_coordinator.mm",
-    "history_entry_inserter.h",
-    "history_entry_inserter.mm",
     "history_panel_view_controller.h",
     "history_panel_view_controller.mm",
     "history_search_view.h",
     "history_search_view.mm",
     "history_search_view_controller.h",
     "history_search_view_controller.mm",
-    "history_util.h",
-    "history_util.mm",
     "ios_browsing_history_driver.h",
     "ios_browsing_history_driver.mm",
     "legacy_history_collection_view_controller.h",
@@ -95,6 +91,8 @@
     "history_entries_status_item.h",
     "history_entries_status_item.mm",
     "history_entries_status_item_delegate.h",
+    "history_entry_inserter.h",
+    "history_entry_inserter.mm",
     "history_entry_item.h",
     "history_entry_item.mm",
     "history_entry_item_delegate.h",
@@ -103,11 +101,24 @@
     "history_table_container_view_controller.mm",
     "history_table_view_controller.h",
     "history_table_view_controller.mm",
+    "history_util.h",
+    "history_util.mm",
   ]
   deps = [
+    "//base",
+    "//base:i18n",
+    "//components/browsing_data/core",
     "//components/history/core/browser",
     "//components/strings",
+    "//components/url_formatter",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/browser",
+    "//ios/chrome/browser/browser_state",
+    "//ios/chrome/browser/sync",
+    "//ios/chrome/browser/ui/collection_view/cells",
+    "//ios/chrome/browser/ui/list_model",
     "//ios/chrome/browser/ui/table_view",
+    "//ios/chrome/browser/ui/table_view:styler",
     "//ios/chrome/browser/ui/table_view/cells",
     "//ui/base",
   ]
diff --git a/ios/chrome/browser/ui/history/history_entry_item.mm b/ios/chrome/browser/ui/history/history_entry_item.mm
index 5af5fe5..71155dc 100644
--- a/ios/chrome/browser/ui/history/history_entry_item.mm
+++ b/ios/chrome/browser/ui/history/history_entry_item.mm
@@ -4,8 +4,11 @@
 
 #import "ios/chrome/browser/ui/history/history_entry_item.h"
 
+#include "base/mac/foundation_util.h"
 #include "base/strings/sys_string_conversions.h"
 #include "components/history/core/browser/browsing_history_service.h"
+#import "ios/chrome/browser/ui/table_view/cells/table_view_url_item.h"
+#import "ios/chrome/browser/ui/table_view/chrome_table_view_styler.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
@@ -20,6 +23,32 @@
 @synthesize URL = _URL;
 @synthesize timestamp = _timestamp;
 
+- (instancetype)initWithType:(NSInteger)type {
+  self = [super initWithType:type];
+  if (self) {
+    self.cellClass = [TableViewURLCell class];
+  }
+  return self;
+}
+
+- (void)configureCell:(UITableViewCell*)tableCell
+           withStyler:(ChromeTableViewStyler*)styler {
+  [super configureCell:tableCell withStyler:styler];
+
+  TableViewURLCell* cell =
+      base::mac::ObjCCastStrict<TableViewURLCell>(tableCell);
+  cell.titleLabel.text = self.text;
+  cell.URLLabel.text = self.detailText;
+  cell.metadataLabel.text = self.timeText;
+  cell.metadataLabel.hidden = ([self.timeText length] == 0);
+  cell.faviconView.image = [UIImage imageNamed:@"default_favicon"];
+
+  cell.faviconView.backgroundColor = styler.tableViewBackgroundColor;
+  cell.titleLabel.backgroundColor = styler.tableViewBackgroundColor;
+  cell.URLLabel.backgroundColor = styler.tableViewBackgroundColor;
+  cell.metadataLabel.backgroundColor = styler.tableViewBackgroundColor;
+}
+
 #pragma mark NSObject
 
 - (BOOL)isEqualToHistoryEntryItem:(HistoryEntryItem*)item {
diff --git a/ios/chrome/browser/ui/history/history_table_view_controller.h b/ios/chrome/browser/ui/history/history_table_view_controller.h
index 033d7f24..12484432 100644
--- a/ios/chrome/browser/ui/history/history_table_view_controller.h
+++ b/ios/chrome/browser/ui/history/history_table_view_controller.h
@@ -7,14 +7,32 @@
 
 #import "ios/chrome/browser/ui/table_view/chrome_table_view_controller.h"
 
+#include "base/ios/block_types.h"
 #include "ios/chrome/browser/ui/history/history_consumer.h"
 
 namespace ios {
 class ChromeBrowserState;
 }
 
+@class HistoryTableViewController;
 @protocol UrlLoader;
 
+// Delegate for HistoryTableViewController.
+@protocol HistoryTableViewControllerDelegate<NSObject>
+// Notifies the delegate that history should be dismissed.
+- (void)historyTableViewController:(HistoryTableViewController*)controller
+         shouldCloseWithCompletion:(ProceduralBlock)completionHandler;
+// Notifies the delegate that the tableView has scrolled to |offset|.
+- (void)historyTableViewController:(HistoryTableViewController*)controller
+                 didScrollToOffset:(CGPoint)offset;
+// Notifies the delegate that history entries have been loaded or changed.
+- (void)historyTableViewControllerDidChangeEntries:
+    (HistoryTableViewController*)controller;
+// Notifies the delegate that history entries have been selected or deselected.
+- (void)historyTableViewControllerDidChangeEntrySelection:
+    (HistoryTableViewController*)controller;
+@end
+
 // ChromeTableViewController for displaying history items.
 @interface HistoryTableViewController
     : ChromeTableViewController<HistoryConsumer>
@@ -25,6 +43,10 @@
 @property(nonatomic, assign) history::BrowsingHistoryService* historyService;
 // The UrlLoader used by this ViewController.
 @property(nonatomic, weak) id<UrlLoader> loader;
+// Delegate for this HistoryTableView.
+@property(nonatomic, weak, readonly) id<HistoryTableViewControllerDelegate>
+    delegate;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_HISTORY_HISTORY_TABLE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/history/history_table_view_controller.mm b/ios/chrome/browser/ui/history/history_table_view_controller.mm
index c2c4bdd..136e5143 100644
--- a/ios/chrome/browser/ui/history/history_table_view_controller.mm
+++ b/ios/chrome/browser/ui/history/history_table_view_controller.mm
@@ -4,32 +4,397 @@
 
 #include "ios/chrome/browser/ui/history/history_table_view_controller.h"
 
+#include "base/i18n/time_formatting.h"
+#include "base/mac/foundation_util.h"
+#include "base/strings/sys_string_conversions.h"
+#include "components/strings/grit/components_strings.h"
+#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
+#include "ios/chrome/browser/sync/sync_setup_service.h"
+#include "ios/chrome/browser/sync/sync_setup_service_factory.h"
+#include "ios/chrome/browser/ui/history/history_entries_status_item.h"
+#import "ios/chrome/browser/ui/history/history_entries_status_item_delegate.h"
+#include "ios/chrome/browser/ui/history/history_entry_inserter.h"
+#import "ios/chrome/browser/ui/history/history_entry_item.h"
+#include "ios/chrome/browser/ui/history/history_util.h"
+#import "ios/chrome/browser/ui/table_view/cells/table_view_text_item.h"
+#include "ios/chrome/grit/ios_strings.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/l10n/l10n_util_mac.h"
+
 #if !defined(__has_feature) || !__has_feature(objc_arc)
 #error "This file requires ARC support."
 #endif
 
+using history::BrowsingHistoryService;
+
+namespace {
+typedef NS_ENUM(NSInteger, ItemType) {
+  ItemTypeHistoryEntry = kItemTypeEnumZero,
+  ItemTypeEntriesStatus,
+  ItemTypeActivityIndicator,
+};
+// Section identifier for the header (sync information) section.
+const NSInteger kEntriesStatusSectionIdentifier = kSectionIdentifierEnumZero;
+// Maximum number of entries to retrieve in a single query to history service.
+const int kMaxFetchCount = 100;
+}
+
+@interface HistoryTableViewController ()<HistoryEntriesStatusItemDelegate,
+                                         HistoryEntryInserterDelegate> {
+  // Closure to request next page of history.
+  base::OnceClosure _query_history_continuation;
+}
+
+// Object to manage insertion of history entries into the table view model.
+@property(nonatomic, strong) HistoryEntryInserter* entryInserter;
+// The current query for visible history entries.
+@property(nonatomic, copy) NSString* currentQuery;
+// YES if there are no results to show.
+@property(nonatomic, assign) BOOL empty;
+// YES if the history panel should show a notice about additional forms of
+// browsing history.
+@property(nonatomic, assign)
+    BOOL shouldShowNoticeAboutOtherFormsOfBrowsingHistory;
+// YES if there is an outstanding history query.
+@property(nonatomic, assign, getter=isLoading) BOOL loading;
+// YES if there are no more history entries to load.
+@property(nonatomic, assign, getter=hasFinishedLoading) BOOL finishedLoading;
+// YES if the table should be filtered by the next received query result.
+@property(nonatomic, assign) BOOL filterQueryResult;
+// YES if there is a search happening.
+@property(nonatomic, assign, getter=isSearching) BOOL searching;
+@end
+
 @implementation HistoryTableViewController
 @synthesize browserState = _browserState;
+@synthesize currentQuery = _currentQuery;
+@synthesize delegate = _delegate;
+@synthesize empty = _empty;
+@synthesize entryInserter = _entryInserter;
+@synthesize filterQueryResult = _filterQueryResult;
+@synthesize finishedLoading = _finishedLoading;
 @synthesize historyService = _historyService;
 @synthesize loader = _loader;
+@synthesize loading = _loading;
+@synthesize searching = _searching;
+@synthesize shouldShowNoticeAboutOtherFormsOfBrowsingHistory =
+    _shouldShowNoticeAboutOtherFormsOfBrowsingHistory;
+
+#pragma mark - ViewController Lifecycle.
+
+- (void)viewDidLoad {
+  [super viewDidLoad];
+  [self loadModel];
+
+  // TableView configuration
+  self.tableView.estimatedRowHeight = 56;
+  self.tableView.rowHeight = UITableViewAutomaticDimension;
+  self.tableView.estimatedSectionHeaderHeight = 56;
+  self.tableView.sectionFooterHeight = 0.0;
+  self.tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
+  self.clearsSelectionOnViewWillAppear = NO;
+}
+
+// TODO(crbug.com/805190): These methods are supposed to be public, though we
+// should consider using a delegate instead.
+#pragma mark - Public Interface
+
+- (void)setSearching:(BOOL)searching {
+  _searching = searching;
+  [self updateEntriesStatusMessage];
+}
+
+- (BOOL)hasSelectedEntries {
+  return self.tableView.indexPathsForSelectedRows.count;
+}
+
+- (void)showHistoryMatchingQuery:(NSString*)query {
+  self.finishedLoading = NO;
+  self.currentQuery = query;
+  [self fetchHistoryForQuery:query continuation:false];
+}
+
+- (void)deleteSelectedItemsFromHistory {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+#pragma mark - TableViewModel
+
+- (void)loadModel {
+  [super loadModel];
+  // Add initial info section as header.
+  [self.tableViewModel
+      addSectionWithIdentifier:kEntriesStatusSectionIdentifier];
+  _entryInserter =
+      [[HistoryEntryInserter alloc] initWithModel:self.tableViewModel];
+  _entryInserter.delegate = self;
+  _empty = YES;
+  [self showHistoryMatchingQuery:nil];
+}
+
+#pragma mark - Protocols.
+
+#pragma mark HistoryEntriesStatusItemDelegate
+
+- (void)historyEntriesStatusItem:(HistoryEntriesStatusItem*)item
+               didRequestOpenURL:(const GURL&)URL {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+#pragma mark HistoryEntryInserterDelegate
+
+- (void)historyEntryInserter:(HistoryEntryInserter*)inserter
+    didInsertItemAtIndexPath:(NSIndexPath*)indexPath {
+  [self.tableView insertRowsAtIndexPaths:@[ indexPath ]
+                        withRowAnimation:UITableViewRowAnimationNone];
+}
+
+- (void)historyEntryInserter:(HistoryEntryInserter*)inserter
+     didInsertSectionAtIndex:(NSInteger)sectionIndex {
+  [self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionIndex]
+                withRowAnimation:UITableViewRowAnimationNone];
+}
+
+- (void)historyEntryInserter:(HistoryEntryInserter*)inserter
+     didRemoveSectionAtIndex:(NSInteger)sectionIndex {
+  [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex]
+                withRowAnimation:UITableViewRowAnimationNone];
+}
+
+#pragma mark HistoryEntryItemDelegate
+// TODO(crbug.com/805190): Migrate once we decide how to handle favicons and the
+// a11y callback on HistoryEntryItem.
 
 #pragma mark - HistoryConsumer
 
-- (void)
-historyQueryWasCompletedWithResults:
-    (const std::vector<history::BrowsingHistoryService::HistoryEntry>&)results
-                   queryResultsInfo:(const history::BrowsingHistoryService::
-                                         QueryResultsInfo&)queryResultsInfo
-                continuationClosure:(base::OnceClosure)continuationClosure {
-  // TODO(crbug.com/805190): Implement HistoryConsumer.
-}
+- (void)historyQueryWasCompletedWithResults:
+            (const std::vector<BrowsingHistoryService::HistoryEntry>&)results
+                           queryResultsInfo:
+                               (const BrowsingHistoryService::QueryResultsInfo&)
+                                   queryResultsInfo
+                        continuationClosure:
+                            (base::OnceClosure)continuationClosure {
+  self.loading = NO;
+  _query_history_continuation = std::move(continuationClosure);
 
-- (void)historyWasDeleted {
-  // TODO(crbug.com/805190): Implement HistoryConsumer.
+  // If history sync is enabled and there hasn't been a response from synced
+  // history, try fetching again.
+  SyncSetupService* syncSetupService =
+      SyncSetupServiceFactory::GetForBrowserState(_browserState);
+  if (syncSetupService->IsSyncEnabled() &&
+      syncSetupService->IsDataTypeActive(syncer::HISTORY_DELETE_DIRECTIVES) &&
+      queryResultsInfo.sync_timed_out) {
+    [self showHistoryMatchingQuery:_currentQuery];
+    return;
+  }
+
+  // If there are no results and no URLs have been loaded, report that no
+  // history entries were found.
+  if (results.empty() && self.empty) {
+    [self updateEntriesStatusMessage];
+    [self.delegate historyTableViewControllerDidChangeEntries:self];
+    return;
+  }
+
+  self.finishedLoading = queryResultsInfo.reached_beginning;
+  self.empty = NO;
+
+  // Header section should be updated outside of batch updates, otherwise
+  // loading indicator removal will not be observed.
+  [self updateEntriesStatusMessage];
+
+  NSMutableArray* resultsItems = [NSMutableArray array];
+  NSString* searchQuery =
+      [base::SysUTF16ToNSString(queryResultsInfo.search_text) copy];
+
+  void (^tableUpdates)(void) = ^{
+    // There should always be at least a header section present.
+    DCHECK([[self tableViewModel] numberOfSections]);
+    for (const BrowsingHistoryService::HistoryEntry& entry : results) {
+      HistoryEntryItem* item =
+          [[HistoryEntryItem alloc] initWithType:ItemTypeHistoryEntry];
+      item.text = [history::FormattedTitle(entry.title, entry.url) copy];
+      item.detailText =
+          [base::SysUTF8ToNSString(entry.url.GetOrigin().spec()) copy];
+      item.timeText = [base::SysUTF16ToNSString(
+          base::TimeFormatTimeOfDay(entry.time)) copy];
+      item.URL = entry.url;
+      item.timestamp = entry.time;
+      [resultsItems addObject:item];
+    }
+    [self.delegate historyTableViewControllerDidChangeEntries:self];
+    if (([self isSearching] && [searchQuery length] > 0 &&
+         [self.currentQuery isEqualToString:searchQuery]) ||
+        self.filterQueryResult) {
+      // If in search mode, filter out entries that are not part of the
+      // search result.
+      [self filterForHistoryEntries:resultsItems];
+      NSArray* deletedIndexPaths = self.tableView.indexPathsForSelectedRows;
+      [self deleteItemsFromtableViewModelWithIndex:deletedIndexPaths];
+      self.filterQueryResult = NO;
+    }
+    // Wait to insert until after the deletions are done, this is needed
+    // because performBatchUpdates processes deletion indexes first, and
+    // then inserts.
+    for (HistoryEntryItem* item in resultsItems) {
+      [self.entryInserter insertHistoryEntryItem:item];
+    }
+  };
+
+  // If iOS11+ use performBatchUpdates: instead of beginUpdates/endUpdates.
+  if (@available(iOS 11, *)) {
+    [self.tableView performBatchUpdates:tableUpdates
+                             completion:^(BOOL) {
+                               [self updateTableViewAfterDeletingEntries];
+                             }];
+  } else {
+    [self.tableView beginUpdates];
+    tableUpdates();
+    [self updateTableViewAfterDeletingEntries];
+    [self.tableView endUpdates];
+  }
 }
 
 - (void)showNoticeAboutOtherFormsOfBrowsingHistory:(BOOL)shouldShowNotice {
-  // TODO(crbug.com/805190): Implement HistoryConsumer.
+  self.shouldShowNoticeAboutOtherFormsOfBrowsingHistory = shouldShowNotice;
+  // Update the history entries status message if there is no query in progress.
+  if (!self.isLoading) {
+    [self updateEntriesStatusMessage];
+  }
+}
+
+- (void)historyWasDeleted {
+  // If history has been deleted, reload history filtering for the current
+  // results. This only observes local changes to history, i.e. removing
+  // history via the clear browsing data page.
+  self.filterQueryResult = YES;
+  [self showHistoryMatchingQuery:nil];
+}
+
+#pragma mark - UITableViewDelegate
+
+- (CGFloat)tableView:(UITableView*)tableView
+    heightForHeaderInSection:(NSInteger)section {
+  if (section ==
+      [self.tableViewModel
+          sectionForSectionIdentifier:kEntriesStatusSectionIdentifier])
+    return 0;
+  return UITableViewAutomaticDimension;
+}
+
+#pragma mark - UIScrollViewDelegate
+
+- (void)scrollViewDidScroll:(UIScrollView*)scrollView {
+  if (self.hasFinishedLoading)
+    return;
+
+  CGFloat insetHeight =
+      scrollView.contentInset.top + scrollView.contentInset.bottom;
+  CGFloat contentViewHeight = scrollView.bounds.size.height - insetHeight;
+  CGFloat contentHeight = scrollView.contentSize.height;
+  CGFloat contentOffset = scrollView.contentOffset.y;
+  CGFloat buffer = contentViewHeight;
+  // If the scroll view is approaching the end of loaded history, try to fetch
+  // more history. Do so when the content offset is greater than the content
+  // height minus the view height, minus a buffer to start the fetch early.
+  if (contentOffset > (contentHeight - contentViewHeight) - buffer &&
+      !self.isLoading) {
+    // If at end, try to grab more history.
+    NSInteger lastSection = [self.tableViewModel numberOfSections] - 1;
+    NSInteger lastItemIndex =
+        [self.tableViewModel numberOfItemsInSection:lastSection] - 1;
+    if (lastSection == 0 || lastItemIndex < 0) {
+      return;
+    }
+
+    [self fetchHistoryForQuery:_currentQuery continuation:true];
+  }
+}
+
+#pragma mark - Private methods
+
+// Fetches history for search text |query|. If |query| is nil or the empty
+// string, all history is fetched. If continuation is false, then the most
+// recent results are fetched, otherwise the results more recent than the
+// previous query will be returned.
+- (void)fetchHistoryForQuery:(NSString*)query continuation:(BOOL)continuation {
+  self.loading = YES;
+  // Add loading indicator if no items are shown.
+  if (self.empty && !self.isSearching) {
+    [self addLoadingIndicator];
+  }
+
+  if (continuation) {
+    DCHECK(_query_history_continuation);
+    std::move(_query_history_continuation).Run();
+  } else {
+    _query_history_continuation.Reset();
+
+    BOOL fetchAllHistory = !query || [query isEqualToString:@""];
+    base::string16 queryString =
+        fetchAllHistory ? base::string16() : base::SysNSStringToUTF16(query);
+    history::QueryOptions options;
+    options.duplicate_policy =
+        fetchAllHistory ? history::QueryOptions::REMOVE_DUPLICATES_PER_DAY
+                        : history::QueryOptions::REMOVE_ALL_DUPLICATES;
+    options.max_count = kMaxFetchCount;
+    options.matching_algorithm =
+        query_parser::MatchingAlgorithm::ALWAYS_PREFIX_SEARCH;
+    self.historyService->QueryHistory(queryString, options);
+  }
+}
+
+// Updates various elements after history items have been deleted from the
+// TableView.
+- (void)updateTableViewAfterDeletingEntries {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+// Updates header section to provide relevant information about the currently
+// displayed history entries.
+- (void)updateEntriesStatusMessage {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+// Removes selected items from the tableView, but does not delete them from
+// browser history.
+- (void)removeSelectedItemsFromTableView {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+// Deletes all items in the tableView which indexes are included in indexArray,
+// needs to be run inside a performBatchUpdates block.
+- (void)deleteItemsFromtableViewModelWithIndex:(NSArray*)indexArray {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+// Selects all items in the tableView that are not included in entries.
+- (void)filterForHistoryEntries:(NSArray*)entries {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+// Adds loading indicator to the top of the history tableView, if one is not
+// already present.
+- (void)addLoadingIndicator {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+#pragma mark Context Menu
+- (void)displayContextMenuInvokedByGestureRecognizer:
+    (UILongPressGestureRecognizer*)gestureRecognizer {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+- (void)openURL:(const GURL&)URL {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+- (void)openURLInNewTab:(const GURL&)URL {
+  // TODO(crbug.com/805190): Migrate.
+}
+
+- (void)openURLInNewIncognitoTab:(const GURL&)URL {
+  // TODO(crbug.com/805190): Migrate.
 }
 
 @end
diff --git a/ios/chrome/browser/ui/history/history_util.h b/ios/chrome/browser/ui/history/history_util.h
index 04b99ac..da2efc3 100644
--- a/ios/chrome/browser/ui/history/history_util.h
+++ b/ios/chrome/browser/ui/history/history_util.h
@@ -5,11 +5,14 @@
 #ifndef IOS_CHROME_BROWSER_UI_HISTORY_HISTORY_UTIL_H_
 #define IOS_CHROME_BROWSER_UI_HISTORY_HISTORY_UTIL_H_
 
+#import <Foundation/Foundation.h>
+
 #include "base/strings/string16.h"
 
 namespace base {
 class Time;
 }
+class GURL;
 
 namespace history {
 
@@ -17,6 +20,10 @@
 // indicator (e.g. today, yesterday).
 base::string16 GetRelativeDateLocalized(const base::Time& visit_time);
 
+// Formats |title| to support RTL, or creates an RTL supported title based on
+// |url| if |title| is empty.
+NSString* FormattedTitle(const base::string16& title, const GURL& url);
+
 }  // namespace history
 
 #endif  // IOS_CHROME_BROWSER_UI_HISTORY_HISTORY_UTIL_H_
diff --git a/ios/chrome/browser/ui/history/history_util.mm b/ios/chrome/browser/ui/history/history_util.mm
index f9b6b3a..2e63dd4 100644
--- a/ios/chrome/browser/ui/history/history_util.mm
+++ b/ios/chrome/browser/ui/history/history_util.mm
@@ -4,9 +4,12 @@
 
 #include "ios/chrome/browser/ui/history/history_util.h"
 
+#include "base/i18n/rtl.h"
 #include "base/i18n/time_formatting.h"
+#include "base/strings/sys_string_conversions.h"
 #include "base/time/time.h"
 #include "components/strings/grit/components_strings.h"
+#include "components/url_formatter/url_formatter.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/l10n/time_format.h"
 
@@ -29,4 +32,25 @@
   return date_str;
 }
 
+NSString* FormattedTitle(const base::string16& title, const GURL& url) {
+  // Use url as title if no title.
+  bool using_url_as_the_title = false;
+  base::string16 formatted_title(title);
+  if (title.empty()) {
+    using_url_as_the_title = true;
+    formatted_title = url_formatter::FormatUrl(url);
+  }
+  // Since the title can contain BiDi text, mark the text as either RTL or LTR,
+  // depending on the characters in the string. If the URL is used as the title,
+  // mark the title as LTR since URLs are always treated as left to right
+  // strings.
+  if (base::i18n::IsRTL()) {
+    if (using_url_as_the_title)
+      base::i18n::WrapStringWithLTRFormatting(&formatted_title);
+    else
+      base::i18n::AdjustStringForLocaleDirection(&formatted_title);
+  }
+  return base::SysUTF16ToNSString(formatted_title);
+}
+
 }  // namespace history
diff --git a/ios/chrome/browser/ui/history/legacy_history_entry_item.mm b/ios/chrome/browser/ui/history/legacy_history_entry_item.mm
index 64765ca..53d253f 100644
--- a/ios/chrome/browser/ui/history/legacy_history_entry_item.mm
+++ b/ios/chrome/browser/ui/history/legacy_history_entry_item.mm
@@ -10,11 +10,11 @@
 #include "base/strings/utf_string_conversions.h"
 #include "components/history/core/browser/url_row.h"
 #include "components/strings/grit/components_strings.h"
-#include "components/url_formatter/url_formatter.h"
 #include "ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.h"
 #import "ios/chrome/browser/ui/history/favicon_view.h"
 #import "ios/chrome/browser/ui/history/favicon_view_provider.h"
 #import "ios/chrome/browser/ui/history/history_entry_item_delegate.h"
+#include "ios/chrome/browser/ui/history/history_util.h"
 #include "ios/chrome/browser/ui/rtl_geometry.h"
 #import "ios/chrome/browser/ui/util/constraints_ui_util.h"
 #include "ios/chrome/grit/ios_strings.h"
@@ -35,27 +35,6 @@
 const CGFloat kMargin = 16.0;
 // Horizontal spacing between the leading edge of the cell and the text.
 const CGFloat kHeaderMargin = 56.0;
-
-NSString* FormattedTitle(const base::string16& title, const GURL& url) {
-  // Use url as title if no title.
-  bool using_url_as_the_title = false;
-  base::string16 formatted_title(title);
-  if (title.empty()) {
-    using_url_as_the_title = true;
-    formatted_title = url_formatter::FormatUrl(url);
-  }
-  // Since the title can contain BiDi text, mark the text as either RTL or LTR,
-  // depending on the characters in the string. If the URL is used as the title,
-  // mark the title as LTR since URLs are always treated as left to right
-  // strings.
-  if (base::i18n::IsRTL()) {
-    if (using_url_as_the_title)
-      base::i18n::WrapStringWithLTRFormatting(&formatted_title);
-    else
-      base::i18n::AdjustStringForLocaleDirection(&formatted_title);
-  }
-  return base::SysUTF16ToNSString(formatted_title);
-}
 }  // namespace
 
 #pragma mark - LegacyHistoryEntryItem
@@ -106,7 +85,7 @@
                                   minFaviconSize:kMinFaviconSize
                                 largeIconService:largeIconService
                                         delegate:self];
-    _text = [FormattedTitle(entry.title, entry.url) copy];
+    _text = [history::FormattedTitle(entry.title, entry.url) copy];
     _detailText = [base::SysUTF8ToNSString(entry.url.spec()) copy];
     _timeText =
         [base::SysUTF16ToNSString(base::TimeFormatTimeOfDay(entry.time)) copy];
diff --git a/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_egtest.mm b/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_egtest.mm
index f3b81fe..59d52c3 100644
--- a/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_egtest.mm
+++ b/ios/chrome/browser/ui/ntp/recent_tabs/recent_tabs_table_egtest.mm
@@ -185,10 +185,13 @@
                           closeButton:NO];
 
   // Tap on "Other Devices", to hide the sign-in promo.
-  [[EarlGrey
-      selectElementWithMatcher:chrome_test_util::ButtonWithAccessibilityLabel(
-                                   l10n_util::GetNSString(
-                                       IDS_IOS_RECENT_TABS_OTHER_DEVICES))]
+  NSString* otherDevicesLabel =
+      l10n_util::GetNSString(IDS_IOS_RECENT_TABS_OTHER_DEVICES);
+  id<GREYMatcher> otherDevicesMatcher =
+      IsUIRefreshPhase1Enabled()
+          ? grey_accessibilityLabel(otherDevicesLabel)
+          : chrome_test_util::ButtonWithAccessibilityLabel(otherDevicesLabel);
+  [[EarlGrey selectElementWithMatcher:otherDevicesMatcher]
       performAction:grey_tap()];
   [SigninEarlGreyUtils checkSigninPromoNotVisible];
 
@@ -197,11 +200,8 @@
   ios::FakeChromeIdentityService::GetInstanceFromChromeProvider()->AddIdentity(
       identity);
 
-  // Tap on "Other Devcies", to show the sign-in promo.
-  [[EarlGrey
-      selectElementWithMatcher:chrome_test_util::ButtonWithAccessibilityLabel(
-                                   l10n_util::GetNSString(
-                                       IDS_IOS_RECENT_TABS_OTHER_DEVICES))]
+  // Tap on "Other Devices", to show the sign-in promo.
+  [[EarlGrey selectElementWithMatcher:otherDevicesMatcher]
       performAction:grey_tap()];
   [SigninEarlGreyUtils
       checkSigninPromoVisibleWithMode:SigninPromoViewModeWarmState
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_view_ios.mm b/ios/chrome/browser/ui/omnibox/omnibox_view_ios.mm
index 266982b..cee6713 100644
--- a/ios/chrome/browser/ui/omnibox/omnibox_view_ios.mm
+++ b/ios/chrome/browser/ui/omnibox/omnibox_view_ios.mm
@@ -145,11 +145,8 @@
 
 // When editing, forward the message on to |editView_|.
 - (BOOL)textFieldShouldClear:(UITextField*)textField {
-  if (IsRefreshLocationBarEnabled()) {
-    editView_->ClearText();
-  } else {
-    editView_->OnClear();
-  }
+  DCHECK(IsRefreshLocationBarEnabled());
+  editView_->ClearText();
   processingUserEvent_ = YES;
   return YES;
 }
diff --git a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_navigation_item.mm b/ios/chrome/browser/ui/popup_menu/cells/popup_menu_navigation_item.mm
index 490f21a..9288cf7 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_navigation_item.mm
+++ b/ios/chrome/browser/ui/popup_menu/cells/popup_menu_navigation_item.mm
@@ -39,6 +39,7 @@
 - (void)configureCell:(PopupMenuNavigationCell*)cell
            withStyler:(ChromeTableViewStyler*)styler {
   [super configureCell:cell withStyler:styler];
+  cell.accessibilityTraits = UIAccessibilityTraitButton;
   [cell setFavicon:self.favicon];
   [cell setTitle:self.title];
 }
@@ -107,6 +108,8 @@
     [_faviconView.centerYAnchor
         constraintEqualToAnchor:self.contentView.centerYAnchor]
         .active = YES;
+
+    self.isAccessibilityElement = YES;
   }
   return self;
 }
diff --git a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm b/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm
index ccf0a90..7cdcb96 100644
--- a/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm
+++ b/ios/chrome/browser/ui/popup_menu/cells/popup_menu_tools_item.mm
@@ -52,6 +52,7 @@
   [super configureCell:cell withStyler:styler];
   cell.titleLabel.text = self.title;
   cell.imageView.image = self.image;
+  cell.accessibilityTraits = UIAccessibilityTraitButton;
   cell.userInteractionEnabled = self.enabled;
   [cell setBadgeNumber:self.badgeNumber];
   [cell setBadgeText:self.badgeText];
@@ -161,6 +162,8 @@
                        constant:-kMargin];
     trailingEdge.priority = UILayoutPriorityDefaultHigh - 2;
     trailingEdge.active = YES;
+
+    self.isAccessibilityElement = YES;
   }
   return self;
 }
@@ -234,6 +237,7 @@
 - (void)prepareForReuse {
   [super prepareForReuse];
   self.userInteractionEnabled = YES;
+  self.accessibilityTraits &= ~UIAccessibilityTraitNotEnabled;
 }
 
 - (void)setUserInteractionEnabled:(BOOL)userInteractionEnabled {
@@ -244,6 +248,7 @@
   } else {
     self.titleLabel.textColor = [[self class] disabledColor];
     self.imageView.tintColor = [[self class] disabledColor];
+    self.accessibilityTraits |= UIAccessibilityTraitNotEnabled;
   }
 }
 
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm b/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm
index 566fcc1..ef922f5e 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm
+++ b/ios/chrome/browser/ui/popup_menu/popup_menu_mediator.mm
@@ -94,6 +94,8 @@
 @property(nonatomic, strong) PopupMenuToolsItem* bookmarkItem;
 @property(nonatomic, strong) PopupMenuToolsItem* findInPageItem;
 @property(nonatomic, strong) PopupMenuToolsItem* siteInformationItem;
+@property(nonatomic, strong) PopupMenuToolsItem* requestDesktopSiteItem;
+@property(nonatomic, strong) PopupMenuToolsItem* requestMobileSiteItem;
 @property(nonatomic, strong) PopupMenuToolsItem* readingListItem;
 // Array containing all the nonnull items/
 @property(nonatomic, strong) NSArray<TableViewItem*>* specificItems;
@@ -117,6 +119,8 @@
 @synthesize bookmarkItem = _bookmarkItem;
 @synthesize findInPageItem = _findInPageItem;
 @synthesize siteInformationItem = _siteInformationItem;
+@synthesize requestDesktopSiteItem = _requestDesktopSiteItem;
+@synthesize requestMobileSiteItem = _requestMobileSiteItem;
 @synthesize readingListItem = _readingListItem;
 @synthesize specificItems = _specificItems;
 
@@ -357,6 +361,10 @@
       [specificItems addObject:self.findInPageItem];
     if (self.siteInformationItem)
       [specificItems addObject:self.siteInformationItem];
+    if (self.requestDesktopSiteItem)
+      [specificItems addObject:self.requestDesktopSiteItem];
+    if (self.requestMobileSiteItem)
+      [specificItems addObject:self.requestMobileSiteItem];
     if (self.readingListItem)
       [specificItems addObject:self.readingListItem];
     self.specificItems = specificItems;
@@ -411,10 +419,15 @@
 // Updates the popup menu to have its state in sync with the current page
 // status.
 - (void)updatePopupMenu {
+  [self updateReloadStopItem];
   self.readLaterItem.enabled = [self isCurrentURLWebURL];
   [self updateBookmarkItem];
   self.findInPageItem.enabled = [self isFindInPageEnabled];
-  [self updateReloadStopItem];
+  self.siteInformationItem.enabled = [self isCurrentURLWebURL];
+  self.requestDesktopSiteItem.enabled =
+      [self userAgentType] == web::UserAgentType::MOBILE;
+  self.requestMobileSiteItem.enabled =
+      [self userAgentType] == web::UserAgentType::DESKTOP;
 
   // Reload the items.
   [self.popupMenu reconfigureCellsForItems:self.specificItems];
@@ -591,19 +604,19 @@
 
   if ([self userAgentType] != web::UserAgentType::DESKTOP) {
     // Request Desktop Site.
-    PopupMenuToolsItem* requestDesktopSite = CreateTableViewItem(
+    self.requestDesktopSiteItem = CreateTableViewItem(
         IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, PopupMenuActionRequestDesktop,
         @"popup_menu_request_desktop_site", kToolsMenuRequestDesktopId);
     // Disable the action if the user agent is not mobile.
-    requestDesktopSite.enabled =
+    self.requestDesktopSiteItem.enabled =
         [self userAgentType] == web::UserAgentType::MOBILE;
-    [actionsArray addObject:requestDesktopSite];
+    [actionsArray addObject:self.requestDesktopSiteItem];
   } else {
     // Request Mobile Site.
-    TableViewItem* requestMobileSite = CreateTableViewItem(
+    self.requestMobileSiteItem = CreateTableViewItem(
         IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE, PopupMenuActionRequestMobile,
         @"popup_menu_request_mobile_site", kToolsMenuRequestMobileId);
-    [actionsArray addObject:requestMobileSite];
+    [actionsArray addObject:self.requestMobileSiteItem];
   }
 
   // Site Information.
diff --git a/ios/chrome/browser/ui/settings/signin_settings_egtest.mm b/ios/chrome/browser/ui/settings/signin_settings_egtest.mm
index c89ff75..529aa153 100644
--- a/ios/chrome/browser/ui/settings/signin_settings_egtest.mm
+++ b/ios/chrome/browser/ui/settings/signin_settings_egtest.mm
@@ -44,7 +44,9 @@
       checkSigninPromoVisibleWithMode:SigninPromoViewModeColdState];
   [ChromeEarlGreyUI tapSettingsMenuButton:PrimarySignInButton()];
 
-  [[EarlGrey selectElementWithMatcher:grey_buttonTitle(@"Cancel")]
+  [[EarlGrey
+      selectElementWithMatcher:grey_allOf(grey_buttonTitle(@"Cancel"),
+                                          grey_sufficientlyVisible(), nil)]
       performAction:grey_tap()];
   [SigninEarlGreyUtils
       checkSigninPromoVisibleWithMode:SigninPromoViewModeColdState];
diff --git a/ios/chrome/browser/ui/table_view/table_view_presentation_controller.mm b/ios/chrome/browser/ui/table_view/table_view_presentation_controller.mm
index 77f3937..22a03290 100644
--- a/ios/chrome/browser/ui/table_view/table_view_presentation_controller.mm
+++ b/ios/chrome/browser/ui/table_view/table_view_presentation_controller.mm
@@ -35,8 +35,20 @@
 
 @interface TableViewPresentationController ()
 
+// A view which prevents touches from reaching views below this controller's
+// |containerView|.  This view is normally clear and dismisses the presented
+// view controller when tapped, but can optionally act as a dimming view and
+// ignore touches.
+@property(nonatomic, readwrite, strong) UIView* dimmingShield;
+
+// A container view for |tableViewContainer| and |shadowImage|.
 @property(nonatomic, readwrite, strong) UIView* shadowContainer;
+
+// Draws a shadow to visually separate the contents of |tableViewContainer| from
+// the views below.
 @property(nonatomic, readwrite, strong) UIImageView* shadowImage;
+
+// Acts as a container for the presented view controller's view.
 @property(nonatomic, readwrite, strong) UIView* tableViewContainer;
 
 // Cleans up and removes any views that are managed by this controller.
@@ -45,6 +57,7 @@
 @end
 
 @implementation TableViewPresentationController
+@synthesize dimmingShield = _dimmingShield;
 @synthesize shadowContainer = _shadowContainer;
 @synthesize shadowImage = _shadowImage;
 @synthesize tableViewContainer = _tableViewContainer;
@@ -70,8 +83,18 @@
 }
 
 - (void)presentationTransitionWillBegin {
-  self.shadowContainer = [[UIView alloc] init];
+  // The dimming view is added first, so that all other views are layered on top
+  // of it.
+  self.dimmingShield = [[UIView alloc] init];
+  self.dimmingShield.backgroundColor = [UIColor clearColor];
+  self.dimmingShield.frame = self.containerView.bounds;
+  [self.containerView addSubview:self.dimmingShield];
+  [self.dimmingShield
+      addGestureRecognizer:[[UITapGestureRecognizer alloc]
+                               initWithTarget:self
+                                       action:@selector(handleShieldTap)]];
 
+  self.shadowContainer = [[UIView alloc] init];
   self.shadowImage =
       [[UIImageView alloc] initWithImage:StretchableImageNamed(@"menu_shadow")];
   self.shadowImage.translatesAutoresizingMaskIntoConstraints = NO;
@@ -136,6 +159,7 @@
 }
 
 - (void)containerViewWillLayoutSubviews {
+  self.dimmingShield.frame = self.containerView.bounds;
   self.shadowContainer.frame = [self frameOfPresentedViewInContainerView];
 }
 
@@ -148,6 +172,15 @@
   self.shadowImage = nil;
   [self.shadowContainer removeFromSuperview];
   self.shadowContainer = nil;
+  [self.dimmingShield removeFromSuperview];
+  self.dimmingShield = nil;
+}
+
+#pragma mark - Actions
+
+- (void)handleShieldTap {
+  [self.presentedViewController dismissViewControllerAnimated:YES
+                                                   completion:nil];
 }
 
 #pragma mark - Adaptivity
diff --git a/ios/chrome/browser/ui/tools_menu/tools_popup_menu_egtest.mm b/ios/chrome/browser/ui/tools_menu/tools_popup_menu_egtest.mm
index a1353f8..0f39ac9 100644
--- a/ios/chrome/browser/ui/tools_menu/tools_popup_menu_egtest.mm
+++ b/ios/chrome/browser/ui/tools_menu/tools_popup_menu_egtest.mm
@@ -27,8 +27,7 @@
 
 // Matcher for the button to find in page.
 id<GREYMatcher> FindInPageButton() {
-  return chrome_test_util::ButtonWithAccessibilityLabel(
-      l10n_util::GetNSStringWithFixup(IDS_IOS_TOOLS_MENU_FIND_IN_PAGE));
+  return grey_accessibilityID(kToolsMenuFindInPageId);
 }
 }  // namespace
 
@@ -38,11 +37,20 @@
 
 @implementation ToolsPopupMenuTestCase
 
-// Tests that the menu is closed when tapping the close button.
+// Tests that the menu is closed when tapping the close button or the scrim.
 - (void)testOpenAndCloseToolsMenu {
   [ChromeEarlGreyUI openToolsMenu];
 
-  if (!IsCompactWidth()) {
+  // When the UIRefresh flag is enabled, a scrim covers the whole window and
+  // tapping on this scrim dismisses the tools menu.  The "Tools Menu" button
+  // happens to be outside of the bounds of the menu and is a convenient place
+  // to tap to activate the scrim.
+  //
+  // When the UIRefresh flag is disabled, a scrim is present on phone with the
+  // |IDS_IOS_TOOLBAR_CLOSE_MENU| accessibility label.  On tablet, the tools
+  // menu button is an item in the tools menu and can be pressed again to close
+  // the menu.
+  if (!IsCompactWidth() && !IsUIRefreshPhase1Enabled()) {
     [[EarlGrey
         selectElementWithMatcher:grey_accessibilityLabel(l10n_util::GetNSString(
                                      IDS_IOS_TOOLBAR_CLOSE_MENU))]
diff --git a/ios/chrome/test/app/chrome_test_util.mm b/ios/chrome/test/app/chrome_test_util.mm
index b31a2c2a..2c39f702 100644
--- a/ios/chrome/test/app/chrome_test_util.mm
+++ b/ios/chrome/test/app/chrome_test_util.mm
@@ -21,6 +21,7 @@
 #import "ios/chrome/browser/metrics/previous_session_info_private.h"
 #import "ios/chrome/browser/tabs/tab.h"
 #import "ios/chrome/browser/ui/browser_view_controller.h"
+#import "ios/chrome/browser/ui/main/bvc_container_view_controller.h"
 #import "ios/chrome/browser/ui/main/view_controller_swapping.h"
 #import "ios/chrome/browser/ui/ntp/new_tab_page_controller.h"
 #import "ios/chrome/browser/ui/tab_switcher/tab_switcher.h"
@@ -124,11 +125,22 @@
     return [static_cast<id<ViewControllerSwapping>>(main_view_controller)
         activeViewController];
   }
+
   // The active view controller is either the TabGridViewController or its
-  // presented BVC.
-  return main_view_controller.presentedViewController
-             ? main_view_controller.presentedViewController
-             : main_view_controller;
+  // presented BVC. The BVC is itself contained inside of a
+  // BVCContainerViewController.
+  UIViewController* active_view_controller =
+      main_view_controller.presentedViewController
+          ? main_view_controller.presentedViewController
+          : main_view_controller;
+  if ([active_view_controller
+          isKindOfClass:[BVCContainerViewController class]]) {
+    active_view_controller =
+        base::mac::ObjCCastStrict<BVCContainerViewController>(
+            active_view_controller)
+            .currentBVC;
+  }
+  return active_view_controller;
 }
 
 id<ApplicationCommands, BrowserCommands> DispatcherForActiveViewController() {
diff --git a/ios/web/web_state/navigation_and_load_callbacks_inttest.mm b/ios/web/web_state/navigation_and_load_callbacks_inttest.mm
index 9016cd9..2702904 100644
--- a/ios/web/web_state/navigation_and_load_callbacks_inttest.mm
+++ b/ios/web/web_state/navigation_and_load_callbacks_inttest.mm
@@ -1185,6 +1185,8 @@
   EXPECT_TRUE(WaitUntilConditionOrTimeout(testing::kWaitForDownloadTimeout, ^{
     return !web_state()->IsLoading();
   }));
+
+  EXPECT_FALSE(web_state()->GetNavigationManager()->GetPendingItem());
 }
 
 // Tests failed load after the navigation is sucessfully finished.
diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm
index 44a1d0a..944dda8c 100644
--- a/ios/web/web_state/ui/crw_web_controller.mm
+++ b/ios/web/web_state/ui/crw_web_controller.mm
@@ -4311,19 +4311,16 @@
     if (isPassKit ||
         base::FeatureList::IsEnabled(web::features::kNewFileDownload)) {
       // Discard the pending item to ensure that the current URL is not
-      // different from what is displayed on the view. If there is no previous
-      // committed URL, which can happen when a link is opened in a new tab via
-      // a context menu or window.open, the pending entry should not be
-      // discarded so that the NavigationManager is never empty. Also, URLs
-      // loaded in a native view should be excluded to avoid an ugly animation
-      // where the web view is inserted and quickly removed.
+      // different from what is displayed on the view. URL loaded in a native
+      // view should be excluded to avoid an ugly animation where the web view
+      // is inserted and quickly removed.
       GURL lastCommittedURL = self.webState->GetLastCommittedURL();
-      BOOL isFirstLoad = lastCommittedURL.is_empty();
       BOOL previousItemWasLoadedInNativeView =
           [self shouldLoadURLInNativeView:lastCommittedURL];
-      if (!isFirstLoad && !previousItemWasLoadedInNativeView)
+      if (!previousItemWasLoadedInNativeView)
         self.navigationManagerImpl->DiscardNonCommittedItems();
     }
+    _webStateImpl->SetIsLoading(false);
   }
 
   handler(allowNavigation ? WKNavigationResponsePolicyAllow
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/enum_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/enum_macros.tmpl
index fcd025c..d2416ab 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/enum_macros.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/enum_macros.tmpl
@@ -12,6 +12,9 @@
   {{field.name}},
 {%-     endif %}
 {%-   endfor %}
+{%-   if enum.min_value is not none %}
+  kMinValue = {{enum.min_value}},
+{%-   endif %}
 {%-   if enum.max_value is not none %}
   kMaxValue = {{enum.max_value}},
 {%-   endif %}
diff --git a/mojo/public/tools/bindings/pylib/mojom/generate/module.py b/mojo/public/tools/bindings/pylib/mojom/generate/module.py
index d8e2010..db45e33 100644
--- a/mojo/public/tools/bindings/pylib/mojom/generate/module.py
+++ b/mojo/public/tools/bindings/pylib/mojom/generate/module.py
@@ -683,6 +683,7 @@
     Kind.__init__(self, spec, module)
     self.fields = []
     self.attributes = attributes
+    self.min_value = None
     self.max_value = None
 
   def Repr(self, as_ref=True):
diff --git a/mojo/public/tools/bindings/pylib/mojom/generate/translate.py b/mojo/public/tools/bindings/pylib/mojom/generate/translate.py
index 19b405a5..94fe2a6 100644
--- a/mojo/public/tools/bindings/pylib/mojom/generate/translate.py
+++ b/mojo/public/tools/bindings/pylib/mojom/generate/translate.py
@@ -452,12 +452,14 @@
   values to EnumField.numeric_value.
 
   Returns:
-    The highest assigned enumerator value or None if no values were assigned.
+    A tuple of the lowest and highest assigned enumerator value or None, None
+    if no enumerator values were assigned.
   """
 
   # map of <mojom_name> -> integral value
   resolved_enum_values = {}
   prev_value = -1
+  min_value = None
   max_value = None
   for field in enum_fields:
     # This enum value is +1 the previous enum value (e.g: BEGIN).
@@ -476,10 +478,12 @@
 
     resolved_enum_values[field.mojom_name] = prev_value
     field.numeric_value = prev_value
+    if min_value is None or prev_value < min_value:
+      min_value = prev_value
     if max_value is None or prev_value > max_value:
       max_value = prev_value
 
-  return max_value
+  return min_value, max_value
 
 def _Enum(module, parsed_enum, parent_kind):
   """
@@ -503,7 +507,7 @@
     enum.fields = map(
         lambda field: _EnumField(module, enum, field, parent_kind),
         parsed_enum.enum_value_list)
-    enum.max_value = _ResolveNumericEnumValues(enum.fields)
+    enum.min_value, enum.max_value = _ResolveNumericEnumValues(enum.fields)
 
   module.kinds[enum.spec] = enum
 
diff --git a/net/network_error_logging/network_error_logging_end_to_end_test.cc b/net/network_error_logging/network_error_logging_end_to_end_test.cc
index b121a7f..56fadcf 100644
--- a/net/network_error_logging/network_error_logging_end_to_end_test.cc
+++ b/net/network_error_logging/network_error_logging_end_to_end_test.cc
@@ -164,7 +164,13 @@
   DISALLOW_COPY_AND_ASSIGN(NetworkErrorLoggingEndToEndTest);
 };
 
-TEST_F(NetworkErrorLoggingEndToEndTest, ReportNetworkError) {
+#if defined(OS_WIN)
+// TODO(https://crbug.com/829650): Fix and re-enable these tests.
+#define MAYBE_ReportNetworkError DISABLED_ReportNetworkError
+#else
+#define MAYBE_ReportNetworkError ReportNetworkError
+#endif
+TEST_F(NetworkErrorLoggingEndToEndTest, MAYBE_ReportNetworkError) {
   TestDelegate configure_delegate;
   configure_delegate.set_quit_on_complete(false);
   auto configure_request = url_request_context_->CreateRequest(
@@ -202,9 +208,15 @@
   ExpectDictStringValue(GetFailURL().spec(), *body_dict, "uri");
 }
 
+#if defined(OS_WIN)
+// TODO(https://crbug.com/829650): Fix and re-enable these tests.
+#define MAYBE_UploadAtShutdown DISABLED_UploadAtShutdown
+#else
+#define MAYBE_UploadAtShutdown UploadAtShutdown
+#endif
 // Make sure an upload that is in progress at shutdown does not crash.
 // This verifies that https://crbug.com/792978 is fixed.
-TEST_F(NetworkErrorLoggingEndToEndTest, UploadAtShutdown) {
+TEST_F(NetworkErrorLoggingEndToEndTest, MAYBE_UploadAtShutdown) {
   upload_should_hang_ = true;
 
   TestDelegate configure_delegate;
diff --git a/net/socket/tcp_socket_win.cc b/net/socket/tcp_socket_win.cc
index f7448fd5..f31e5bd 100644
--- a/net/socket/tcp_socket_win.cc
+++ b/net/socket/tcp_socket_win.cc
@@ -112,7 +112,7 @@
   void WatchForWrite();
 
   // The TCPSocketWin is going away.
-  void Detach() { socket_ = NULL; }
+  void Detach();
 
   // Event handle for monitoring connect and read events through WSAEventSelect.
   HANDLE read_event_;
@@ -189,11 +189,12 @@
 }
 
 TCPSocketWin::Core::~Core() {
-  // Make sure the message loop is not watching this object anymore.
-  read_watcher_.StopWatching();
-  write_watcher_.StopWatching();
+  // Detach should already have been called.
+  DCHECK(!socket_);
 
-  WSACloseEvent(read_event_);
+  // Stop the write watcher.  The read watcher should already have been stopped
+  // in Detach().
+  write_watcher_.StopWatching();
   WSACloseEvent(write_overlapped_.hEvent);
   memset(&write_overlapped_, 0xaf, sizeof(write_overlapped_));
 }
@@ -211,6 +212,18 @@
   write_watcher_.StartWatchingOnce(write_overlapped_.hEvent, &writer_);
 }
 
+void TCPSocketWin::Core::Detach() {
+  // Stop watching the read watcher. A read won't be signalled after the Detach
+  // call, since the socket has been closed, but it's possible the event was
+  // signalled when the socket was closed, but hasn't been handled yet, so need
+  // to stop watching now to avoid trying to handle the event. See
+  // https://crbug.com/831149
+  read_watcher_.StopWatching();
+  WSACloseEvent(read_event_);
+
+  socket_ = nullptr;
+}
+
 void TCPSocketWin::Core::ReadDelegate::OnObjectSignaled(HANDLE object) {
   DCHECK_EQ(object, core_->read_event_);
   DCHECK(core_->socket_);
diff --git a/net/ssl/ssl_config.cc b/net/ssl/ssl_config.cc
index 92f7308b..d748805 100644
--- a/net/ssl/ssl_config.cc
+++ b/net/ssl/ssl_config.cc
@@ -24,7 +24,7 @@
 SSLConfig::SSLConfig()
     : rev_checking_enabled(false),
       rev_checking_required_local_anchors(false),
-      sha1_local_anchors_enabled(true),
+      sha1_local_anchors_enabled(false),
       symantec_enforcement_disabled(false),
       version_min(kDefaultSSLVersionMin),
       version_max(kDefaultSSLVersionMax),
diff --git a/notification_helper/com_server_module_unittest.cc b/notification_helper/com_server_module_unittest.cc
index 2d96dfc..b1ba787 100644
--- a/notification_helper/com_server_module_unittest.cc
+++ b/notification_helper/com_server_module_unittest.cc
@@ -4,9 +4,10 @@
 
 #include "notification_helper/com_server_module.h"
 
-#include <wrl/client.h>
 #include <memory>
 
+#include <wrl/client.h>
+
 #include "base/win/scoped_winrt_initializer.h"
 #include "chrome/install_static/install_util.h"
 #include "testing/gtest/include/gtest/gtest.h"
diff --git a/printing/backend/print_backend_win.cc b/printing/backend/print_backend_win.cc
index 815d897..a94f7db 100644
--- a/printing/backend/print_backend_win.cc
+++ b/printing/backend/print_backend_win.cc
@@ -258,8 +258,7 @@
   std::unique_ptr<DEVMODE, base::FreeDeleter> user_settings =
       CreateDevMode(printer_handle.Get(), nullptr);
   if (user_settings) {
-    if (user_settings->dmFields & DM_COLOR)
-      caps.color_default = (user_settings->dmColor == DMCOLOR_COLOR);
+    caps.color_default = IsDevModeWithColor(user_settings.get());
 
     if (user_settings->dmFields & DM_DUPLEX) {
       switch (user_settings->dmDuplex) {
diff --git a/printing/backend/win_helper.cc b/printing/backend/win_helper.cc
index e4fcbf5..9a2ee9f 100644
--- a/printing/backend/win_helper.cc
+++ b/printing/backend/win_helper.cc
@@ -433,20 +433,19 @@
   return dev_mode;
 }
 
+bool IsDevModeWithColor(const DEVMODE* devmode) {
+  return (devmode->dmFields & DM_COLOR) && (devmode->dmColor == DMCOLOR_COLOR);
+}
+
 std::unique_ptr<DEVMODE, base::FreeDeleter> CreateDevModeWithColor(
     HANDLE printer,
     const base::string16& printer_name,
     bool color) {
   std::unique_ptr<DEVMODE, base::FreeDeleter> default_ticket =
       CreateDevMode(printer, nullptr);
-  if (!default_ticket)
+  if (!default_ticket || IsDevModeWithColor(default_ticket.get()) == color)
     return default_ticket;
 
-  if ((default_ticket->dmFields & DM_COLOR) &&
-      ((default_ticket->dmColor == DMCOLOR_COLOR) == color)) {
-    return default_ticket;
-  }
-
   default_ticket->dmFields |= DM_COLOR;
   default_ticket->dmColor = color ? DMCOLOR_COLOR : DMCOLOR_MONOCHROME;
 
diff --git a/printing/backend/win_helper.h b/printing/backend/win_helper.h
index a9090be8..23cf139 100644
--- a/printing/backend/win_helper.h
+++ b/printing/backend/win_helper.h
@@ -178,6 +178,8 @@
     const base::string16& printer_name,
     const std::string& print_ticket);
 
+PRINTING_EXPORT bool IsDevModeWithColor(const DEVMODE* devmode);
+
 // Creates default DEVMODE and sets color option. Some devices need special
 // workaround for color.
 PRINTING_EXPORT std::unique_ptr<DEVMODE, base::FreeDeleter>
diff --git a/remoting/client/jni/jni_client.cc b/remoting/client/jni/jni_client.cc
index 679368bde..69be331 100644
--- a/remoting/client/jni/jni_client.cc
+++ b/remoting/client/jni/jni_client.cc
@@ -99,7 +99,7 @@
     bool pairing_supported,
     const protocol::SecretFetchedCallback& secret_fetched_callback) {
   DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
-  DCHECK(secret_fetched_callback_);
+  DCHECK(!secret_fetched_callback_);
 
   secret_fetched_callback_ = secret_fetched_callback;
 
@@ -115,7 +115,7 @@
     const std::string& scopes,
     const protocol::ThirdPartyTokenFetchedCallback& callback) {
   DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
-  DCHECK(third_party_token_fetched_callback_);
+  DCHECK(!third_party_token_fetched_callback_);
 
   third_party_token_fetched_callback_ = callback;
   JNIEnv* env = base::android::AttachCurrentThread();
diff --git a/remoting/resources/remoting_strings_es.xtb b/remoting/resources/remoting_strings_es.xtb
index c36fb5c..1217c926 100644
--- a/remoting/resources/remoting_strings_es.xtb
+++ b/remoting/resources/remoting_strings_es.xtb
@@ -140,6 +140,7 @@
 <translation id="4145029455188493639">Has iniciado sesión como <ph name="EMAIL_ADDRESS" />.</translation>
 <translation id="4155497795971509630">Faltan algunos componentes requeridos. Asegúrate de haber instalado la última versión del software y vuelve a intentarlo.</translation>
 <translation id="4156740505453712750">Debes elegir un PIN de <ph name="BOLD_START" />al menos seis dígitos<ph name="BOLD_END" /> para proteger el acceso a este ordenador. Se solicitará ese PIN cada vez que se establezca conexión con ese ordenador desde otra ubicación.</translation>
+<translation id="4169432154993690151">Para elegir una foto de perfil, permite a la aplicación Escritorio Remoto de Chrome acceder a tu cámara</translation>
 <translation id="4176825807642096119">Código de acceso</translation>
 <translation id="4207623512727273241">Ejecuta el archivo de instalación antes de continuar.</translation>
 <translation id="4227991223508142681">Utilidad de asignación de host</translation>
@@ -257,6 +258,7 @@
 <translation id="6748108480210050150">De</translation>
 <translation id="677755392401385740">Host iniciado para usuario: <ph name="HOST_USERNAME" />.</translation>
 <translation id="6865175692670882333">Ver/editar</translation>
+<translation id="6913710942997637770">Para elegir una foto de perfil, permite a la aplicación Escritorio Remoto de Chrome acceder a tus fotos</translation>
 <translation id="6930242544192836755">Duración</translation>
 <translation id="6939719207673461467">Mostrar/ocultar teclado.</translation>
 <translation id="6944854424004126054">Restaura la ventana</translation>
diff --git a/remoting/resources/remoting_strings_sw.xtb b/remoting/resources/remoting_strings_sw.xtb
index 9cac5dc..f82651f6 100644
--- a/remoting/resources/remoting_strings_sw.xtb
+++ b/remoting/resources/remoting_strings_sw.xtb
@@ -140,6 +140,7 @@
 <translation id="4145029455188493639">Umeingia katika akaunti ukitumia <ph name="EMAIL_ADDRESS" />.</translation>
 <translation id="4155497795971509630">Baadhi ya vipengele vinavyohitajika havipo. Tafadhali hakikisha kuwa umesakinisha toleo jipya la programu na ujaribu tena.</translation>
 <translation id="4156740505453712750">Ili ulinde ufikiaji kwenye kompyuta hii, tafadhali chagua PIN ya <ph name="BOLD_START" />angalau tarakimu sita<ph name="BOLD_END" />. PIN hii itahitajika utakapounganisha kutoka eneo jingine.</translation>
+<translation id="4169432154993690151">Ili uchague picha ya wasifu, ruhusu Programu ya Chrome ya Ufikiaji wa Kompyuta kutoka Mbali ifikie kamera yako</translation>
 <translation id="4176825807642096119">Msimbo wa ufikiaji</translation>
 <translation id="4207623512727273241">Tafadhali endesha kisakinishi kabla ya kuendelea.</translation>
 <translation id="4227991223508142681">Utoaji Data wa Seva Pangishi</translation>
@@ -257,6 +258,7 @@
 <translation id="6748108480210050150">Kutoka</translation>
 <translation id="677755392401385740">Seva pangishi ya mtumiaji: <ph name="HOST_USERNAME" /> Imeanza.</translation>
 <translation id="6865175692670882333">Tazama/badilisha</translation>
+<translation id="6913710942997637770">Ili uchague picha ya wasifu, ruhusu Programu ya Chrome ya Ufikiaji wa Kompyuta kutoka Mbali ifikie picha zako</translation>
 <translation id="6930242544192836755">Muda</translation>
 <translation id="6939719207673461467">Onyesha/ficha kibodi.</translation>
 <translation id="6944854424004126054">Rejesha dirisha</translation>
diff --git a/sandbox/win/src/process_mitigations.cc b/sandbox/win/src/process_mitigations.cc
index 44e1977..e68fe89 100644
--- a/sandbox/win/src/process_mitigations.cc
+++ b/sandbox/win/src/process_mitigations.cc
@@ -32,16 +32,10 @@
 
 // Defines that will eventually be in winbase.h.
 // TODO(pennymac): Remove these once the toolchain updates sufficiently.  Values
-// confirmed by MS via email.
-#define TEMP_PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON \
+// and formatting match 10.0.17133.0 SDK.
+#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON \
   (0x00000001ui64 << 16)
 
-#if defined( \
-    PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON)
-#error Remove local definition of \
-         TEMP_PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON.
-#endif  // PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON
-
 // Returns a two-element array of mitigation flags supported on this machine.
 // - This function is only useful on >= base::win::VERSION_WIN8.
 const ULONG64* GetSupportedMitigations() {
@@ -460,7 +454,7 @@
     //       Windows just does its best under the hood for the given hardware.
     if (flags & MITIGATION_RESTRICT_INDIRECT_BRANCH_PREDICTION) {
       *policy_value_2 |=
-          TEMP_PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON;
+          PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON;
     }
   }
 
diff --git a/services/audio/BUILD.gn b/services/audio/BUILD.gn
index ed0d4b9..1046b04 100644
--- a/services/audio/BUILD.gn
+++ b/services/audio/BUILD.gn
@@ -39,6 +39,8 @@
     "in_process_audio_manager_accessor.h",
     "input_stream.cc",
     "input_stream.h",
+    "local_muter.cc",
+    "local_muter.h",
     "output_controller.cc",
     "output_controller.h",
     "output_stream.cc",
@@ -72,6 +74,7 @@
     "debug_recording_unittest.cc",
     "group_coordinator_unittest.cc",
     "input_stream_unittest.cc",
+    "local_muter_unittest.cc",
     "output_controller_unittest.cc",
     "output_stream_unittest.cc",
     "stream_factory_unittest.cc",
@@ -79,6 +82,8 @@
     "test/audio_system_to_service_adapter_test.cc",
     "test/debug_recording_session_unittest.cc",
     "test/in_process_service_test.cc",
+    "test/mock_group_member.cc",
+    "test/mock_group_member.h",
     "test/mock_log.cc",
     "test/mock_log.h",
     "test/service_lifetime_connector_test.cc",
diff --git a/services/audio/group_coordinator_unittest.cc b/services/audio/group_coordinator_unittest.cc
index 75c764b..087877a 100644
--- a/services/audio/group_coordinator_unittest.cc
+++ b/services/audio/group_coordinator_unittest.cc
@@ -6,8 +6,8 @@
 
 #include "base/stl_util.h"
 #include "base/unguessable_token.h"
-#include "media/base/audio_parameters.h"
 #include "services/audio/group_member.h"
+#include "services/audio/test/mock_group_member.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -23,27 +23,6 @@
 namespace audio {
 namespace {
 
-class MockGroupMember : public GroupMember {
- public:
-  explicit MockGroupMember(const UnguessableToken& group_id)
-      : group_id_(group_id) {}
-
-  ~MockGroupMember() override = default;
-
-  const UnguessableToken& GetGroupId() final { return group_id_; }
-  MOCK_METHOD0(GetAudioParameters, const media::AudioParameters&());
-  MOCK_METHOD1(StartSnooping, void(Snooper* snooper));
-  MOCK_METHOD1(StopSnooping, void(Snooper* snooper));
-  MOCK_METHOD0(StartMuting, void());
-  MOCK_METHOD0(StopMuting, void());
-  MOCK_METHOD0(IsMuting, bool());
-
- private:
-  const UnguessableToken group_id_;
-
-  DISALLOW_COPY_AND_ASSIGN(MockGroupMember);
-};
-
 class MockGroupObserver : public GroupCoordinator::Observer {
  public:
   MockGroupObserver() = default;
diff --git a/services/audio/local_muter.cc b/services/audio/local_muter.cc
new file mode 100644
index 0000000..17e3d26
--- /dev/null
+++ b/services/audio/local_muter.cc
@@ -0,0 +1,69 @@
+// 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 "services/audio/local_muter.h"
+
+#include <utility>
+
+#include "services/audio/group_member.h"
+
+namespace audio {
+
+LocalMuter::LocalMuter(GroupCoordinator* coordinator,
+                       const base::UnguessableToken& group_id)
+    : coordinator_(coordinator), group_id_(group_id) {
+  DCHECK(coordinator_);
+
+  coordinator_->AddObserver(group_id_, this);
+  for (GroupMember* member : coordinator_->GetCurrentMembers(group_id_)) {
+    member->StartMuting();
+  }
+
+  bindings_.set_connection_error_handler(
+      base::BindRepeating(&LocalMuter::OnBindingLost, base::Unretained(this)));
+}
+
+LocalMuter::~LocalMuter() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  for (GroupMember* member : coordinator_->GetCurrentMembers(group_id_)) {
+    member->StopMuting();
+  }
+
+  coordinator_->RemoveObserver(group_id_, this);
+}
+
+void LocalMuter::SetAllBindingsLostCallback(base::OnceClosure callback) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  all_bindings_lost_callback_ = std::move(callback);
+}
+
+void LocalMuter::AddBinding(mojom::LocalMuterAssociatedRequest request) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  bindings_.AddBinding(this, std::move(request));
+}
+
+void LocalMuter::OnMemberJoinedGroup(GroupMember* member) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  member->StartMuting();
+}
+
+void LocalMuter::OnMemberLeftGroup(GroupMember* member) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  // No change to muting state.
+}
+
+void LocalMuter::OnBindingLost() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  if (bindings_.empty()) {
+    std::move(all_bindings_lost_callback_).Run();
+  }
+}
+
+}  // namespace audio
diff --git a/services/audio/local_muter.h b/services/audio/local_muter.h
new file mode 100644
index 0000000..225b213
--- /dev/null
+++ b/services/audio/local_muter.h
@@ -0,0 +1,58 @@
+// 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 SERVICES_AUDIO_LOCAL_MUTER_H_
+#define SERVICES_AUDIO_LOCAL_MUTER_H_
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/sequence_checker.h"
+#include "base/unguessable_token.h"
+#include "mojo/public/cpp/bindings/associated_binding_set.h"
+#include "services/audio/group_coordinator.h"
+#include "services/audio/public/mojom/stream_factory.mojom.h"
+
+namespace audio {
+
+class GroupMember;
+
+// Mutes a group of streams, from construction time until destruction time. In
+// between, LocalMuter ensures new group members are also muted. Holds all
+// mojom::LocalMuter bindings.
+class LocalMuter : public mojom::LocalMuter, public GroupCoordinator::Observer {
+ public:
+  LocalMuter(GroupCoordinator* coordinator,
+             const base::UnguessableToken& group_id);
+
+  ~LocalMuter() final;
+
+  const base::UnguessableToken& group_id() const { return group_id_; }
+
+  // SetAllBindingsLostCallback() must be called before the first call to
+  // AddBinding().
+  void SetAllBindingsLostCallback(base::OnceClosure callback);
+  void AddBinding(mojom::LocalMuterAssociatedRequest request);
+
+  // GroupCoordinator::Observer implementation.
+  void OnMemberJoinedGroup(GroupMember* member) final;
+  void OnMemberLeftGroup(GroupMember* member) final;
+
+ private:
+  // Runs the |all_bindings_lost_callback_| when |bindings_| becomes empty.
+  void OnBindingLost();
+
+  GroupCoordinator* const coordinator_;
+  const base::UnguessableToken group_id_;
+
+  mojo::AssociatedBindingSet<mojom::LocalMuter> bindings_;
+  base::OnceClosure all_bindings_lost_callback_;
+
+  SEQUENCE_CHECKER(sequence_checker_);
+
+  DISALLOW_COPY_AND_ASSIGN(LocalMuter);
+};
+
+}  // namespace audio
+
+#endif  // SERVICES_AUDIO_LOCAL_MUTER_H_
diff --git a/services/audio/local_muter_unittest.cc b/services/audio/local_muter_unittest.cc
new file mode 100644
index 0000000..5e20479
--- /dev/null
+++ b/services/audio/local_muter_unittest.cc
@@ -0,0 +1,135 @@
+// 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 "services/audio/local_muter.h"
+
+#include <memory>
+
+#include "base/test/mock_callback.h"
+#include "base/test/scoped_task_environment.h"
+#include "base/unguessable_token.h"
+#include "services/audio/group_coordinator.h"
+#include "services/audio/group_member.h"
+#include "services/audio/test/mock_group_member.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using base::UnguessableToken;
+
+using testing::InvokeWithoutArgs;
+using testing::Mock;
+using testing::StrictMock;
+
+namespace audio {
+namespace {
+
+TEST(LocalMuterTest, MutesExistingMembers) {
+  GroupCoordinator coordinator;
+
+  // Create a group with two members.
+  const UnguessableToken group_id = UnguessableToken::Create();
+  StrictMock<MockGroupMember> member1(group_id);
+  StrictMock<MockGroupMember> member2(group_id);
+
+  // Create another group with one member, which should never have its mute
+  // state changed.
+  const UnguessableToken other_group_id = UnguessableToken::Create();
+  ASSERT_NE(group_id, other_group_id);
+  StrictMock<MockGroupMember> non_member(other_group_id);
+  EXPECT_CALL(non_member, StartMuting()).Times(0);
+  EXPECT_CALL(non_member, StopMuting()).Times(0);
+
+  // When the members join the group, no mute change should occur.
+  coordinator.RegisterGroupMember(&member1);
+  coordinator.RegisterGroupMember(&member2);
+
+  // When the muter is created, both members should be muted.
+  EXPECT_CALL(member1, StartMuting());
+  EXPECT_CALL(member2, StartMuting());
+  auto muter = std::make_unique<LocalMuter>(&coordinator, group_id);
+  Mock::VerifyAndClearExpectations(&member1);
+  Mock::VerifyAndClearExpectations(&member2);
+
+  // When the muter is destroyed, both members should be un-muted.
+  EXPECT_CALL(member1, StopMuting());
+  EXPECT_CALL(member2, StopMuting());
+  muter = nullptr;
+  Mock::VerifyAndClearExpectations(&member1);
+  Mock::VerifyAndClearExpectations(&member2);
+
+  coordinator.UnregisterGroupMember(&member1);
+  coordinator.UnregisterGroupMember(&member2);
+}
+
+TEST(LocalMuterTest, MutesJoiningMembers) {
+  GroupCoordinator coordinator;
+  const UnguessableToken group_id = UnguessableToken::Create();
+
+  LocalMuter muter(&coordinator, group_id);
+
+  StrictMock<MockGroupMember> member(group_id);
+
+  // Since muting is in-effect, the group member is immediately muted when
+  // joining the group.
+  EXPECT_CALL(member, StartMuting());
+  coordinator.RegisterGroupMember(&member);
+  Mock::VerifyAndClearExpectations(&member);
+
+  // Leaving the group should have no effect on the mute state of the member.
+  EXPECT_CALL(member, StartMuting()).Times(0);
+  EXPECT_CALL(member, StopMuting()).Times(0);
+  coordinator.UnregisterGroupMember(&member);
+  Mock::VerifyAndClearExpectations(&member);
+}
+
+TEST(LocalMuter, UnmutesWhenLastBindingIsLost) {
+  base::test::ScopedTaskEnvironment task_environment;
+  GroupCoordinator coordinator;
+  const UnguessableToken group_id = UnguessableToken::Create();
+
+  // Later in this test, once both bindings have been closed, the following
+  // callback should be run. The callback will delete the LocalMuter in the same
+  // stack as the mojo connection error handler, just as would take place in the
+  // live build.
+  auto muter = std::make_unique<LocalMuter>(&coordinator, group_id);
+  base::MockCallback<base::OnceClosure> callback;
+  EXPECT_CALL(callback, Run()).WillOnce(InvokeWithoutArgs([&muter]() {
+    muter.reset();
+  }));
+  muter->SetAllBindingsLostCallback(callback.Get());
+
+  // Create two bindings to the muter.
+  mojom::LocalMuterAssociatedPtr muter_ptr1;
+  muter->AddBinding(mojo::MakeRequest(&muter_ptr1));
+  ASSERT_TRUE(!!muter_ptr1);
+  mojom::LocalMuterAssociatedPtr muter_ptr2;
+  muter->AddBinding(mojo::MakeRequest(&muter_ptr2));
+  ASSERT_TRUE(!!muter_ptr2);
+
+  // A member joins the group and should be muted.
+  StrictMock<MockGroupMember> member(group_id);
+  EXPECT_CALL(member, StartMuting());
+  coordinator.RegisterGroupMember(&member);
+  Mock::VerifyAndClearExpectations(&member);
+
+  // Nothing happens to the member when one of the bindings is closed.
+  EXPECT_CALL(member, StopMuting()).Times(0);
+  muter_ptr1 = nullptr;
+  task_environment.RunUntilIdle();  // Propagate mojo tasks.
+  Mock::VerifyAndClearExpectations(&member);
+
+  // The member is unmuted once the second binding is closed.
+  EXPECT_CALL(member, StopMuting());
+  muter_ptr2 = nullptr;
+  task_environment.RunUntilIdle();  // Propagate mojo tasks.
+  Mock::VerifyAndClearExpectations(&member);
+
+  // At this point, the LocalMuter should have been destroyed.
+  EXPECT_FALSE(muter);
+
+  coordinator.UnregisterGroupMember(&member);
+}
+
+}  // namespace
+}  // namespace audio
diff --git a/services/audio/public/mojom/stream_factory.mojom b/services/audio/public/mojom/stream_factory.mojom
index 773e1d05..b75abfa5 100644
--- a/services/audio/public/mojom/stream_factory.mojom
+++ b/services/audio/public/mojom/stream_factory.mojom
@@ -1,3 +1,7 @@
+// 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.
+
 module audio.mojom;
 
 import "media/mojo/interfaces/audio_data_pipe.mojom";
@@ -6,6 +10,11 @@
 import "media/mojo/interfaces/audio_parameters.mojom";
 import "mojo/public/mojom/base/unguessable_token.mojom";
 
+// Mutes a group of AudioOutputStreams while at least one binding to an instance
+// exists. Once the last binding is dropped, all streams in the group are
+// un-muted.
+interface LocalMuter {};
+
 // This interface is exposed by the audio service to allow trusted clients
 // (like the browser process) to create streams. Note that while the factory
 // interface itself is only for trusted clients, the created streams and data
@@ -16,17 +25,28 @@
 // TODO(803102): Add other stream creation functionality to this interface.
 interface StreamFactory {
   // Creates an AudioOutputStream and returns the AudioDataPipe it reads data
-  // from. |data_pipe| is null in case stream creation failed.
-  // |device_id| is either the |unique_id| field from an AudioDeviceDescription
-  // obtained from the audio.mojom.SystemInfo interface, or "default".
-  // |stream_group_id| will later be used for muting streams or capturing them
-  // for loopback.
+  // from. |data_pipe| is null in case stream creation failed. |device_id| is
+  // either the |unique_id| field from an AudioDeviceDescription obtained from
+  // the audio.mojom.SystemInfo interface, or "default". The stream |group_id|
+  // will later be used for muting streams or capturing them for loopback.
   CreateOutputStream(
     media.mojom.AudioOutputStream& stream,
     media.mojom.AudioOutputStreamClient client,
     associated media.mojom.AudioOutputStreamObserver observer,
     media.mojom.AudioLog log,
     string device_id, media.mojom.AudioParameters params,
-    mojo_base.mojom.UnguessableToken stream_group_id)
+    mojo_base.mojom.UnguessableToken group_id)
     => (media.mojom.AudioDataPipe? data_pipe);
+
+  // Binds the request to the LocalMuter associated with the given |group_id|.
+  // While one or more bindings to a group's LocalMuter exists, all local audio
+  // playout for the streams in that group is muted.
+  //
+  // It is the responsibility of the client to bind to a muter before creating
+  // any output streams that should be started muted. Likewise, if existing
+  // output streams must remain muted until they are shut down, the binding to
+  // the muter must not be closed until after all other streams' binding. (This
+  // is the reason for the associated request argument.)
+  BindMuter(associated LocalMuter& request,
+            mojo_base.mojom.UnguessableToken group_id);
 };
diff --git a/services/audio/stream_factory.cc b/services/audio/stream_factory.cc
index bcc3cf6..765998e 100644
--- a/services/audio/stream_factory.cc
+++ b/services/audio/stream_factory.cc
@@ -6,6 +6,8 @@
 
 #include <utility>
 
+#include "base/unguessable_token.h"
+#include "services/audio/local_muter.h"
 #include "services/audio/output_stream.h"
 #include "services/service_manager/public/cpp/service_context_ref.h"
 
@@ -40,7 +42,7 @@
   observer.Bind(std::move(observer_info));
 
   // Unretained is safe since |this| indirectly owns the OutputStream.
-  auto deleter_callback = base::BindOnce(&StreamFactory::RemoveOutputStream,
+  auto deleter_callback = base::BindOnce(&StreamFactory::DestroyOutputStream,
                                          base::Unretained(this));
 
   output_streams_.insert(std::make_unique<OutputStream>(
@@ -49,10 +51,44 @@
       std::move(log), audio_manager_, output_device_id, params, group_id));
 }
 
-void StreamFactory::RemoveOutputStream(OutputStream* stream) {
+void StreamFactory::BindMuter(mojom::LocalMuterAssociatedRequest request,
+                              const base::UnguessableToken& group_id) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
+
+  // Find the existing LocalMuter for this group, or create one on-demand.
+  auto it = std::find_if(muters_.begin(), muters_.end(),
+                         [&group_id](const std::unique_ptr<LocalMuter>& muter) {
+                           return muter->group_id() == group_id;
+                         });
+  LocalMuter* muter;
+  if (it == muters_.end()) {
+    auto muter_ptr = std::make_unique<LocalMuter>(&coordinator_, group_id);
+    muter = muter_ptr.get();
+    muter->SetAllBindingsLostCallback(base::BindOnce(
+        &StreamFactory::DestroyMuter, base::Unretained(this), muter));
+    muters_.emplace_back(std::move(muter_ptr));
+  } else {
+    muter = it->get();
+  }
+
+  // Add the binding.
+  muter->AddBinding(std::move(request));
+}
+
+void StreamFactory::DestroyOutputStream(OutputStream* stream) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
   size_t erased = output_streams_.erase(stream);
   DCHECK_EQ(1u, erased);
 }
 
+void StreamFactory::DestroyMuter(LocalMuter* muter) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(owning_sequence_);
+  DCHECK(muter);
+
+  const auto it = std::find_if(muters_.begin(), muters_.end(),
+                               base::MatchesUniquePtr(muter));
+  DCHECK(it != muters_.end());
+  muters_.erase(it);
+}
+
 }  // namespace audio
diff --git a/services/audio/stream_factory.h b/services/audio/stream_factory.h
index 6a30a53..7d7ba27 100644
--- a/services/audio/stream_factory.h
+++ b/services/audio/stream_factory.h
@@ -7,6 +7,7 @@
 
 #include <memory>
 #include <string>
+#include <vector>
 
 #include "base/callback.h"
 #include "base/containers/flat_set.h"
@@ -16,6 +17,7 @@
 #include "media/mojo/interfaces/audio_logging.mojom.h"
 #include "media/mojo/interfaces/audio_output_stream.mojom.h"
 #include "mojo/public/cpp/bindings/binding_set.h"
+#include "services/audio/group_coordinator.h"
 #include "services/audio/public/mojom/stream_factory.mojom.h"
 
 namespace base {
@@ -33,6 +35,7 @@
 
 namespace audio {
 
+class LocalMuter;
 class OutputStream;
 
 // This class is used to provide the StreamFactory interface. It will typically
@@ -57,12 +60,15 @@
       const media::AudioParameters& params,
       const base::UnguessableToken& group_id,
       CreateOutputStreamCallback created_callback) final;
+  void BindMuter(mojom::LocalMuterAssociatedRequest request,
+                 const base::UnguessableToken& group_id) final;
 
  private:
   using OutputStreamSet =
       base::flat_set<std::unique_ptr<OutputStream>, base::UniquePtrComparator>;
 
-  void RemoveOutputStream(OutputStream* stream);
+  void DestroyOutputStream(OutputStream* stream);
+  void DestroyMuter(LocalMuter* muter);
 
   SEQUENCE_CHECKER(owning_sequence_);
 
@@ -72,6 +78,9 @@
                    std::unique_ptr<service_manager::ServiceContextRef>>
       bindings_;
 
+  // Order of the following members is important for a clean shutdown.
+  GroupCoordinator coordinator_;
+  std::vector<std::unique_ptr<LocalMuter>> muters_;
   OutputStreamSet output_streams_;
 
   DISALLOW_COPY_AND_ASSIGN(StreamFactory);
diff --git a/services/audio/test/mock_group_member.cc b/services/audio/test/mock_group_member.cc
new file mode 100644
index 0000000..95dfd51
--- /dev/null
+++ b/services/audio/test/mock_group_member.cc
@@ -0,0 +1,18 @@
+// 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 "services/audio/test/mock_group_member.h"
+
+namespace audio {
+
+MockGroupMember::MockGroupMember(const base::UnguessableToken& group_id)
+    : group_id_(group_id) {}
+
+MockGroupMember::~MockGroupMember() = default;
+
+const base::UnguessableToken& MockGroupMember::GetGroupId() {
+  return group_id_;
+}
+
+}  // namespace audio
diff --git a/services/audio/test/mock_group_member.h b/services/audio/test/mock_group_member.h
new file mode 100644
index 0000000..2a634813
--- /dev/null
+++ b/services/audio/test/mock_group_member.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 SERVICES_AUDIO_TEST_MOCK_GROUP_MEMBER_H_
+#define SERVICES_AUDIO_TEST_MOCK_GROUP_MEMBER_H_
+
+#include "services/audio/group_coordinator.h"
+
+#include "base/macros.h"
+#include "base/unguessable_token.h"
+#include "media/base/audio_parameters.h"
+#include "services/audio/group_member.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace audio {
+
+class MockGroupMember : public GroupMember {
+ public:
+  explicit MockGroupMember(const base::UnguessableToken& group_id);
+
+  ~MockGroupMember() override;
+
+  const base::UnguessableToken& GetGroupId() override;
+  MOCK_METHOD0(GetAudioParameters, const media::AudioParameters&());
+  MOCK_METHOD1(StartSnooping, void(Snooper* snooper));
+  MOCK_METHOD1(StopSnooping, void(Snooper* snooper));
+  MOCK_METHOD0(StartMuting, void());
+  MOCK_METHOD0(StopMuting, void());
+  MOCK_METHOD0(IsMuting, bool());
+
+ private:
+  const base::UnguessableToken group_id_;
+
+  DISALLOW_COPY_AND_ASSIGN(MockGroupMember);
+};
+
+}  // namespace audio
+
+#endif  // SERVICES_AUDIO_TEST_MOCK_GROUP_MEMBER_H_
diff --git a/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter
index b72693c..4a1062cc 100644
--- a/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter
+++ b/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter
@@ -169,8 +169,8 @@
 -SSLUITestWithClientCert.TestWSSClientCert
 
 # https://bugs.chromium.org/p/chromium/issues/detail?id=755309
--SSLUITest.SHA1IsDefaultDisabled/0
--SSLUITest.SHA1IsDefaultDisabled/1
+-SSLUITest.SHA1PrefsCanEnable/0
+-SSLUITest.SHA1PrefsCanEnable/1
 -SSLUITest.TestBadHTTPSDownload/0
 -SSLUITest.TestBadHTTPSDownload/1
 -SSLUITest.TestHTTPSOCSPOk/0
diff --git a/testing/trigger_scripts/base_test_triggerer.py b/testing/trigger_scripts/base_test_triggerer.py
index de5f958..598bdea 100755
--- a/testing/trigger_scripts/base_test_triggerer.py
+++ b/testing/trigger_scripts/base_test_triggerer.py
@@ -91,12 +91,13 @@
       additional_args = all_args[:dash_ind] + bot_args + all_args[dash_ind:]
     else:
       additional_args = all_args + bot_args
-    return self.append_additional_args(additional_args)
+    return self.append_additional_args(additional_args, shard_index)
 
-  def append_additional_args(self, args):
+  def append_additional_args(self, args, shard_index):
     """ Gives subclasses ability to append additional args if necessary
 
-    Base class just returns given get."""
+    Base class just returns given args."""
+    del shard_index # unused
     return args
 
   def parse_bot_configs(self, args):
diff --git a/testing/trigger_scripts/perf_device_trigger.py b/testing/trigger_scripts/perf_device_trigger.py
index f24670cf..c9568e6e 100755
--- a/testing/trigger_scripts/perf_device_trigger.py
+++ b/testing/trigger_scripts/perf_device_trigger.py
@@ -40,8 +40,18 @@
   def __init__(self):
     super(PerfDeviceTriggerer, self).__init__()
 
-  def append_additional_args(self, args):
-    return args
+  def append_additional_args(self, args, shard_index):
+    # Append a tag to the swarming task with the shard number
+    # so we can query for the last bot that ran a specific shard.
+    tag = 'shard:%d' % shard_index
+    shard_tag = ['--tag', tag]
+    # Need to append this before the dash if present so it gets fed to
+    # the swarming task itself.
+    if '--' in args:
+      dash_ind = args.index('--')
+      return args[:dash_ind] + shard_tag + args[dash_ind:]
+    else:
+      return args + shard_tag
 
   def select_config_indices(self, args, verbose):
     # For perf we want to trigger a job for every valid config since
diff --git a/testing/trigger_scripts/perf_device_trigger_unittest.py b/testing/trigger_scripts/perf_device_trigger_unittest.py
index f6eb576..d40293e4 100755
--- a/testing/trigger_scripts/perf_device_trigger_unittest.py
+++ b/testing/trigger_scripts/perf_device_trigger_unittest.py
@@ -120,9 +120,13 @@
   def test_shard_env_vars_and_bot_id(self):
     triggerer = self.basic_setup()
     self.assertTrue(self.list_contains_sublist(
-      triggerer._swarming_runs[0], ['--bot', 'build1']))
+      triggerer._swarming_runs[0], ['id', 'build1']))
     self.assertTrue(self.list_contains_sublist(
-      triggerer._swarming_runs[1], ['--bot', 'build2']))
+      triggerer._swarming_runs[1], ['id', 'build2']))
+    self.assertTrue(self.list_contains_sublist(
+      triggerer._swarming_runs[0], ['--tag', 'shard:0']))
+    self.assertTrue(self.list_contains_sublist(
+      triggerer._swarming_runs[1], ['--tag', 'shard:1']))
     self.assertTrue(self.list_contains_sublist(
       triggerer._swarming_runs[0], ['--env', 'GTEST_SHARD_INDEX', '0']))
     self.assertTrue(self.list_contains_sublist(
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index b70bda98..32be7ea3 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -2191,8 +2191,6 @@
 
 # Expected failures during incremental implementation of mojo notification.
 crbug.com/796991 virtual/mojo-notifications/http/tests/notifications/serviceworker-notification-properties.html [ Skip ]
-crbug.com/796991 virtual/mojo-notifications/http/tests/notifications/serviceworker-notificationclick-event-action-reflection.html [ Skip ]
-crbug.com/796991 virtual/mojo-notifications/http/tests/notifications/serviceworker-notificationclick-event-reply-reflection.html [ Skip ]
 crbug.com/796991 virtual/mojo-notifications/http/tests/notifications/serviceworkerregistration-document-close.html [ Skip ]
 crbug.com/796991 virtual/mojo-notifications/http/tests/notifications/serviceworkerregistration-document-data-invalid.html [ Skip ]
 crbug.com/796991 virtual/mojo-notifications/http/tests/notifications/serviceworkerregistration-get-close.html [ Skip ]
@@ -3815,6 +3813,9 @@
 crbug.com/783154 [ Mac ] virtual/modern-media-controls/media/controls/modern/doubletap-on-play-button.html [ Skip ]
 crbug.com/783154 [ Mac ] virtual/modern-media-controls/media/controls/modern/doubletap-to-toggle-fullscreen.html [ Skip ]
 
+# Seen flaky on Linux, suppressing on Windows as well
+crbug.com/831720 [ Win Linux ] virtual/modern-media-controls/media/controls/modern/doubletap-to-jump-forwards-too-short.html [ Pass Failure ]
+
 crbug.com/802915 css3/blending/isolation-should-include-non-local-background.html [ Failure ]
 
 crbug.com/807838 external/wpt/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https.html [ Crash Pass ]
@@ -4041,3 +4042,18 @@
 
 # Sheriff 2018-04-06
 crbug.com/829921 external/wpt/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html [ Pass Timeout ]
+
+# Sheriff 2018-04-11
+crbug.com/831701 [ Linux ] external/wpt/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-in.worker.html [ Pass Timeout ]
+crbug.com/831686 [ Linux ] fast/webgl/texImage-imageBitmap-from-offscreen-canvas-resize.html [ Pass Timeout ]
+crbug.com/831685 [ Linux ] external/wpt/2dcontext/compositing/2d.composite.canvas.lighter.html [ Pass Timeout ]
+crbug.com/831673 [ Linux ] http/tests/devtools/reveal-objects.js [ Pass Timeout ]
+crbug.com/831496 [ Linux ] virtual/gpu/fast/canvas/fillrect_gradient.html [ Pass Timeout ]
+crbug.com/831482 [ Linux ] virtual/gpu-rasterization/images/cross-fade-background-size.html [ Pass Timeout ]
+crbug.com/831249 [ Linux ] virtual/gpu/fast/canvas/canvas-filter-svg-inline.html [ Pass Timeout ]
+crbug.com/831230 [ Linux ] virtual/threaded/compositing/webgl/webgl-reflection.html [ Pass Timeout ]
+crbug.com/829952 [ Linux ] fast/webgl/texImage-imageBitmap-from-image-resize.html [ Pass Timeout ]
+crbug.com/829938 [ Linux ] css3/filters/blur-filter-page-scroll.html [ Pass Timeout ]
+crbug.com/818426 [ Linux ] virtual/gpu/fast/canvas/canvas-lost-gpu-context.html [ Pass Timeout ]
+crbug.com/818324 [ Linux ] external/wpt/content-security-policy/embedded-enforcement/required_csp-header.html [ Pass Timeout ]
+
diff --git a/third_party/WebKit/ManualTests/.gitattributes b/third_party/blink/manual_tests/.gitattributes
similarity index 100%
rename from third_party/WebKit/ManualTests/.gitattributes
rename to third_party/blink/manual_tests/.gitattributes
diff --git a/third_party/WebKit/ManualTests/ATSU-bad-layout.html b/third_party/blink/manual_tests/ATSU-bad-layout.html
similarity index 100%
rename from third_party/WebKit/ManualTests/ATSU-bad-layout.html
rename to third_party/blink/manual_tests/ATSU-bad-layout.html
diff --git a/third_party/WebKit/ManualTests/DOMContextMenuEvent.html b/third_party/blink/manual_tests/DOMContextMenuEvent.html
similarity index 100%
rename from third_party/WebKit/ManualTests/DOMContextMenuEvent.html
rename to third_party/blink/manual_tests/DOMContextMenuEvent.html
diff --git a/third_party/WebKit/ManualTests/Default-port-frame.html b/third_party/blink/manual_tests/Default-port-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/Default-port-frame.html
rename to third_party/blink/manual_tests/Default-port-frame.html
diff --git a/third_party/WebKit/ManualTests/JavaScript-bookmarklets.html b/third_party/blink/manual_tests/JavaScript-bookmarklets.html
similarity index 100%
rename from third_party/WebKit/ManualTests/JavaScript-bookmarklets.html
rename to third_party/blink/manual_tests/JavaScript-bookmarklets.html
diff --git a/third_party/WebKit/ManualTests/OWNERS b/third_party/blink/manual_tests/OWNERS
similarity index 100%
rename from third_party/WebKit/ManualTests/OWNERS
rename to third_party/blink/manual_tests/OWNERS
diff --git a/third_party/WebKit/ManualTests/WebKitSite.webarchive b/third_party/blink/manual_tests/WebKitSite.webarchive
similarity index 100%
rename from third_party/WebKit/ManualTests/WebKitSite.webarchive
rename to third_party/blink/manual_tests/WebKitSite.webarchive
Binary files differ
diff --git a/third_party/WebKit/ManualTests/about-blank-xhr.html b/third_party/blink/manual_tests/about-blank-xhr.html
similarity index 100%
rename from third_party/WebKit/ManualTests/about-blank-xhr.html
rename to third_party/blink/manual_tests/about-blank-xhr.html
diff --git a/third_party/WebKit/ManualTests/accessibility/java-applet.html b/third_party/blink/manual_tests/accessibility/java-applet.html
similarity index 100%
rename from third_party/WebKit/ManualTests/accessibility/java-applet.html
rename to third_party/blink/manual_tests/accessibility/java-applet.html
diff --git a/third_party/WebKit/ManualTests/accessibility/resources/AppletTest.class b/third_party/blink/manual_tests/accessibility/resources/AppletTest.class
similarity index 100%
rename from third_party/WebKit/ManualTests/accessibility/resources/AppletTest.class
rename to third_party/blink/manual_tests/accessibility/resources/AppletTest.class
Binary files differ
diff --git a/third_party/WebKit/ManualTests/accessibility/resources/AppletTest.java b/third_party/blink/manual_tests/accessibility/resources/AppletTest.java
similarity index 100%
rename from third_party/WebKit/ManualTests/accessibility/resources/AppletTest.java
rename to third_party/blink/manual_tests/accessibility/resources/AppletTest.java
diff --git a/third_party/WebKit/ManualTests/accidental-strict-mode.html b/third_party/blink/manual_tests/accidental-strict-mode.html
similarity index 100%
rename from third_party/WebKit/ManualTests/accidental-strict-mode.html
rename to third_party/blink/manual_tests/accidental-strict-mode.html
diff --git a/third_party/WebKit/ManualTests/animate-duration.html b/third_party/blink/manual_tests/animate-duration.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animate-duration.html
rename to third_party/blink/manual_tests/animate-duration.html
diff --git a/third_party/WebKit/ManualTests/animate-left.html b/third_party/blink/manual_tests/animate-left.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animate-left.html
rename to third_party/blink/manual_tests/animate-left.html
diff --git a/third_party/WebKit/ManualTests/animate-none.html b/third_party/blink/manual_tests/animate-none.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animate-none.html
rename to third_party/blink/manual_tests/animate-none.html
diff --git a/third_party/WebKit/ManualTests/animated-gif-bfcache-crash.html b/third_party/blink/manual_tests/animated-gif-bfcache-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animated-gif-bfcache-crash.html
rename to third_party/blink/manual_tests/animated-gif-bfcache-crash.html
diff --git a/third_party/WebKit/ManualTests/animated-gif-looping.html b/third_party/blink/manual_tests/animated-gif-looping.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animated-gif-looping.html
rename to third_party/blink/manual_tests/animated-gif-looping.html
diff --git a/third_party/WebKit/ManualTests/animated-gif-on-compositing-layer.html b/third_party/blink/manual_tests/animated-gif-on-compositing-layer.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animated-gif-on-compositing-layer.html
rename to third_party/blink/manual_tests/animated-gif-on-compositing-layer.html
diff --git a/third_party/WebKit/ManualTests/animation-with-transition.html b/third_party/blink/manual_tests/animation-with-transition.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation-with-transition.html
rename to third_party/blink/manual_tests/animation-with-transition.html
diff --git a/third_party/WebKit/ManualTests/animation/animation-direction-reverse-timing-functions-hardware.html b/third_party/blink/manual_tests/animation/animation-direction-reverse-timing-functions-hardware.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/animation-direction-reverse-timing-functions-hardware.html
rename to third_party/blink/manual_tests/animation/animation-direction-reverse-timing-functions-hardware.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-2-keyframe.html b/third_party/blink/manual_tests/animation/compositor-animation-2-keyframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-2-keyframe.html
rename to third_party/blink/manual_tests/animation/compositor-animation-2-keyframe.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-cubic.html b/third_party/blink/manual_tests/animation/compositor-animation-cubic.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-cubic.html
rename to third_party/blink/manual_tests/animation/compositor-animation-cubic.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-delay-cancel.html b/third_party/blink/manual_tests/animation/compositor-animation-delay-cancel.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-delay-cancel.html
rename to third_party/blink/manual_tests/animation/compositor-animation-delay-cancel.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-delay-playback-rate.html b/third_party/blink/manual_tests/animation/compositor-animation-delay-playback-rate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-delay-playback-rate.html
rename to third_party/blink/manual_tests/animation/compositor-animation-delay-playback-rate.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-delay.html b/third_party/blink/manual_tests/animation/compositor-animation-delay.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-delay.html
rename to third_party/blink/manual_tests/animation/compositor-animation-delay.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-direction.html b/third_party/blink/manual_tests/animation/compositor-animation-direction.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-direction.html
rename to third_party/blink/manual_tests/animation/compositor-animation-direction.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-fill.html b/third_party/blink/manual_tests/animation/compositor-animation-fill.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-fill.html
rename to third_party/blink/manual_tests/animation/compositor-animation-fill.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-iteration-count.html b/third_party/blink/manual_tests/animation/compositor-animation-iteration-count.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-iteration-count.html
rename to third_party/blink/manual_tests/animation/compositor-animation-iteration-count.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-iteration-start.html b/third_party/blink/manual_tests/animation/compositor-animation-iteration-start.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-iteration-start.html
rename to third_party/blink/manual_tests/animation/compositor-animation-iteration-start.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-multiple-timelines.html b/third_party/blink/manual_tests/animation/compositor-animation-multiple-timelines.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-multiple-timelines.html
rename to third_party/blink/manual_tests/animation/compositor-animation-multiple-timelines.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-playback-rate-reverse.html b/third_party/blink/manual_tests/animation/compositor-animation-playback-rate-reverse.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-playback-rate-reverse.html
rename to third_party/blink/manual_tests/animation/compositor-animation-playback-rate-reverse.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-playback-rate.html b/third_party/blink/manual_tests/animation/compositor-animation-playback-rate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-playback-rate.html
rename to third_party/blink/manual_tests/animation/compositor-animation-playback-rate.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-same-property.html b/third_party/blink/manual_tests/animation/compositor-animation-same-property.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-same-property.html
rename to third_party/blink/manual_tests/animation/compositor-animation-same-property.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-animation-style-change.html b/third_party/blink/manual_tests/animation/compositor-animation-style-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-animation-style-change.html
rename to third_party/blink/manual_tests/animation/compositor-animation-style-change.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-change-current-time.html b/third_party/blink/manual_tests/animation/compositor-change-current-time.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-change-current-time.html
rename to third_party/blink/manual_tests/animation/compositor-change-current-time.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-change-playback-rate.html b/third_party/blink/manual_tests/animation/compositor-change-playback-rate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-change-playback-rate.html
rename to third_party/blink/manual_tests/animation/compositor-change-playback-rate.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-end-delay.html b/third_party/blink/manual_tests/animation/compositor-end-delay.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-end-delay.html
rename to third_party/blink/manual_tests/animation/compositor-end-delay.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-neutral-keyframes.html b/third_party/blink/manual_tests/animation/compositor-neutral-keyframes.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-neutral-keyframes.html
rename to third_party/blink/manual_tests/animation/compositor-neutral-keyframes.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-pause-play.html b/third_party/blink/manual_tests/animation/compositor-pause-play.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-pause-play.html
rename to third_party/blink/manual_tests/animation/compositor-pause-play.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-reverse.html b/third_party/blink/manual_tests/animation/compositor-reverse.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-reverse.html
rename to third_party/blink/manual_tests/animation/compositor-reverse.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-synchronized-start-reverse.html b/third_party/blink/manual_tests/animation/compositor-synchronized-start-reverse.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-synchronized-start-reverse.html
rename to third_party/blink/manual_tests/animation/compositor-synchronized-start-reverse.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-transform-fill-forwards-with-motion-path.html b/third_party/blink/manual_tests/animation/compositor-transform-fill-forwards-with-motion-path.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-transform-fill-forwards-with-motion-path.html
rename to third_party/blink/manual_tests/animation/compositor-transform-fill-forwards-with-motion-path.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-transform-halted-by-motion-path.html b/third_party/blink/manual_tests/animation/compositor-transform-halted-by-motion-path.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-transform-halted-by-motion-path.html
rename to third_party/blink/manual_tests/animation/compositor-transform-halted-by-motion-path.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-transform-prevented-by-motion-path.html b/third_party/blink/manual_tests/animation/compositor-transform-prevented-by-motion-path.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-transform-prevented-by-motion-path.html
rename to third_party/blink/manual_tests/animation/compositor-transform-prevented-by-motion-path.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-transform-with-rotate.html b/third_party/blink/manual_tests/animation/compositor-transform-with-rotate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-transform-with-rotate.html
rename to third_party/blink/manual_tests/animation/compositor-transform-with-rotate.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-transform-with-scale.html b/third_party/blink/manual_tests/animation/compositor-transform-with-scale.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-transform-with-scale.html
rename to third_party/blink/manual_tests/animation/compositor-transform-with-scale.html
diff --git a/third_party/WebKit/ManualTests/animation/compositor-transform-with-translate.html b/third_party/blink/manual_tests/animation/compositor-transform-with-translate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/compositor-transform-with-translate.html
rename to third_party/blink/manual_tests/animation/compositor-transform-with-translate.html
diff --git a/third_party/WebKit/ManualTests/animation/transition-during-transition-with-load.html b/third_party/blink/manual_tests/animation/transition-during-transition-with-load.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/transition-during-transition-with-load.html
rename to third_party/blink/manual_tests/animation/transition-during-transition-with-load.html
diff --git a/third_party/WebKit/ManualTests/animation/transition-on-and-offscreen-animation.html b/third_party/blink/manual_tests/animation/transition-on-and-offscreen-animation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/transition-on-and-offscreen-animation.html
rename to third_party/blink/manual_tests/animation/transition-on-and-offscreen-animation.html
diff --git a/third_party/WebKit/ManualTests/animation/transitions-and-paused-animations.html b/third_party/blink/manual_tests/animation/transitions-and-paused-animations.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/transitions-and-paused-animations.html
rename to third_party/blink/manual_tests/animation/transitions-and-paused-animations.html
diff --git a/third_party/WebKit/ManualTests/animation/transitions-composited-retargeting.html b/third_party/blink/manual_tests/animation/transitions-composited-retargeting.html
similarity index 100%
rename from third_party/WebKit/ManualTests/animation/transitions-composited-retargeting.html
rename to third_party/blink/manual_tests/animation/transitions-composited-retargeting.html
diff --git a/third_party/WebKit/ManualTests/applet-finish-parsing-children.html b/third_party/blink/manual_tests/applet-finish-parsing-children.html
similarity index 100%
rename from third_party/WebKit/ManualTests/applet-finish-parsing-children.html
rename to third_party/blink/manual_tests/applet-finish-parsing-children.html
diff --git a/third_party/WebKit/ManualTests/applet-param-no-name.html b/third_party/blink/manual_tests/applet-param-no-name.html
similarity index 100%
rename from third_party/WebKit/ManualTests/applet-param-no-name.html
rename to third_party/blink/manual_tests/applet-param-no-name.html
diff --git a/third_party/WebKit/ManualTests/array-out-of-memory.html b/third_party/blink/manual_tests/array-out-of-memory.html
similarity index 100%
rename from third_party/WebKit/ManualTests/array-out-of-memory.html
rename to third_party/blink/manual_tests/array-out-of-memory.html
diff --git a/third_party/WebKit/ManualTests/arrow-key-events.html b/third_party/blink/manual_tests/arrow-key-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/arrow-key-events.html
rename to third_party/blink/manual_tests/arrow-key-events.html
diff --git a/third_party/WebKit/ManualTests/audio-freed-during-reload.html b/third_party/blink/manual_tests/audio-freed-during-reload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/audio-freed-during-reload.html
rename to third_party/blink/manual_tests/audio-freed-during-reload.html
diff --git a/third_party/WebKit/ManualTests/audio-volume.html b/third_party/blink/manual_tests/audio-volume.html
similarity index 100%
rename from third_party/WebKit/ManualTests/audio-volume.html
rename to third_party/blink/manual_tests/audio-volume.html
diff --git a/third_party/WebKit/ManualTests/autocompletion-fire-onchange.html b/third_party/blink/manual_tests/autocompletion-fire-onchange.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocompletion-fire-onchange.html
rename to third_party/blink/manual_tests/autocompletion-fire-onchange.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/autocorrection-cancelled-by-ESC.html b/third_party/blink/manual_tests/autocorrection/autocorrection-cancelled-by-ESC.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/autocorrection-cancelled-by-ESC.html
rename to third_party/blink/manual_tests/autocorrection/autocorrection-cancelled-by-ESC.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/autocorrection-cancelled-by-typing-1.html b/third_party/blink/manual_tests/autocorrection/autocorrection-cancelled-by-typing-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/autocorrection-cancelled-by-typing-1.html
rename to third_party/blink/manual_tests/autocorrection/autocorrection-cancelled-by-typing-1.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/autocorrection-contraction.html b/third_party/blink/manual_tests/autocorrection/autocorrection-contraction.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/autocorrection-contraction.html
rename to third_party/blink/manual_tests/autocorrection/autocorrection-contraction.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/autocorrection-in-iframe.html b/third_party/blink/manual_tests/autocorrection/autocorrection-in-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/autocorrection-in-iframe.html
rename to third_party/blink/manual_tests/autocorrection/autocorrection-in-iframe.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/close-window-when-correction-is-shown.html b/third_party/blink/manual_tests/autocorrection/close-window-when-correction-is-shown.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/close-window-when-correction-is-shown.html
rename to third_party/blink/manual_tests/autocorrection/close-window-when-correction-is-shown.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/continue-typing-to-dismiss-reversion.html b/third_party/blink/manual_tests/autocorrection/continue-typing-to-dismiss-reversion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/continue-typing-to-dismiss-reversion.html
rename to third_party/blink/manual_tests/autocorrection/continue-typing-to-dismiss-reversion.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/delete-to-dismiss-reversion.html b/third_party/blink/manual_tests/autocorrection/delete-to-dismiss-reversion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/delete-to-dismiss-reversion.html
rename to third_party/blink/manual_tests/autocorrection/delete-to-dismiss-reversion.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/delete-to-end-of-word-to-show-reversion.html b/third_party/blink/manual_tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/delete-to-end-of-word-to-show-reversion.html
rename to third_party/blink/manual_tests/autocorrection/delete-to-end-of-word-to-show-reversion.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/dismiss-multiple-guesses.html b/third_party/blink/manual_tests/autocorrection/dismiss-multiple-guesses.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/dismiss-multiple-guesses.html
rename to third_party/blink/manual_tests/autocorrection/dismiss-multiple-guesses.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/document-for-iframe-test.html b/third_party/blink/manual_tests/autocorrection/document-for-iframe-test.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/document-for-iframe-test.html
rename to third_party/blink/manual_tests/autocorrection/document-for-iframe-test.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/move-to-end-of-word-to-show-reversion.html b/third_party/blink/manual_tests/autocorrection/move-to-end-of-word-to-show-reversion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/move-to-end-of-word-to-show-reversion.html
rename to third_party/blink/manual_tests/autocorrection/move-to-end-of-word-to-show-reversion.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/remove-misspelling-marker-after-appending-letter.html b/third_party/blink/manual_tests/autocorrection/remove-misspelling-marker-after-appending-letter.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/remove-misspelling-marker-after-appending-letter.html
rename to third_party/blink/manual_tests/autocorrection/remove-misspelling-marker-after-appending-letter.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/select-from-multiple-guesses.html b/third_party/blink/manual_tests/autocorrection/select-from-multiple-guesses.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/select-from-multiple-guesses.html
rename to third_party/blink/manual_tests/autocorrection/select-from-multiple-guesses.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/spell-checking-after-reversion.html b/third_party/blink/manual_tests/autocorrection/spell-checking-after-reversion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/spell-checking-after-reversion.html
rename to third_party/blink/manual_tests/autocorrection/spell-checking-after-reversion.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html b/third_party/blink/manual_tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
rename to third_party/blink/manual_tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/type-whitespace-to-dismiss-reversion.html b/third_party/blink/manual_tests/autocorrection/type-whitespace-to-dismiss-reversion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/type-whitespace-to-dismiss-reversion.html
rename to third_party/blink/manual_tests/autocorrection/type-whitespace-to-dismiss-reversion.html
diff --git a/third_party/WebKit/ManualTests/autocorrection/undo-autocorrection.html b/third_party/blink/manual_tests/autocorrection/undo-autocorrection.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autocorrection/undo-autocorrection.html
rename to third_party/blink/manual_tests/autocorrection/undo-autocorrection.html
diff --git a/third_party/WebKit/ManualTests/autofill-popup-location.html b/third_party/blink/manual_tests/autofill-popup-location.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autofill-popup-location.html
rename to third_party/blink/manual_tests/autofill-popup-location.html
diff --git a/third_party/WebKit/ManualTests/autofill-popup-width-and-item-direction.html b/third_party/blink/manual_tests/autofill-popup-width-and-item-direction.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autofill-popup-width-and-item-direction.html
rename to third_party/blink/manual_tests/autofill-popup-width-and-item-direction.html
diff --git a/third_party/WebKit/ManualTests/autofill_alignment.html b/third_party/blink/manual_tests/autofill_alignment.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autofill_alignment.html
rename to third_party/blink/manual_tests/autofill_alignment.html
diff --git a/third_party/WebKit/ManualTests/autoscroll-over-scrollbar.html b/third_party/blink/manual_tests/autoscroll-over-scrollbar.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autoscroll-over-scrollbar.html
rename to third_party/blink/manual_tests/autoscroll-over-scrollbar.html
diff --git a/third_party/WebKit/ManualTests/autoscroll-when-outside-window.html b/third_party/blink/manual_tests/autoscroll-when-outside-window.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autoscroll-when-outside-window.html
rename to third_party/blink/manual_tests/autoscroll-when-outside-window.html
diff --git a/third_party/WebKit/ManualTests/autoscroll.html b/third_party/blink/manual_tests/autoscroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/autoscroll.html
rename to third_party/blink/manual_tests/autoscroll.html
diff --git a/third_party/WebKit/ManualTests/back-forward-during-alert-1.html b/third_party/blink/manual_tests/back-forward-during-alert-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/back-forward-during-alert-1.html
rename to third_party/blink/manual_tests/back-forward-during-alert-1.html
diff --git a/third_party/WebKit/ManualTests/back-forward-during-alert-2.html b/third_party/blink/manual_tests/back-forward-during-alert-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/back-forward-during-alert-2.html
rename to third_party/blink/manual_tests/back-forward-during-alert-2.html
diff --git a/third_party/WebKit/ManualTests/back-from-document-with-scrollbar.html b/third_party/blink/manual_tests/back-from-document-with-scrollbar.html
similarity index 100%
rename from third_party/WebKit/ManualTests/back-from-document-with-scrollbar.html
rename to third_party/blink/manual_tests/back-from-document-with-scrollbar.html
diff --git a/third_party/WebKit/ManualTests/back.html b/third_party/blink/manual_tests/back.html
similarity index 100%
rename from third_party/WebKit/ManualTests/back.html
rename to third_party/blink/manual_tests/back.html
diff --git a/third_party/WebKit/ManualTests/background-image-change-in-page-cache.html b/third_party/blink/manual_tests/background-image-change-in-page-cache.html
similarity index 100%
rename from third_party/WebKit/ManualTests/background-image-change-in-page-cache.html
rename to third_party/blink/manual_tests/background-image-change-in-page-cache.html
diff --git a/third_party/WebKit/ManualTests/bad-clearTimeout-crash.html b/third_party/blink/manual_tests/bad-clearTimeout-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bad-clearTimeout-crash.html
rename to third_party/blink/manual_tests/bad-clearTimeout-crash.html
diff --git a/third_party/WebKit/ManualTests/bidi-parens.html b/third_party/blink/manual_tests/bidi-parens.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bidi-parens.html
rename to third_party/blink/manual_tests/bidi-parens.html
diff --git a/third_party/WebKit/ManualTests/bidi-visible-control-characters.html b/third_party/blink/manual_tests/bidi-visible-control-characters.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bidi-visible-control-characters.html
rename to third_party/blink/manual_tests/bidi-visible-control-characters.html
diff --git a/third_party/WebKit/ManualTests/bugzilla-14899.html b/third_party/blink/manual_tests/bugzilla-14899.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bugzilla-14899.html
rename to third_party/blink/manual_tests/bugzilla-14899.html
diff --git a/third_party/WebKit/ManualTests/bugzilla-3855.html b/third_party/blink/manual_tests/bugzilla-3855.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bugzilla-3855.html
rename to third_party/blink/manual_tests/bugzilla-3855.html
diff --git a/third_party/WebKit/ManualTests/bugzilla-48077.html b/third_party/blink/manual_tests/bugzilla-48077.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bugzilla-48077.html
rename to third_party/blink/manual_tests/bugzilla-48077.html
diff --git a/third_party/WebKit/ManualTests/bugzilla-4840.html b/third_party/blink/manual_tests/bugzilla-4840.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bugzilla-4840.html
rename to third_party/blink/manual_tests/bugzilla-4840.html
diff --git a/third_party/WebKit/ManualTests/bugzilla-5768.html b/third_party/blink/manual_tests/bugzilla-5768.html
similarity index 100%
rename from third_party/WebKit/ManualTests/bugzilla-5768.html
rename to third_party/blink/manual_tests/bugzilla-5768.html
diff --git a/third_party/WebKit/ManualTests/bugzilla-83979.svg b/third_party/blink/manual_tests/bugzilla-83979.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/bugzilla-83979.svg
rename to third_party/blink/manual_tests/bugzilla-83979.svg
diff --git a/third_party/WebKit/ManualTests/canvas-ClearRect-hidpi.html b/third_party/blink/manual_tests/canvas-ClearRect-hidpi.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-ClearRect-hidpi.html
rename to third_party/blink/manual_tests/canvas-ClearRect-hidpi.html
diff --git a/third_party/WebKit/ManualTests/canvas-animation-update.html b/third_party/blink/manual_tests/canvas-animation-update.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-animation-update.html
rename to third_party/blink/manual_tests/canvas-animation-update.html
diff --git a/third_party/WebKit/ManualTests/canvas-cursor.html b/third_party/blink/manual_tests/canvas-cursor.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-cursor.html
rename to third_party/blink/manual_tests/canvas-cursor.html
diff --git a/third_party/WebKit/ManualTests/canvas-font-speed-switching.html b/third_party/blink/manual_tests/canvas-font-speed-switching.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-font-speed-switching.html
rename to third_party/blink/manual_tests/canvas-font-speed-switching.html
diff --git a/third_party/WebKit/ManualTests/canvas-font-speed.html b/third_party/blink/manual_tests/canvas-font-speed.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-font-speed.html
rename to third_party/blink/manual_tests/canvas-font-speed.html
diff --git a/third_party/WebKit/ManualTests/canvas-large-temporary.html b/third_party/blink/manual_tests/canvas-large-temporary.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-large-temporary.html
rename to third_party/blink/manual_tests/canvas-large-temporary.html
diff --git a/third_party/WebKit/ManualTests/canvas-low-latency.html b/third_party/blink/manual_tests/canvas-low-latency.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-low-latency.html
rename to third_party/blink/manual_tests/canvas-low-latency.html
diff --git a/third_party/WebKit/ManualTests/canvas-putImageData-flicker.html b/third_party/blink/manual_tests/canvas-putImageData-flicker.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-putImageData-flicker.html
rename to third_party/blink/manual_tests/canvas-putImageData-flicker.html
diff --git a/third_party/WebKit/ManualTests/canvas-stretch-color-bleeding.html b/third_party/blink/manual_tests/canvas-stretch-color-bleeding.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas-stretch-color-bleeding.html
rename to third_party/blink/manual_tests/canvas-stretch-color-bleeding.html
diff --git a/third_party/WebKit/ManualTests/canvas/README.md b/third_party/blink/manual_tests/canvas/README.md
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/README.md
rename to third_party/blink/manual_tests/canvas/README.md
diff --git a/third_party/WebKit/ManualTests/canvas/RunAllTests.html b/third_party/blink/manual_tests/canvas/RunAllTests.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/RunAllTests.html
rename to third_party/blink/manual_tests/canvas/RunAllTests.html
diff --git a/third_party/WebKit/ManualTests/canvas/ShowResults.html b/third_party/blink/manual_tests/canvas/ShowResults.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/ShowResults.html
rename to third_party/blink/manual_tests/canvas/ShowResults.html
diff --git a/third_party/WebKit/ManualTests/canvas/docs-paper.html b/third_party/blink/manual_tests/canvas/docs-paper.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/docs-paper.html
rename to third_party/blink/manual_tests/canvas/docs-paper.html
diff --git a/third_party/WebKit/ManualTests/canvas/docs-resume.html b/third_party/blink/manual_tests/canvas/docs-resume.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/docs-resume.html
rename to third_party/blink/manual_tests/canvas/docs-resume.html
diff --git a/third_party/WebKit/ManualTests/canvas/docs-table.html b/third_party/blink/manual_tests/canvas/docs-table.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/docs-table.html
rename to third_party/blink/manual_tests/canvas/docs-table.html
diff --git a/third_party/WebKit/ManualTests/canvas/performance.js b/third_party/blink/manual_tests/canvas/performance.js
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/performance.js
rename to third_party/blink/manual_tests/canvas/performance.js
diff --git a/third_party/WebKit/ManualTests/canvas/sheets-render.html b/third_party/blink/manual_tests/canvas/sheets-render.html
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/sheets-render.html
rename to third_party/blink/manual_tests/canvas/sheets-render.html
diff --git a/third_party/WebKit/ManualTests/canvas/utils.js b/third_party/blink/manual_tests/canvas/utils.js
similarity index 100%
rename from third_party/WebKit/ManualTests/canvas/utils.js
rename to third_party/blink/manual_tests/canvas/utils.js
diff --git a/third_party/WebKit/ManualTests/caret-blink-during-forward-delete.html b/third_party/blink/manual_tests/caret-blink-during-forward-delete.html
similarity index 100%
rename from third_party/WebKit/ManualTests/caret-blink-during-forward-delete.html
rename to third_party/blink/manual_tests/caret-blink-during-forward-delete.html
diff --git a/third_party/WebKit/ManualTests/caret-image.html b/third_party/blink/manual_tests/caret-image.html
similarity index 100%
rename from third_party/WebKit/ManualTests/caret-image.html
rename to third_party/blink/manual_tests/caret-image.html
diff --git a/third_party/WebKit/ManualTests/caret-in-columns.html b/third_party/blink/manual_tests/caret-in-columns.html
similarity index 100%
rename from third_party/WebKit/ManualTests/caret-in-columns.html
rename to third_party/blink/manual_tests/caret-in-columns.html
diff --git a/third_party/WebKit/ManualTests/caretScrolling.html b/third_party/blink/manual_tests/caretScrolling.html
similarity index 100%
rename from third_party/WebKit/ManualTests/caretScrolling.html
rename to third_party/blink/manual_tests/caretScrolling.html
diff --git a/third_party/WebKit/ManualTests/chrome-bidi-text.html b/third_party/blink/manual_tests/chrome-bidi-text.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chrome-bidi-text.html
rename to third_party/blink/manual_tests/chrome-bidi-text.html
diff --git a/third_party/WebKit/ManualTests/chromium/autofill-popup-shiftupdown.hml b/third_party/blink/manual_tests/chromium/autofill-popup-shiftupdown.hml
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/autofill-popup-shiftupdown.hml
rename to third_party/blink/manual_tests/chromium/autofill-popup-shiftupdown.hml
diff --git a/third_party/WebKit/ManualTests/chromium/drag-image-accounts-for-device-scale.html b/third_party/blink/manual_tests/chromium/drag-image-accounts-for-device-scale.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/drag-image-accounts-for-device-scale.html
rename to third_party/blink/manual_tests/chromium/drag-image-accounts-for-device-scale.html
diff --git a/third_party/WebKit/ManualTests/chromium/modifiers-during-drag-and-drop.html b/third_party/blink/manual_tests/chromium/modifiers-during-drag-and-drop.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/modifiers-during-drag-and-drop.html
rename to third_party/blink/manual_tests/chromium/modifiers-during-drag-and-drop.html
diff --git a/third_party/WebKit/ManualTests/chromium/no-autofill-on-readonly.html b/third_party/blink/manual_tests/chromium/no-autofill-on-readonly.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/no-autofill-on-readonly.html
rename to third_party/blink/manual_tests/chromium/no-autofill-on-readonly.html
diff --git a/third_party/WebKit/ManualTests/chromium/onchange-reload-popup.html b/third_party/blink/manual_tests/chromium/onchange-reload-popup.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/onchange-reload-popup.html
rename to third_party/blink/manual_tests/chromium/onchange-reload-popup.html
diff --git a/third_party/WebKit/ManualTests/chromium/popup-menu-crash.html b/third_party/blink/manual_tests/chromium/popup-menu-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/popup-menu-crash.html
rename to third_party/blink/manual_tests/chromium/popup-menu-crash.html
diff --git a/third_party/WebKit/ManualTests/chromium/select-close-popup-value-change.html b/third_party/blink/manual_tests/chromium/select-close-popup-value-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/select-close-popup-value-change.html
rename to third_party/blink/manual_tests/chromium/select-close-popup-value-change.html
diff --git a/third_party/WebKit/ManualTests/chromium/suggestions-popup-font-change.html b/third_party/blink/manual_tests/chromium/suggestions-popup-font-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/chromium/suggestions-popup-font-change.html
rename to third_party/blink/manual_tests/chromium/suggestions-popup-font-change.html
diff --git a/third_party/WebKit/ManualTests/clear-input-file.html b/third_party/blink/manual_tests/clear-input-file.html
similarity index 100%
rename from third_party/WebKit/ManualTests/clear-input-file.html
rename to third_party/blink/manual_tests/clear-input-file.html
diff --git a/third_party/WebKit/ManualTests/clearTimeout-crash-bug29832.html b/third_party/blink/manual_tests/clearTimeout-crash-bug29832.html
similarity index 100%
rename from third_party/WebKit/ManualTests/clearTimeout-crash-bug29832.html
rename to third_party/blink/manual_tests/clearTimeout-crash-bug29832.html
diff --git a/third_party/WebKit/ManualTests/close-on-closedWindow.html b/third_party/blink/manual_tests/close-on-closedWindow.html
similarity index 100%
rename from third_party/WebKit/ManualTests/close-on-closedWindow.html
rename to third_party/blink/manual_tests/close-on-closedWindow.html
diff --git a/third_party/WebKit/ManualTests/compositing/accel-comp-iframe-tab-repaint.html b/third_party/blink/manual_tests/compositing/accel-comp-iframe-tab-repaint.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/accel-comp-iframe-tab-repaint.html
rename to third_party/blink/manual_tests/compositing/accel-comp-iframe-tab-repaint.html
diff --git a/third_party/WebKit/ManualTests/compositing/assert-on-tab-switch.html b/third_party/blink/manual_tests/compositing/assert-on-tab-switch.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/assert-on-tab-switch.html
rename to third_party/blink/manual_tests/compositing/assert-on-tab-switch.html
diff --git a/third_party/WebKit/ManualTests/compositing/caret-in-compositing-frame.html b/third_party/blink/manual_tests/compositing/caret-in-compositing-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/caret-in-compositing-frame.html
rename to third_party/blink/manual_tests/compositing/caret-in-compositing-frame.html
diff --git a/third_party/WebKit/ManualTests/compositing/fixed-position-out-of-view-scroll-prepaint.html b/third_party/blink/manual_tests/compositing/fixed-position-out-of-view-scroll-prepaint.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/fixed-position-out-of-view-scroll-prepaint.html
rename to third_party/blink/manual_tests/compositing/fixed-position-out-of-view-scroll-prepaint.html
diff --git a/third_party/WebKit/ManualTests/compositing/font-smoothing.html b/third_party/blink/manual_tests/compositing/font-smoothing.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/font-smoothing.html
rename to third_party/blink/manual_tests/compositing/font-smoothing.html
diff --git a/third_party/WebKit/ManualTests/compositing/missing-iframe-contents.html b/third_party/blink/manual_tests/compositing/missing-iframe-contents.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/missing-iframe-contents.html
rename to third_party/blink/manual_tests/compositing/missing-iframe-contents.html
diff --git a/third_party/WebKit/ManualTests/compositing/requires-backing-change.html b/third_party/blink/manual_tests/compositing/requires-backing-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/requires-backing-change.html
rename to third_party/blink/manual_tests/compositing/requires-backing-change.html
diff --git a/third_party/WebKit/ManualTests/compositing/resources/composited-subframe.html b/third_party/blink/manual_tests/compositing/resources/composited-subframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/resources/composited-subframe.html
rename to third_party/blink/manual_tests/compositing/resources/composited-subframe.html
diff --git a/third_party/WebKit/ManualTests/compositing/resources/editable-compositing-subframe.html b/third_party/blink/manual_tests/compositing/resources/editable-compositing-subframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/resources/editable-compositing-subframe.html
rename to third_party/blink/manual_tests/compositing/resources/editable-compositing-subframe.html
diff --git a/third_party/WebKit/ManualTests/compositing/resources/flash-frame.html b/third_party/blink/manual_tests/compositing/resources/flash-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/resources/flash-frame.html
rename to third_party/blink/manual_tests/compositing/resources/flash-frame.html
diff --git a/third_party/WebKit/ManualTests/compositing/resources/tab-repaint-part-2.html b/third_party/blink/manual_tests/compositing/resources/tab-repaint-part-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/resources/tab-repaint-part-2.html
rename to third_party/blink/manual_tests/compositing/resources/tab-repaint-part-2.html
diff --git a/third_party/WebKit/ManualTests/compositing/show-composited-iframe-on-back-button.html b/third_party/blink/manual_tests/compositing/show-composited-iframe-on-back-button.html
similarity index 100%
rename from third_party/WebKit/ManualTests/compositing/show-composited-iframe-on-back-button.html
rename to third_party/blink/manual_tests/compositing/show-composited-iframe-on-back-button.html
diff --git a/third_party/WebKit/ManualTests/containing-block-position-change.html b/third_party/blink/manual_tests/containing-block-position-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/containing-block-position-change.html
rename to third_party/blink/manual_tests/containing-block-position-change.html
diff --git a/third_party/WebKit/ManualTests/contenteditable-link.html b/third_party/blink/manual_tests/contenteditable-link.html
similarity index 100%
rename from third_party/WebKit/ManualTests/contenteditable-link.html
rename to third_party/blink/manual_tests/contenteditable-link.html
diff --git a/third_party/WebKit/ManualTests/context-click-generated-content.html b/third_party/blink/manual_tests/context-click-generated-content.html
similarity index 100%
rename from third_party/WebKit/ManualTests/context-click-generated-content.html
rename to third_party/blink/manual_tests/context-click-generated-content.html
diff --git a/third_party/WebKit/ManualTests/context-click-unfocused-frame.html b/third_party/blink/manual_tests/context-click-unfocused-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/context-click-unfocused-frame.html
rename to third_party/blink/manual_tests/context-click-unfocused-frame.html
diff --git a/third_party/WebKit/ManualTests/context-menu-during-drag-selection.html b/third_party/blink/manual_tests/context-menu-during-drag-selection.html
similarity index 100%
rename from third_party/WebKit/ManualTests/context-menu-during-drag-selection.html
rename to third_party/blink/manual_tests/context-menu-during-drag-selection.html
diff --git a/third_party/WebKit/ManualTests/cookieSpeedTest.html b/third_party/blink/manual_tests/cookieSpeedTest.html
similarity index 100%
rename from third_party/WebKit/ManualTests/cookieSpeedTest.html
rename to third_party/blink/manual_tests/cookieSpeedTest.html
diff --git a/third_party/WebKit/ManualTests/crash-and-no-repaint-after-wake-from-sleep.html b/third_party/blink/manual_tests/crash-and-no-repaint-after-wake-from-sleep.html
similarity index 100%
rename from third_party/WebKit/ManualTests/crash-and-no-repaint-after-wake-from-sleep.html
rename to third_party/blink/manual_tests/crash-and-no-repaint-after-wake-from-sleep.html
diff --git a/third_party/WebKit/ManualTests/crash-on-accessing-domwindow-without-frame.html b/third_party/blink/manual_tests/crash-on-accessing-domwindow-without-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/crash-on-accessing-domwindow-without-frame.html
rename to third_party/blink/manual_tests/crash-on-accessing-domwindow-without-frame.html
diff --git a/third_party/WebKit/ManualTests/crash-on-find-with-no-selection.html b/third_party/blink/manual_tests/crash-on-find-with-no-selection.html
similarity index 100%
rename from third_party/WebKit/ManualTests/crash-on-find-with-no-selection.html
rename to third_party/blink/manual_tests/crash-on-find-with-no-selection.html
diff --git a/third_party/WebKit/ManualTests/css3-cursor-fallback-quirks.html b/third_party/blink/manual_tests/css3-cursor-fallback-quirks.html
similarity index 100%
rename from third_party/WebKit/ManualTests/css3-cursor-fallback-quirks.html
rename to third_party/blink/manual_tests/css3-cursor-fallback-quirks.html
diff --git a/third_party/WebKit/ManualTests/css3-cursor-fallback-strict.html b/third_party/blink/manual_tests/css3-cursor-fallback-strict.html
similarity index 100%
rename from third_party/WebKit/ManualTests/css3-cursor-fallback-strict.html
rename to third_party/blink/manual_tests/css3-cursor-fallback-strict.html
diff --git a/third_party/WebKit/ManualTests/cur-hotspot.html b/third_party/blink/manual_tests/cur-hotspot.html
similarity index 100%
rename from third_party/WebKit/ManualTests/cur-hotspot.html
rename to third_party/blink/manual_tests/cur-hotspot.html
diff --git a/third_party/WebKit/ManualTests/cursor-empty-url.html b/third_party/blink/manual_tests/cursor-empty-url.html
similarity index 100%
rename from third_party/WebKit/ManualTests/cursor-empty-url.html
rename to third_party/blink/manual_tests/cursor-empty-url.html
diff --git a/third_party/WebKit/ManualTests/cursor-max-size.html b/third_party/blink/manual_tests/cursor-max-size.html
similarity index 100%
rename from third_party/WebKit/ManualTests/cursor-max-size.html
rename to third_party/blink/manual_tests/cursor-max-size.html
diff --git a/third_party/WebKit/ManualTests/cursor.html b/third_party/blink/manual_tests/cursor.html
similarity index 100%
rename from third_party/WebKit/ManualTests/cursor.html
rename to third_party/blink/manual_tests/cursor.html
diff --git a/third_party/WebKit/ManualTests/cursorfallback.xml b/third_party/blink/manual_tests/cursorfallback.xml
similarity index 100%
rename from third_party/WebKit/ManualTests/cursorfallback.xml
rename to third_party/blink/manual_tests/cursorfallback.xml
diff --git a/third_party/WebKit/ManualTests/custom-cursors.html b/third_party/blink/manual_tests/custom-cursors.html
similarity index 100%
rename from third_party/WebKit/ManualTests/custom-cursors.html
rename to third_party/blink/manual_tests/custom-cursors.html
diff --git a/third_party/WebKit/ManualTests/custom-scrollbar-renderer-removed-crash.html b/third_party/blink/manual_tests/custom-scrollbar-renderer-removed-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/custom-scrollbar-renderer-removed-crash.html
rename to third_party/blink/manual_tests/custom-scrollbar-renderer-removed-crash.html
diff --git a/third_party/WebKit/ManualTests/data-transfer-items-file-dragout.html b/third_party/blink/manual_tests/data-transfer-items-file-dragout.html
similarity index 100%
rename from third_party/WebKit/ManualTests/data-transfer-items-file-dragout.html
rename to third_party/blink/manual_tests/data-transfer-items-file-dragout.html
diff --git a/third_party/WebKit/ManualTests/database-callback-deferred.html b/third_party/blink/manual_tests/database-callback-deferred.html
similarity index 100%
rename from third_party/WebKit/ManualTests/database-callback-deferred.html
rename to third_party/blink/manual_tests/database-callback-deferred.html
diff --git a/third_party/WebKit/ManualTests/database-threading-stress-test-2.html b/third_party/blink/manual_tests/database-threading-stress-test-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/database-threading-stress-test-2.html
rename to third_party/blink/manual_tests/database-threading-stress-test-2.html
diff --git a/third_party/WebKit/ManualTests/database-threading-stress-test.html b/third_party/blink/manual_tests/database-threading-stress-test.html
similarity index 100%
rename from third_party/WebKit/ManualTests/database-threading-stress-test.html
rename to third_party/blink/manual_tests/database-threading-stress-test.html
diff --git a/third_party/WebKit/ManualTests/debugger-caught-uncaught-exceptions.html b/third_party/blink/manual_tests/debugger-caught-uncaught-exceptions.html
similarity index 100%
rename from third_party/WebKit/ManualTests/debugger-caught-uncaught-exceptions.html
rename to third_party/blink/manual_tests/debugger-caught-uncaught-exceptions.html
diff --git a/third_party/WebKit/ManualTests/deleteToEndOfLine.html b/third_party/blink/manual_tests/deleteToEndOfLine.html
similarity index 100%
rename from third_party/WebKit/ManualTests/deleteToEndOfLine.html
rename to third_party/blink/manual_tests/deleteToEndOfLine.html
diff --git a/third_party/WebKit/ManualTests/dictionary-scrolled-iframe.html b/third_party/blink/manual_tests/dictionary-scrolled-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/dictionary-scrolled-iframe.html
rename to third_party/blink/manual_tests/dictionary-scrolled-iframe.html
diff --git a/third_party/WebKit/ManualTests/directory-drop-on-view.html b/third_party/blink/manual_tests/directory-drop-on-view.html
similarity index 100%
rename from third_party/WebKit/ManualTests/directory-drop-on-view.html
rename to third_party/blink/manual_tests/directory-drop-on-view.html
diff --git a/third_party/WebKit/ManualTests/disable-javascript-reload.html b/third_party/blink/manual_tests/disable-javascript-reload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/disable-javascript-reload.html
rename to third_party/blink/manual_tests/disable-javascript-reload.html
diff --git a/third_party/WebKit/ManualTests/disabled-option-elements.html b/third_party/blink/manual_tests/disabled-option-elements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/disabled-option-elements.html
rename to third_party/blink/manual_tests/disabled-option-elements.html
diff --git a/third_party/WebKit/ManualTests/display-none-option.html b/third_party/blink/manual_tests/display-none-option.html
similarity index 100%
rename from third_party/WebKit/ManualTests/display-none-option.html
rename to third_party/blink/manual_tests/display-none-option.html
diff --git a/third_party/WebKit/ManualTests/divx-plugin-fails-to-draw.html b/third_party/blink/manual_tests/divx-plugin-fails-to-draw.html
similarity index 100%
rename from third_party/WebKit/ManualTests/divx-plugin-fails-to-draw.html
rename to third_party/blink/manual_tests/divx-plugin-fails-to-draw.html
diff --git a/third_party/WebKit/ManualTests/dom-manipulation-on-resize.html b/third_party/blink/manual_tests/dom-manipulation-on-resize.html
similarity index 100%
rename from third_party/WebKit/ManualTests/dom-manipulation-on-resize.html
rename to third_party/blink/manual_tests/dom-manipulation-on-resize.html
diff --git a/third_party/WebKit/ManualTests/dom/document-write-synchronous-after-page-load.html b/third_party/blink/manual_tests/dom/document-write-synchronous-after-page-load.html
similarity index 100%
rename from third_party/WebKit/ManualTests/dom/document-write-synchronous-after-page-load.html
rename to third_party/blink/manual_tests/dom/document-write-synchronous-after-page-load.html
diff --git a/third_party/WebKit/ManualTests/dom/form-control-for-label.html b/third_party/blink/manual_tests/dom/form-control-for-label.html
similarity index 100%
rename from third_party/WebKit/ManualTests/dom/form-control-for-label.html
rename to third_party/blink/manual_tests/dom/form-control-for-label.html
diff --git a/third_party/WebKit/ManualTests/dom/progressbar.html b/third_party/blink/manual_tests/dom/progressbar.html
similarity index 100%
rename from third_party/WebKit/ManualTests/dom/progressbar.html
rename to third_party/blink/manual_tests/dom/progressbar.html
diff --git a/third_party/WebKit/ManualTests/drag-background-with-padding.html b/third_party/blink/manual_tests/drag-background-with-padding.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-background-with-padding.html
rename to third_party/blink/manual_tests/drag-background-with-padding.html
diff --git a/third_party/WebKit/ManualTests/drag-caret.html b/third_party/blink/manual_tests/drag-caret.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-caret.html
rename to third_party/blink/manual_tests/drag-caret.html
diff --git a/third_party/WebKit/ManualTests/drag-color-to-contenteditable.html b/third_party/blink/manual_tests/drag-color-to-contenteditable.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-color-to-contenteditable.html
rename to third_party/blink/manual_tests/drag-color-to-contenteditable.html
diff --git a/third_party/WebKit/ManualTests/drag-cursor-notallowed.html b/third_party/blink/manual_tests/drag-cursor-notallowed.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-cursor-notallowed.html
rename to third_party/blink/manual_tests/drag-cursor-notallowed.html
diff --git a/third_party/WebKit/ManualTests/drag-enter-alert.html b/third_party/blink/manual_tests/drag-enter-alert.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-enter-alert.html
rename to third_party/blink/manual_tests/drag-enter-alert.html
diff --git a/third_party/WebKit/ManualTests/drag-escape.html b/third_party/blink/manual_tests/drag-escape.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-escape.html
rename to third_party/blink/manual_tests/drag-escape.html
diff --git a/third_party/WebKit/ManualTests/drag-image-for-links-and-images.html b/third_party/blink/manual_tests/drag-image-for-links-and-images.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-image-for-links-and-images.html
rename to third_party/blink/manual_tests/drag-image-for-links-and-images.html
diff --git a/third_party/WebKit/ManualTests/drag-image-no-crash.html b/third_party/blink/manual_tests/drag-image-no-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-image-no-crash.html
rename to third_party/blink/manual_tests/drag-image-no-crash.html
diff --git a/third_party/WebKit/ManualTests/drag-image-table-part-decorations.html b/third_party/blink/manual_tests/drag-image-table-part-decorations.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-image-table-part-decorations.html
rename to third_party/blink/manual_tests/drag-image-table-part-decorations.html
diff --git a/third_party/WebKit/ManualTests/drag-image-to-address-bar.html b/third_party/blink/manual_tests/drag-image-to-address-bar.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-image-to-address-bar.html
rename to third_party/blink/manual_tests/drag-image-to-address-bar.html
diff --git a/third_party/WebKit/ManualTests/drag-image.html b/third_party/blink/manual_tests/drag-image.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-image.html
rename to third_party/blink/manual_tests/drag-image.html
diff --git a/third_party/WebKit/ManualTests/drag-move-in-search-field.html b/third_party/blink/manual_tests/drag-move-in-search-field.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-move-in-search-field.html
rename to third_party/blink/manual_tests/drag-move-in-search-field.html
diff --git a/third_party/WebKit/ManualTests/drag-out-of-background-window.html b/third_party/blink/manual_tests/drag-out-of-background-window.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-out-of-background-window.html
rename to third_party/blink/manual_tests/drag-out-of-background-window.html
diff --git a/third_party/WebKit/ManualTests/drag-should-draw-target.html b/third_party/blink/manual_tests/drag-should-draw-target.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-should-draw-target.html
rename to third_party/blink/manual_tests/drag-should-draw-target.html
diff --git a/third_party/WebKit/ManualTests/drag-with-div-or-image-as-data-image.html b/third_party/blink/manual_tests/drag-with-div-or-image-as-data-image.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag-with-div-or-image-as-data-image.html
rename to third_party/blink/manual_tests/drag-with-div-or-image-as-data-image.html
diff --git a/third_party/WebKit/ManualTests/drag_select_highlighting.html b/third_party/blink/manual_tests/drag_select_highlighting.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag_select_highlighting.html
rename to third_party/blink/manual_tests/drag_select_highlighting.html
diff --git a/third_party/WebKit/ManualTests/drag_with_opacity.html b/third_party/blink/manual_tests/drag_with_opacity.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drag_with_opacity.html
rename to third_party/blink/manual_tests/drag_with_opacity.html
diff --git a/third_party/WebKit/ManualTests/draw-focus-if-needed-dirty-rect.html b/third_party/blink/manual_tests/draw-focus-if-needed-dirty-rect.html
similarity index 100%
rename from third_party/WebKit/ManualTests/draw-focus-if-needed-dirty-rect.html
rename to third_party/blink/manual_tests/draw-focus-if-needed-dirty-rect.html
diff --git a/third_party/WebKit/ManualTests/drop-in-empty-doc.html b/third_party/blink/manual_tests/drop-in-empty-doc.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drop-in-empty-doc.html
rename to third_party/blink/manual_tests/drop-in-empty-doc.html
diff --git a/third_party/WebKit/ManualTests/drop-text-acquires-style.html b/third_party/blink/manual_tests/drop-text-acquires-style.html
similarity index 100%
rename from third_party/WebKit/ManualTests/drop-text-acquires-style.html
rename to third_party/blink/manual_tests/drop-text-acquires-style.html
diff --git a/third_party/WebKit/ManualTests/editing-disabled-node-replace-crash.html b/third_party/blink/manual_tests/editing-disabled-node-replace-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/editing-disabled-node-replace-crash.html
rename to third_party/blink/manual_tests/editing-disabled-node-replace-crash.html
diff --git a/third_party/WebKit/ManualTests/empty-link-target.html b/third_party/blink/manual_tests/empty-link-target.html
similarity index 100%
rename from third_party/WebKit/ManualTests/empty-link-target.html
rename to third_party/blink/manual_tests/empty-link-target.html
diff --git a/third_party/WebKit/ManualTests/empty-script-crash.html b/third_party/blink/manual_tests/empty-script-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/empty-script-crash.html
rename to third_party/blink/manual_tests/empty-script-crash.html
diff --git a/third_party/WebKit/ManualTests/empty-title-popup.html b/third_party/blink/manual_tests/empty-title-popup.html
similarity index 100%
rename from third_party/WebKit/ManualTests/empty-title-popup.html
rename to third_party/blink/manual_tests/empty-title-popup.html
diff --git a/third_party/WebKit/ManualTests/error-event-during-context-initialization-crash.html b/third_party/blink/manual_tests/error-event-during-context-initialization-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/error-event-during-context-initialization-crash.html
rename to third_party/blink/manual_tests/error-event-during-context-initialization-crash.html
diff --git a/third_party/WebKit/ManualTests/eventsource/eventsource-loader-buffering.html b/third_party/blink/manual_tests/eventsource/eventsource-loader-buffering.html
similarity index 100%
rename from third_party/WebKit/ManualTests/eventsource/eventsource-loader-buffering.html
rename to third_party/blink/manual_tests/eventsource/eventsource-loader-buffering.html
diff --git a/third_party/WebKit/ManualTests/eventsource/eventsource-loader-buffering.php b/third_party/blink/manual_tests/eventsource/eventsource-loader-buffering.php
similarity index 100%
rename from third_party/WebKit/ManualTests/eventsource/eventsource-loader-buffering.php
rename to third_party/blink/manual_tests/eventsource/eventsource-loader-buffering.php
diff --git a/third_party/WebKit/ManualTests/filters/opacity-above-filter.html b/third_party/blink/manual_tests/filters/opacity-above-filter.html
similarity index 100%
rename from third_party/WebKit/ManualTests/filters/opacity-above-filter.html
rename to third_party/blink/manual_tests/filters/opacity-above-filter.html
diff --git a/third_party/WebKit/ManualTests/find-count-matches-after-text-control.html b/third_party/blink/manual_tests/find-count-matches-after-text-control.html
similarity index 100%
rename from third_party/WebKit/ManualTests/find-count-matches-after-text-control.html
rename to third_party/blink/manual_tests/find-count-matches-after-text-control.html
diff --git a/third_party/WebKit/ManualTests/first-line-style-crash.html b/third_party/blink/manual_tests/first-line-style-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/first-line-style-crash.html
rename to third_party/blink/manual_tests/first-line-style-crash.html
diff --git a/third_party/WebKit/ManualTests/flash-unload-tab.html b/third_party/blink/manual_tests/flash-unload-tab.html
similarity index 100%
rename from third_party/WebKit/ManualTests/flash-unload-tab.html
rename to third_party/blink/manual_tests/flash-unload-tab.html
diff --git a/third_party/WebKit/ManualTests/flipped-text-rendering.html b/third_party/blink/manual_tests/flipped-text-rendering.html
similarity index 100%
rename from third_party/WebKit/ManualTests/flipped-text-rendering.html
rename to third_party/blink/manual_tests/flipped-text-rendering.html
diff --git a/third_party/WebKit/ManualTests/focus-change-between-key-events.html b/third_party/blink/manual_tests/focus-change-between-key-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/focus-change-between-key-events.html
rename to third_party/blink/manual_tests/focus-change-between-key-events.html
diff --git a/third_party/WebKit/ManualTests/focus-select-when-clicked.html b/third_party/blink/manual_tests/focus-select-when-clicked.html
similarity index 100%
rename from third_party/WebKit/ManualTests/focus-select-when-clicked.html
rename to third_party/blink/manual_tests/focus-select-when-clicked.html
diff --git a/third_party/WebKit/ManualTests/focusringcolor-change-on-theme-change.html b/third_party/blink/manual_tests/focusringcolor-change-on-theme-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/focusringcolor-change-on-theme-change.html
rename to third_party/blink/manual_tests/focusringcolor-change-on-theme-change.html
diff --git a/third_party/WebKit/ManualTests/form-control-madness.html b/third_party/blink/manual_tests/form-control-madness.html
similarity index 100%
rename from third_party/WebKit/ManualTests/form-control-madness.html
rename to third_party/blink/manual_tests/form-control-madness.html
diff --git a/third_party/WebKit/ManualTests/form-element-spelling.html b/third_party/blink/manual_tests/form-element-spelling.html
similarity index 100%
rename from third_party/WebKit/ManualTests/form-element-spelling.html
rename to third_party/blink/manual_tests/form-element-spelling.html
diff --git a/third_party/WebKit/ManualTests/form-value-restore.html b/third_party/blink/manual_tests/form-value-restore.html
similarity index 100%
rename from third_party/WebKit/ManualTests/form-value-restore.html
rename to third_party/blink/manual_tests/form-value-restore.html
diff --git a/third_party/WebKit/ManualTests/forms/calendar-picker-crash-by-type-change.html b/third_party/blink/manual_tests/forms/calendar-picker-crash-by-type-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/forms/calendar-picker-crash-by-type-change.html
rename to third_party/blink/manual_tests/forms/calendar-picker-crash-by-type-change.html
diff --git a/third_party/WebKit/ManualTests/forms/calendar-picker.html b/third_party/blink/manual_tests/forms/calendar-picker.html
similarity index 100%
rename from third_party/WebKit/ManualTests/forms/calendar-picker.html
rename to third_party/blink/manual_tests/forms/calendar-picker.html
diff --git a/third_party/WebKit/ManualTests/forms/color-suggestion-picker.html b/third_party/blink/manual_tests/forms/color-suggestion-picker.html
similarity index 100%
rename from third_party/WebKit/ManualTests/forms/color-suggestion-picker.html
rename to third_party/blink/manual_tests/forms/color-suggestion-picker.html
diff --git a/third_party/WebKit/ManualTests/forms/date-suggestion-picker.html b/third_party/blink/manual_tests/forms/date-suggestion-picker.html
similarity index 100%
rename from third_party/WebKit/ManualTests/forms/date-suggestion-picker.html
rename to third_party/blink/manual_tests/forms/date-suggestion-picker.html
diff --git a/third_party/WebKit/ManualTests/forms/list-picker.html b/third_party/blink/manual_tests/forms/list-picker.html
similarity index 100%
rename from third_party/WebKit/ManualTests/forms/list-picker.html
rename to third_party/blink/manual_tests/forms/list-picker.html
diff --git a/third_party/WebKit/ManualTests/frame-hover.html b/third_party/blink/manual_tests/frame-hover.html
similarity index 100%
rename from third_party/WebKit/ManualTests/frame-hover.html
rename to third_party/blink/manual_tests/frame-hover.html
diff --git a/third_party/WebKit/ManualTests/frames/nested-iframe-blit-on-scroll.html b/third_party/blink/manual_tests/frames/nested-iframe-blit-on-scroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/frames/nested-iframe-blit-on-scroll.html
rename to third_party/blink/manual_tests/frames/nested-iframe-blit-on-scroll.html
diff --git a/third_party/WebKit/ManualTests/frames/resources/blit-on-scroll-subframe.html b/third_party/blink/manual_tests/frames/resources/blit-on-scroll-subframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/frames/resources/blit-on-scroll-subframe.html
rename to third_party/blink/manual_tests/frames/resources/blit-on-scroll-subframe.html
diff --git a/third_party/WebKit/ManualTests/frames/resources/blit-on-scroll-subsubframe.html b/third_party/blink/manual_tests/frames/resources/blit-on-scroll-subsubframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/frames/resources/blit-on-scroll-subsubframe.html
rename to third_party/blink/manual_tests/frames/resources/blit-on-scroll-subsubframe.html
diff --git a/third_party/WebKit/ManualTests/full-screen-keypress.html b/third_party/blink/manual_tests/full-screen-keypress.html
similarity index 100%
rename from third_party/WebKit/ManualTests/full-screen-keypress.html
rename to third_party/blink/manual_tests/full-screen-keypress.html
diff --git a/third_party/WebKit/ManualTests/fullscreen/full-screen-flash.html b/third_party/blink/manual_tests/fullscreen/full-screen-flash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/fullscreen/full-screen-flash.html
rename to third_party/blink/manual_tests/fullscreen/full-screen-flash.html
diff --git a/third_party/WebKit/ManualTests/fullscreen/full-screen-zero-width.html b/third_party/blink/manual_tests/fullscreen/full-screen-zero-width.html
similarity index 100%
rename from third_party/WebKit/ManualTests/fullscreen/full-screen-zero-width.html
rename to third_party/blink/manual_tests/fullscreen/full-screen-zero-width.html
diff --git a/third_party/WebKit/ManualTests/go-back-after-alert.html b/third_party/blink/manual_tests/go-back-after-alert.html
similarity index 100%
rename from third_party/WebKit/ManualTests/go-back-after-alert.html
rename to third_party/blink/manual_tests/go-back-after-alert.html
diff --git a/third_party/WebKit/ManualTests/goBack-blank-tab-page.html b/third_party/blink/manual_tests/goBack-blank-tab-page.html
similarity index 100%
rename from third_party/WebKit/ManualTests/goBack-blank-tab-page.html
rename to third_party/blink/manual_tests/goBack-blank-tab-page.html
diff --git a/third_party/WebKit/ManualTests/harfbuzz-mouse-selection-crash.html b/third_party/blink/manual_tests/harfbuzz-mouse-selection-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/harfbuzz-mouse-selection-crash.html
rename to third_party/blink/manual_tests/harfbuzz-mouse-selection-crash.html
diff --git a/third_party/WebKit/ManualTests/hash-ref.html b/third_party/blink/manual_tests/hash-ref.html
similarity index 100%
rename from third_party/WebKit/ManualTests/hash-ref.html
rename to third_party/blink/manual_tests/hash-ref.html
diff --git a/third_party/WebKit/ManualTests/iframe_notifications/iframe-reparenting-close-window-child.html b/third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window-child.html
similarity index 100%
rename from third_party/WebKit/ManualTests/iframe_notifications/iframe-reparenting-close-window-child.html
rename to third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window-child.html
diff --git a/third_party/WebKit/ManualTests/iframe_notifications/iframe-reparenting-close-window-iframe.html b/third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/iframe_notifications/iframe-reparenting-close-window-iframe.html
rename to third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window-iframe.html
diff --git a/third_party/WebKit/ManualTests/iframe_notifications/iframe-reparenting-close-window.html b/third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window.html
similarity index 100%
rename from third_party/WebKit/ManualTests/iframe_notifications/iframe-reparenting-close-window.html
rename to third_party/blink/manual_tests/iframe_notifications/iframe-reparenting-close-window.html
diff --git a/third_party/WebKit/ManualTests/image-document-zoom.html b/third_party/blink/manual_tests/image-document-zoom.html
similarity index 100%
rename from third_party/WebKit/ManualTests/image-document-zoom.html
rename to third_party/blink/manual_tests/image-document-zoom.html
diff --git a/third_party/WebKit/ManualTests/image-prefetch-stress.html b/third_party/blink/manual_tests/image-prefetch-stress.html
similarity index 100%
rename from third_party/WebKit/ManualTests/image-prefetch-stress.html
rename to third_party/blink/manual_tests/image-prefetch-stress.html
diff --git a/third_party/WebKit/ManualTests/image-resampling-with-scale.html b/third_party/blink/manual_tests/image-resampling-with-scale.html
similarity index 100%
rename from third_party/WebKit/ManualTests/image-resampling-with-scale.html
rename to third_party/blink/manual_tests/image-resampling-with-scale.html
diff --git a/third_party/WebKit/ManualTests/ime-keydown-preventdefault.html b/third_party/blink/manual_tests/ime-keydown-preventdefault.html
similarity index 100%
rename from third_party/WebKit/ManualTests/ime-keydown-preventdefault.html
rename to third_party/blink/manual_tests/ime-keydown-preventdefault.html
diff --git a/third_party/WebKit/ManualTests/indexeddb-persists.html b/third_party/blink/manual_tests/indexeddb-persists.html
similarity index 100%
rename from third_party/WebKit/ManualTests/indexeddb-persists.html
rename to third_party/blink/manual_tests/indexeddb-persists.html
diff --git a/third_party/WebKit/ManualTests/inline-input-marking.html b/third_party/blink/manual_tests/inline-input-marking.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inline-input-marking.html
rename to third_party/blink/manual_tests/inline-input-marking.html
diff --git a/third_party/WebKit/ManualTests/input-empty-on-focus.html b/third_party/blink/manual_tests/input-empty-on-focus.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-empty-on-focus.html
rename to third_party/blink/manual_tests/input-empty-on-focus.html
diff --git a/third_party/WebKit/ManualTests/input-file-hidden-open-dialog-on-click.html b/third_party/blink/manual_tests/input-file-hidden-open-dialog-on-click.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-file-hidden-open-dialog-on-click.html
rename to third_party/blink/manual_tests/input-file-hidden-open-dialog-on-click.html
diff --git a/third_party/WebKit/ManualTests/input-number-localization.html b/third_party/blink/manual_tests/input-number-localization.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-number-localization.html
rename to third_party/blink/manual_tests/input-number-localization.html
diff --git a/third_party/WebKit/ManualTests/input-starved-by-timers.html b/third_party/blink/manual_tests/input-starved-by-timers.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-starved-by-timers.html
rename to third_party/blink/manual_tests/input-starved-by-timers.html
diff --git a/third_party/WebKit/ManualTests/input-type-datetime-default-value.html b/third_party/blink/manual_tests/input-type-datetime-default-value.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-type-datetime-default-value.html
rename to third_party/blink/manual_tests/input-type-datetime-default-value.html
diff --git a/third_party/WebKit/ManualTests/input-type-file-autocomplete-frame-1.html b/third_party/blink/manual_tests/input-type-file-autocomplete-frame-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-type-file-autocomplete-frame-1.html
rename to third_party/blink/manual_tests/input-type-file-autocomplete-frame-1.html
diff --git a/third_party/WebKit/ManualTests/input-type-file-autocomplete-frame-2.html b/third_party/blink/manual_tests/input-type-file-autocomplete-frame-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-type-file-autocomplete-frame-2.html
rename to third_party/blink/manual_tests/input-type-file-autocomplete-frame-2.html
diff --git a/third_party/WebKit/ManualTests/input-type-file-autocomplete-refresh.html b/third_party/blink/manual_tests/input-type-file-autocomplete-refresh.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-type-file-autocomplete-refresh.html
rename to third_party/blink/manual_tests/input-type-file-autocomplete-refresh.html
diff --git a/third_party/WebKit/ManualTests/input-type-file-drag-drop.html b/third_party/blink/manual_tests/input-type-file-drag-drop.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-type-file-drag-drop.html
rename to third_party/blink/manual_tests/input-type-file-drag-drop.html
diff --git a/third_party/WebKit/ManualTests/input-type-text-unconfirmed-inline-input.html b/third_party/blink/manual_tests/input-type-text-unconfirmed-inline-input.html
similarity index 100%
rename from third_party/WebKit/ManualTests/input-type-text-unconfirmed-inline-input.html
rename to third_party/blink/manual_tests/input-type-text-unconfirmed-inline-input.html
diff --git a/third_party/WebKit/ManualTests/inspector-document-methods-override.html b/third_party/blink/manual_tests/inspector-document-methods-override.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-document-methods-override.html
rename to third_party/blink/manual_tests/inspector-document-methods-override.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/console-alert-document-body.html b/third_party/blink/manual_tests/inspector-wrappers/console-alert-document-body.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/console-alert-document-body.html
rename to third_party/blink/manual_tests/inspector-wrappers/console-alert-document-body.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/console-alert-object.html b/third_party/blink/manual_tests/inspector-wrappers/console-alert-object.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/console-alert-object.html
rename to third_party/blink/manual_tests/inspector-wrappers/console-alert-object.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/console-alert-this.html b/third_party/blink/manual_tests/inspector-wrappers/console-alert-this.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/console-alert-this.html
rename to third_party/blink/manual_tests/inspector-wrappers/console-alert-this.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/console-eval.html b/third_party/blink/manual_tests/inspector-wrappers/console-eval.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/console-eval.html
rename to third_party/blink/manual_tests/inspector-wrappers/console-eval.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/console-str-alert-object.html b/third_party/blink/manual_tests/inspector-wrappers/console-str-alert-object.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/console-str-alert-object.html
rename to third_party/blink/manual_tests/inspector-wrappers/console-str-alert-object.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/console-str-getter.html b/third_party/blink/manual_tests/inspector-wrappers/console-str-getter.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/console-str-getter.html
rename to third_party/blink/manual_tests/inspector-wrappers/console-str-getter.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/inspector-evaluate.html b/third_party/blink/manual_tests/inspector-wrappers/inspector-evaluate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/inspector-evaluate.html
rename to third_party/blink/manual_tests/inspector-wrappers/inspector-evaluate.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/inspector-hasAttributes.html b/third_party/blink/manual_tests/inspector-wrappers/inspector-hasAttributes.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/inspector-hasAttributes.html
rename to third_party/blink/manual_tests/inspector-wrappers/inspector-hasAttributes.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/inspector-treeElementIdentifier.html b/third_party/blink/manual_tests/inspector-wrappers/inspector-treeElementIdentifier.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/inspector-treeElementIdentifier.html
rename to third_party/blink/manual_tests/inspector-wrappers/inspector-treeElementIdentifier.html
diff --git a/third_party/WebKit/ManualTests/inspector-wrappers/inspector-wrappers-test-utils.js b/third_party/blink/manual_tests/inspector-wrappers/inspector-wrappers-test-utils.js
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector-wrappers/inspector-wrappers-test-utils.js
rename to third_party/blink/manual_tests/inspector-wrappers/inspector-wrappers-test-utils.js
diff --git a/third_party/WebKit/ManualTests/inspector/bp-in-named-eval-after-reload.html b/third_party/blink/manual_tests/inspector/bp-in-named-eval-after-reload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/bp-in-named-eval-after-reload.html
rename to third_party/blink/manual_tests/inspector/bp-in-named-eval-after-reload.html
diff --git a/third_party/WebKit/ManualTests/inspector/command-line-api.html b/third_party/blink/manual_tests/inspector/command-line-api.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/command-line-api.html
rename to third_party/blink/manual_tests/inspector/command-line-api.html
diff --git a/third_party/WebKit/ManualTests/inspector/console-assert.html b/third_party/blink/manual_tests/inspector/console-assert.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/console-assert.html
rename to third_party/blink/manual_tests/inspector/console-assert.html
diff --git a/third_party/WebKit/ManualTests/inspector/console-call-line-numbers.html b/third_party/blink/manual_tests/inspector/console-call-line-numbers.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/console-call-line-numbers.html
rename to third_party/blink/manual_tests/inspector/console-call-line-numbers.html
diff --git a/third_party/WebKit/ManualTests/inspector/console-dir.html b/third_party/blink/manual_tests/inspector/console-dir.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/console-dir.html
rename to third_party/blink/manual_tests/inspector/console-dir.html
diff --git a/third_party/WebKit/ManualTests/inspector/console-log-formatting.html b/third_party/blink/manual_tests/inspector/console-log-formatting.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/console-log-formatting.html
rename to third_party/blink/manual_tests/inspector/console-log-formatting.html
diff --git a/third_party/WebKit/ManualTests/inspector/console-time.html b/third_party/blink/manual_tests/inspector/console-time.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/console-time.html
rename to third_party/blink/manual_tests/inspector/console-time.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-execution-while-paused.html b/third_party/blink/manual_tests/inspector/debugger-execution-while-paused.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-execution-while-paused.html
rename to third_party/blink/manual_tests/inspector/debugger-execution-while-paused.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-pause-during-load.html b/third_party/blink/manual_tests/inspector/debugger-pause-during-load.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-pause-during-load.html
rename to third_party/blink/manual_tests/inspector/debugger-pause-during-load.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-pause-on-else-statements.html b/third_party/blink/manual_tests/inspector/debugger-pause-on-else-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-pause-on-else-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-pause-on-else-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-pause-on-for-in-statements.html b/third_party/blink/manual_tests/inspector/debugger-pause-on-for-in-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-pause-on-for-in-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-pause-on-for-in-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-pause-on-for-statements.html b/third_party/blink/manual_tests/inspector/debugger-pause-on-for-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-pause-on-for-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-pause-on-for-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-scopes-inspection.html b/third_party/blink/manual_tests/inspector/debugger-scopes-inspection.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-scopes-inspection.html
rename to third_party/blink/manual_tests/inspector/debugger-scopes-inspection.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-shortcuts-with-console-opened.html b/third_party/blink/manual_tests/inspector/debugger-shortcuts-with-console-opened.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-shortcuts-with-console-opened.html
rename to third_party/blink/manual_tests/inspector/debugger-shortcuts-with-console-opened.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-status-bar-buttons-state.html b/third_party/blink/manual_tests/inspector/debugger-status-bar-buttons-state.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-status-bar-buttons-state.html
rename to third_party/blink/manual_tests/inspector/debugger-status-bar-buttons-state.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-step-on-do-while-statements.html b/third_party/blink/manual_tests/inspector/debugger-step-on-do-while-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-step-on-do-while-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-step-on-do-while-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-step-on-for-in-statements.html b/third_party/blink/manual_tests/inspector/debugger-step-on-for-in-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-step-on-for-in-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-step-on-for-in-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-step-on-for-statements.html b/third_party/blink/manual_tests/inspector/debugger-step-on-for-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-step-on-for-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-step-on-for-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-step-on-while-statements.html b/third_party/blink/manual_tests/inspector/debugger-step-on-while-statements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-step-on-while-statements.html
rename to third_party/blink/manual_tests/inspector/debugger-step-on-while-statements.html
diff --git a/third_party/WebKit/ManualTests/inspector/debugger-watch-expressions.html b/third_party/blink/manual_tests/inspector/debugger-watch-expressions.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/debugger-watch-expressions.html
rename to third_party/blink/manual_tests/inspector/debugger-watch-expressions.html
diff --git a/third_party/WebKit/ManualTests/inspector/display-form-data.html b/third_party/blink/manual_tests/inspector/display-form-data.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/display-form-data.html
rename to third_party/blink/manual_tests/inspector/display-form-data.html
diff --git a/third_party/WebKit/ManualTests/inspector/display-sql-null.html b/third_party/blink/manual_tests/inspector/display-sql-null.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/display-sql-null.html
rename to third_party/blink/manual_tests/inspector/display-sql-null.html
diff --git a/third_party/WebKit/ManualTests/inspector/display-sql-transaction-error.html b/third_party/blink/manual_tests/inspector/display-sql-transaction-error.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/display-sql-transaction-error.html
rename to third_party/blink/manual_tests/inspector/display-sql-transaction-error.html
diff --git a/third_party/WebKit/ManualTests/inspector/dom-mutation.html b/third_party/blink/manual_tests/inspector/dom-mutation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/dom-mutation.html
rename to third_party/blink/manual_tests/inspector/dom-mutation.html
diff --git a/third_party/WebKit/ManualTests/inspector/duplicate-resource-urls.html b/third_party/blink/manual_tests/inspector/duplicate-resource-urls.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/duplicate-resource-urls.html
rename to third_party/blink/manual_tests/inspector/duplicate-resource-urls.html
diff --git a/third_party/WebKit/ManualTests/inspector/error-warning-count.html b/third_party/blink/manual_tests/inspector/error-warning-count.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/error-warning-count.html
rename to third_party/blink/manual_tests/inspector/error-warning-count.html
diff --git a/third_party/WebKit/ManualTests/inspector/errors-with-space in-url.html b/third_party/blink/manual_tests/inspector/errors-with-space in-url.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/errors-with-space in-url.html
rename to third_party/blink/manual_tests/inspector/errors-with-space in-url.html
diff --git a/third_party/WebKit/ManualTests/inspector/escape-links.html b/third_party/blink/manual_tests/inspector/escape-links.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/escape-links.html
rename to third_party/blink/manual_tests/inspector/escape-links.html
diff --git a/third_party/WebKit/ManualTests/inspector/forzen-ui-while-paused.html b/third_party/blink/manual_tests/inspector/forzen-ui-while-paused.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/forzen-ui-while-paused.html
rename to third_party/blink/manual_tests/inspector/forzen-ui-while-paused.html
diff --git a/third_party/WebKit/ManualTests/inspector/hidden-evals.html b/third_party/blink/manual_tests/inspector/hidden-evals.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/hidden-evals.html
rename to third_party/blink/manual_tests/inspector/hidden-evals.html
diff --git a/third_party/WebKit/ManualTests/inspector/highlight-nodes.html b/third_party/blink/manual_tests/inspector/highlight-nodes.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/highlight-nodes.html
rename to third_party/blink/manual_tests/inspector/highlight-nodes.html
diff --git a/third_party/WebKit/ManualTests/inspector/highlight-source-line.html b/third_party/blink/manual_tests/inspector/highlight-source-line.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/highlight-source-line.html
rename to third_party/blink/manual_tests/inspector/highlight-source-line.html
diff --git a/third_party/WebKit/ManualTests/inspector/multiple-console-messages.html b/third_party/blink/manual_tests/inspector/multiple-console-messages.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/multiple-console-messages.html
rename to third_party/blink/manual_tests/inspector/multiple-console-messages.html
diff --git a/third_party/WebKit/ManualTests/inspector/named-evals.html b/third_party/blink/manual_tests/inspector/named-evals.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/named-evals.html
rename to third_party/blink/manual_tests/inspector/named-evals.html
diff --git a/third_party/WebKit/ManualTests/inspector/profiler-test-call.html b/third_party/blink/manual_tests/inspector/profiler-test-call.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/profiler-test-call.html
rename to third_party/blink/manual_tests/inspector/profiler-test-call.html
diff --git a/third_party/WebKit/ManualTests/inspector/profiler-test-many-calls-in-the-same-scope.html b/third_party/blink/manual_tests/inspector/profiler-test-many-calls-in-the-same-scope.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/profiler-test-many-calls-in-the-same-scope.html
rename to third_party/blink/manual_tests/inspector/profiler-test-many-calls-in-the-same-scope.html
diff --git a/third_party/WebKit/ManualTests/inspector/remember-last-script.html b/third_party/blink/manual_tests/inspector/remember-last-script.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/remember-last-script.html
rename to third_party/blink/manual_tests/inspector/remember-last-script.html
diff --git a/third_party/WebKit/ManualTests/inspector/resources/loop-statements.js b/third_party/blink/manual_tests/inspector/resources/loop-statements.js
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/resources/loop-statements.js
rename to third_party/blink/manual_tests/inspector/resources/loop-statements.js
diff --git a/third_party/WebKit/ManualTests/inspector/resources/mutate-frame-2.html b/third_party/blink/manual_tests/inspector/resources/mutate-frame-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/resources/mutate-frame-2.html
rename to third_party/blink/manual_tests/inspector/resources/mutate-frame-2.html
diff --git a/third_party/WebKit/ManualTests/inspector/resources/mutate-frame.html b/third_party/blink/manual_tests/inspector/resources/mutate-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/resources/mutate-frame.html
rename to third_party/blink/manual_tests/inspector/resources/mutate-frame.html
diff --git a/third_party/WebKit/ManualTests/inspector/resources/script-console-calls.js b/third_party/blink/manual_tests/inspector/resources/script-console-calls.js
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/resources/script-console-calls.js
rename to third_party/blink/manual_tests/inspector/resources/script-console-calls.js
diff --git a/third_party/WebKit/ManualTests/inspector/resources/script-error.js b/third_party/blink/manual_tests/inspector/resources/script-error.js
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/resources/script-error.js
rename to third_party/blink/manual_tests/inspector/resources/script-error.js
diff --git a/third_party/WebKit/ManualTests/inspector/returnEvent-crash.html b/third_party/blink/manual_tests/inspector/returnEvent-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/returnEvent-crash.html
rename to third_party/blink/manual_tests/inspector/returnEvent-crash.html
diff --git a/third_party/WebKit/ManualTests/inspector/styled-error-bubbles-in-scripts.html b/third_party/blink/manual_tests/inspector/styled-error-bubbles-in-scripts.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/styled-error-bubbles-in-scripts.html
rename to third_party/blink/manual_tests/inspector/styled-error-bubbles-in-scripts.html
diff --git a/third_party/WebKit/ManualTests/inspector/webinspector-log.html b/third_party/blink/manual_tests/inspector/webinspector-log.html
similarity index 100%
rename from third_party/WebKit/ManualTests/inspector/webinspector-log.html
rename to third_party/blink/manual_tests/inspector/webinspector-log.html
diff --git a/third_party/WebKit/ManualTests/interrupted-compound-transform.html b/third_party/blink/manual_tests/interrupted-compound-transform.html
similarity index 100%
rename from third_party/WebKit/ManualTests/interrupted-compound-transform.html
rename to third_party/blink/manual_tests/interrupted-compound-transform.html
diff --git a/third_party/WebKit/ManualTests/invalid-mouse-event.html b/third_party/blink/manual_tests/invalid-mouse-event.html
similarity index 100%
rename from third_party/WebKit/ManualTests/invalid-mouse-event.html
rename to third_party/blink/manual_tests/invalid-mouse-event.html
diff --git a/third_party/WebKit/ManualTests/item-background.html b/third_party/blink/manual_tests/item-background.html
similarity index 100%
rename from third_party/WebKit/ManualTests/item-background.html
rename to third_party/blink/manual_tests/item-background.html
diff --git a/third_party/WebKit/ManualTests/java-string-object-type.html b/third_party/blink/manual_tests/java-string-object-type.html
similarity index 100%
rename from third_party/WebKit/ManualTests/java-string-object-type.html
rename to third_party/blink/manual_tests/java-string-object-type.html
diff --git a/third_party/WebKit/ManualTests/keep_spelling_markers.html b/third_party/blink/manual_tests/keep_spelling_markers.html
similarity index 100%
rename from third_party/WebKit/ManualTests/keep_spelling_markers.html
rename to third_party/blink/manual_tests/keep_spelling_markers.html
diff --git a/third_party/WebKit/ManualTests/keyboard-menukey-event.html b/third_party/blink/manual_tests/keyboard-menukey-event.html
similarity index 100%
rename from third_party/WebKit/ManualTests/keyboard-menukey-event.html
rename to third_party/blink/manual_tests/keyboard-menukey-event.html
diff --git a/third_party/WebKit/ManualTests/keyboard_select_elements_with_same_beginning.html b/third_party/blink/manual_tests/keyboard_select_elements_with_same_beginning.html
similarity index 100%
rename from third_party/WebKit/ManualTests/keyboard_select_elements_with_same_beginning.html
rename to third_party/blink/manual_tests/keyboard_select_elements_with_same_beginning.html
diff --git a/third_party/WebKit/ManualTests/keyboard_select_non_english.html b/third_party/blink/manual_tests/keyboard_select_non_english.html
similarity index 100%
rename from third_party/WebKit/ManualTests/keyboard_select_non_english.html
rename to third_party/blink/manual_tests/keyboard_select_non_english.html
diff --git a/third_party/WebKit/ManualTests/korean-input-space.html b/third_party/blink/manual_tests/korean-input-space.html
similarity index 100%
rename from third_party/WebKit/ManualTests/korean-input-space.html
rename to third_party/blink/manual_tests/korean-input-space.html
Binary files differ
diff --git a/third_party/WebKit/ManualTests/large-size-image-crash.html b/third_party/blink/manual_tests/large-size-image-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/large-size-image-crash.html
rename to third_party/blink/manual_tests/large-size-image-crash.html
diff --git a/third_party/WebKit/ManualTests/layoutroot_detach.xml b/third_party/blink/manual_tests/layoutroot_detach.xml
similarity index 100%
rename from third_party/WebKit/ManualTests/layoutroot_detach.xml
rename to third_party/blink/manual_tests/layoutroot_detach.xml
diff --git a/third_party/WebKit/ManualTests/leak-cycle-observer-wrapper.html b/third_party/blink/manual_tests/leak-cycle-observer-wrapper.html
similarity index 100%
rename from third_party/WebKit/ManualTests/leak-cycle-observer-wrapper.html
rename to third_party/blink/manual_tests/leak-cycle-observer-wrapper.html
diff --git a/third_party/WebKit/ManualTests/leak-observer-nonmain-world.html b/third_party/blink/manual_tests/leak-observer-nonmain-world.html
similarity index 100%
rename from third_party/WebKit/ManualTests/leak-observer-nonmain-world.html
rename to third_party/blink/manual_tests/leak-observer-nonmain-world.html
diff --git a/third_party/WebKit/ManualTests/left-overflow-repaint.html b/third_party/blink/manual_tests/left-overflow-repaint.html
similarity index 100%
rename from third_party/WebKit/ManualTests/left-overflow-repaint.html
rename to third_party/blink/manual_tests/left-overflow-repaint.html
diff --git a/third_party/WebKit/ManualTests/link-activation-fails-after-double-tap-gesture.html b/third_party/blink/manual_tests/link-activation-fails-after-double-tap-gesture.html
similarity index 100%
rename from third_party/WebKit/ManualTests/link-activation-fails-after-double-tap-gesture.html
rename to third_party/blink/manual_tests/link-activation-fails-after-double-tap-gesture.html
diff --git a/third_party/WebKit/ManualTests/link-cursor-auto.html b/third_party/blink/manual_tests/link-cursor-auto.html
similarity index 100%
rename from third_party/WebKit/ManualTests/link-cursor-auto.html
rename to third_party/blink/manual_tests/link-cursor-auto.html
diff --git a/third_party/WebKit/ManualTests/linkjump-1.html b/third_party/blink/manual_tests/linkjump-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/linkjump-1.html
rename to third_party/blink/manual_tests/linkjump-1.html
diff --git a/third_party/WebKit/ManualTests/linkjump-2.html b/third_party/blink/manual_tests/linkjump-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/linkjump-2.html
rename to third_party/blink/manual_tests/linkjump-2.html
diff --git a/third_party/WebKit/ManualTests/linkjump-3.html b/third_party/blink/manual_tests/linkjump-3.html
similarity index 100%
rename from third_party/WebKit/ManualTests/linkjump-3.html
rename to third_party/blink/manual_tests/linkjump-3.html
diff --git a/third_party/WebKit/ManualTests/linkjump-4.html b/third_party/blink/manual_tests/linkjump-4.html
similarity index 100%
rename from third_party/WebKit/ManualTests/linkjump-4.html
rename to third_party/blink/manual_tests/linkjump-4.html
diff --git a/third_party/WebKit/ManualTests/linkjump-5.html b/third_party/blink/manual_tests/linkjump-5.html
similarity index 100%
rename from third_party/WebKit/ManualTests/linkjump-5.html
rename to third_party/blink/manual_tests/linkjump-5.html
diff --git a/third_party/WebKit/ManualTests/liveconnect-applet-array-parameters.html b/third_party/blink/manual_tests/liveconnect-applet-array-parameters.html
similarity index 100%
rename from third_party/WebKit/ManualTests/liveconnect-applet-array-parameters.html
rename to third_party/blink/manual_tests/liveconnect-applet-array-parameters.html
diff --git a/third_party/WebKit/ManualTests/liveconnect-applet-get-boolean.html b/third_party/blink/manual_tests/liveconnect-applet-get-boolean.html
similarity index 100%
rename from third_party/WebKit/ManualTests/liveconnect-applet-get-boolean.html
rename to third_party/blink/manual_tests/liveconnect-applet-get-boolean.html
diff --git a/third_party/WebKit/ManualTests/liveconnect-security-exception.html b/third_party/blink/manual_tests/liveconnect-security-exception.html
similarity index 100%
rename from third_party/WebKit/ManualTests/liveconnect-security-exception.html
rename to third_party/blink/manual_tests/liveconnect-security-exception.html
diff --git a/third_party/WebKit/ManualTests/load-deferrer-resume-crash.html b/third_party/blink/manual_tests/load-deferrer-resume-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/load-deferrer-resume-crash.html
rename to third_party/blink/manual_tests/load-deferrer-resume-crash.html
diff --git a/third_party/WebKit/ManualTests/load-deferrer-script-element.html b/third_party/blink/manual_tests/load-deferrer-script-element.html
similarity index 100%
rename from third_party/WebKit/ManualTests/load-deferrer-script-element.html
rename to third_party/blink/manual_tests/load-deferrer-script-element.html
diff --git a/third_party/WebKit/ManualTests/localstorage-empty-database.html b/third_party/blink/manual_tests/localstorage-empty-database.html
similarity index 100%
rename from third_party/WebKit/ManualTests/localstorage-empty-database.html
rename to third_party/blink/manual_tests/localstorage-empty-database.html
diff --git a/third_party/WebKit/ManualTests/localstorage-value-truncation.html b/third_party/blink/manual_tests/localstorage-value-truncation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/localstorage-value-truncation.html
rename to third_party/blink/manual_tests/localstorage-value-truncation.html
diff --git a/third_party/WebKit/ManualTests/location-host-canonicalization.html b/third_party/blink/manual_tests/location-host-canonicalization.html
similarity index 100%
rename from third_party/WebKit/ManualTests/location-host-canonicalization.html
rename to third_party/blink/manual_tests/location-host-canonicalization.html
diff --git a/third_party/WebKit/ManualTests/log-keypress-events.html b/third_party/blink/manual_tests/log-keypress-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/log-keypress-events.html
rename to third_party/blink/manual_tests/log-keypress-events.html
diff --git a/third_party/WebKit/ManualTests/mail-attachments.html b/third_party/blink/manual_tests/mail-attachments.html
similarity index 100%
rename from third_party/WebKit/ManualTests/mail-attachments.html
rename to third_party/blink/manual_tests/mail-attachments.html
diff --git a/third_party/WebKit/ManualTests/match-marker-rects.html b/third_party/blink/manual_tests/match-marker-rects.html
similarity index 100%
rename from third_party/WebKit/ManualTests/match-marker-rects.html
rename to third_party/blink/manual_tests/match-marker-rects.html
diff --git a/third_party/WebKit/ManualTests/media-controls-when-javascript-disabled.html b/third_party/blink/manual_tests/media-controls-when-javascript-disabled.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-controls-when-javascript-disabled.html
rename to third_party/blink/manual_tests/media-controls-when-javascript-disabled.html
diff --git a/third_party/WebKit/ManualTests/media-controls.html b/third_party/blink/manual_tests/media-controls.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-controls.html
rename to third_party/blink/manual_tests/media-controls.html
diff --git a/third_party/WebKit/ManualTests/media-default-playback-rate.html b/third_party/blink/manual_tests/media-default-playback-rate.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-default-playback-rate.html
rename to third_party/blink/manual_tests/media-default-playback-rate.html
diff --git a/third_party/WebKit/ManualTests/media-elements/video-iframe.html b/third_party/blink/manual_tests/media-elements/video-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-elements/video-iframe.html
rename to third_party/blink/manual_tests/media-elements/video-iframe.html
diff --git a/third_party/WebKit/ManualTests/media-elements/video-moved-from-iframe-to-main-page.html b/third_party/blink/manual_tests/media-elements/video-moved-from-iframe-to-main-page.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-elements/video-moved-from-iframe-to-main-page.html
rename to third_party/blink/manual_tests/media-elements/video-moved-from-iframe-to-main-page.html
diff --git a/third_party/WebKit/ManualTests/media-elements/video-preload.html b/third_party/blink/manual_tests/media-elements/video-preload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-elements/video-preload.html
rename to third_party/blink/manual_tests/media-elements/video-preload.html
diff --git a/third_party/WebKit/ManualTests/media-elements/video-replaces-poster.html b/third_party/blink/manual_tests/media-elements/video-replaces-poster.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-elements/video-replaces-poster.html
rename to third_party/blink/manual_tests/media-elements/video-replaces-poster.html
diff --git a/third_party/WebKit/ManualTests/media-muted.html b/third_party/blink/manual_tests/media-muted.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-muted.html
rename to third_party/blink/manual_tests/media-muted.html
diff --git a/third_party/WebKit/ManualTests/media-players-are-dropped-on-error.html b/third_party/blink/manual_tests/media-players-are-dropped-on-error.html
similarity index 100%
rename from third_party/WebKit/ManualTests/media-players-are-dropped-on-error.html
rename to third_party/blink/manual_tests/media-players-are-dropped-on-error.html
diff --git a/third_party/WebKit/ManualTests/memory/MessageUidsAlreadyDownloaded2 b/third_party/blink/manual_tests/memory/MessageUidsAlreadyDownloaded2
similarity index 100%
rename from third_party/WebKit/ManualTests/memory/MessageUidsAlreadyDownloaded2
rename to third_party/blink/manual_tests/memory/MessageUidsAlreadyDownloaded2
diff --git a/third_party/WebKit/ManualTests/memory/string-growth.html b/third_party/blink/manual_tests/memory/string-growth.html
similarity index 100%
rename from third_party/WebKit/ManualTests/memory/string-growth.html
rename to third_party/blink/manual_tests/memory/string-growth.html
diff --git a/third_party/WebKit/ManualTests/memory/xhr-multiple-requests-responseText.html b/third_party/blink/manual_tests/memory/xhr-multiple-requests-responseText.html
similarity index 100%
rename from third_party/WebKit/ManualTests/memory/xhr-multiple-requests-responseText.html
rename to third_party/blink/manual_tests/memory/xhr-multiple-requests-responseText.html
diff --git a/third_party/WebKit/ManualTests/memory/xhr-multiple-requests-responseXML.html b/third_party/blink/manual_tests/memory/xhr-multiple-requests-responseXML.html
similarity index 100%
rename from third_party/WebKit/ManualTests/memory/xhr-multiple-requests-responseXML.html
rename to third_party/blink/manual_tests/memory/xhr-multiple-requests-responseXML.html
diff --git a/third_party/WebKit/ManualTests/memory/xhr-multiple-requests.html b/third_party/blink/manual_tests/memory/xhr-multiple-requests.html
similarity index 100%
rename from third_party/WebKit/ManualTests/memory/xhr-multiple-requests.html
rename to third_party/blink/manual_tests/memory/xhr-multiple-requests.html
diff --git a/third_party/WebKit/ManualTests/memory/xhr-repeated-string-access.xml b/third_party/blink/manual_tests/memory/xhr-repeated-string-access.xml
similarity index 100%
rename from third_party/WebKit/ManualTests/memory/xhr-repeated-string-access.xml
rename to third_party/blink/manual_tests/memory/xhr-repeated-string-access.xml
diff --git a/third_party/WebKit/ManualTests/middleClickAutoscroll.html b/third_party/blink/manual_tests/middleClickAutoscroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/middleClickAutoscroll.html
rename to third_party/blink/manual_tests/middleClickAutoscroll.html
diff --git a/third_party/WebKit/ManualTests/mouseevent-on-closeddoc.html b/third_party/blink/manual_tests/mouseevent-on-closeddoc.html
similarity index 100%
rename from third_party/WebKit/ManualTests/mouseevent-on-closeddoc.html
rename to third_party/blink/manual_tests/mouseevent-on-closeddoc.html
diff --git a/third_party/WebKit/ManualTests/mouseevents-on-textnodes.html b/third_party/blink/manual_tests/mouseevents-on-textnodes.html
similarity index 100%
rename from third_party/WebKit/ManualTests/mouseevents-on-textnodes.html
rename to third_party/blink/manual_tests/mouseevents-on-textnodes.html
diff --git a/third_party/WebKit/ManualTests/mutate-unfocused-text-with-selection.html b/third_party/blink/manual_tests/mutate-unfocused-text-with-selection.html
similarity index 100%
rename from third_party/WebKit/ManualTests/mutate-unfocused-text-with-selection.html
rename to third_party/blink/manual_tests/mutate-unfocused-text-with-selection.html
diff --git a/third_party/WebKit/ManualTests/mutation-observer-leaks-nodes.html b/third_party/blink/manual_tests/mutation-observer-leaks-nodes.html
similarity index 100%
rename from third_party/WebKit/ManualTests/mutation-observer-leaks-nodes.html
rename to third_party/blink/manual_tests/mutation-observer-leaks-nodes.html
diff --git a/third_party/WebKit/ManualTests/named-window-blank-target.html b/third_party/blink/manual_tests/named-window-blank-target.html
similarity index 100%
rename from third_party/WebKit/ManualTests/named-window-blank-target.html
rename to third_party/blink/manual_tests/named-window-blank-target.html
diff --git a/third_party/WebKit/ManualTests/navigation-during-onload-triggered-by-back.html b/third_party/blink/manual_tests/navigation-during-onload-triggered-by-back.html
similarity index 100%
rename from third_party/WebKit/ManualTests/navigation-during-onload-triggered-by-back.html
rename to third_party/blink/manual_tests/navigation-during-onload-triggered-by-back.html
diff --git a/third_party/WebKit/ManualTests/nested-fixed-position.html b/third_party/blink/manual_tests/nested-fixed-position.html
similarity index 100%
rename from third_party/WebKit/ManualTests/nested-fixed-position.html
rename to third_party/blink/manual_tests/nested-fixed-position.html
diff --git a/third_party/WebKit/ManualTests/nested-plugins.html b/third_party/blink/manual_tests/nested-plugins.html
similarity index 100%
rename from third_party/WebKit/ManualTests/nested-plugins.html
rename to third_party/blink/manual_tests/nested-plugins.html
diff --git a/third_party/WebKit/ManualTests/new-window-subresource-crash.html b/third_party/blink/manual_tests/new-window-subresource-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/new-window-subresource-crash.html
rename to third_party/blink/manual_tests/new-window-subresource-crash.html
diff --git a/third_party/WebKit/ManualTests/no-listbox-rendering.html b/third_party/blink/manual_tests/no-listbox-rendering.html
similarity index 100%
rename from third_party/WebKit/ManualTests/no-listbox-rendering.html
rename to third_party/blink/manual_tests/no-listbox-rendering.html
diff --git a/third_party/WebKit/ManualTests/no-repaint-after-wake-from-sleep.html b/third_party/blink/manual_tests/no-repaint-after-wake-from-sleep.html
similarity index 100%
rename from third_party/WebKit/ManualTests/no-repaint-after-wake-from-sleep.html
rename to third_party/blink/manual_tests/no-repaint-after-wake-from-sleep.html
diff --git a/third_party/WebKit/ManualTests/non-bmp.html b/third_party/blink/manual_tests/non-bmp.html
similarity index 100%
rename from third_party/WebKit/ManualTests/non-bmp.html
rename to third_party/blink/manual_tests/non-bmp.html
diff --git a/third_party/WebKit/ManualTests/onbeforeunload-close_with_javascript.html b/third_party/blink/manual_tests/onbeforeunload-close_with_javascript.html
similarity index 100%
rename from third_party/WebKit/ManualTests/onbeforeunload-close_with_javascript.html
rename to third_party/blink/manual_tests/onbeforeunload-close_with_javascript.html
diff --git a/third_party/WebKit/ManualTests/onclick_in_noncontent.html b/third_party/blink/manual_tests/onclick_in_noncontent.html
similarity index 100%
rename from third_party/WebKit/ManualTests/onclick_in_noncontent.html
rename to third_party/blink/manual_tests/onclick_in_noncontent.html
diff --git a/third_party/WebKit/ManualTests/onfocus-alert-blinking-caret.html b/third_party/blink/manual_tests/onfocus-alert-blinking-caret.html
similarity index 100%
rename from third_party/WebKit/ManualTests/onfocus-alert-blinking-caret.html
rename to third_party/blink/manual_tests/onfocus-alert-blinking-caret.html
diff --git a/third_party/WebKit/ManualTests/onsearch-enter.html b/third_party/blink/manual_tests/onsearch-enter.html
similarity index 100%
rename from third_party/WebKit/ManualTests/onsearch-enter.html
rename to third_party/blink/manual_tests/onsearch-enter.html
diff --git a/third_party/WebKit/ManualTests/onunload-form-submit-crash.html b/third_party/blink/manual_tests/onunload-form-submit-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/onunload-form-submit-crash.html
rename to third_party/blink/manual_tests/onunload-form-submit-crash.html
diff --git a/third_party/WebKit/ManualTests/open-after-close.html b/third_party/blink/manual_tests/open-after-close.html
similarity index 100%
rename from third_party/WebKit/ManualTests/open-after-close.html
rename to third_party/blink/manual_tests/open-after-close.html
diff --git a/third_party/WebKit/ManualTests/open-close-tokenizer-crash.html b/third_party/blink/manual_tests/open-close-tokenizer-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/open-close-tokenizer-crash.html
rename to third_party/blink/manual_tests/open-close-tokenizer-crash.html
diff --git a/third_party/WebKit/ManualTests/open-url-undefined.html b/third_party/blink/manual_tests/open-url-undefined.html
similarity index 100%
rename from third_party/WebKit/ManualTests/open-url-undefined.html
rename to third_party/blink/manual_tests/open-url-undefined.html
diff --git a/third_party/WebKit/ManualTests/optgroup-empty-and-nested.html b/third_party/blink/manual_tests/optgroup-empty-and-nested.html
similarity index 100%
rename from third_party/WebKit/ManualTests/optgroup-empty-and-nested.html
rename to third_party/blink/manual_tests/optgroup-empty-and-nested.html
diff --git a/third_party/WebKit/ManualTests/overflow-on-text-beside-form-element.html b/third_party/blink/manual_tests/overflow-on-text-beside-form-element.html
similarity index 100%
rename from third_party/WebKit/ManualTests/overflow-on-text-beside-form-element.html
rename to third_party/blink/manual_tests/overflow-on-text-beside-form-element.html
diff --git a/third_party/WebKit/ManualTests/overlappingTableSpans.html b/third_party/blink/manual_tests/overlappingTableSpans.html
similarity index 100%
rename from third_party/WebKit/ManualTests/overlappingTableSpans.html
rename to third_party/blink/manual_tests/overlappingTableSpans.html
diff --git a/third_party/WebKit/ManualTests/paint-during-plugin-attach.html b/third_party/blink/manual_tests/paint-during-plugin-attach.html
similarity index 100%
rename from third_party/WebKit/ManualTests/paint-during-plugin-attach.html
rename to third_party/blink/manual_tests/paint-during-plugin-attach.html
diff --git a/third_party/WebKit/ManualTests/partially-opaque-form-elements.html b/third_party/blink/manual_tests/partially-opaque-form-elements.html
similarity index 100%
rename from third_party/WebKit/ManualTests/partially-opaque-form-elements.html
rename to third_party/blink/manual_tests/partially-opaque-form-elements.html
diff --git a/third_party/WebKit/ManualTests/partially-opaque-text-input.html b/third_party/blink/manual_tests/partially-opaque-text-input.html
similarity index 100%
rename from third_party/WebKit/ManualTests/partially-opaque-text-input.html
rename to third_party/blink/manual_tests/partially-opaque-text-input.html
diff --git a/third_party/WebKit/ManualTests/password-caps-lock.html b/third_party/blink/manual_tests/password-caps-lock.html
similarity index 100%
rename from third_party/WebKit/ManualTests/password-caps-lock.html
rename to third_party/blink/manual_tests/password-caps-lock.html
diff --git a/third_party/WebKit/ManualTests/password-ctrl-click-lose-focus.html b/third_party/blink/manual_tests/password-ctrl-click-lose-focus.html
similarity index 100%
rename from third_party/WebKit/ManualTests/password-ctrl-click-lose-focus.html
rename to third_party/blink/manual_tests/password-ctrl-click-lose-focus.html
diff --git a/third_party/WebKit/ManualTests/paste-crash.html b/third_party/blink/manual_tests/paste-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/paste-crash.html
rename to third_party/blink/manual_tests/paste-crash.html
diff --git a/third_party/WebKit/ManualTests/plain-text-paste.html b/third_party/blink/manual_tests/plain-text-paste.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plain-text-paste.html
rename to third_party/blink/manual_tests/plain-text-paste.html
diff --git a/third_party/WebKit/ManualTests/plug-in-mutates-NSView-hierarchy-during-resize.html b/third_party/blink/manual_tests/plug-in-mutates-NSView-hierarchy-during-resize.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plug-in-mutates-NSView-hierarchy-during-resize.html
rename to third_party/blink/manual_tests/plug-in-mutates-NSView-hierarchy-during-resize.html
diff --git a/third_party/WebKit/ManualTests/plugin-controller-datasource.html b/third_party/blink/manual_tests/plugin-controller-datasource.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugin-controller-datasource.html
rename to third_party/blink/manual_tests/plugin-controller-datasource.html
diff --git a/third_party/WebKit/ManualTests/plugin-in-iframe-scroll.html b/third_party/blink/manual_tests/plugin-in-iframe-scroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugin-in-iframe-scroll.html
rename to third_party/blink/manual_tests/plugin-in-iframe-scroll.html
diff --git a/third_party/WebKit/ManualTests/plugin-visible-rect-change.html b/third_party/blink/manual_tests/plugin-visible-rect-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugin-visible-rect-change.html
rename to third_party/blink/manual_tests/plugin-visible-rect-change.html
diff --git a/third_party/WebKit/ManualTests/plugins/flip4mac-update-alert-over-navigation.html b/third_party/blink/manual_tests/plugins/flip4mac-update-alert-over-navigation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/flip4mac-update-alert-over-navigation.html
rename to third_party/blink/manual_tests/plugins/flip4mac-update-alert-over-navigation.html
diff --git a/third_party/WebKit/ManualTests/plugins/gtk-windowed-grey-glitch.html b/third_party/blink/manual_tests/plugins/gtk-windowed-grey-glitch.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/gtk-windowed-grey-glitch.html
rename to third_party/blink/manual_tests/plugins/gtk-windowed-grey-glitch.html
diff --git a/third_party/WebKit/ManualTests/plugins/object-clipping.html b/third_party/blink/manual_tests/plugins/object-clipping.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/object-clipping.html
rename to third_party/blink/manual_tests/plugins/object-clipping.html
diff --git a/third_party/WebKit/ManualTests/plugins/plugin-is-occluded-by-top-layer.html b/third_party/blink/manual_tests/plugins/plugin-is-occluded-by-top-layer.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/plugin-is-occluded-by-top-layer.html
rename to third_party/blink/manual_tests/plugins/plugin-is-occluded-by-top-layer.html
diff --git a/third_party/WebKit/ManualTests/plugins/plugin-occlusion-with-plugin-in-top-layer.html b/third_party/blink/manual_tests/plugins/plugin-occlusion-with-plugin-in-top-layer.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/plugin-occlusion-with-plugin-in-top-layer.html
rename to third_party/blink/manual_tests/plugins/plugin-occlusion-with-plugin-in-top-layer.html
diff --git a/third_party/WebKit/ManualTests/plugins/plugin-paint-causes-layout.html b/third_party/blink/manual_tests/plugins/plugin-paint-causes-layout.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/plugin-paint-causes-layout.html
rename to third_party/blink/manual_tests/plugins/plugin-paint-causes-layout.html
diff --git a/third_party/WebKit/ManualTests/plugins/test.swf b/third_party/blink/manual_tests/plugins/test.swf
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/test.swf
rename to third_party/blink/manual_tests/plugins/test.swf
Binary files differ
diff --git a/third_party/WebKit/ManualTests/plugins/timeout-dialog-displayed-over-navigation.html b/third_party/blink/manual_tests/plugins/timeout-dialog-displayed-over-navigation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/timeout-dialog-displayed-over-navigation.html
rename to third_party/blink/manual_tests/plugins/timeout-dialog-displayed-over-navigation.html
diff --git a/third_party/WebKit/ManualTests/plugins/timeout-dialog-displayed-over-navigation.swf b/third_party/blink/manual_tests/plugins/timeout-dialog-displayed-over-navigation.swf
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/timeout-dialog-displayed-over-navigation.swf
rename to third_party/blink/manual_tests/plugins/timeout-dialog-displayed-over-navigation.swf
Binary files differ
diff --git a/third_party/WebKit/ManualTests/plugins/windowed-in-iframe-2.html b/third_party/blink/manual_tests/plugins/windowed-in-iframe-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/windowed-in-iframe-2.html
rename to third_party/blink/manual_tests/plugins/windowed-in-iframe-2.html
diff --git a/third_party/WebKit/ManualTests/plugins/windowed-in-iframe.html b/third_party/blink/manual_tests/plugins/windowed-in-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/windowed-in-iframe.html
rename to third_party/blink/manual_tests/plugins/windowed-in-iframe.html
diff --git a/third_party/WebKit/ManualTests/plugins/windowed.html b/third_party/blink/manual_tests/plugins/windowed.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/windowed.html
rename to third_party/blink/manual_tests/plugins/windowed.html
diff --git a/third_party/WebKit/ManualTests/plugins/windowless.html b/third_party/blink/manual_tests/plugins/windowless.html
similarity index 100%
rename from third_party/WebKit/ManualTests/plugins/windowless.html
rename to third_party/blink/manual_tests/plugins/windowless.html
diff --git a/third_party/WebKit/ManualTests/pointer-events.html b/third_party/blink/manual_tests/pointer-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/pointer-events.html
rename to third_party/blink/manual_tests/pointer-events.html
diff --git a/third_party/WebKit/ManualTests/pop-up-alignment-and-direction.html b/third_party/blink/manual_tests/pop-up-alignment-and-direction.html
similarity index 100%
rename from third_party/WebKit/ManualTests/pop-up-alignment-and-direction.html
rename to third_party/blink/manual_tests/pop-up-alignment-and-direction.html
Binary files differ
diff --git a/third_party/WebKit/ManualTests/popup-width-restriction-within-screen.html b/third_party/blink/manual_tests/popup-width-restriction-within-screen.html
similarity index 100%
rename from third_party/WebKit/ManualTests/popup-width-restriction-within-screen.html
rename to third_party/blink/manual_tests/popup-width-restriction-within-screen.html
diff --git a/third_party/WebKit/ManualTests/post-multi-file-upload.html b/third_party/blink/manual_tests/post-multi-file-upload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/post-multi-file-upload.html
rename to third_party/blink/manual_tests/post-multi-file-upload.html
diff --git a/third_party/WebKit/ManualTests/pre-tab-selection-rect.html b/third_party/blink/manual_tests/pre-tab-selection-rect.html
similarity index 100%
rename from third_party/WebKit/ManualTests/pre-tab-selection-rect.html
rename to third_party/blink/manual_tests/pre-tab-selection-rect.html
diff --git a/third_party/WebKit/ManualTests/preload-scanner-entities.html b/third_party/blink/manual_tests/preload-scanner-entities.html
similarity index 100%
rename from third_party/WebKit/ManualTests/preload-scanner-entities.html
rename to third_party/blink/manual_tests/preload-scanner-entities.html
diff --git a/third_party/WebKit/ManualTests/print-after-window-close.html b/third_party/blink/manual_tests/print-after-window-close.html
similarity index 100%
rename from third_party/WebKit/ManualTests/print-after-window-close.html
rename to third_party/blink/manual_tests/print-after-window-close.html
diff --git a/third_party/WebKit/ManualTests/print-before-load.html b/third_party/blink/manual_tests/print-before-load.html
similarity index 100%
rename from third_party/WebKit/ManualTests/print-before-load.html
rename to third_party/blink/manual_tests/print-before-load.html
diff --git a/third_party/WebKit/ManualTests/print-iframe-containing-fixed.html b/third_party/blink/manual_tests/print-iframe-containing-fixed.html
similarity index 100%
rename from third_party/WebKit/ManualTests/print-iframe-containing-fixed.html
rename to third_party/blink/manual_tests/print-iframe-containing-fixed.html
diff --git a/third_party/WebKit/ManualTests/print-onload-with-image.html b/third_party/blink/manual_tests/print-onload-with-image.html
similarity index 100%
rename from third_party/WebKit/ManualTests/print-onload-with-image.html
rename to third_party/blink/manual_tests/print-onload-with-image.html
diff --git a/third_party/WebKit/ManualTests/print-with-height-transition-in-screen-stylesheet.html b/third_party/blink/manual_tests/print-with-height-transition-in-screen-stylesheet.html
similarity index 100%
rename from third_party/WebKit/ManualTests/print-with-height-transition-in-screen-stylesheet.html
rename to third_party/blink/manual_tests/print-with-height-transition-in-screen-stylesheet.html
diff --git a/third_party/WebKit/ManualTests/property-map-save-crash.html b/third_party/blink/manual_tests/property-map-save-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/property-map-save-crash.html
rename to third_party/blink/manual_tests/property-map-save-crash.html
diff --git a/third_party/WebKit/ManualTests/quit-inside-unload.html b/third_party/blink/manual_tests/quit-inside-unload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/quit-inside-unload.html
rename to third_party/blink/manual_tests/quit-inside-unload.html
diff --git a/third_party/WebKit/ManualTests/redirect.html b/third_party/blink/manual_tests/redirect.html
similarity index 100%
rename from third_party/WebKit/ManualTests/redirect.html
rename to third_party/blink/manual_tests/redirect.html
diff --git a/third_party/WebKit/ManualTests/redirectHistory/redir-1.html b/third_party/blink/manual_tests/redirectHistory/redir-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/redirectHistory/redir-1.html
rename to third_party/blink/manual_tests/redirectHistory/redir-1.html
diff --git a/third_party/WebKit/ManualTests/redirectHistory/redir-2.html b/third_party/blink/manual_tests/redirectHistory/redir-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/redirectHistory/redir-2.html
rename to third_party/blink/manual_tests/redirectHistory/redir-2.html
diff --git a/third_party/WebKit/ManualTests/redirectHistory/redir-3.html b/third_party/blink/manual_tests/redirectHistory/redir-3.html
similarity index 100%
rename from third_party/WebKit/ManualTests/redirectHistory/redir-3.html
rename to third_party/blink/manual_tests/redirectHistory/redir-3.html
diff --git a/third_party/WebKit/ManualTests/redirection-target.html b/third_party/blink/manual_tests/redirection-target.html
similarity index 100%
rename from third_party/WebKit/ManualTests/redirection-target.html
rename to third_party/blink/manual_tests/redirection-target.html
diff --git a/third_party/WebKit/ManualTests/redraw-page-cache-visited-links.html b/third_party/blink/manual_tests/redraw-page-cache-visited-links.html
similarity index 100%
rename from third_party/WebKit/ManualTests/redraw-page-cache-visited-links.html
rename to third_party/blink/manual_tests/redraw-page-cache-visited-links.html
diff --git a/third_party/WebKit/ManualTests/remove-add-fixed-position.html b/third_party/blink/manual_tests/remove-add-fixed-position.html
similarity index 100%
rename from third_party/WebKit/ManualTests/remove-add-fixed-position.html
rename to third_party/blink/manual_tests/remove-add-fixed-position.html
diff --git a/third_party/WebKit/ManualTests/remove-fixed-position-but-keep-compositing.html b/third_party/blink/manual_tests/remove-fixed-position-but-keep-compositing.html
similarity index 100%
rename from third_party/WebKit/ManualTests/remove-fixed-position-but-keep-compositing.html
rename to third_party/blink/manual_tests/remove-fixed-position-but-keep-compositing.html
diff --git a/third_party/WebKit/ManualTests/remove-form-node-with-radio-buttons-crash.html b/third_party/blink/manual_tests/remove-form-node-with-radio-buttons-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/remove-form-node-with-radio-buttons-crash.html
rename to third_party/blink/manual_tests/remove-form-node-with-radio-buttons-crash.html
diff --git a/third_party/WebKit/ManualTests/remove-input-file-onchange.html b/third_party/blink/manual_tests/remove-input-file-onchange.html
similarity index 100%
rename from third_party/WebKit/ManualTests/remove-input-file-onchange.html
rename to third_party/blink/manual_tests/remove-input-file-onchange.html
diff --git a/third_party/WebKit/ManualTests/remove-on-drop-crash.html b/third_party/blink/manual_tests/remove-on-drop-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/remove-on-drop-crash.html
rename to third_party/blink/manual_tests/remove-on-drop-crash.html
diff --git a/third_party/WebKit/ManualTests/remove-select-onchange.html b/third_party/blink/manual_tests/remove-select-onchange.html
similarity index 100%
rename from third_party/WebKit/ManualTests/remove-select-onchange.html
rename to third_party/blink/manual_tests/remove-select-onchange.html
diff --git a/third_party/WebKit/ManualTests/reset-initiatedDrag.html b/third_party/blink/manual_tests/reset-initiatedDrag.html
similarity index 100%
rename from third_party/WebKit/ManualTests/reset-initiatedDrag.html
rename to third_party/blink/manual_tests/reset-initiatedDrag.html
diff --git a/third_party/WebKit/ManualTests/resize-events.html b/third_party/blink/manual_tests/resize-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resize-events.html
rename to third_party/blink/manual_tests/resize-events.html
diff --git a/third_party/WebKit/ManualTests/resize-repaint.html b/third_party/blink/manual_tests/resize-repaint.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resize-repaint.html
rename to third_party/blink/manual_tests/resize-repaint.html
diff --git a/third_party/WebKit/ManualTests/resources/200x100.png b/third_party/blink/manual_tests/resources/200x100.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/200x100.png
rename to third_party/blink/manual_tests/resources/200x100.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/200x200.png b/third_party/blink/manual_tests/resources/200x200.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/200x200.png
rename to third_party/blink/manual_tests/resources/200x200.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/3dolph.gif b/third_party/blink/manual_tests/resources/3dolph.gif
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/3dolph.gif
rename to third_party/blink/manual_tests/resources/3dolph.gif
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/ArrayParameterTestApplet.class b/third_party/blink/manual_tests/resources/ArrayParameterTestApplet.class
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/ArrayParameterTestApplet.class
rename to third_party/blink/manual_tests/resources/ArrayParameterTestApplet.class
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/ArrayParameterTestApplet.java b/third_party/blink/manual_tests/resources/ArrayParameterTestApplet.java
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/ArrayParameterTestApplet.java
rename to third_party/blink/manual_tests/resources/ArrayParameterTestApplet.java
diff --git a/third_party/WebKit/ManualTests/resources/CheckerApplet.class b/third_party/blink/manual_tests/resources/CheckerApplet.class
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/CheckerApplet.class
rename to third_party/blink/manual_tests/resources/CheckerApplet.class
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/CheckerApplet.java b/third_party/blink/manual_tests/resources/CheckerApplet.java
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/CheckerApplet.java
rename to third_party/blink/manual_tests/resources/CheckerApplet.java
diff --git a/third_party/WebKit/ManualTests/resources/Default-port-frame-contents.html b/third_party/blink/manual_tests/resources/Default-port-frame-contents.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/Default-port-frame-contents.html
rename to third_party/blink/manual_tests/resources/Default-port-frame-contents.html
diff --git a/third_party/WebKit/ManualTests/resources/DrawMessage.class b/third_party/blink/manual_tests/resources/DrawMessage.class
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/DrawMessage.class
rename to third_party/blink/manual_tests/resources/DrawMessage.class
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/StringTypeTest.class b/third_party/blink/manual_tests/resources/StringTypeTest.class
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/StringTypeTest.class
rename to third_party/blink/manual_tests/resources/StringTypeTest.class
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/StringTypeTest.java b/third_party/blink/manual_tests/resources/StringTypeTest.java
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/StringTypeTest.java
rename to third_party/blink/manual_tests/resources/StringTypeTest.java
diff --git a/third_party/WebKit/ManualTests/resources/TestApplet.class b/third_party/blink/manual_tests/resources/TestApplet.class
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/TestApplet.class
rename to third_party/blink/manual_tests/resources/TestApplet.class
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/TestApplet.java b/third_party/blink/manual_tests/resources/TestApplet.java
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/TestApplet.java
rename to third_party/blink/manual_tests/resources/TestApplet.java
diff --git a/third_party/WebKit/ManualTests/resources/alert-and-go-back.html b/third_party/blink/manual_tests/resources/alert-and-go-back.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/alert-and-go-back.html
rename to third_party/blink/manual_tests/resources/alert-and-go-back.html
diff --git a/third_party/WebKit/ManualTests/resources/animated-10x.gif b/third_party/blink/manual_tests/resources/animated-10x.gif
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/animated-10x.gif
rename to third_party/blink/manual_tests/resources/animated-10x.gif
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/animated-2x.gif b/third_party/blink/manual_tests/resources/animated-2x.gif
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/animated-2x.gif
rename to third_party/blink/manual_tests/resources/animated-2x.gif
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/animated-infinite.gif b/third_party/blink/manual_tests/resources/animated-infinite.gif
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/animated-infinite.gif
rename to third_party/blink/manual_tests/resources/animated-infinite.gif
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/apple.jpg b/third_party/blink/manual_tests/resources/apple.jpg
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/apple.jpg
rename to third_party/blink/manual_tests/resources/apple.jpg
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/before-go-back.html b/third_party/blink/manual_tests/resources/before-go-back.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/before-go-back.html
rename to third_party/blink/manual_tests/resources/before-go-back.html
diff --git a/third_party/WebKit/ManualTests/resources/big-page.html b/third_party/blink/manual_tests/resources/big-page.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/big-page.html
rename to third_party/blink/manual_tests/resources/big-page.html
diff --git a/third_party/WebKit/ManualTests/resources/chrome-bidi-text-window.html b/third_party/blink/manual_tests/resources/chrome-bidi-text-window.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/chrome-bidi-text-window.html
rename to third_party/blink/manual_tests/resources/chrome-bidi-text-window.html
diff --git a/third_party/WebKit/ManualTests/resources/containsAnimatedGif.html b/third_party/blink/manual_tests/resources/containsAnimatedGif.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/containsAnimatedGif.html
rename to third_party/blink/manual_tests/resources/containsAnimatedGif.html
diff --git a/third_party/WebKit/ManualTests/resources/cur-hotspot.cur b/third_party/blink/manual_tests/resources/cur-hotspot.cur
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/cur-hotspot.cur
rename to third_party/blink/manual_tests/resources/cur-hotspot.cur
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/cursor-empty-url.css b/third_party/blink/manual_tests/resources/cursor-empty-url.css
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/cursor-empty-url.css
rename to third_party/blink/manual_tests/resources/cursor-empty-url.css
diff --git a/third_party/WebKit/ManualTests/resources/drag-image.png b/third_party/blink/manual_tests/resources/drag-image.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/drag-image.png
rename to third_party/blink/manual_tests/resources/drag-image.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/drop-in-empty-doc.xhtml b/third_party/blink/manual_tests/resources/drop-in-empty-doc.xhtml
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/drop-in-empty-doc.xhtml
rename to third_party/blink/manual_tests/resources/drop-in-empty-doc.xhtml
diff --git a/third_party/WebKit/ManualTests/resources/empty-document-goes-back.html b/third_party/blink/manual_tests/resources/empty-document-goes-back.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/empty-document-goes-back.html
rename to third_party/blink/manual_tests/resources/empty-document-goes-back.html
diff --git a/third_party/WebKit/ManualTests/resources/empty-file.js b/third_party/blink/manual_tests/resources/empty-file.js
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/empty-file.js
rename to third_party/blink/manual_tests/resources/empty-file.js
diff --git a/third_party/WebKit/ManualTests/resources/favicon-loads-for-local-files.html b/third_party/blink/manual_tests/resources/favicon-loads-for-local-files.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/favicon-loads-for-local-files.html
rename to third_party/blink/manual_tests/resources/favicon-loads-for-local-files.html
diff --git a/third_party/WebKit/ManualTests/resources/favicon.png b/third_party/blink/manual_tests/resources/favicon.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/favicon.png
rename to third_party/blink/manual_tests/resources/favicon.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/frame-textarea.html b/third_party/blink/manual_tests/resources/frame-textarea.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/frame-textarea.html
rename to third_party/blink/manual_tests/resources/frame-textarea.html
diff --git a/third_party/WebKit/ManualTests/resources/frame1.html b/third_party/blink/manual_tests/resources/frame1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/frame1.html
rename to third_party/blink/manual_tests/resources/frame1.html
diff --git a/third_party/WebKit/ManualTests/resources/frame2.html b/third_party/blink/manual_tests/resources/frame2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/frame2.html
rename to third_party/blink/manual_tests/resources/frame2.html
diff --git a/third_party/WebKit/ManualTests/resources/hash-ref-test.html b/third_party/blink/manual_tests/resources/hash-ref-test.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/hash-ref-test.html
rename to third_party/blink/manual_tests/resources/hash-ref-test.html
diff --git a/third_party/WebKit/ManualTests/resources/helpCursor.tiff b/third_party/blink/manual_tests/resources/helpCursor.tiff
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/helpCursor.tiff
rename to third_party/blink/manual_tests/resources/helpCursor.tiff
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/hover-subframe-1.html b/third_party/blink/manual_tests/resources/hover-subframe-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/hover-subframe-1.html
rename to third_party/blink/manual_tests/resources/hover-subframe-1.html
diff --git a/third_party/WebKit/ManualTests/resources/hover-subframe-2.html b/third_party/blink/manual_tests/resources/hover-subframe-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/hover-subframe-2.html
rename to third_party/blink/manual_tests/resources/hover-subframe-2.html
diff --git a/third_party/WebKit/ManualTests/resources/iframe-reloaded-on-touch.html b/third_party/blink/manual_tests/resources/iframe-reloaded-on-touch.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/iframe-reloaded-on-touch.html
rename to third_party/blink/manual_tests/resources/iframe-reloaded-on-touch.html
diff --git a/third_party/WebKit/ManualTests/resources/large-size-image-crash.gif b/third_party/blink/manual_tests/resources/large-size-image-crash.gif
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/large-size-image-crash.gif
rename to third_party/blink/manual_tests/resources/large-size-image-crash.gif
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/liveconnect-security-exception-popup.html b/third_party/blink/manual_tests/resources/liveconnect-security-exception-popup.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/liveconnect-security-exception-popup.html
rename to third_party/blink/manual_tests/resources/liveconnect-security-exception-popup.html
diff --git a/third_party/WebKit/ManualTests/resources/load-deferrer-script-element.js b/third_party/blink/manual_tests/resources/load-deferrer-script-element.js
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/load-deferrer-script-element.js
rename to third_party/blink/manual_tests/resources/load-deferrer-script-element.js
diff --git a/third_party/WebKit/ManualTests/resources/lorem-text.html b/third_party/blink/manual_tests/resources/lorem-text.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/lorem-text.html
rename to third_party/blink/manual_tests/resources/lorem-text.html
diff --git a/third_party/WebKit/ManualTests/resources/mouseevent-on-closeddoc.html b/third_party/blink/manual_tests/resources/mouseevent-on-closeddoc.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/mouseevent-on-closeddoc.html
rename to third_party/blink/manual_tests/resources/mouseevent-on-closeddoc.html
diff --git a/third_party/WebKit/ManualTests/resources/multiFileResources/post-echo-and-notify-done.cgi b/third_party/blink/manual_tests/resources/multiFileResources/post-echo-and-notify-done.cgi
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/multiFileResources/post-echo-and-notify-done.cgi
rename to third_party/blink/manual_tests/resources/multiFileResources/post-echo-and-notify-done.cgi
diff --git a/third_party/WebKit/ManualTests/resources/multiFileResources/testFile1.html b/third_party/blink/manual_tests/resources/multiFileResources/testFile1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/multiFileResources/testFile1.html
rename to third_party/blink/manual_tests/resources/multiFileResources/testFile1.html
diff --git a/third_party/WebKit/ManualTests/resources/multiFileResources/testFile2.html b/third_party/blink/manual_tests/resources/multiFileResources/testFile2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/multiFileResources/testFile2.html
rename to third_party/blink/manual_tests/resources/multiFileResources/testFile2.html
diff --git a/third_party/WebKit/ManualTests/resources/multiFileResources/testFile3.html b/third_party/blink/manual_tests/resources/multiFileResources/testFile3.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/multiFileResources/testFile3.html
rename to third_party/blink/manual_tests/resources/multiFileResources/testFile3.html
diff --git a/third_party/WebKit/ManualTests/resources/named-window-blank-target-step2.html b/third_party/blink/manual_tests/resources/named-window-blank-target-step2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/named-window-blank-target-step2.html
rename to third_party/blink/manual_tests/resources/named-window-blank-target-step2.html
diff --git a/third_party/WebKit/ManualTests/resources/named-window-blank-target-step3.html b/third_party/blink/manual_tests/resources/named-window-blank-target-step3.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/named-window-blank-target-step3.html
rename to third_party/blink/manual_tests/resources/named-window-blank-target-step3.html
diff --git a/third_party/WebKit/ManualTests/resources/named-window-blank-target-step4.html b/third_party/blink/manual_tests/resources/named-window-blank-target-step4.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/named-window-blank-target-step4.html
rename to third_party/blink/manual_tests/resources/named-window-blank-target-step4.html
diff --git a/third_party/WebKit/ManualTests/resources/navigation-during-onload-container.html b/third_party/blink/manual_tests/resources/navigation-during-onload-container.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/navigation-during-onload-container.html
rename to third_party/blink/manual_tests/resources/navigation-during-onload-container.html
diff --git a/third_party/WebKit/ManualTests/resources/nested-plugins-inner-frame.html b/third_party/blink/manual_tests/resources/nested-plugins-inner-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/nested-plugins-inner-frame.html
rename to third_party/blink/manual_tests/resources/nested-plugins-inner-frame.html
diff --git a/third_party/WebKit/ManualTests/resources/nested-plugins-outer-frame.html b/third_party/blink/manual_tests/resources/nested-plugins-outer-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/nested-plugins-outer-frame.html
rename to third_party/blink/manual_tests/resources/nested-plugins-outer-frame.html
diff --git a/third_party/WebKit/ManualTests/resources/nestedframesets.html b/third_party/blink/manual_tests/resources/nestedframesets.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/nestedframesets.html
rename to third_party/blink/manual_tests/resources/nestedframesets.html
diff --git a/third_party/WebKit/ManualTests/resources/non-animated.gif b/third_party/blink/manual_tests/resources/non-animated.gif
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/non-animated.gif
rename to third_party/blink/manual_tests/resources/non-animated.gif
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/open-after-close-popup.html b/third_party/blink/manual_tests/resources/open-after-close-popup.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/open-after-close-popup.html
rename to third_party/blink/manual_tests/resources/open-after-close-popup.html
diff --git a/third_party/WebKit/ManualTests/resources/open-close-tokenizer-crash.html b/third_party/blink/manual_tests/resources/open-close-tokenizer-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/open-close-tokenizer-crash.html
rename to third_party/blink/manual_tests/resources/open-close-tokenizer-crash.html
diff --git a/third_party/WebKit/ManualTests/resources/orange.mov b/third_party/blink/manual_tests/resources/orange.mov
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/orange.mov
rename to third_party/blink/manual_tests/resources/orange.mov
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/plain-text-paste.dmg b/third_party/blink/manual_tests/resources/plain-text-paste.dmg
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/plain-text-paste.dmg
rename to third_party/blink/manual_tests/resources/plain-text-paste.dmg
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/plugin-in-iframe-scroll-iframe.html b/third_party/blink/manual_tests/resources/plugin-in-iframe-scroll-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/plugin-in-iframe-scroll-iframe.html
rename to third_party/blink/manual_tests/resources/plugin-in-iframe-scroll-iframe.html
diff --git a/third_party/WebKit/ManualTests/resources/popup200x100.html b/third_party/blink/manual_tests/resources/popup200x100.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/popup200x100.html
rename to third_party/blink/manual_tests/resources/popup200x100.html
diff --git a/third_party/WebKit/ManualTests/resources/popup200x200.html b/third_party/blink/manual_tests/resources/popup200x200.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/popup200x200.html
rename to third_party/blink/manual_tests/resources/popup200x200.html
diff --git a/third_party/WebKit/ManualTests/resources/redraw-page-cache-visited-links-2.html b/third_party/blink/manual_tests/resources/redraw-page-cache-visited-links-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/redraw-page-cache-visited-links-2.html
rename to third_party/blink/manual_tests/resources/redraw-page-cache-visited-links-2.html
diff --git a/third_party/WebKit/ManualTests/resources/simple-iframe.html b/third_party/blink/manual_tests/resources/simple-iframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/simple-iframe.html
rename to third_party/blink/manual_tests/resources/simple-iframe.html
diff --git a/third_party/WebKit/ManualTests/resources/simple_image.png b/third_party/blink/manual_tests/resources/simple_image.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/simple_image.png
rename to third_party/blink/manual_tests/resources/simple_image.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/spinbox.swf b/third_party/blink/manual_tests/resources/spinbox.swf
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/spinbox.swf
rename to third_party/blink/manual_tests/resources/spinbox.swf
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/testframe-link_text.html b/third_party/blink/manual_tests/resources/testframe-link_text.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/testframe-link_text.html
rename to third_party/blink/manual_tests/resources/testframe-link_text.html
diff --git a/third_party/WebKit/ManualTests/resources/testframeset.html b/third_party/blink/manual_tests/resources/testframeset.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/testframeset.html
rename to third_party/blink/manual_tests/resources/testframeset.html
diff --git a/third_party/WebKit/ManualTests/resources/textarea-form-back-on-submit.html b/third_party/blink/manual_tests/resources/textarea-form-back-on-submit.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/textarea-form-back-on-submit.html
rename to third_party/blink/manual_tests/resources/textarea-form-back-on-submit.html
diff --git a/third_party/WebKit/ManualTests/resources/touch-poster.png b/third_party/blink/manual_tests/resources/touch-poster.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/touch-poster.png
rename to third_party/blink/manual_tests/resources/touch-poster.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/video-tab.html b/third_party/blink/manual_tests/resources/video-tab.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/video-tab.html
rename to third_party/blink/manual_tests/resources/video-tab.html
diff --git a/third_party/WebKit/ManualTests/resources/webkit-background.png b/third_party/blink/manual_tests/resources/webkit-background.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/webkit-background.png
rename to third_party/blink/manual_tests/resources/webkit-background.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/will-go-back.html b/third_party/blink/manual_tests/resources/will-go-back.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/will-go-back.html
rename to third_party/blink/manual_tests/resources/will-go-back.html
diff --git a/third_party/WebKit/ManualTests/resources/window-close-during-parsing-popup1.html b/third_party/blink/manual_tests/resources/window-close-during-parsing-popup1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/window-close-during-parsing-popup1.html
rename to third_party/blink/manual_tests/resources/window-close-during-parsing-popup1.html
diff --git a/third_party/WebKit/ManualTests/resources/window-close-during-parsing-popup2.html b/third_party/blink/manual_tests/resources/window-close-during-parsing-popup2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/window-close-during-parsing-popup2.html
rename to third_party/blink/manual_tests/resources/window-close-during-parsing-popup2.html
diff --git a/third_party/WebKit/ManualTests/resources/write-after-open-popup.html b/third_party/blink/manual_tests/resources/write-after-open-popup.html
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/write-after-open-popup.html
rename to third_party/blink/manual_tests/resources/write-after-open-popup.html
diff --git a/third_party/WebKit/ManualTests/resources/zh-hans.png b/third_party/blink/manual_tests/resources/zh-hans.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/zh-hans.png
rename to third_party/blink/manual_tests/resources/zh-hans.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/resources/zh-hant.png b/third_party/blink/manual_tests/resources/zh-hant.png
similarity index 100%
rename from third_party/WebKit/ManualTests/resources/zh-hant.png
rename to third_party/blink/manual_tests/resources/zh-hant.png
Binary files differ
diff --git a/third_party/WebKit/ManualTests/right-click-crash.html b/third_party/blink/manual_tests/right-click-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/right-click-crash.html
rename to third_party/blink/manual_tests/right-click-crash.html
diff --git a/third_party/WebKit/ManualTests/screen-availLeft.html b/third_party/blink/manual_tests/screen-availLeft.html
similarity index 100%
rename from third_party/WebKit/ManualTests/screen-availLeft.html
rename to third_party/blink/manual_tests/screen-availLeft.html
diff --git a/third_party/WebKit/ManualTests/scroll-after-layer-removal.html b/third_party/blink/manual_tests/scroll-after-layer-removal.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scroll-after-layer-removal.html
rename to third_party/blink/manual_tests/scroll-after-layer-removal.html
diff --git a/third_party/WebKit/ManualTests/scroll-wheel-select-element.html b/third_party/blink/manual_tests/scroll-wheel-select-element.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scroll-wheel-select-element.html
rename to third_party/blink/manual_tests/scroll-wheel-select-element.html
diff --git a/third_party/WebKit/ManualTests/scrollIntoView-horizontal.html b/third_party/blink/manual_tests/scrollIntoView-horizontal.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollIntoView-horizontal.html
rename to third_party/blink/manual_tests/scrollIntoView-horizontal.html
diff --git a/third_party/WebKit/ManualTests/scrollIntoView-vertical.html b/third_party/blink/manual_tests/scrollIntoView-vertical.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollIntoView-vertical.html
rename to third_party/blink/manual_tests/scrollIntoView-vertical.html
diff --git a/third_party/WebKit/ManualTests/scrollable-positioned-frame.html b/third_party/blink/manual_tests/scrollable-positioned-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollable-positioned-frame.html
rename to third_party/blink/manual_tests/scrollable-positioned-frame.html
diff --git a/third_party/WebKit/ManualTests/scrollable-positioned-nested-frame.html b/third_party/blink/manual_tests/scrollable-positioned-nested-frame.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollable-positioned-nested-frame.html
rename to third_party/blink/manual_tests/scrollable-positioned-nested-frame.html
diff --git a/third_party/WebKit/ManualTests/scrollbar-crash-on-hide-scrolled-area.html b/third_party/blink/manual_tests/scrollbar-crash-on-hide-scrolled-area.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollbar-crash-on-hide-scrolled-area.html
rename to third_party/blink/manual_tests/scrollbar-crash-on-hide-scrolled-area.html
diff --git a/third_party/WebKit/ManualTests/scrollbar-hittest.html b/third_party/blink/manual_tests/scrollbar-hittest.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollbar-hittest.html
rename to third_party/blink/manual_tests/scrollbar-hittest.html
diff --git a/third_party/WebKit/ManualTests/scrollbar-hittest2.html b/third_party/blink/manual_tests/scrollbar-hittest2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollbar-hittest2.html
rename to third_party/blink/manual_tests/scrollbar-hittest2.html
diff --git a/third_party/WebKit/ManualTests/scrollbar-hover-active.html b/third_party/blink/manual_tests/scrollbar-hover-active.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollbar-hover-active.html
rename to third_party/blink/manual_tests/scrollbar-hover-active.html
diff --git a/third_party/WebKit/ManualTests/scrollbars/scrollbars-in-composited-layers.html b/third_party/blink/manual_tests/scrollbars/scrollbars-in-composited-layers.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrollbars/scrollbars-in-composited-layers.html
rename to third_party/blink/manual_tests/scrollbars/scrollbars-in-composited-layers.html
diff --git a/third_party/WebKit/ManualTests/scrolling-coordinator-viewport-constrained-crash.html b/third_party/blink/manual_tests/scrolling-coordinator-viewport-constrained-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrolling-coordinator-viewport-constrained-crash.html
rename to third_party/blink/manual_tests/scrolling-coordinator-viewport-constrained-crash.html
diff --git a/third_party/WebKit/ManualTests/scrolling-nestedframesets.html b/third_party/blink/manual_tests/scrolling-nestedframesets.html
similarity index 100%
rename from third_party/WebKit/ManualTests/scrolling-nestedframesets.html
rename to third_party/blink/manual_tests/scrolling-nestedframesets.html
diff --git a/third_party/WebKit/ManualTests/search-cancel-button.html b/third_party/blink/manual_tests/search-cancel-button.html
similarity index 100%
rename from third_party/WebKit/ManualTests/search-cancel-button.html
rename to third_party/blink/manual_tests/search-cancel-button.html
diff --git a/third_party/WebKit/ManualTests/secure-keyboard-enabled-after-submit.html b/third_party/blink/manual_tests/secure-keyboard-enabled-after-submit.html
similarity index 100%
rename from third_party/WebKit/ManualTests/secure-keyboard-enabled-after-submit.html
rename to third_party/blink/manual_tests/secure-keyboard-enabled-after-submit.html
diff --git a/third_party/WebKit/ManualTests/select-delete-item.html b/third_party/blink/manual_tests/select-delete-item.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-delete-item.html
rename to third_party/blink/manual_tests/select-delete-item.html
diff --git a/third_party/WebKit/ManualTests/select-element-type-select.html b/third_party/blink/manual_tests/select-element-type-select.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-element-type-select.html
rename to third_party/blink/manual_tests/select-element-type-select.html
diff --git a/third_party/WebKit/ManualTests/select-menu-list-wrongly-positioned.html b/third_party/blink/manual_tests/select-menu-list-wrongly-positioned.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-menu-list-wrongly-positioned.html
rename to third_party/blink/manual_tests/select-menu-list-wrongly-positioned.html
diff --git a/third_party/WebKit/ManualTests/select-narrow-width.html b/third_party/blink/manual_tests/select-narrow-width.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-narrow-width.html
rename to third_party/blink/manual_tests/select-narrow-width.html
diff --git a/third_party/WebKit/ManualTests/select-onchange-after-js.html b/third_party/blink/manual_tests/select-onchange-after-js.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-onchange-after-js.html
rename to third_party/blink/manual_tests/select-onchange-after-js.html
diff --git a/third_party/WebKit/ManualTests/select-option-in-onload.html b/third_party/blink/manual_tests/select-option-in-onload.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-option-in-onload.html
rename to third_party/blink/manual_tests/select-option-in-onload.html
diff --git a/third_party/WebKit/ManualTests/select-page-scroll.html b/third_party/blink/manual_tests/select-page-scroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-page-scroll.html
rename to third_party/blink/manual_tests/select-page-scroll.html
diff --git a/third_party/WebKit/ManualTests/select-popup-on-spacebar.html b/third_party/blink/manual_tests/select-popup-on-spacebar.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-popup-on-spacebar.html
rename to third_party/blink/manual_tests/select-popup-on-spacebar.html
diff --git a/third_party/WebKit/ManualTests/select-popup-tooltip-test.html b/third_party/blink/manual_tests/select-popup-tooltip-test.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-popup-tooltip-test.html
rename to third_party/blink/manual_tests/select-popup-tooltip-test.html
diff --git a/third_party/WebKit/ManualTests/select-scroll.html b/third_party/blink/manual_tests/select-scroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-scroll.html
rename to third_party/blink/manual_tests/select-scroll.html
diff --git a/third_party/WebKit/ManualTests/select-webkit-appearance-off-narrow-select.html b/third_party/blink/manual_tests/select-webkit-appearance-off-narrow-select.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select-webkit-appearance-off-narrow-select.html
rename to third_party/blink/manual_tests/select-webkit-appearance-off-narrow-select.html
diff --git a/third_party/WebKit/ManualTests/select_alignment.html b/third_party/blink/manual_tests/select_alignment.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select_alignment.html
rename to third_party/blink/manual_tests/select_alignment.html
diff --git a/third_party/WebKit/ManualTests/select_dropdown_box_alignment.html b/third_party/blink/manual_tests/select_dropdown_box_alignment.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select_dropdown_box_alignment.html
rename to third_party/blink/manual_tests/select_dropdown_box_alignment.html
diff --git a/third_party/WebKit/ManualTests/select_hr.html b/third_party/blink/manual_tests/select_hr.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select_hr.html
rename to third_party/blink/manual_tests/select_hr.html
diff --git a/third_party/WebKit/ManualTests/select_webkit_appearance_off_popup_alignment.html b/third_party/blink/manual_tests/select_webkit_appearance_off_popup_alignment.html
similarity index 100%
rename from third_party/WebKit/ManualTests/select_webkit_appearance_off_popup_alignment.html
rename to third_party/blink/manual_tests/select_webkit_appearance_off_popup_alignment.html
diff --git a/third_party/WebKit/ManualTests/selection-drag-crash.html b/third_party/blink/manual_tests/selection-drag-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/selection-drag-crash.html
rename to third_party/blink/manual_tests/selection-drag-crash.html
diff --git a/third_party/WebKit/ManualTests/selection-start-after-inserting-line-break-in-textarea.html b/third_party/blink/manual_tests/selection-start-after-inserting-line-break-in-textarea.html
similarity index 100%
rename from third_party/WebKit/ManualTests/selection-start-after-inserting-line-break-in-textarea.html
rename to third_party/blink/manual_tests/selection-start-after-inserting-line-break-in-textarea.html
diff --git a/third_party/WebKit/ManualTests/shift-alt-key-event.html b/third_party/blink/manual_tests/shift-alt-key-event.html
similarity index 100%
rename from third_party/WebKit/ManualTests/shift-alt-key-event.html
rename to third_party/blink/manual_tests/shift-alt-key-event.html
diff --git a/third_party/WebKit/ManualTests/show-hide-object.html b/third_party/blink/manual_tests/show-hide-object.html
similarity index 100%
rename from third_party/WebKit/ManualTests/show-hide-object.html
rename to third_party/blink/manual_tests/show-hide-object.html
diff --git a/third_party/WebKit/ManualTests/simple-image-compositing.html b/third_party/blink/manual_tests/simple-image-compositing.html
similarity index 100%
rename from third_party/WebKit/ManualTests/simple-image-compositing.html
rename to third_party/blink/manual_tests/simple-image-compositing.html
diff --git a/third_party/WebKit/ManualTests/slider-thumb-tracking.html b/third_party/blink/manual_tests/slider-thumb-tracking.html
similarity index 100%
rename from third_party/WebKit/ManualTests/slider-thumb-tracking.html
rename to third_party/blink/manual_tests/slider-thumb-tracking.html
diff --git a/third_party/WebKit/ManualTests/spatial-navigation/frameset.html b/third_party/blink/manual_tests/spatial-navigation/frameset.html
similarity index 100%
rename from third_party/WebKit/ManualTests/spatial-navigation/frameset.html
rename to third_party/blink/manual_tests/spatial-navigation/frameset.html
diff --git a/third_party/WebKit/ManualTests/spatial-navigation/links.html b/third_party/blink/manual_tests/spatial-navigation/links.html
similarity index 100%
rename from third_party/WebKit/ManualTests/spatial-navigation/links.html
rename to third_party/blink/manual_tests/spatial-navigation/links.html
diff --git a/third_party/WebKit/ManualTests/spatial-navigation/spatial-navigation-test-cases.html b/third_party/blink/manual_tests/spatial-navigation/spatial-navigation-test-cases.html
similarity index 100%
rename from third_party/WebKit/ManualTests/spatial-navigation/spatial-navigation-test-cases.html
rename to third_party/blink/manual_tests/spatial-navigation/spatial-navigation-test-cases.html
diff --git a/third_party/WebKit/ManualTests/stale-currentEvent.html b/third_party/blink/manual_tests/stale-currentEvent.html
similarity index 100%
rename from third_party/WebKit/ManualTests/stale-currentEvent.html
rename to third_party/blink/manual_tests/stale-currentEvent.html
diff --git a/third_party/WebKit/ManualTests/stale-scrollbar-client-crash.html b/third_party/blink/manual_tests/stale-scrollbar-client-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/stale-scrollbar-client-crash.html
rename to third_party/blink/manual_tests/stale-scrollbar-client-crash.html
diff --git a/third_party/WebKit/ManualTests/style-keypress-events.html b/third_party/blink/manual_tests/style-keypress-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/style-keypress-events.html
rename to third_party/blink/manual_tests/style-keypress-events.html
diff --git a/third_party/WebKit/ManualTests/submit-form-with-target-twice.html b/third_party/blink/manual_tests/submit-form-with-target-twice.html
similarity index 100%
rename from third_party/WebKit/ManualTests/submit-form-with-target-twice.html
rename to third_party/blink/manual_tests/submit-form-with-target-twice.html
diff --git a/third_party/WebKit/ManualTests/subview-click-assertion.html b/third_party/blink/manual_tests/subview-click-assertion.html
similarity index 100%
rename from third_party/WebKit/ManualTests/subview-click-assertion.html
rename to third_party/blink/manual_tests/subview-click-assertion.html
diff --git a/third_party/WebKit/ManualTests/svg-animated-gifs.svg b/third_party/blink/manual_tests/svg-animated-gifs.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-animated-gifs.svg
rename to third_party/blink/manual_tests/svg-animated-gifs.svg
diff --git a/third_party/WebKit/ManualTests/svg-crash-hovering-use.svg b/third_party/blink/manual_tests/svg-crash-hovering-use.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-crash-hovering-use.svg
rename to third_party/blink/manual_tests/svg-crash-hovering-use.svg
diff --git a/third_party/WebKit/ManualTests/svg-css-animate-compound.html b/third_party/blink/manual_tests/svg-css-animate-compound.html
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-css-animate-compound.html
rename to third_party/blink/manual_tests/svg-css-animate-compound.html
diff --git a/third_party/WebKit/ManualTests/svg-css-transition-compound.html b/third_party/blink/manual_tests/svg-css-transition-compound.html
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-css-transition-compound.html
rename to third_party/blink/manual_tests/svg-css-transition-compound.html
diff --git a/third_party/WebKit/ManualTests/svg-cursor-changes.svg b/third_party/blink/manual_tests/svg-cursor-changes.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-cursor-changes.svg
rename to third_party/blink/manual_tests/svg-cursor-changes.svg
diff --git a/third_party/WebKit/ManualTests/svg-deep-clone-to-new-doc.html b/third_party/blink/manual_tests/svg-deep-clone-to-new-doc.html
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-deep-clone-to-new-doc.html
rename to third_party/blink/manual_tests/svg-deep-clone-to-new-doc.html
diff --git a/third_party/WebKit/ManualTests/svg-filter-animation.svg b/third_party/blink/manual_tests/svg-filter-animation.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-filter-animation.svg
rename to third_party/blink/manual_tests/svg-filter-animation.svg
diff --git a/third_party/WebKit/ManualTests/svg-image-resampling-with-scale.html b/third_party/blink/manual_tests/svg-image-resampling-with-scale.html
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-image-resampling-with-scale.html
rename to third_party/blink/manual_tests/svg-image-resampling-with-scale.html
diff --git a/third_party/WebKit/ManualTests/svg-link-hover-use.svg b/third_party/blink/manual_tests/svg-link-hover-use.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-link-hover-use.svg
rename to third_party/blink/manual_tests/svg-link-hover-use.svg
diff --git a/third_party/WebKit/ManualTests/svg-links.svg b/third_party/blink/manual_tests/svg-links.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-links.svg
rename to third_party/blink/manual_tests/svg-links.svg
diff --git a/third_party/WebKit/ManualTests/svg-modify-deleted-selection.svg b/third_party/blink/manual_tests/svg-modify-deleted-selection.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-modify-deleted-selection.svg
rename to third_party/blink/manual_tests/svg-modify-deleted-selection.svg
diff --git a/third_party/WebKit/ManualTests/svg-node-count-vs-scroll.xhtml b/third_party/blink/manual_tests/svg-node-count-vs-scroll.xhtml
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-node-count-vs-scroll.xhtml
rename to third_party/blink/manual_tests/svg-node-count-vs-scroll.xhtml
diff --git a/third_party/WebKit/ManualTests/svg-repaint-foreignObject.svg b/third_party/blink/manual_tests/svg-repaint-foreignObject.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-repaint-foreignObject.svg
rename to third_party/blink/manual_tests/svg-repaint-foreignObject.svg
diff --git a/third_party/WebKit/ManualTests/svg-repaint-group.svg b/third_party/blink/manual_tests/svg-repaint-group.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-repaint-group.svg
rename to third_party/blink/manual_tests/svg-repaint-group.svg
diff --git a/third_party/WebKit/ManualTests/svg-repaint-image.svg b/third_party/blink/manual_tests/svg-repaint-image.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-repaint-image.svg
rename to third_party/blink/manual_tests/svg-repaint-image.svg
diff --git a/third_party/WebKit/ManualTests/svg-repaint-path.svg b/third_party/blink/manual_tests/svg-repaint-path.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-repaint-path.svg
rename to third_party/blink/manual_tests/svg-repaint-path.svg
diff --git a/third_party/WebKit/ManualTests/svg-text-float-not-removed-crash.html b/third_party/blink/manual_tests/svg-text-float-not-removed-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-text-float-not-removed-crash.html
rename to third_party/blink/manual_tests/svg-text-float-not-removed-crash.html
diff --git a/third_party/WebKit/ManualTests/svg-text-selection.svg b/third_party/blink/manual_tests/svg-text-selection.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-text-selection.svg
rename to third_party/blink/manual_tests/svg-text-selection.svg
diff --git a/third_party/WebKit/ManualTests/svg-tooltip.svg b/third_party/blink/manual_tests/svg-tooltip.svg
similarity index 100%
rename from third_party/WebKit/ManualTests/svg-tooltip.svg
rename to third_party/blink/manual_tests/svg-tooltip.svg
diff --git a/third_party/WebKit/ManualTests/system-color-change.html b/third_party/blink/manual_tests/system-color-change.html
similarity index 100%
rename from third_party/WebKit/ManualTests/system-color-change.html
rename to third_party/blink/manual_tests/system-color-change.html
diff --git a/third_party/WebKit/ManualTests/tabbing-input-google.html b/third_party/blink/manual_tests/tabbing-input-google.html
similarity index 100%
rename from third_party/WebKit/ManualTests/tabbing-input-google.html
rename to third_party/blink/manual_tests/tabbing-input-google.html
diff --git a/third_party/WebKit/ManualTests/tap-gesture-in-iframe-with-tap-highlight-crash.html b/third_party/blink/manual_tests/tap-gesture-in-iframe-with-tap-highlight-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/tap-gesture-in-iframe-with-tap-highlight-crash.html
rename to third_party/blink/manual_tests/tap-gesture-in-iframe-with-tap-highlight-crash.html
diff --git a/third_party/WebKit/ManualTests/tap-gesture-on-em-link-tap-highlight-assert.html b/third_party/blink/manual_tests/tap-gesture-on-em-link-tap-highlight-assert.html
similarity index 100%
rename from third_party/WebKit/ManualTests/tap-gesture-on-em-link-tap-highlight-assert.html
rename to third_party/blink/manual_tests/tap-gesture-on-em-link-tap-highlight-assert.html
diff --git a/third_party/WebKit/ManualTests/target-test.html b/third_party/blink/manual_tests/target-test.html
similarity index 100%
rename from third_party/WebKit/ManualTests/target-test.html
rename to third_party/blink/manual_tests/target-test.html
diff --git a/third_party/WebKit/ManualTests/target_new-1.html b/third_party/blink/manual_tests/target_new-1.html
similarity index 100%
rename from third_party/WebKit/ManualTests/target_new-1.html
rename to third_party/blink/manual_tests/target_new-1.html
diff --git a/third_party/WebKit/ManualTests/target_new.html b/third_party/blink/manual_tests/target_new.html
similarity index 100%
rename from third_party/WebKit/ManualTests/target_new.html
rename to third_party/blink/manual_tests/target_new.html
diff --git a/third_party/WebKit/ManualTests/targeted.html b/third_party/blink/manual_tests/targeted.html
similarity index 100%
rename from third_party/WebKit/ManualTests/targeted.html
rename to third_party/blink/manual_tests/targeted.html
diff --git a/third_party/WebKit/ManualTests/template.html b/third_party/blink/manual_tests/template.html
similarity index 100%
rename from third_party/WebKit/ManualTests/template.html
rename to third_party/blink/manual_tests/template.html
diff --git a/third_party/WebKit/ManualTests/test-iframes-loading-the-same-resource.html b/third_party/blink/manual_tests/test-iframes-loading-the-same-resource.html
similarity index 100%
rename from third_party/WebKit/ManualTests/test-iframes-loading-the-same-resource.html
rename to third_party/blink/manual_tests/test-iframes-loading-the-same-resource.html
diff --git a/third_party/WebKit/ManualTests/text-field-autoscroll.html b/third_party/blink/manual_tests/text-field-autoscroll.html
similarity index 100%
rename from third_party/WebKit/ManualTests/text-field-autoscroll.html
rename to third_party/blink/manual_tests/text-field-autoscroll.html
diff --git a/third_party/WebKit/ManualTests/textarea-caret-position-after-auto-spell-correct.html b/third_party/blink/manual_tests/textarea-caret-position-after-auto-spell-correct.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textarea-caret-position-after-auto-spell-correct.html
rename to third_party/blink/manual_tests/textarea-caret-position-after-auto-spell-correct.html
diff --git a/third_party/WebKit/ManualTests/textarea-focus.html b/third_party/blink/manual_tests/textarea-focus.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textarea-focus.html
rename to third_party/blink/manual_tests/textarea-focus.html
diff --git a/third_party/WebKit/ManualTests/textarea-iframe-navigation.html b/third_party/blink/manual_tests/textarea-iframe-navigation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textarea-iframe-navigation.html
rename to third_party/blink/manual_tests/textarea-iframe-navigation.html
diff --git a/third_party/WebKit/ManualTests/textarea-iframe-navigation2.html b/third_party/blink/manual_tests/textarea-iframe-navigation2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textarea-iframe-navigation2.html
rename to third_party/blink/manual_tests/textarea-iframe-navigation2.html
diff --git a/third_party/WebKit/ManualTests/textarea-onpaste.html b/third_party/blink/manual_tests/textarea-onpaste.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textarea-onpaste.html
rename to third_party/blink/manual_tests/textarea-onpaste.html
diff --git a/third_party/WebKit/ManualTests/textarea-reset-default-value.html b/third_party/blink/manual_tests/textarea-reset-default-value.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textarea-reset-default-value.html
rename to third_party/blink/manual_tests/textarea-reset-default-value.html
diff --git a/third_party/WebKit/ManualTests/textfield-onblur.html b/third_party/blink/manual_tests/textfield-onblur.html
similarity index 100%
rename from third_party/WebKit/ManualTests/textfield-onblur.html
rename to third_party/blink/manual_tests/textfield-onblur.html
diff --git a/third_party/WebKit/ManualTests/timeout-test.html b/third_party/blink/manual_tests/timeout-test.html
similarity index 100%
rename from third_party/WebKit/ManualTests/timeout-test.html
rename to third_party/blink/manual_tests/timeout-test.html
diff --git a/third_party/WebKit/ManualTests/timeout-test.php b/third_party/blink/manual_tests/timeout-test.php
similarity index 100%
rename from third_party/WebKit/ManualTests/timeout-test.php
rename to third_party/blink/manual_tests/timeout-test.php
diff --git a/third_party/WebKit/ManualTests/title-internal-whitespace.html b/third_party/blink/manual_tests/title-internal-whitespace.html
similarity index 100%
rename from third_party/WebKit/ManualTests/title-internal-whitespace.html
rename to third_party/blink/manual_tests/title-internal-whitespace.html
diff --git a/third_party/WebKit/ManualTests/touch-stale-iframe-crash.html b/third_party/blink/manual_tests/touch-stale-iframe-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/touch-stale-iframe-crash.html
rename to third_party/blink/manual_tests/touch-stale-iframe-crash.html
diff --git a/third_party/WebKit/ManualTests/transition-accelerated.html b/third_party/blink/manual_tests/transition-accelerated.html
similarity index 100%
rename from third_party/WebKit/ManualTests/transition-accelerated.html
rename to third_party/blink/manual_tests/transition-accelerated.html
diff --git a/third_party/WebKit/ManualTests/transition-events.html b/third_party/blink/manual_tests/transition-events.html
similarity index 100%
rename from third_party/WebKit/ManualTests/transition-events.html
rename to third_party/blink/manual_tests/transition-events.html
diff --git a/third_party/WebKit/ManualTests/transition-left.html b/third_party/blink/manual_tests/transition-left.html
similarity index 100%
rename from third_party/WebKit/ManualTests/transition-left.html
rename to third_party/blink/manual_tests/transition-left.html
diff --git a/third_party/WebKit/ManualTests/transition-timing-functions.html b/third_party/blink/manual_tests/transition-timing-functions.html
similarity index 100%
rename from third_party/WebKit/ManualTests/transition-timing-functions.html
rename to third_party/blink/manual_tests/transition-timing-functions.html
diff --git a/third_party/WebKit/ManualTests/transitions.html b/third_party/blink/manual_tests/transitions.html
similarity index 100%
rename from third_party/WebKit/ManualTests/transitions.html
rename to third_party/blink/manual_tests/transitions.html
diff --git a/third_party/WebKit/ManualTests/transitions2.html b/third_party/blink/manual_tests/transitions2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/transitions2.html
rename to third_party/blink/manual_tests/transitions2.html
diff --git a/third_party/WebKit/ManualTests/typed-array-memory.html b/third_party/blink/manual_tests/typed-array-memory.html
similarity index 100%
rename from third_party/WebKit/ManualTests/typed-array-memory.html
rename to third_party/blink/manual_tests/typed-array-memory.html
diff --git a/third_party/WebKit/ManualTests/update-empty-popup.html b/third_party/blink/manual_tests/update-empty-popup.html
similarity index 100%
rename from third_party/WebKit/ManualTests/update-empty-popup.html
rename to third_party/blink/manual_tests/update-empty-popup.html
diff --git a/third_party/WebKit/ManualTests/user-drag-with-decorations.html b/third_party/blink/manual_tests/user-drag-with-decorations.html
similarity index 100%
rename from third_party/WebKit/ManualTests/user-drag-with-decorations.html
rename to third_party/blink/manual_tests/user-drag-with-decorations.html
diff --git a/third_party/WebKit/ManualTests/user-media-request-crash.html b/third_party/blink/manual_tests/user-media-request-crash.html
similarity index 100%
rename from third_party/WebKit/ManualTests/user-media-request-crash.html
rename to third_party/blink/manual_tests/user-media-request-crash.html
diff --git a/third_party/WebKit/ManualTests/video-in-non-frontmost-tab.html b/third_party/blink/manual_tests/video-in-non-frontmost-tab.html
similarity index 100%
rename from third_party/WebKit/ManualTests/video-in-non-frontmost-tab.html
rename to third_party/blink/manual_tests/video-in-non-frontmost-tab.html
diff --git a/third_party/WebKit/ManualTests/video-player.html b/third_party/blink/manual_tests/video-player.html
similarity index 100%
rename from third_party/WebKit/ManualTests/video-player.html
rename to third_party/blink/manual_tests/video-player.html
diff --git a/third_party/WebKit/ManualTests/video-rtsp.html b/third_party/blink/manual_tests/video-rtsp.html
similarity index 100%
rename from third_party/WebKit/ManualTests/video-rtsp.html
rename to third_party/blink/manual_tests/video-rtsp.html
diff --git a/third_party/WebKit/ManualTests/video-statistics.html b/third_party/blink/manual_tests/video-statistics.html
similarity index 100%
rename from third_party/WebKit/ManualTests/video-statistics.html
rename to third_party/blink/manual_tests/video-statistics.html
diff --git a/third_party/WebKit/ManualTests/video-waiting-seeking.html b/third_party/blink/manual_tests/video-waiting-seeking.html
similarity index 100%
rename from third_party/WebKit/ManualTests/video-waiting-seeking.html
rename to third_party/blink/manual_tests/video-waiting-seeking.html
diff --git a/third_party/WebKit/ManualTests/viewport-width-test-after-history-navigation.html b/third_party/blink/manual_tests/viewport-width-test-after-history-navigation.html
similarity index 100%
rename from third_party/WebKit/ManualTests/viewport-width-test-after-history-navigation.html
rename to third_party/blink/manual_tests/viewport-width-test-after-history-navigation.html
diff --git a/third_party/WebKit/ManualTests/visited-link-new-window.html b/third_party/blink/manual_tests/visited-link-new-window.html
similarity index 100%
rename from third_party/WebKit/ManualTests/visited-link-new-window.html
rename to third_party/blink/manual_tests/visited-link-new-window.html
diff --git a/third_party/WebKit/ManualTests/vr/webvr-manual-tests.txt b/third_party/blink/manual_tests/vr/webvr-manual-tests.txt
similarity index 100%
rename from third_party/WebKit/ManualTests/vr/webvr-manual-tests.txt
rename to third_party/blink/manual_tests/vr/webvr-manual-tests.txt
diff --git a/third_party/WebKit/ManualTests/webaudio/audiobuffersource-gc.html b/third_party/blink/manual_tests/webaudio/audiobuffersource-gc.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/audiobuffersource-gc.html
rename to third_party/blink/manual_tests/webaudio/audiobuffersource-gc.html
diff --git a/third_party/WebKit/ManualTests/webaudio/audiobuffersource-playbackrate-onended.html b/third_party/blink/manual_tests/webaudio/audiobuffersource-playbackrate-onended.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/audiobuffersource-playbackrate-onended.html
rename to third_party/blink/manual_tests/webaudio/audiobuffersource-playbackrate-onended.html
diff --git a/third_party/WebKit/ManualTests/webaudio/audiobuffersource-resampling-onended.html b/third_party/blink/manual_tests/webaudio/audiobuffersource-resampling-onended.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/audiobuffersource-resampling-onended.html
rename to third_party/blink/manual_tests/webaudio/audiobuffersource-resampling-onended.html
diff --git a/third_party/WebKit/ManualTests/webaudio/audiooutputtimestamp.html b/third_party/blink/manual_tests/webaudio/audiooutputtimestamp.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/audiooutputtimestamp.html
rename to third_party/blink/manual_tests/webaudio/audiooutputtimestamp.html
diff --git a/third_party/WebKit/ManualTests/webaudio/limit-level-0db.html b/third_party/blink/manual_tests/webaudio/limit-level-0db.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/limit-level-0db.html
rename to third_party/blink/manual_tests/webaudio/limit-level-0db.html
diff --git a/third_party/WebKit/ManualTests/webaudio/multichannel-mediastreamdestination.html b/third_party/blink/manual_tests/webaudio/multichannel-mediastreamdestination.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/multichannel-mediastreamdestination.html
rename to third_party/blink/manual_tests/webaudio/multichannel-mediastreamdestination.html
diff --git a/third_party/WebKit/ManualTests/webaudio/multichannel.html b/third_party/blink/manual_tests/webaudio/multichannel.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/multichannel.html
rename to third_party/blink/manual_tests/webaudio/multichannel.html
diff --git a/third_party/WebKit/ManualTests/webaudio/suspend-resume-2.html b/third_party/blink/manual_tests/webaudio/suspend-resume-2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/suspend-resume-2.html
rename to third_party/blink/manual_tests/webaudio/suspend-resume-2.html
diff --git a/third_party/WebKit/ManualTests/webaudio/suspend-resume.html b/third_party/blink/manual_tests/webaudio/suspend-resume.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webaudio/suspend-resume.html
rename to third_party/blink/manual_tests/webaudio/suspend-resume.html
diff --git a/third_party/WebKit/ManualTests/webgl-save-image-as.html b/third_party/blink/manual_tests/webgl-save-image-as.html
similarity index 100%
rename from third_party/WebKit/ManualTests/webgl-save-image-as.html
rename to third_party/blink/manual_tests/webgl-save-image-as.html
diff --git a/third_party/WebKit/ManualTests/whitespace-pre-affinity.html b/third_party/blink/manual_tests/whitespace-pre-affinity.html
similarity index 100%
rename from third_party/WebKit/ManualTests/whitespace-pre-affinity.html
rename to third_party/blink/manual_tests/whitespace-pre-affinity.html
diff --git a/third_party/WebKit/ManualTests/win/contextmenu-key.html b/third_party/blink/manual_tests/win/contextmenu-key.html
similarity index 100%
rename from third_party/WebKit/ManualTests/win/contextmenu-key.html
rename to third_party/blink/manual_tests/win/contextmenu-key.html
diff --git a/third_party/WebKit/ManualTests/win/contextmenu-key2.html b/third_party/blink/manual_tests/win/contextmenu-key2.html
similarity index 100%
rename from third_party/WebKit/ManualTests/win/contextmenu-key2.html
rename to third_party/blink/manual_tests/win/contextmenu-key2.html
diff --git a/third_party/WebKit/ManualTests/win/contextmenu-key3.html b/third_party/blink/manual_tests/win/contextmenu-key3.html
similarity index 100%
rename from third_party/WebKit/ManualTests/win/contextmenu-key3.html
rename to third_party/blink/manual_tests/win/contextmenu-key3.html
diff --git a/third_party/WebKit/ManualTests/win/milliondollar.html b/third_party/blink/manual_tests/win/milliondollar.html
similarity index 100%
rename from third_party/WebKit/ManualTests/win/milliondollar.html
rename to third_party/blink/manual_tests/win/milliondollar.html
diff --git a/third_party/WebKit/ManualTests/win/select-menu-off-screen.html b/third_party/blink/manual_tests/win/select-menu-off-screen.html
similarity index 100%
rename from third_party/WebKit/ManualTests/win/select-menu-off-screen.html
rename to third_party/blink/manual_tests/win/select-menu-off-screen.html
diff --git a/third_party/WebKit/ManualTests/window-close-during-parsing.html b/third_party/blink/manual_tests/window-close-during-parsing.html
similarity index 100%
rename from third_party/WebKit/ManualTests/window-close-during-parsing.html
rename to third_party/blink/manual_tests/window-close-during-parsing.html
diff --git a/third_party/WebKit/ManualTests/window-geometry.html b/third_party/blink/manual_tests/window-geometry.html
similarity index 100%
rename from third_party/WebKit/ManualTests/window-geometry.html
rename to third_party/blink/manual_tests/window-geometry.html
diff --git a/third_party/WebKit/ManualTests/window-open-features-parsing.html b/third_party/blink/manual_tests/window-open-features-parsing.html
similarity index 100%
rename from third_party/WebKit/ManualTests/window-open-features-parsing.html
rename to third_party/blink/manual_tests/window-open-features-parsing.html
diff --git a/third_party/WebKit/ManualTests/window-print-subframe.html b/third_party/blink/manual_tests/window-print-subframe.html
similarity index 100%
rename from third_party/WebKit/ManualTests/window-print-subframe.html
rename to third_party/blink/manual_tests/window-print-subframe.html
diff --git a/third_party/WebKit/ManualTests/window-sizing.html b/third_party/blink/manual_tests/window-sizing.html
similarity index 100%
rename from third_party/WebKit/ManualTests/window-sizing.html
rename to third_party/blink/manual_tests/window-sizing.html
diff --git a/third_party/WebKit/ManualTests/word-spacing-highlight.html b/third_party/blink/manual_tests/word-spacing-highlight.html
similarity index 100%
rename from third_party/WebKit/ManualTests/word-spacing-highlight.html
rename to third_party/blink/manual_tests/word-spacing-highlight.html
diff --git a/third_party/WebKit/ManualTests/wordXML-selectall.xml b/third_party/blink/manual_tests/wordXML-selectall.xml
similarity index 100%
rename from third_party/WebKit/ManualTests/wordXML-selectall.xml
rename to third_party/blink/manual_tests/wordXML-selectall.xml
diff --git a/third_party/WebKit/ManualTests/write-after-open.html b/third_party/blink/manual_tests/write-after-open.html
similarity index 100%
rename from third_party/WebKit/ManualTests/write-after-open.html
rename to third_party/blink/manual_tests/write-after-open.html
diff --git a/third_party/WebKit/ManualTests/xhr-failure-behind-alert.html b/third_party/blink/manual_tests/xhr-failure-behind-alert.html
similarity index 100%
rename from third_party/WebKit/ManualTests/xhr-failure-behind-alert.html
rename to third_party/blink/manual_tests/xhr-failure-behind-alert.html
diff --git a/third_party/WebKit/ManualTests/zh-font-fallback-android.html b/third_party/blink/manual_tests/zh-font-fallback-android.html
similarity index 100%
rename from third_party/WebKit/ManualTests/zh-font-fallback-android.html
rename to third_party/blink/manual_tests/zh-font-fallback-android.html
diff --git a/third_party/blink/public/platform/modules/notifications/notification.mojom b/third_party/blink/public/platform/modules/notifications/notification.mojom
index 3aeb946..dbdf7ff 100644
--- a/third_party/blink/public/platform/modules/notifications/notification.mojom
+++ b/third_party/blink/public/platform/modules/notifications/notification.mojom
@@ -115,5 +115,5 @@
 
   // Icons for the actions. The size of |action_icons| must match the size
   // of |actions| in the corresponding NotificationData.
-  array<skia.mojom.Bitmap>? action_icons;
+  array<skia.mojom.Bitmap?>? action_icons;
 };
diff --git a/third_party/blink/renderer/core/css/css_style_declaration.cc b/third_party/blink/renderer/core/css/css_style_declaration.cc
index 7664309a..3696562 100644
--- a/third_party/blink/renderer/core/css/css_style_declaration.cc
+++ b/third_party/blink/renderer/core/css/css_style_declaration.cc
@@ -170,21 +170,30 @@
   result.SetString(GetPropertyValueInternal(resolved_property));
 }
 
-bool CSSStyleDeclaration::AnonymousNamedSetter(
-    ScriptState* script_state,
-    const AtomicString& name,
-    const String& value,
-    ExceptionState& exception_state) {
+bool CSSStyleDeclaration::AnonymousNamedSetter(ScriptState* script_state,
+                                               const AtomicString& name,
+                                               const String& value) {
   if (!script_state->ContextIsValid())
     return false;
 
   CSSPropertyID unresolved_property = CssPropertyInfo(name);
   if (!unresolved_property)
     return false;
+  // We create the ExceptionState manually due to performance issues: adding
+  // [RaisesException] to the IDL causes the bindings layer to expensively
+  // create a CString to set the ExceptionState's |property_name| argument,
+  // while we can use CSSProperty::GetPropertyName() here (see bug 829408).
+  ExceptionState exception_state(
+      script_state->GetIsolate(), ExceptionState::kSetterContext,
+      "CSSStyleDeclaration",
+      CSSProperty::Get(resolveCSSPropertyID(unresolved_property))
+          .GetPropertyName());
   SetPropertyInternal(
       unresolved_property, String(), value, false,
       ExecutionContext::From(script_state)->GetSecureContextMode(),
       exception_state);
+  if (exception_state.HadException())
+    return false;
   return true;
 }
 
diff --git a/third_party/blink/renderer/core/css/css_style_declaration.h b/third_party/blink/renderer/core/css/css_style_declaration.h
index dc2a259..c433c68 100644
--- a/third_party/blink/renderer/core/css/css_style_declaration.h
+++ b/third_party/blink/renderer/core/css/css_style_declaration.h
@@ -92,10 +92,12 @@
   virtual CSSStyleSheet* ParentStyleSheet() const { return nullptr; }
 
   void AnonymousNamedGetter(const AtomicString& name, StringOrFloat&);
+  // Note: AnonymousNamedSetter() can end up throwing an exception via
+  // SetPropertyInternal() even though it does not take an |ExceptionState| as
+  // an argument (see bug 829408).
   bool AnonymousNamedSetter(ScriptState*,
                             const AtomicString& name,
-                            const String& value,
-                            ExceptionState&);
+                            const String& value);
   void NamedPropertyEnumerator(Vector<String>& names, ExceptionState&);
   bool NamedPropertyQuery(const AtomicString&, ExceptionState&);
 
diff --git a/third_party/blink/renderer/core/css/css_style_declaration.idl b/third_party/blink/renderer/core/css/css_style_declaration.idl
index 7c75083..a3ffd3b 100644
--- a/third_party/blink/renderer/core/css/css_style_declaration.idl
+++ b/third_party/blink/renderer/core/css/css_style_declaration.idl
@@ -39,5 +39,5 @@
     // https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-camel-cased-attribute
     // https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-dashed-attribute
     getter (DOMString or float) (DOMString name);
-    [CEReactions, CallWith=ScriptState, RaisesException] setter void (DOMString property, DOMString? propertyValue);
+    [CEReactions, CallWith=ScriptState] setter void (DOMString property, DOMString? propertyValue);
 };
diff --git a/third_party/blink/renderer/core/editing/visible_selection_test.cc b/third_party/blink/renderer/core/editing/visible_selection_test.cc
index 5af76d9..9709dac 100644
--- a/third_party/blink/renderer/core/editing/visible_selection_test.cc
+++ b/third_party/blink/renderer/core/editing/visible_selection_test.cc
@@ -672,4 +672,23 @@
   EXPECT_EQ(Position(sample->firstChild(), 0), selection.Start());
 }
 
+// This is a regression test for https://crbug.com/825120
+TEST_F(VisibleSelectionTest, BackwardSelectionWithMultipleEmptyBodies) {
+  Element* body = GetDocument().body();
+  Element* new_body = GetDocument().CreateRawElement(HTMLNames::bodyTag);
+  body->appendChild(new_body);
+  GetDocument().UpdateStyleAndLayout();
+
+  const SelectionInDOMTree selection =
+      SelectionInDOMTree::Builder()
+          .Collapse(Position::BeforeNode(*new_body))
+          .Extend(Position::BeforeNode(*body))
+          .Build();
+  const VisibleSelection visible_selection = CreateVisibleSelection(selection);
+
+  EXPECT_EQ("^<body></body>", GetSelectionTextFromBody(selection));
+  EXPECT_EQ("|<body></body>",
+            GetSelectionTextFromBody(visible_selection.AsSelection()));
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/editing/visible_units.cc b/third_party/blink/renderer/core/editing/visible_units.cc
index fd7406b..9d2d5ff 100644
--- a/third_party/blink/renderer/core/editing/visible_units.cc
+++ b/third_party/blink/renderer/core/editing/visible_units.cc
@@ -1134,7 +1134,7 @@
   if (layout_object->IsLayoutBlockFlow() || layout_object->IsFlexibleBox() ||
       layout_object->IsLayoutGrid()) {
     if (ToLayoutBlock(layout_object)->LogicalHeight() ||
-        IsHTMLBodyElement(*anchor_node)) {
+        anchor_node->GetDocument().body() == anchor_node) {
       if (!HasRenderedNonAnonymousDescendantsWithHeight(layout_object))
         return position.AtFirstEditingPositionForNode();
       return HasEditableStyle(*anchor_node) && AtEditingBoundary(position);
diff --git a/third_party/blink/renderer/core/editing/visible_units_line_test.cc b/third_party/blink/renderer/core/editing/visible_units_line_test.cc
index dc22c70d..9f004c6 100644
--- a/third_party/blink/renderer/core/editing/visible_units_line_test.cc
+++ b/third_party/blink/renderer/core/editing/visible_units_line_test.cc
@@ -599,4 +599,28 @@
                 two->lastChild(), visible_position, kContentIsEditable));
 }
 
+TEST_F(VisibleUnitsLineTest, InSameLineSkippingEmptyEditableDiv) {
+  // This test records the InSameLine() results in
+  // editing/selection/skip-over-contenteditable.html
+  SetBodyContent(
+      "<p id=foo>foo</p>"
+      "<div contenteditable></div>"
+      "<p id=bar>bar</p>");
+  const Node* const foo = GetElementById("foo")->firstChild();
+  const Node* const bar = GetElementById("bar")->firstChild();
+
+  EXPECT_TRUE(InSameLine(
+      PositionWithAffinity(Position(foo, 3), TextAffinity::kDownstream),
+      PositionWithAffinity(Position(foo, 3), TextAffinity::kUpstream)));
+  EXPECT_FALSE(InSameLine(
+      PositionWithAffinity(Position(bar, 0), TextAffinity::kDownstream),
+      PositionWithAffinity(Position(foo, 3), TextAffinity::kDownstream)));
+  EXPECT_TRUE(InSameLine(
+      PositionWithAffinity(Position(bar, 3), TextAffinity::kDownstream),
+      PositionWithAffinity(Position(bar, 3), TextAffinity::kUpstream)));
+  EXPECT_FALSE(InSameLine(
+      PositionWithAffinity(Position(foo, 0), TextAffinity::kDownstream),
+      PositionWithAffinity(Position(bar, 0), TextAffinity::kDownstream)));
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/editing/visible_units_test.cc b/third_party/blink/renderer/core/editing/visible_units_test.cc
index 10418f8..719e0b0 100644
--- a/third_party/blink/renderer/core/editing/visible_units_test.cc
+++ b/third_party/blink/renderer/core/editing/visible_units_test.cc
@@ -270,7 +270,7 @@
       CreateVisiblePositionInFlatTree(*text, 2)));
 }
 
-TEST_F(VisibleUnitsTest, isVisuallyEquivalentCandidateWithHTMLHtmlElement) {
+TEST_F(VisibleUnitsTest, IsVisuallyEquivalentCandidateWithHTMLHtmlElement) {
   const char* body_content =
       "<html><div id=one contenteditable>1</div><span id=two "
       "contenteditable=false>22</span><span id=three "
@@ -307,6 +307,52 @@
   EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(two, 1)));
 }
 
+TEST_F(VisibleUnitsTest, isVisuallyEquivalentCandidateWithHTMLBodyElement) {
+  const char* body_content =
+      "<div id=one contenteditable>1</div><span id=two "
+      "contenteditable=false>22</span><span id=three "
+      "contenteditable=false>333</span><span id=four "
+      "contenteditable=false>333</span>";
+  SetBodyContent(body_content);
+
+  Node* one = GetDocument().QuerySelector("#one");
+  Node* two = GetDocument().QuerySelector("#two");
+  Node* three = GetDocument().QuerySelector("#three");
+  Node* four = GetDocument().QuerySelector("#four");
+  Element* body = GetDocument().CreateRawElement(HTMLNames::bodyTag);
+  Element* empty_body = GetDocument().CreateRawElement(HTMLNames::bodyTag);
+  Element* div = GetDocument().CreateRawElement(HTMLNames::divTag);
+  Element* br = GetDocument().CreateRawElement(HTMLNames::brTag);
+  empty_body->appendChild(div);
+  empty_body->appendChild(br);
+  one->appendChild(empty_body);
+  // Move two, three and four into second body element.
+  body->appendChild(two);
+  body->AppendChild(three);
+  body->AppendChild(four);
+  one->appendChild(body);
+  GetDocument().UpdateStyleAndLayout();
+
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(
+      Position(GetDocument().documentElement(), 0)));
+
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(one, 0)));
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(one, 1)));
+
+  EXPECT_TRUE(IsVisuallyEquivalentCandidate(Position(one->firstChild(), 0)));
+  EXPECT_TRUE(IsVisuallyEquivalentCandidate(Position(one->firstChild(), 1)));
+
+  EXPECT_TRUE(IsVisuallyEquivalentCandidate(Position(body, 0)));
+  EXPECT_TRUE(IsVisuallyEquivalentCandidate(Position(body, 1)));
+  EXPECT_TRUE(IsVisuallyEquivalentCandidate(Position(body, 2)));
+
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(two, 0)));
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(two, 1)));
+
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(empty_body, 0)));
+  EXPECT_FALSE(IsVisuallyEquivalentCandidate(Position(empty_body, 1)));
+}
+
 TEST_F(VisibleUnitsTest, isVisuallyEquivalentCandidateWithDocument) {
   UpdateAllLifecyclePhases();
 
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
index 11dbf20..a825578 100644
--- a/third_party/blink/renderer/core/page/page.cc
+++ b/third_party/blink/renderer/core/page/page.cc
@@ -820,6 +820,20 @@
                                              : PageLifecycleState::kHidden);
 }
 
+ukm::UkmRecorder* Page::GetUkmRecorder() {
+  Frame* frame = MainFrame();
+  if (!frame->IsLocalFrame())
+    return nullptr;
+  return ToLocalFrame(frame)->GetDocument()->UkmRecorder();
+}
+
+int64_t Page::GetUkmSourceId() {
+  Frame* frame = MainFrame();
+  if (!frame->IsLocalFrame())
+    return -1;
+  return ToLocalFrame(frame)->GetDocument()->UkmSourceID();
+}
+
 void Page::SetHasHighMediaEngagement(bool value) {
   has_high_media_engagement_ = value;
 }
diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h
index dae47554..e614d62 100644
--- a/third_party/blink/renderer/core/page/page.h
+++ b/third_party/blink/renderer/core/page/page.h
@@ -318,6 +318,8 @@
   void ReportIntervention(const String& message) override;
   void RequestBeginMainFrameNotExpected(bool new_state) override;
   void SetPageFrozen(bool frozen) override;
+  ukm::UkmRecorder* GetUkmRecorder() override;
+  int64_t GetUkmSourceId() override;
 
   void SetHasHighMediaEngagement(bool value);
 
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
index e8c1c5e7..87bd86db5 100644
--- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
+++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
@@ -642,9 +642,6 @@
     return;
   }
 
-  // TODO(crbug.com/756265): Our composited in-flow descendants expect to
-  // inherit our clip, and we shouldn't omit rounded clip if some descendants
-  // could be clipped by it.
   FloatRect bounds_in_ancestor_space =
       GetLayoutObject()
           .LocalToAncestorQuad(FloatRect(composited_bounds_),
diff --git a/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.cc b/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.cc
index 7d7b92f4..bd8179f 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.cc
@@ -46,6 +46,19 @@
   }
 };
 
+// Collects line box and inline fragments.
+class InlineFilter {
+ public:
+  bool IsCollectible(const NGPaintFragment* fragment) const {
+    return fragment->PhysicalFragment().IsInline() ||
+           fragment->PhysicalFragment().IsLineBox();
+  }
+  bool IsTraverse(const NGPaintFragment* fragment) {
+    return fragment->PhysicalFragment().IsContainer() &&
+           !fragment->PhysicalFragment().IsBlockLayoutRoot();
+  }
+};
+
 // Collect only fragments that belong to this LayoutObject.
 class LayoutObjectFilter {
  public:
@@ -73,6 +86,15 @@
 }
 
 Vector<NGPaintFragmentWithContainerOffset>
+NGPaintFragmentTraversal::InlineDescendantsOf(
+    const NGPaintFragment& container) {
+  Vector<NGPaintFragmentWithContainerOffset> result;
+  InlineFilter filter;
+  CollectPaintFragments(container, NGPhysicalOffset(), filter, &result);
+  return result;
+}
+
+Vector<NGPaintFragmentWithContainerOffset>
 NGPaintFragmentTraversal::SelfFragmentsOf(const NGPaintFragment& container,
                                           const LayoutObject* target) {
   Vector<NGPaintFragmentWithContainerOffset> result;
diff --git a/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.h b/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.h
index 060eb40..8e83aeb 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.h
+++ b/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal.h
@@ -27,10 +27,14 @@
   STATIC_ONLY(NGPaintFragmentTraversal);
 
  public:
-  // Return descendants without paint layer in preorder.
+  // Returns descendants without paint layer in preorder.
   static Vector<NGPaintFragmentWithContainerOffset> DescendantsOf(
       const NGPaintFragment&);
 
+  // Returns inline descendants in preorder.
+  static Vector<NGPaintFragmentWithContainerOffset> InlineDescendantsOf(
+      const NGPaintFragment&);
+
   static Vector<NGPaintFragmentWithContainerOffset> SelfFragmentsOf(
       const NGPaintFragment&,
       const LayoutObject* target);
diff --git a/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal_test.cc b/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal_test.cc
index d62a618..6482613 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal_test.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_paint_fragment_traversal_test.cc
@@ -49,4 +49,30 @@
             NGPaintFragmentTraversal::PreviousLineOf(*RootChildren()[1]));
 }
 
+TEST_F(NGPaintFragmentTraversalTest, InlineDescendantsOf) {
+  SetUpHtml("t",
+            "<ul>"
+            "<li id=t style='position: absolute'>"
+            "<span style='float: right'>float</span>"
+            "<span style='position: absolute'>oof</span>"
+            "text<br>"
+            "<span style='display: inline-block'>inline block</span>"
+            "</li>"
+            "</ul>");
+
+  // Tests that floats, out-of-flow positioned and descendants of atomic inlines
+  // are excluded.
+  auto descendants =
+      NGPaintFragmentTraversal::InlineDescendantsOf(*root_fragment_);
+  ASSERT_EQ(6u, descendants.size());
+  // TODO(layout-dev): This list marker is not in any line box. Should it be
+  // treated as inline?
+  EXPECT_TRUE(descendants[0].fragment->PhysicalFragment().IsListMarker());
+  EXPECT_TRUE(descendants[1].fragment->PhysicalFragment().IsLineBox());
+  EXPECT_TRUE(descendants[2].fragment->PhysicalFragment().IsText());  // "text"
+  EXPECT_TRUE(descendants[3].fragment->PhysicalFragment().IsText());  // "br"
+  EXPECT_TRUE(descendants[4].fragment->PhysicalFragment().IsLineBox());
+  EXPECT_TRUE(descendants[5].fragment->PhysicalFragment().IsAtomicInline());
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc b/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
index d045991..8659357 100644
--- a/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
+++ b/third_party/blink/renderer/modules/media_controls/media_controls_impl.cc
@@ -101,6 +101,12 @@
                                                kAndroidMediaPanelHeight +
                                                (2 * kOverlayBottomMargin);
 
+// TODO(steimel): When modern media controls launches, remove above constants
+// and rename below constants.
+// (2px left border + 6px left padding + 56px button + 6px right padding + 2px
+// right border) = 72px.
+constexpr int kModernMinWidthForOverlayPlayButton = 72;
+
 constexpr int kMinScrubbingMessageWidth = 300;
 
 const char* kStateCSSClasses[7] = {
@@ -1132,7 +1138,7 @@
 
   // These are the elements in order of priority that take up vertical room.
   MediaControlElementBase* column_elements[] = {
-      overlay_play_button_.Get(), media_button_panel_.Get(), timeline_.Get(),
+      media_button_panel_.Get(), timeline_.Get(),
   };
 
   // Current size of the media controls.
@@ -1141,6 +1147,16 @@
   // The video controls are more than one row so we need to allocate vertical
   // room and hide the overlay play button if there is not enough room.
   if (MediaElement().IsHTMLVideoElement() && !is_acting_as_audio_controls_) {
+    // Allocate vertical room for overlay play button if necessary.
+    WebSize overlay_play_button_size = overlay_play_button_->GetSizeOrDefault();
+    if (controls_size.height >= overlay_play_button_size.height &&
+        controls_size.width >= kModernMinWidthForOverlayPlayButton) {
+      overlay_play_button_->SetDoesFit(true);
+      controls_size.height -= overlay_play_button_size.height;
+    } else {
+      overlay_play_button_->SetDoesFit(false);
+    }
+
     controls_size.width -= kModernControlsVideoButtonPadding;
 
     // Allocate vertical room for the column elements.
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 7ecd4dca..79dcb59c 100644
--- a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
+++ b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
@@ -51,10 +51,6 @@
   width: 100%;
 }
 
-video::-webkit-media-controls-overlay-enclosure {
-  display: none;
-}
-
 audio::-webkit-media-controls-panel,
 video::-webkit-media-controls-panel {
   -webkit-appearance: -internal-media-control;
@@ -747,6 +743,36 @@
 }
 
 /**
+ * Overlay cast button
+ */
+
+video::-internal-media-controls-overlay-cast-button {
+    -webkit-appearance: none;
+    background-image: -webkit-image-set(
+      url(default_100_percent/legacy/mediaplayer_overlay_cast_off.png) 1x);
+    background-size: cover;
+    background-repeat: no-repeat;
+    background-position: center center;
+    display: flex;
+    position: absolute;
+    top: 8px;
+    left: 8px;
+    margin-left: 0px;
+    margin-top: 0px;
+    border-width: 0px;
+    background-color: transparent;
+    width: 48px;
+    height: 48px;
+    padding: 0;
+    transition: opacity 0.3s;
+}
+
+video::-internal-media-controls-overlay-cast-button.on {
+    background-image: -webkit-image-set(
+      url(default_100_percent/legacy/mediaplayer_overlay_cast_on.png) 1x);
+}
+
+/**
  * Scrubbing
  */
 
diff --git a/third_party/blink/renderer/platform/scheduler/BUILD.gn b/third_party/blink/renderer/platform/scheduler/BUILD.gn
index 91eab72..5876cf36 100644
--- a/third_party/blink/renderer/platform/scheduler/BUILD.gn
+++ b/third_party/blink/renderer/platform/scheduler/BUILD.gn
@@ -154,6 +154,7 @@
     "//base",
     "//cc",
     "//device/base/synchronization",
+    "//services/metrics/public/cpp:ukm_builders",
     "//third_party/blink/renderer/platform:make_platform_generated",
     "//third_party/blink/renderer/platform/wtf",
   ]
diff --git a/third_party/blink/renderer/platform/scheduler/DEPS b/third_party/blink/renderer/platform/scheduler/DEPS
index b106a03..a011b9d 100644
--- a/third_party/blink/renderer/platform/scheduler/DEPS
+++ b/third_party/blink/renderer/platform/scheduler/DEPS
@@ -30,6 +30,7 @@
   "+base/threading/sequenced_task_runner_handle.h",
   "+base/threading/thread.h",
   "+base/threading/thread_checker.h",
+  "+services/metrics",
 ]
 
 specific_include_rules = {
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
index b466929..deeac84 100644
--- a/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.cc
@@ -5,6 +5,7 @@
 #include "third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h"
 
 #include <memory>
+
 #include "base/bind.h"
 #include "base/debug/stack_trace.h"
 #include "base/feature_list.h"
@@ -19,6 +20,7 @@
 #include "base/trace_event/trace_event_argument.h"
 #include "build/build_config.h"
 #include "components/viz/common/frame_sinks/begin_frame_args.h"
+#include "services/metrics/public/cpp/ukm_builders.h"
 #include "third_party/blink/public/common/page/launching_process_state.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/public/platform/scheduler/renderer_process_type.h"
@@ -57,6 +59,7 @@
     base::TimeDelta::FromSeconds(5);
 constexpr base::TimeDelta kQueueingTimeWindowDuration =
     base::TimeDelta::FromSeconds(1);
+const double kSamplingRateForTaskUkm = 0.0001;
 
 // Field trial name.
 const char kWakeUpThrottlingTrial[] = "RendererSchedulerWakeUpThrottling";
@@ -519,7 +522,8 @@
       virtual_time_pause_count(0),
       max_virtual_time_task_starvation_count(0),
       virtual_time_stopped(false),
-      nested_runloop(false) {}
+      nested_runloop(false),
+      uniform_distribution(0.0f, 1.0f) {}
 
 RendererSchedulerImpl::MainThreadOnly::~MainThreadOnly() = default;
 
@@ -2492,6 +2496,65 @@
   main_thread_only().task_description_for_tracing = base::nullopt;
 }
 
+void RendererSchedulerImpl::RecordTaskUkm(
+    MainThreadTaskQueue* queue,
+    const TaskQueue::Task& task,
+    base::TimeTicks start,
+    base::TimeTicks end,
+    base::Optional<base::TimeDelta> thread_time) {
+  if (!ShouldRecordTaskUkm())
+    return;
+
+  if (queue && queue->GetFrameScheduler()) {
+    RecordTaskUkmImpl(queue, task, start, end, thread_time,
+                      static_cast<PageSchedulerImpl*>(
+                          queue->GetFrameScheduler()->GetPageScheduler()),
+                      1);
+    return;
+  }
+
+  for (PageSchedulerImpl* page_scheduler : main_thread_only().page_schedulers) {
+    RecordTaskUkmImpl(queue, task, start, end, thread_time, page_scheduler,
+                      main_thread_only().page_schedulers.size());
+  }
+}
+
+void RendererSchedulerImpl::RecordTaskUkmImpl(
+    MainThreadTaskQueue* queue,
+    const TaskQueue::Task& task,
+    base::TimeTicks start,
+    base::TimeTicks end,
+    base::Optional<base::TimeDelta> thread_time,
+    PageSchedulerImpl* page_scheduler,
+    size_t page_schedulers_to_attribute) {
+  ukm::UkmRecorder* ukm_recorder = page_scheduler->GetUkmRecorder();
+  // OOPIFs are not supported.
+  if (!ukm_recorder)
+    return;
+
+  ukm::builders::RendererSchedulerTask builder(
+      page_scheduler->GetUkmSourceId());
+
+  builder.SetPageSchedulers(page_schedulers_to_attribute);
+  builder.SetRendererBackgrounded(main_thread_only().renderer_backgrounded);
+  builder.SetRendererHidden(main_thread_only().renderer_hidden);
+  builder.SetRendererAudible(main_thread_only().is_audio_playing);
+  builder.SetUseCase(
+      static_cast<int>(main_thread_only().current_use_case.get()));
+  builder.SetTaskType(task.task_type());
+  builder.SetQueueType(static_cast<int>(
+      queue ? queue->queue_type() : MainThreadTaskQueue::QueueType::kDetached));
+  builder.SetFrameStatus(static_cast<int>(
+      GetFrameStatus(queue ? queue->GetFrameScheduler() : nullptr)));
+  builder.SetTaskDuration((end - start).InMicroseconds());
+
+  if (thread_time) {
+    builder.SetTaskDuration(thread_time->InMicroseconds());
+  }
+
+  builder.Record(ukm_recorder);
+}
+
 void RendererSchedulerImpl::OnBeginNestedRunLoop() {
   seqlock_queueing_time_estimator_.seqlock.WriteBegin();
   seqlock_queueing_time_estimator_.data.OnBeginNestedRunLoop();
@@ -2624,6 +2687,12 @@
   return weak_factory_.GetWeakPtr();
 }
 
+bool RendererSchedulerImpl::ShouldRecordTaskUkm() {
+  // This function returns true with probability of kSamplingRateForTaskUkm.
+  return main_thread_only().uniform_distribution(
+             main_thread_only().random_generator) < kSamplingRateForTaskUkm;
+}
+
 // static
 const char* RendererSchedulerImpl::UseCaseToString(UseCase use_case) {
   switch (use_case) {
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h b/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h
index 14b3c73..037d72f 100644
--- a/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h
@@ -5,6 +5,8 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_MAIN_THREAD_MAIN_THREAD_SCHEDULER_IMPL_H_
 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_MAIN_THREAD_MAIN_THREAD_SCHEDULER_IMPL_H_
 
+#include <random>
+
 #include "base/atomicops.h"
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
@@ -580,6 +582,25 @@
   // TaskQueueThrottler.
   void VirtualTimeResumed();
 
+  bool ShouldRecordTaskUkm();
+
+  // Probabilistically record all task metadata for the current task.
+  // If task belongs to a per-frame queue, this task is attributed to
+  // a particular Page, otherwise it's attributed to all Pages in the process.
+  void RecordTaskUkm(MainThreadTaskQueue* queue,
+                     const TaskQueue::Task& task,
+                     base::TimeTicks start,
+                     base::TimeTicks end,
+                     base::Optional<base::TimeDelta> thread_time);
+
+  void RecordTaskUkmImpl(MainThreadTaskQueue* queue,
+                         const TaskQueue::Task& task,
+                         base::TimeTicks start,
+                         base::TimeTicks end,
+                         base::Optional<base::TimeDelta> thread_time,
+                         PageSchedulerImpl* page_scheduler,
+                         size_t page_schedulers_to_attribute);
+
   // Indicates that scheduler has been shutdown.
   // It should be accessed only on the main thread, but couldn't be a member
   // of MainThreadOnly struct because last might be destructed before we
@@ -722,6 +743,9 @@
     int max_virtual_time_task_starvation_count;
     bool virtual_time_stopped;
     bool nested_runloop;
+
+    std::mt19937_64 random_generator;
+    std::uniform_real_distribution<double> uniform_distribution;
   };
 
   struct AnyThread {
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
index a4b0a1f..d2f05d15 100644
--- a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
@@ -383,5 +383,13 @@
       max_task_starvation_count);
 }
 
+ukm::UkmRecorder* PageSchedulerImpl::GetUkmRecorder() {
+  return delegate_->GetUkmRecorder();
+}
+
+int64_t PageSchedulerImpl::GetUkmSourceId() {
+  return delegate_->GetUkmSourceId();
+}
+
 }  // namespace scheduler
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.h b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.h
index 2fbeff2..1d4ddb6 100644
--- a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.h
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.h
@@ -91,6 +91,9 @@
 
   void AsValueInto(base::trace_event::TracedValue* state) const;
 
+  ukm::UkmRecorder* GetUkmRecorder();
+  int64_t GetUkmSourceId();
+
   base::WeakPtr<PageSchedulerImpl> GetWeakPtr() {
     return weak_factory_.GetWeakPtr();
   }
diff --git a/third_party/blink/renderer/platform/scheduler/public/page_scheduler.h b/third_party/blink/renderer/platform/scheduler/public/page_scheduler.h
index 6570fe7..fdec4b7 100644
--- a/third_party/blink/renderer/platform/scheduler/public/page_scheduler.h
+++ b/third_party/blink/renderer/platform/scheduler/public/page_scheduler.h
@@ -12,6 +12,10 @@
 #include "third_party/blink/renderer/platform/wtf/functional.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
+namespace ukm {
+class UkmRecorder;
+}
+
 namespace blink {
 
 class PLATFORM_EXPORT PageScheduler {
@@ -23,6 +27,8 @@
     virtual void ReportIntervention(const WTF::String& message) = 0;
     virtual void RequestBeginMainFrameNotExpected(bool new_state) = 0;
     virtual void SetPageFrozen(bool frozen) = 0;
+    virtual ukm::UkmRecorder* GetUkmRecorder() = 0;
+    virtual int64_t GetUkmSourceId() = 0;
   };
 
   virtual ~PageScheduler() = default;
diff --git a/tools/binary_size/libsupersize/archive.py b/tools/binary_size/libsupersize/archive.py
index 1ef5ecb..abeefa7 100644
--- a/tools/binary_size/libsupersize/archive.py
+++ b/tools/binary_size/libsupersize/archive.py
@@ -57,6 +57,14 @@
     # change.
     self.pak_compression_ratio = 0.33
 
+    # File name: Source file.
+    self.apk_other_files = {
+      'icudtl.dat': 'third_party/icu/android/icudtl.dat',
+      'snapshot_blob_32.bin': 'v8/snapshot_blob_32.bin',
+      'snapshot_blob_64.bin': 'v8/snapshot_blob_64.bin',
+      'natives_blob.bin': 'v8/natives_blob.bin',
+    }
+
 
 def _OpenMaybeGz(path):
   """Calls `gzip.open()` if |path| ends in ".gz", otherwise calls `open()`."""
@@ -811,7 +819,7 @@
   return symbols
 
 
-def _ParseApkOtherSymbols(section_sizes, apk_path, apk_so_path):
+def _ParseApkOtherSymbols(section_sizes, apk_path, apk_so_path, knobs):
   apk_name = os.path.basename(apk_path)
   apk_symbols = []
   zip_info_total = 0
@@ -823,7 +831,9 @@
           or zip_info.filename.endswith('.dex')
           or zip_info.filename.endswith('.pak')):
         continue
-      path = os.path.join(apk_name, 'other', zip_info.filename)
+      file_name = os.path.basename(zip_info.filename)
+      path = knobs.apk_other_files.get(
+          file_name, os.path.join(apk_name, 'other', zip_info.filename))
       apk_symbols.append(models.Symbol(
             models.SECTION_OTHER, zip_info.compress_size,
             object_path=path, full_name=os.path.basename(zip_info.filename)))
@@ -941,7 +951,7 @@
     raw_symbols.extend(
         _ParseDexSymbols(section_sizes, apk_path, output_directory))
     raw_symbols.extend(
-        _ParseApkOtherSymbols(section_sizes, apk_path, apk_so_path))
+        _ParseApkOtherSymbols(section_sizes, apk_path, apk_so_path, knobs))
   elif pak_files and pak_info_file:
     pak_symbols_by_id = _FindPakSymbolsFromFiles(
         pak_files, pak_info_file, output_directory)
@@ -1068,7 +1078,8 @@
   format_text = file_output[file_output.find(': ') + 2:]
   # File-not-found -> 'cannot ...' and directory -> 'directory', which don't
   # match anything here, so they are handled by the final 'return False'.
-  if format_text.startswith('Java archive data '):
+  if (format_text.startswith('Java archive data') or
+      format_text.startswith('Zip archive data')):
     logging.info('Auto-identified --apk-file.')
     args.apk_file = args.f
     return True
diff --git a/tools/binary_size/libsupersize/integration_test.py b/tools/binary_size/libsupersize/integration_test.py
index 54161f3..268375a3 100755
--- a/tools/binary_size/libsupersize/integration_test.py
+++ b/tools/binary_size/libsupersize/integration_test.py
@@ -45,6 +45,7 @@
 _TEST_APK_SO_PATH = 'test.so'
 _TEST_APK_SMALL_SO_PATH = 'smalltest.so'
 _TEST_APK_DEX_PATH = 'test.dex'
+_TEST_APK_OTHER_FILE_PATH = 'icudtl.dat'
 
 update_goldens = False
 
@@ -134,9 +135,12 @@
       elf_file.write(IntegrationTest._CreateBlankData(27))
     with zipfile.ZipFile(_TEST_APK_PATH, 'w') as apk_file:
       apk_file.write(_TEST_ELF_PATH, _TEST_APK_SO_PATH)
-      # Exactly 8MB of data (2^23).
+      # Exactly 4MB of data (2^22).
       apk_file.writestr(
-          _TEST_APK_SMALL_SO_PATH, IntegrationTest._CreateBlankData(23))
+          _TEST_APK_SMALL_SO_PATH, IntegrationTest._CreateBlankData(22))
+      # Exactly 1MB of data (2^20).
+      apk_file.writestr(
+          _TEST_APK_OTHER_FILE_PATH, IntegrationTest._CreateBlankData(20))
       pak_rel_path = os.path.relpath(_TEST_APK_PAK_PATH, _TEST_APK_ROOT_DIR)
       apk_file.write(_TEST_APK_PAK_PATH, pak_rel_path)
       # Exactly 8MB of data (2^23).
diff --git a/tools/binary_size/libsupersize/testdata/Archive_Apk.golden b/tools/binary_size/libsupersize/testdata/Archive_Apk.golden
index 9344490..428204e7 100644
--- a/tools/binary_size/libsupersize/testdata/Archive_Apk.golden
+++ b/tools/binary_size/libsupersize/testdata/Archive_Apk.golden
@@ -1,5 +1,5 @@
 apk_file_name=test.apk
-apk_size=151002494
+apk_size=147856862
 elf_arch=arm
 elf_build_id=WhatAnAmazingBuildId
 elf_file_name=elf
@@ -42,8 +42,8 @@
 * Padding accounts for 0 bytes (0.0%)
 * Contains 0 aliases
 * 0 symbols have shared ownership
-Section .other: has 100.0% of 42373191 bytes accounted for from 3 symbols. 0 bytes are unaccounted for.
-* Padding accounts for 33984583 bytes (80.2%)
+Section .other: has 100.0% of 39227559 bytes accounted for from 4 symbols. 0 bytes are unaccounted for.
+* Padding accounts for 33984679 bytes (86.6%)
 * Contains 0 aliases
 * 0 symbols have shared ownership
 .data@2de7000(size_without_padding=4,padding=0,full_name=google::protobuf::internal::pLinuxKernelCmpxchg,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={},num_aliases=1)
@@ -254,8 +254,9 @@
 .dex.method@0(size_without_padding=79,padding=0,full_name=org.chromium.chrome.browser.compositor.layouts.phone.stack.StackAnimationLandscape float getScreenPositionInScrollDirection(org.chromium.chrome.browser.compositor.layouts.phone.stack.StackTab),object_path=test.apk/prebuilt/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape,source_path=,flags={gen},num_aliases=1)
 .dex.method@0(size_without_padding=54,padding=0,full_name=org.chromium.chrome.browser.compositor.layouts.phone.stack.StackAnimationLandscape float getScreenSizeInScrollDirection(),object_path=test.apk/prebuilt/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape,source_path=,flags={gen},num_aliases=1)
 .dex.method@0(size_without_padding=52,padding=0,full_name=org.chromium.chrome.browser.compositor.layouts.phone.stack.StackAnimationLandscape boolean isDefaultDiscardDirectionPositive(),object_path=test.apk/prebuilt/org/chromium/chrome/browser/compositor/layouts/phone/stack/StackAnimationLandscape,source_path=,flags={gen},num_aliases=1)
-.other@0(size_without_padding=8388608,padding=0,full_name=smalltest.so,object_path=test.apk/other/smalltest.so,source_path=,flags={},num_aliases=1)
-.other@0(size_without_padding=0,padding=412,full_name=Overhead: APK file,object_path=,source_path=,flags={},num_aliases=1)
+.other@0(size_without_padding=4194304,padding=0,full_name=smalltest.so,object_path=test.apk/other/smalltest.so,source_path=,flags={},num_aliases=1)
+.other@0(size_without_padding=1048576,padding=0,full_name=icudtl.dat,object_path=third_party/icu/android/icudtl.dat,source_path=,flags={},num_aliases=1)
+.other@0(size_without_padding=0,padding=508,full_name=Overhead: APK file,object_path=,source_path=,flags={},num_aliases=1)
 .other@0(size_without_padding=0,padding=33984171,full_name=Overhead: ELF file,object_path=,source_path=,flags={},num_aliases=1)
 .rodata@266e600(size_without_padding=5,padding=0,full_name=string literal,object_path=base/base/page_allocator.o,source_path=base/page_allocator.cc,flags={},num_aliases=2)
 .rodata@266e600(size_without_padding=5,padding=0,full_name=string literal,object_path=third_party/icu/icuuc/ucnv_ext.o,source_path=third_party/icu/ucnv_ext.c,flags={gen},num_aliases=2)
diff --git a/tools/cfi/blacklist.txt b/tools/cfi/blacklist.txt
index f168d8b0..96f0ca0 100644
--- a/tools/cfi/blacklist.txt
+++ b/tools/cfi/blacklist.txt
@@ -196,6 +196,11 @@
 # v8 callback that casts argument template parameters
 fun:*PendingPhantomCallback*Invoke*
 
+# weak_callback_ is cast from original type.
+fun:*GlobalHandles*PostGarbageCollectionProcessing*
+
+fun:*InvokeAccessorGetterCallback*
+
 ######### Uncategorized
 
 src:*native_client/*
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index fb2cf86..aff5e53 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -22864,10 +22864,13 @@
   <int value="21" label="DeleteDatabase"/>
   <int value="22" label="TransactionCommit"/>
   <int value="23" label="GetDatabaseNames"/>
-  <int value="24" label="ReadBlobJournal"/>
-  <int value="25" label="DecodeBlobJournal"/>
-  <int value="26" label="GetBlobKeyGeneratorCurrentNumber"/>
-  <int value="27" label="GetBlobInfoForRecord"/>
+  <int value="24" label="DeleteIndex"/>
+  <int value="25" label="ClearObjectStore"/>
+  <int value="26" label="ReadBlobJournal"/>
+  <int value="27" label="DecodeBlobJournal"/>
+  <int value="28" label="GetBlobKeyGeneratorCurrentNumber"/>
+  <int value="29" label="GetBlobInfoForRecord"/>
+  <int value="30" label="UpgradingSchemaWithCorruptedBlobs"/>
 </enum>
 
 <enum name="IDBLevelDBBackingStoreOpenResult">
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 2b63187..2ae2a1dd 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -19375,6 +19375,20 @@
   <summary>Content types of the downloads.</summary>
 </histogram>
 
+<histogram name="Download.Start.ContentType.InsecureChain"
+    enum="DownloadContentType">
+  <owner>cthomp@chromium.org</owner>
+  <owner>estark@chromium.org</owner>
+  <summary>
+    The content type of a download, for downloads where the final resolved URL
+    or any redirect before the final URL are insecure. To normalize these
+    numbers, divide the counts by the counts of Download.Start.ContentType (to
+    measure the proportion for each content type downloaded insecurely) or by
+    the sum of Download.Start.ContentType (to measure the proportion of a
+    particular insecure download content type over all downloads).
+  </summary>
+</histogram>
+
 <histogram name="Download.Start.ContentType.NormalProfile"
     enum="DownloadContentType">
   <owner>shaktisahu@chromium.org</owner>
@@ -19383,6 +19397,20 @@
   </summary>
 </histogram>
 
+<histogram name="Download.Start.ContentType.SecureChain"
+    enum="DownloadContentType">
+  <owner>cthomp@chromium.org</owner>
+  <owner>estark@chromium.org</owner>
+  <summary>
+    The content type of a download, for downloads where the final resolved URL
+    and all redirects before the final URL are secure. To normalize these
+    numbers, divide the counts by the counts of Download.Start.ContentType (to
+    measure the proportion for each content type downloaded securely) or by the
+    sum of Download.Start.ContentType (to measure the proportion of a particular
+    secure download content type over all downloads).
+  </summary>
+</histogram>
+
 <histogram name="Download.TargetConnectionSecurity"
     enum="DownloadConnectionSecurity">
   <owner>jialiul@chromium.org</owner>
@@ -96528,6 +96556,9 @@
 
 <histogram name="UMA.CreatePersistentHistogram.Result"
     enum="CreatePersistentHistogramResult">
+  <obsolete>
+    Removed April, 2018 as the information has never shown any problems.
+  </obsolete>
   <owner>asvitkine@chromium.org</owner>
   <owner>bcwhite@chromium.org</owner>
   <summary>
@@ -96748,6 +96779,9 @@
 </histogram>
 
 <histogram name="UMA.FileMetricsProvider.DeletedFiles">
+  <obsolete>
+    Removed April, 2018 as the information it provides is no longer useful.
+  </obsolete>
   <owner>asvitkine@chromium.org</owner>
   <owner>bcwhite@chromium.org</owner>
   <summary>
@@ -96759,6 +96793,9 @@
 </histogram>
 
 <histogram name="UMA.FileMetricsProvider.DirectoryFiles">
+  <obsolete>
+    Removed April, 2018 as no problems were ever indicated.
+  </obsolete>
   <owner>asvitkine@chromium.org</owner>
   <owner>bcwhite@chromium.org</owner>
   <summary>
@@ -96832,6 +96869,9 @@
 </histogram>
 
 <histogram name="UMA.FileMetricsProvider.InitialCheckTime.Total" units="ms">
+  <obsolete>
+    Removed April, 2018 as the information it provides is no longer useful.
+  </obsolete>
   <owner>asvitkine@chromium.org</owner>
   <owner>bcwhite@chromium.org</owner>
   <summary>
@@ -96850,6 +96890,9 @@
 </histogram>
 
 <histogram name="UMA.FileMetricsProvider.InitialSnapshotTime.Total" units="ms">
+  <obsolete>
+    Removed April, 2018 as the information it provides is no longer useful.
+  </obsolete>
   <owner>asvitkine@chromium.org</owner>
   <owner>bcwhite@chromium.org</owner>
   <summary>
@@ -96867,6 +96910,9 @@
 </histogram>
 
 <histogram name="UMA.FileMetricsProvider.SnapshotTime.Total" units="ms">
+  <obsolete>
+    Removed April, 2018 as the information it provides is no longer useful.
+  </obsolete>
   <owner>asvitkine@chromium.org</owner>
   <owner>bcwhite@chromium.org</owner>
   <summary>
@@ -101634,6 +101680,34 @@
   </summary>
 </histogram>
 
+<histogram name="WebCore.IndexedDB.SchemaV2HasBlobs" enum="Boolean">
+  <owner>dmurph@chromium.org</owner>
+  <summary>
+    Records if a v2 schema has blob keys in the database, which means the
+    database is corrupt. These databases will eventually be wiped as corrupt.
+    Recorded when the IndexedDB backing store for an origin is first opened,
+    which happens when a IndexedDB database connection is opened or when
+    database names are fetched. Note: The backing store stays alive for
+    subsequent connections, and sticks around for a couple seconds after the
+    last connection is closed. See WebCore.IndexedDB.SchemaV2HasBlobs.Docs for
+    the Docs-only version.
+  </summary>
+</histogram>
+
+<histogram name="WebCore.IndexedDB.SchemaV2HasBlobs.Docs" enum="Boolean">
+  <owner>dmurph@chromium.org</owner>
+  <summary>
+    Records if a v2 schema has blob keys in the database, which means the
+    database is corrupt.  These databases will eventually be wiped as corrupt.
+    Recorded when the IndexedDB backing store for an origin is first opened,
+    which happens when a IndexedDB database connection is opened or when
+    database names are fetched. Note: The backing store stays alive for
+    subsequent connections, and sticks around for a couple seconds after the
+    last connection is closed. Only for docs.google.com. Note that these samples
+    will also be recorded in WebCore.IndexedDB.SchemaV2HasBlobs.
+  </summary>
+</histogram>
+
 <histogram name="WebCore.IndexedDB.SchemaVersion" units="version">
   <owner>dmurph@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml
index c982029..ebffef9 100644
--- a/tools/metrics/ukm/ukm.xml
+++ b/tools/metrics/ukm/ukm.xml
@@ -2450,6 +2450,73 @@
   </metric>
 </event>
 
+<event name="RendererSchedulerTask">
+  <owner>altimin@chromium.org</owner>
+  <summary>
+    Sampled task from the renderer main thread. Sample rate is controlled
+    dynamically. See
+    blink::scheduler::MainThreadSchedulerImpl::ShouldRecordTaskUkm.
+  </summary>
+  <metric name="FrameStatus">
+    <summary>
+      Frame status of the frame associated with the context of this task. See
+      blink::scheduler::FrameStatus for the values of this enum.
+    </summary>
+  </metric>
+  <metric name="PageSchedulers">
+    <summary>
+      Number of pages this task should be attributed to. One if there is a hard
+      attribution, number of pages in the process otherwise.
+    </summary>
+  </metric>
+  <metric name="QueueType">
+    <summary>
+      Type of the task queue which this task was posted to. See
+      blink::scheduler::MainThreadTaskQueue::TaskType for the values of this
+      enum.
+    </summary>
+  </metric>
+  <metric name="RendererAudible">
+    <summary>
+      Whether renderer was playing audio when this task was run. Boolean,
+      encoded as an integer (0/1).
+    </summary>
+  </metric>
+  <metric name="RendererBackgrounded">
+    <summary>
+      Whether renderer was backgrounded when this task was run. Boolean, encoded
+      as an integer (0/1).
+    </summary>
+  </metric>
+  <metric name="RendererHidden">
+    <summary>
+      Whether renderer was hidden when this task was run. Boolean, encoded as an
+      integer (0/1).
+    </summary>
+  </metric>
+  <metric name="TaskCPUDuration">
+    <summary>
+      CPU duration of this task in microseconds.
+    </summary>
+  </metric>
+  <metric name="TaskDuration">
+    <summary>
+      Duration of this task in microseconds.
+    </summary>
+  </metric>
+  <metric name="TaskType">
+    <summary>
+      blink::TaskType for the current task.
+    </summary>
+  </metric>
+  <metric name="UseCase">
+    <summary>
+      MainThreadSchedulerImpl's UseCase when this task was run. See
+      blink::scheduler::UseCase for the values of this enum.
+    </summary>
+  </metric>
+</event>
+
 <event name="Pepper.Broker" singular="True">
   <owner>raymes@chromium.org</owner>
   <summary>
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
index 76e9f4f..1b2d944 100644
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -251,8 +251,8 @@
     "java/src/org/chromium/ui/widget/TextViewWithClickableSpans.java",
     "java/src/org/chromium/ui/widget/TextViewWithLeading.java",
     "java/src/org/chromium/ui/widget/Toast.java",
+    "java/src/org/chromium/ui/widget/UiWidgetFactory.java",
     "java/src/org/chromium/ui/widget/ViewRectProvider.java",
-    "java/src/org/chromium/ui/widget/popups/UiWidgetFactory.java",
   ]
   deps = [
     ":ui_java_resources",
diff --git a/ui/android/java/src/org/chromium/ui/widget/AnchoredPopupWindow.java b/ui/android/java/src/org/chromium/ui/widget/AnchoredPopupWindow.java
index 4ed3e78..965309b 100644
--- a/ui/android/java/src/org/chromium/ui/widget/AnchoredPopupWindow.java
+++ b/ui/android/java/src/org/chromium/ui/widget/AnchoredPopupWindow.java
@@ -22,7 +22,6 @@
 
 import org.chromium.base.ObserverList;
 import org.chromium.base.VisibleForTesting;
-import org.chromium.ui.widget.popups.UiWidgetFactory;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/ui/android/java/src/org/chromium/ui/widget/Toast.java b/ui/android/java/src/org/chromium/ui/widget/Toast.java
index 5a524ee..aa8a39f 100644
--- a/ui/android/java/src/org/chromium/ui/widget/Toast.java
+++ b/ui/android/java/src/org/chromium/ui/widget/Toast.java
@@ -17,7 +17,6 @@
 import android.widget.FrameLayout;
 
 import org.chromium.base.SysUtils;
-import org.chromium.ui.widget.popups.UiWidgetFactory;
 
 /**
  * Toast wrapper, makes sure toasts are not HW accelerated on low-end devices and presented
diff --git a/ui/android/java/src/org/chromium/ui/widget/popups/UiWidgetFactory.java b/ui/android/java/src/org/chromium/ui/widget/UiWidgetFactory.java
similarity index 97%
rename from ui/android/java/src/org/chromium/ui/widget/popups/UiWidgetFactory.java
rename to ui/android/java/src/org/chromium/ui/widget/UiWidgetFactory.java
index 140bfc4f..ac63ea6ea 100644
--- a/ui/android/java/src/org/chromium/ui/widget/popups/UiWidgetFactory.java
+++ b/ui/android/java/src/org/chromium/ui/widget/UiWidgetFactory.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.ui.widget.popups;
+package org.chromium.ui.widget;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
diff --git a/ui/aura/window_tree_host.cc b/ui/aura/window_tree_host.cc
index 45d511f..fcdb55f 100644
--- a/ui/aura/window_tree_host.cc
+++ b/ui/aura/window_tree_host.cc
@@ -118,11 +118,9 @@
 
 void WindowTreeHost::UpdateRootWindowSizeInPixels(
     const gfx::Size& host_size_in_pixels) {
-  gfx::Rect bounds(host_size_in_pixels.width(), host_size_in_pixels.height());
-  gfx::RectF new_bounds =
-      gfx::ScaleRect(gfx::RectF(bounds), 1.0f / device_scale_factor_);
-  window()->layer()->transform().TransformRect(&new_bounds);
-  window()->SetBounds(gfx::ToEnclosingRect(new_bounds));
+  gfx::Rect transformed_bounds_in_pixels =
+      GetTransformedRootWindowBoundsInPixels(host_size_in_pixels);
+  window()->SetBounds(transformed_bounds_in_pixels);
   window()->SetDeviceScaleFactor(device_scale_factor_);
 }
 
@@ -408,6 +406,15 @@
   }
 }
 
+gfx::Rect WindowTreeHost::GetTransformedRootWindowBoundsInPixels(
+    const gfx::Size& size_in_pixels) const {
+  gfx::Rect bounds(size_in_pixels);
+  gfx::RectF new_bounds =
+      gfx::ScaleRect(gfx::RectF(bounds), 1.0f / device_scale_factor_);
+  window()->layer()->transform().TransformRect(&new_bounds);
+  return gfx::ToEnclosingRect(new_bounds);
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // WindowTreeHost, private:
 
diff --git a/ui/aura/window_tree_host.h b/ui/aura/window_tree_host.h
index ae71b00..490eba1 100644
--- a/ui/aura/window_tree_host.h
+++ b/ui/aura/window_tree_host.h
@@ -101,8 +101,7 @@
   // TODO(ccameron): Make this function take no arguments, and make this
   // function no longer public. The interaction between this call, GetBounds,
   // and OnHostResizedInPixels is ambiguous and allows for inconsistencies.
-  virtual void UpdateRootWindowSizeInPixels(
-      const gfx::Size& host_size_in_pixels);
+  void UpdateRootWindowSizeInPixels(const gfx::Size& host_size_in_pixels);
 
   // Converts |point| from the root window's coordinate system to native
   // screen's.
@@ -276,7 +275,9 @@
   // True if |native_key_code| is reserved for an active KeyboardLock request.
   virtual bool IsKeyLocked(int native_key_code) = 0;
 
- protected:
+  virtual gfx::Rect GetTransformedRootWindowBoundsInPixels(
+      const gfx::Size& size_in_pixels) const;
+
   const base::ObserverList<WindowTreeHostObserver>& observers() const {
     return observers_;
   }
diff --git a/ui/gl/gl_image_dxgi.cc b/ui/gl/gl_image_dxgi.cc
index 49b0566d..612dde30 100644
--- a/ui/gl/gl_image_dxgi.cc
+++ b/ui/gl/gl_image_dxgi.cc
@@ -239,10 +239,10 @@
       &desc, nullptr, decoder_copy_texture_.GetAddressOf());
   // TODO(sunnyps): Remove after fixing https://crbug.com/794735
   base::debug::Alias(&hr);
-  if (hr == DXGI_ERROR_DEVICE_REMOVED) {
-    HRESULT reason_hr = d3d11_device_->GetDeviceRemovedReason();
-    base::debug::Alias(&reason_hr);
-  }
+  HRESULT reason_hr = S_OK;
+  base::debug::Alias(&reason_hr);
+  if (hr == DXGI_ERROR_DEVICE_REMOVED)
+    reason_hr = d3d11_device_->GetDeviceRemovedReason();
   CHECK(SUCCEEDED(hr));
   EGLDisplay egl_display = gl::GLSurfaceEGL::GetHardwareDisplay();
 
diff --git a/ui/strings/translations/ui_strings_ar.xtb b/ui/strings/translations/ui_strings_ar.xtb
index 18c0ee6..ca008d8 100644
--- a/ui/strings/translations/ui_strings_ar.xtb
+++ b/ui/strings/translations/ui_strings_ar.xtb
@@ -137,6 +137,7 @@
 <translation id="7389409599945284130">- <ph name="MESSAGE" /></translation>
 <translation id="7410957453383678442">{MINUTES,plural, =1{يتبقى دقيقة واحدة}zero{يتبقى # من الدقائق}two{يتبقى دقيقتان (#)}few{يتبقى # دقائق}many{يتبقى # دقيقة}other{يتبقى # من الدقائق}}</translation>
 <translation id="7460907917090416791"><ph name="QUANTITY" /> تيرابايت</translation>
+<translation id="7507604095951736240">الرموز التعبيرية</translation>
 <translation id="7658239707568436148">إلغاء</translation>
 <translation id="7781829728241885113">أمس</translation>
 <translation id="7814458197256864873">&amp;نسخ</translation>
diff --git a/ui/strings/translations/ui_strings_es-419.xtb b/ui/strings/translations/ui_strings_es-419.xtb
index 0728c710..c4f4d5b20 100644
--- a/ui/strings/translations/ui_strings_es-419.xtb
+++ b/ui/strings/translations/ui_strings_es-419.xtb
@@ -137,6 +137,7 @@
 <translation id="7389409599945284130">- <ph name="MESSAGE" /></translation>
 <translation id="7410957453383678442">{MINUTES,plural, =1{Falta 1 minuto.}other{Faltan # minutos.}}</translation>
 <translation id="7460907917090416791"><ph name="QUANTITY" /> TB</translation>
+<translation id="7507604095951736240">Emoji</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7781829728241885113">Ayer</translation>
 <translation id="7814458197256864873">&amp;Copiar</translation>
diff --git a/ui/strings/translations/ui_strings_es.xtb b/ui/strings/translations/ui_strings_es.xtb
index 49d4695..62a7759 100644
--- a/ui/strings/translations/ui_strings_es.xtb
+++ b/ui/strings/translations/ui_strings_es.xtb
@@ -137,6 +137,7 @@
 <translation id="7389409599945284130">- <ph name="MESSAGE" /></translation>
 <translation id="7410957453383678442">{MINUTES,plural, =1{Queda 1 minuto}other{Quedan # minutos}}</translation>
 <translation id="7460907917090416791"><ph name="QUANTITY" /> TB</translation>
+<translation id="7507604095951736240">Emoji</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7781829728241885113">Ayer</translation>
 <translation id="7814458197256864873">&amp;Copiar</translation>
diff --git a/ui/strings/translations/ui_strings_lt.xtb b/ui/strings/translations/ui_strings_lt.xtb
index 16b90b85..4a8e3c3 100644
--- a/ui/strings/translations/ui_strings_lt.xtb
+++ b/ui/strings/translations/ui_strings_lt.xtb
@@ -137,6 +137,7 @@
 <translation id="7389409599945284130">– <ph name="MESSAGE" /></translation>
 <translation id="7410957453383678442">{MINUTES,plural, =1{Liko 1 minutė}one{Liko # minutė}few{Liko # minutės}many{Liko # minutės}other{Liko # minučių}}</translation>
 <translation id="7460907917090416791"><ph name="QUANTITY" /> TB</translation>
+<translation id="7507604095951736240">Jaustukai</translation>
 <translation id="7658239707568436148">Atšaukti</translation>
 <translation id="7781829728241885113">Vakar</translation>
 <translation id="7814458197256864873">&amp;Kopijuoti</translation>
diff --git a/ui/strings/translations/ui_strings_lv.xtb b/ui/strings/translations/ui_strings_lv.xtb
index 7862691a..e9c070b 100644
--- a/ui/strings/translations/ui_strings_lv.xtb
+++ b/ui/strings/translations/ui_strings_lv.xtb
@@ -137,6 +137,7 @@
 <translation id="7389409599945284130">- <ph name="MESSAGE" /></translation>
 <translation id="7410957453383678442">{MINUTES,plural, =1{Atlikusi 1 minūte}zero{Atlikušas # minūtes}one{Atlikusi # minūte}other{Atlikušas # minūtes}}</translation>
 <translation id="7460907917090416791"><ph name="QUANTITY" /> TB</translation>
+<translation id="7507604095951736240">Emocijzīmes</translation>
 <translation id="7658239707568436148">Atcelt</translation>
 <translation id="7781829728241885113">Vakar</translation>
 <translation id="7814458197256864873">Ko&amp;pēt</translation>
diff --git a/ui/strings/translations/ui_strings_ml.xtb b/ui/strings/translations/ui_strings_ml.xtb
index 71fa3ed5..22a7fb9 100644
--- a/ui/strings/translations/ui_strings_ml.xtb
+++ b/ui/strings/translations/ui_strings_ml.xtb
@@ -137,6 +137,7 @@
 <translation id="7389409599945284130">- <ph name="MESSAGE" /></translation>
 <translation id="7410957453383678442">{MINUTES,plural, =1{ഒരു മിനിറ്റ് ശേഷിക്കുന്നു}other{# മിനിറ്റ് ശേഷിക്കുന്നു}}</translation>
 <translation id="7460907917090416791"><ph name="QUANTITY" /> TB</translation>
+<translation id="7507604095951736240">ഇമോജി</translation>
 <translation id="7658239707568436148">റദ്ദാക്കൂ</translation>
 <translation id="7781829728241885113">ഇന്നലെ</translation>
 <translation id="7814458197256864873">&amp;പകര്‍ത്തൂ</translation>